王波
(廣東海洋大學(xué)電子與信息工程學(xué)院,廣東湛江 524088)
近年來微機(jī)數(shù)字化控制技術(shù)的成熟,以及PID控制、模糊控制、神經(jīng)網(wǎng)絡(luò)等高效控制算法的應(yīng)用,加速了直流電機(jī)調(diào)速領(lǐng)域的蓬勃發(fā)展。由于直流電機(jī)具有良好的調(diào)速性能,控制簡單、效率高及優(yōu)異的動態(tài)特性、使用壽命長等優(yōu)點,因而在航空航天、數(shù)控機(jī)床、機(jī)器人、電動汽車、和家用電器等方面都獲得了廣泛應(yīng)用。直流電機(jī)的調(diào)速方案一般有以下3種方式:(1)改變電樞電壓;(2)改變激磁繞組電壓;(3)改變電樞回路電阻[1]。
本文以MC9S12XS128單片機(jī)為系統(tǒng)控制的核心,驅(qū)動采用LM298雙H橋直流電機(jī)驅(qū)動模塊,并用光電碼盤檢測并反饋電機(jī)的實際速度,組成了一個小型的直流電機(jī)閉環(huán)調(diào)速系統(tǒng)。實驗結(jié)果表明,該控制系統(tǒng)能夠?qū)崿F(xiàn)自動調(diào)速,具有響應(yīng)速度快,抗干擾性高等特點,可以在實際生產(chǎn)和生活中廣泛應(yīng)用[2]。
圖1 控制系統(tǒng)框圖Fig.1 Block diagram of control system
本文以MC9S12XS128作為控制器,設(shè)計了鍵盤模塊,用以設(shè)定電機(jī)轉(zhuǎn)速。通過鍵盤輸入模塊設(shè)定轉(zhuǎn)速將信號傳遞給控制器,控制器輸出相應(yīng)的PWM信號給驅(qū)動模塊,調(diào)節(jié)電機(jī)轉(zhuǎn)動的轉(zhuǎn)速,測速模塊實時地對電機(jī)進(jìn)行測速,測得的數(shù)值實時的再反饋到控制器,控制器的數(shù)值與鍵盤輸入值進(jìn)行比較,形成閉環(huán)控制系統(tǒng),根據(jù)比較結(jié)果,應(yīng)用PID控制算法,使電機(jī)的實際轉(zhuǎn)速與設(shè)定值相等或無限接近[3]。
本文采用LM298雙H橋直流電機(jī)驅(qū)動模塊,并用光電碼盤檢測并反饋電機(jī)的實際速度,組成了一個小型的直流電機(jī)閉環(huán)調(diào)速系統(tǒng)。采用脈寬調(diào)制PWM控制技術(shù),對直流電機(jī)進(jìn)行調(diào)壓調(diào)速控制[4-5]。為了實現(xiàn)電機(jī)調(diào)速的穩(wěn)定性和快速性,應(yīng)用了PID控制算法。系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
驅(qū)動控制電路的采用驅(qū)動芯片LM298來組成H橋,LM298的5、7、10、12引腳為四路PWM輸入端口,分別用來控制兩個電機(jī),本文只需要用到1路即選用5、7引腳輸入PWM加以控制;6、11引腳分別為兩組PWM輸出的使能端;8腳接地,9腳接5V電源為驅(qū)動芯片提供電源,4腳接電機(jī)驅(qū)動電壓;2、3、13、14引腳為兩組PWM輸出接。本設(shè)計主要由占空比控制電壓值大小。通過調(diào)節(jié)占空比,占空比越大,則電壓值越大,電機(jī)的轉(zhuǎn)速增加,相反則電機(jī)的轉(zhuǎn)速越慢,從而實現(xiàn)PWM對電機(jī)的調(diào)速。驅(qū)動電路如圖2所示。
電機(jī)測速傳感器采用光碼盤和光電對管相互配合實現(xiàn)。光電對管輸出的脈沖信號與單片機(jī)的計算器接口PT7連接,用以計數(shù)。由于光電對管輸出的脈沖型號相位相差九十度,波形相同,所以可以利用相位和電機(jī)的正反轉(zhuǎn)相對應(yīng)。當(dāng)電機(jī)正傳時,后一個脈沖落后前一個脈沖九十度,電機(jī)反轉(zhuǎn)時就好相反,后一個脈沖則超前前一個脈沖九十度。在實際電路中,只檢測了一路脈沖信號,通過它的頻率測量得到電機(jī)的轉(zhuǎn)速。電機(jī)的轉(zhuǎn)向是通過施加在電機(jī)上的電壓正負(fù)進(jìn)行判斷的。在紅外發(fā)光對管和紅外接收對管之間有一個100線的光電碼盤,碼盤固定在電機(jī)軸承上,光電碼盤隨著電機(jī)的轉(zhuǎn)動而轉(zhuǎn)動,信號線會輸出轉(zhuǎn)速脈沖,這時可以根據(jù)主控芯片PT7口的輸入捕捉,假設(shè)記錄1s內(nèi)脈沖信號的上升/下降沿的個數(shù)為N,對脈沖數(shù)進(jìn)行處理(N/100)*60即得到一分鐘內(nèi)電機(jī)的轉(zhuǎn)速,這就實現(xiàn)了電機(jī)測速的功能[6]。
圖2 驅(qū)動控制電路Fig.2 Drive control circuit
圖3 主程序流程圖Fig.3 Main program flow chart
系統(tǒng)啟動后,由按鍵選擇系統(tǒng)運行模式,總共有兩種模式,即自動模式和手動模式。
當(dāng)選擇手動模式時,液晶屏提示轉(zhuǎn)向設(shè)置,默認(rèn)為正轉(zhuǎn),設(shè)定后按S17確認(rèn)鍵,初始化后驅(qū)動電機(jī)PWM占空比為0,即電機(jī)停止。這時可以通過加速按鍵或減速按鍵調(diào)節(jié)PWM占空比對電機(jī)進(jìn)行加減速控制。
當(dāng)選擇自動模式時,液晶屏將提示輸入預(yù)轉(zhuǎn)速度,由于電機(jī)的驅(qū)動電壓及本身功率限制,其轉(zhuǎn)速范圍在600-5700之間,因此設(shè)定的預(yù)轉(zhuǎn)速要在這個范圍之內(nèi)。當(dāng)設(shè)定預(yù)轉(zhuǎn)速后MC9S12XS128單片機(jī)對預(yù)轉(zhuǎn)速和光電碼盤反饋的實際速度進(jìn)行比較,若兩者之間無偏差,則占空比及轉(zhuǎn)速均不變;若有偏差則通過調(diào)節(jié)占空比來調(diào)節(jié)轉(zhuǎn)速值,直到偏差為零或接近于零。主要原理是:當(dāng)實際速度大于設(shè)定值時,就調(diào)節(jié)占空比使之變小,則電機(jī)電壓變小,實際速度減小接近于設(shè)定值;反之,調(diào)節(jié)占空比,使之增大,電機(jī)兩端電壓增大,實際速度增大,接近或等于設(shè)定值。通過實時比較,PID控制算法,使電機(jī)的實際速度和設(shè)定值相等或是在設(shè)定值附近,實現(xiàn)電機(jī)速度穩(wěn)定在設(shè)定值。
圖4 PID控制流程圖Fig.4 PID control flow chart
主程序流程圖如圖3所示。
本設(shè)計采用的是增量式PID控制算法,相對于位置式算法,增量式PID算法只需計算增量,當(dāng)存在計算誤差或精度不足時,對控制量計算的影響較小[7]。
PID控制流程圖如圖4所示。
本文閉環(huán)直流電機(jī)調(diào)速系統(tǒng),通過設(shè)置預(yù)設(shè)轉(zhuǎn)速的大小,使電機(jī)自動的調(diào)節(jié)到預(yù)設(shè)的轉(zhuǎn)速。實現(xiàn)了系統(tǒng)對電機(jī)的調(diào)速、速度顯示等功能。用Nokia5110實時顯示實際速度和預(yù)設(shè)轉(zhuǎn)速,驅(qū)動模塊的驅(qū)動電機(jī)的轉(zhuǎn)速正常,發(fā)熱量不大,在12V電源下最高可以使電機(jī)的轉(zhuǎn)速達(dá)到5700轉(zhuǎn)/min。
MC9S12XS128系統(tǒng)控制芯片的運作效果良好,通過單片機(jī)產(chǎn)生PWM信號,便于設(shè)計中對電機(jī)的轉(zhuǎn)速進(jìn)行控制,調(diào)節(jié)占空比的大小,使電機(jī)達(dá)到預(yù)設(shè)值。系統(tǒng)采用了PID控制算法,實踐證明PID控制算法滿足直流電機(jī)自動調(diào)速功能,調(diào)速效果穩(wěn)定。