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