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