摘 要:提出了基于單片機的高精度直流電機控制轉(zhuǎn)速的控制方案,以ATmega16單片機為核心,采用傳感器與CPU定時/計數(shù)器配合來測速,采用鍵盤進行數(shù)據(jù)輸入,通過編程實現(xiàn)了電機轉(zhuǎn)速超限、報警等功能。該裝置可以應(yīng)用于要求轉(zhuǎn)速精確的電器產(chǎn)品中,使直流電機的各種潛在能力得到充分的發(fā)揮。
關(guān)鍵詞:PID算法 轉(zhuǎn)速測量 直流電機轉(zhuǎn)速控制 單片機
中圖分類號:TM301 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2013)05(a)-0108-02
與其它類型的電機相比,直流電機具有良好的起動性能,調(diào)速范圍廣,過載能力強等特點,因此直流電機在起動和調(diào)速要求較高的生產(chǎn)機械得到了廣泛的應(yīng)用。隨著人民生活水平的提高,對視聽設(shè)備品質(zhì)要求也在提高,這為小功率直流電機提供了廣闊的市場,因此,高精度控制直流電機轉(zhuǎn)速成為發(fā)展的必然趨勢。本文基于PID算法,以ATmega16單片機為核心實現(xiàn)直流電機的高精度控制,具有結(jié)構(gòu)簡單,適應(yīng)性強等特點。
1 總體設(shè)計方案
系統(tǒng)的總體設(shè)計方案如圖1所示,包括ATmega16單片機、從單片機、電機轉(zhuǎn)速測量裝置、直流電機、鍵盤輸入、顯示以及功能控制電路幾部分。以ATmega16單片機為核心,利用ATmega16具有PWM輸出功能控制電動機轉(zhuǎn)速,通過在PID運算過程中不斷改變控制參數(shù),從而不斷調(diào)整被控參數(shù),完成實時控制任務(wù)。
2 硬件設(shè)計
2.1 主機設(shè)計
主機部分電路由ATmega16單片機、復(fù)位電路、電源電路和下載接頭組成。在單片機引腳RESET上保持兩個周期低電平實現(xiàn)單片機的完全復(fù)位。采用PB3口作為PWM輸出口,PB0口作為T/C0的輸入捕捉引腳,接受從測速電路反饋回來的信號。PC1-PC3和PD2作為按鍵輸入,PC4-PC7作為數(shù)碼管的位選,PA口作為數(shù)碼管的段選,具體電路如圖2所示。
2.2 電機驅(qū)動電路
由于ATmega16具有PWM輸出功能,所以通過改變占空比就可以控制電動機的轉(zhuǎn)速。使用光耦Uyyy實現(xiàn)單片機與電機的控制部分和電機驅(qū)動部分的電氣隔離。Rggo作為光耦輸入端的限流電阻。Rirf3是上拉電阻,用來提高光耦輸出端的驅(qū)動能力。電機上的二極管和電容用來保護電機。MOS管IRF540作為驅(qū)動電路的功率輸出。
具體電路如圖3所示。
2.3 電源電路
選用7805三端集成穩(wěn)壓器,提供+5V直流電壓,輸出電流為1A。交流電壓經(jīng)過DAC1-DAC4橋式整流、電源指示燈及平滑電容Cyl濾波后得到非穩(wěn)定8-12V直流電壓加到7805的輸入端。在輸入和輸出分別接人電容Cy3和Cy4來保證電路的穩(wěn)定工作。
Cy3為輸入穩(wěn)定電容,當(dāng)穩(wěn)壓器輸入阻抗降低時,防止發(fā)生振蕩,采用0.1-1uF的陶瓷電容。Cy4為輸出穩(wěn)定電容,用來降低輸出紋波、輸出噪聲及負(fù)載電流變化的影響。采用Cy1和Cy2兩個大容量的電解電容進行濾波,以減小輸出電壓紋波。電源電路如圖4所示。
2.4 測速電路
本設(shè)計中,采用光電式傳感器和紅外對管。小電機轉(zhuǎn)子上安裝八孔光柵,隨著電機轉(zhuǎn)動而轉(zhuǎn)動,紅外發(fā)光管DHW一直處于發(fā)光狀態(tài),電機轉(zhuǎn)一次,轉(zhuǎn)盤就擋住發(fā)光二極管一下,輸出電平經(jīng)過三極管Qjs放大,發(fā)生一次跳變,單片機計數(shù)一次,轉(zhuǎn)盤轉(zhuǎn)一圈則計數(shù)八次。
轉(zhuǎn)速測量的電路圖如圖5所示。
3 軟件設(shè)計
系統(tǒng)的軟件設(shè)計分為主程序模塊、按鍵識別模塊、PID控制算法模塊和中斷子程序模塊。主程序模塊為其余幾個模塊構(gòu)建整體框架和初始化工作;電機控制模塊通過PWM來對直流電機進行調(diào)速,實現(xiàn)在線檢測速度的功能。PID控制算法模塊是通過定時器每隔T秒中斷一次,完成一次PID控制計算,從而不斷調(diào)整被控參數(shù),完成實時控制任務(wù)。主程序模塊的流程圖如圖6所示。
3.1 PID控制算法模塊
PID參數(shù)整定通常包括試湊法,擴充臨界比例度法和擴充響應(yīng)曲線法。采用擴充響應(yīng)曲線法確定本系統(tǒng)的,,。通過ATmega16的PB.0端口捕捉光電管上升沿脈沖,在ATmega16內(nèi)部算出電動機轉(zhuǎn)速,并同時將速度顯示出來。PID運算過程中所有參數(shù)和計算值均以多字節(jié)浮點數(shù)表示,在控制過程中不斷改變控制參數(shù)。系統(tǒng)運行中通過定時器每間隔T秒中斷一次,完成一次 PID控制計算,從而不斷調(diào)整被控參數(shù),主程序中的PWM驅(qū)動模塊根據(jù)控制參數(shù)而改變PB3口輸出值,調(diào)整PWM輸出波形,完成實時控制任務(wù)。其程序流程圖如圖7所示。
4 結(jié)語
PID控制在工業(yè)控制中起著非常重要的作用。本設(shè)計完成了基于PID控制算法的直流調(diào)速的系統(tǒng)的研究與設(shè)計,包括系統(tǒng)的硬件開發(fā)和軟件,具有精度高,結(jié)構(gòu)簡單,適應(yīng)性強等特點。
參考文獻(xiàn)
[1] 趙長德.MCS-51/98單片機原理與應(yīng)用[M].北京:機械工業(yè)出社,1998.
[2] 李全虎,伸兆楠,李彥麗.基于單片機的水浴溫度控制系統(tǒng)的設(shè)計[M].呼和浩特:內(nèi)蒙古大學(xué)學(xué)報(自然科學(xué)版),2003(6).
[3] 王曉明.電動機的單片機控制[M].北京:北京航空航天大學(xué)出版社,2002,5:114~115.