謝 樂(lè)
(貴州理工學(xué)院工程訓(xùn)練中心,貴州 貴陽(yáng) 550003)
在傳統(tǒng)的實(shí)驗(yàn)教學(xué)中,部分實(shí)驗(yàn)儀器較為老舊,且價(jià)格昂貴,導(dǎo)致更新困難。而實(shí)驗(yàn)教學(xué)要求與時(shí)俱進(jìn),跟上時(shí)代的發(fā)展,根據(jù)工業(yè)、科技的發(fā)展而更新教學(xué)內(nèi)容。滯后的實(shí)驗(yàn)設(shè)備難以滿足當(dāng)前實(shí)驗(yàn)教學(xué)要求,這在一定程度上制約了實(shí)驗(yàn)教學(xué)的發(fā)展和教學(xué)質(zhì)量的提高[1]。且在實(shí)驗(yàn)教學(xué)過(guò)程中,對(duì)于實(shí)驗(yàn)數(shù)據(jù)的實(shí)時(shí)監(jiān)測(cè)也十分重要。
本文利用先進(jìn)的虛擬儀器技術(shù),基于LabVIEW軟件設(shè)計(jì)出直流電機(jī)的轉(zhuǎn)速曲線顯示和控制系統(tǒng),用于電機(jī)實(shí)驗(yàn)教學(xué),以提高實(shí)驗(yàn)教學(xué)水平和質(zhì)量。
LabVIEW是由美國(guó)國(guó)家儀器(NI)公司研制開(kāi)發(fā)的一種基于圖形化編輯語(yǔ)言的程序開(kāi)發(fā)環(huán)境,集成了龐大的函數(shù)庫(kù),便于使用者能夠快速構(gòu)建出目標(biāo)軟件,能夠幫助開(kāi)發(fā)者快速解決問(wèn)題、提高生產(chǎn)力和不斷創(chuàng)新。在此,以LabVIEW軟件為核心,設(shè)計(jì)并搭建了針對(duì)有刷直流電機(jī)的速度顯示與控制系統(tǒng)。系統(tǒng)整體設(shè)計(jì)方案如圖1所示。
圖1 系統(tǒng)總體方案
由圖1可知,系統(tǒng)上電后,由LabVIEW上位機(jī)發(fā)送電機(jī)啟動(dòng)指令,STM32單片機(jī)接收到啟動(dòng)指令后以PWM方式、L298N為載體驅(qū)動(dòng)直流電機(jī)運(yùn)轉(zhuǎn),同時(shí),通過(guò)連接于電機(jī)轉(zhuǎn)軸上的霍爾傳感器進(jìn)行測(cè)速,并在濾波、速度轉(zhuǎn)換處理后將速度值上傳至上位機(jī),上位機(jī)則以波形實(shí)時(shí)顯示當(dāng)前實(shí)際轉(zhuǎn)速。
一般來(lái)說(shuō),電機(jī)的驅(qū)動(dòng)需要較大的電流,而單片機(jī)IO口的輸出電流遠(yuǎn)遠(yuǎn)達(dá)不到要求,所以需要在電機(jī)和單片機(jī)之間加上電路進(jìn)行驅(qū)動(dòng),且此驅(qū)動(dòng)電路單獨(dú)供電,由單片機(jī)控制電路中開(kāi)關(guān)器件的通斷。對(duì)于有刷直流電機(jī)而言,最常見(jiàn)的驅(qū)動(dòng)電路就是H橋式,如圖2所示。H橋式驅(qū)動(dòng)電路可以采用PWM方式,調(diào)節(jié)占空比來(lái)實(shí)現(xiàn)對(duì)電機(jī)的調(diào)速,此時(shí)PWM頻率一般在10~20 kHz,頻率太低會(huì)導(dǎo)致電機(jī)轉(zhuǎn)速過(guò)低,產(chǎn)生較大噪聲,頻率太高則會(huì)因?yàn)镸OS管的開(kāi)關(guān)損耗而降低效率。在本系統(tǒng)設(shè)計(jì)中選用了ST公司的L298N驅(qū)動(dòng)芯片,其內(nèi)含有2個(gè)H橋式電路,可以用來(lái)驅(qū)動(dòng)直流電機(jī)和步進(jìn)電機(jī),具有電壓高、電流大及工作性能穩(wěn)定等特點(diǎn)[2]。
圖2 H橋式驅(qū)動(dòng)電路
在本設(shè)計(jì)中電機(jī)轉(zhuǎn)速獲取是通過(guò)霍爾傳感器方式實(shí)現(xiàn)的,在電機(jī)轉(zhuǎn)軸上連接有霍爾傳感器模塊,模塊結(jié)構(gòu)如圖3所示。傳感器產(chǎn)生的脈沖信號(hào)如圖4所示。
圖3 霍爾傳感器模塊
圖4 霍爾脈沖信號(hào)
由圖4可知,可產(chǎn)生A、B兩相脈沖信號(hào),一方面通過(guò)單片機(jī)采集脈沖數(shù)量,即可計(jì)算出電機(jī)的實(shí)時(shí)轉(zhuǎn)速;另一方面,還可通過(guò)A、B兩相脈沖觸發(fā)的先后順序來(lái)確定電機(jī)轉(zhuǎn)動(dòng)方向。
PID控制是目前工業(yè)控制中最常用,也是最經(jīng)典的控制算法,具備原理簡(jiǎn)單、使用方便、魯棒性強(qiáng)等優(yōu)點(diǎn)[3-4]。為實(shí)現(xiàn)對(duì)電機(jī)速度的精確控制,在控制系統(tǒng)中加入位置式PID閉環(huán)控制算法,為
u(k)=KP·e(k)+KI·∑i=0e(i)+KD·[e(k)-
e(k-1)]
(1)
e(k)為設(shè)定轉(zhuǎn)速和實(shí)際轉(zhuǎn)速之間的差值;u(k)為PID算法結(jié)果輸出;KP為比例系數(shù);KI為積分系數(shù);KD為微分系數(shù)。
圖5為PID閉環(huán)控制框圖。由圖5可知,在設(shè)定好目標(biāo)轉(zhuǎn)速并啟動(dòng)電機(jī)后,單片機(jī)能夠根據(jù)霍爾編碼器所產(chǎn)生的脈沖值計(jì)算出當(dāng)前電機(jī)實(shí)時(shí)轉(zhuǎn)速,并與設(shè)定轉(zhuǎn)速作差,將偏差輸入PID控制器中,以此來(lái)調(diào)整PWM占空比,實(shí)現(xiàn)對(duì)電機(jī)速度的精確控制。
圖5 PID閉環(huán)控制框圖
LabVIEW可以讓用戶快捷搭建出自己所需的顯示與操作界面。在科研或?qū)嶒?yàn)教學(xué)準(zhǔn)備階段,隨時(shí)可以根據(jù)需求調(diào)整界面功能,具備極好的便捷性和靈活性。
本系統(tǒng)所設(shè)計(jì)上位機(jī)軟件功能主要包括:1)速度設(shè)定,可在實(shí)驗(yàn)過(guò)程中隨時(shí)更改電機(jī)轉(zhuǎn)速設(shè)定,上位機(jī)會(huì)通過(guò)串口將設(shè)定指令發(fā)送至STM32控制器,進(jìn)而改變電機(jī)轉(zhuǎn)速;2)轉(zhuǎn)速顯示,既可波形方式顯示,也可顯示轉(zhuǎn)速數(shù)值。波形顯示可較直觀地觀測(cè)到速度的變化過(guò)程,便于用戶分析。
本系統(tǒng)上位機(jī)軟件讀取數(shù)據(jù)與顯示轉(zhuǎn)速波形的程序框圖如圖6所示。LabVIEW已集成了用于串口通信的NI-VISA模塊,包括串口初始化、串口讀寫(xiě)、關(guān)閉串口等功能。在配置好串口通道、波特率等參數(shù)后,STM32單片機(jī)即可將速度值通過(guò)串口發(fā)送至上位機(jī),并通過(guò)波形圖表模塊進(jìn)行實(shí)時(shí)顯示。
圖6 LabVIEW程序框圖
根據(jù)上述軟硬件搭建基于LabVIEW和STM32的直流電機(jī)速度波形顯示與控制實(shí)驗(yàn)系統(tǒng)并進(jìn)行了測(cè)試。測(cè)試主要參數(shù)如下:
(1)選用一款帶霍爾傳感器的有刷直流電機(jī),額定電壓8 V,空載額定轉(zhuǎn)速366±26 r/min,霍爾編碼器工作電壓5 V。其中電機(jī)驅(qū)動(dòng)電壓由直流電源供電,霍爾編碼器可直接由STM32板載5 V供電。
(2)上位機(jī)與STM32之間通過(guò)串口方式進(jìn)行通信,串口參數(shù)設(shè)置波特率為19 200,數(shù)據(jù)位為8位,停止位為1,無(wú)校驗(yàn)位。
(3)PID算法由STM32單片機(jī)編程實(shí)現(xiàn),控制循環(huán)時(shí)間為50 ms,PID參數(shù)設(shè)置為KP=2,KI=0.2,KD=0。
在上述參數(shù)條件下進(jìn)行了系統(tǒng)測(cè)試。在啟動(dòng)后,設(shè)定電機(jī)以50 r/min運(yùn)行,然后通過(guò)上位機(jī)修改轉(zhuǎn)速設(shè)定值為250 r/min,得到如圖7所示轉(zhuǎn)速變化的實(shí)時(shí)曲線圖。由圖7中曲線變化情況可以看出,單片機(jī)在接收到上位機(jī)的速度修改指令后,能夠迅速響應(yīng),通過(guò)PID控制算法自動(dòng)調(diào)節(jié)PWM輸出占空比,進(jìn)而使得電機(jī)轉(zhuǎn)速快速達(dá)到設(shè)定值。雖然在調(diào)節(jié)過(guò)程中轉(zhuǎn)速有所波動(dòng),但在合理范圍內(nèi)。說(shuō)明PID參數(shù)設(shè)定較為合理,系統(tǒng)具備良好的調(diào)速性能。
圖7 轉(zhuǎn)速波形顯示
使用LabVIEW軟件進(jìn)行電機(jī)轉(zhuǎn)速的顯示與控制界面的編程,簡(jiǎn)單快捷,靈活高效,還可隨時(shí)根據(jù)需求來(lái)調(diào)整功能。通過(guò)實(shí)驗(yàn)可知,此系統(tǒng)能準(zhǔn)確實(shí)現(xiàn)對(duì)電機(jī)轉(zhuǎn)速的控制與顯示,且電機(jī)轉(zhuǎn)速的實(shí)時(shí)顯示,使實(shí)驗(yàn)過(guò)程更直觀,便于及時(shí)調(diào)整實(shí)驗(yàn),有利于實(shí)驗(yàn)教學(xué)的發(fā)展和教學(xué)質(zhì)量的提高。