基于A(yíng)Tmega8的直流電機PWM調速控制系統設計與實(shí)現
本文將介紹一款以ATmega8為基礎,采用數字PID算法的受限單極性可逆PWM系統實(shí)現的直流電機調速控制系統,克服了上述難點(diǎn)。
本文引用地址:http://dyxdggzs.com/article/162036.htm一、引言
直流電機因具有良好的線(xiàn)性調速特性、效率高、控制簡(jiǎn)單、調速性能好及體積小等優(yōu)點(diǎn)得到了廣泛使用。常規電機調速控制方法中,電機工作不穩定,損耗較大,尤其在低電壓輕負荷時(shí)情況更為嚴重,且工作頻率受電源頻率的限制,難以滿(mǎn)足高精度的調速要求,不利于廣泛推廣[1]。
如何才能使電路具有成本低、控制精度高、調試修改參數方便,且能方便和靈活地適用于大功率、可靠性高的直流電機控制系統中,是我們研究的目的。
文獻[2]和文獻[3]中采用了先進(jìn)算法,用LTM18200和L298作電機控制電路,具有控制精度高、穩定性好、響應速度快等優(yōu)點(diǎn),但其驅動(dòng)能力較低、成本較高。
二、直流電機PWM調速原理
直流電機轉速表達式為:
式中:U—電樞端電壓;I—電樞電流;R—電樞電路總阻;—每極磁通量;K—電機結構參數。
對直流電機的轉速控制方法可分為對勵磁磁通進(jìn)行控制的勵磁控制法和對電樞電壓進(jìn)行控制的電樞控制方法。目前絕大多數直流電機采用開(kāi)關(guān)驅動(dòng)方式,它是使半導體功率器件工作在開(kāi)關(guān)狀態(tài),通過(guò)脈寬調制PWM來(lái)控制電機電樞電壓,實(shí)現調速。
PWM(PulseWidthModulation)—脈沖寬度調制技術(shù)通過(guò)對一系列數字脈沖的寬度進(jìn)行調制,在脈沖作用下,當電機通電時(shí)速度加快,斷電時(shí)速度逐漸變慢,只要按一定規律改變通斷電時(shí)間,即可對電機的轉速控制,實(shí)現直流電機調速數字化[4],如圖1。
三、控制系統硬件設計
本調速控制系統,主要由ATmega8單片機、驅動(dòng)電路、轉速檢測電路和通信接口電路等部分組成,如圖2所示。
1.ATmega8單片機簡(jiǎn)介[5]
ATmega8是增強的AVRRISC結構的CMOS微控制器,具有高速度、低功耗、片內資源豐富、電源抗干擾能力強等優(yōu)點(diǎn)。ATmega8具有32個(gè)通用工作寄存器及豐富的指令集,帶有硬件乘法器以及8K的FLASH和1K的SRAM,還帶有8路10位ADC以及三通道的PWM輸出,支持ISP功能,可以很方便地對器件進(jìn)行在線(xiàn)編程及修改。
2.ATmega8實(shí)現PWM控制
ATmega8的16位T/C可以實(shí)現精確的程序定時(shí)、波形產(chǎn)生和信號測量。ATmega8波形發(fā)生器利用雙緩沖輸出比較寄存器OCR1A/B與T/C的值做比較,產(chǎn)生PWM信號,通過(guò)輸出比較引腳OC1A/B輸出無(wú)干擾脈沖、相位正確、可變頻率的PWM信號。
PWM將占空比(電機電樞電壓接通時(shí)間與通電周期的比值)不同的脈沖變成不同的電壓來(lái)驅動(dòng)直流電機轉動(dòng),通過(guò)改變占空比,得到不同的轉速,實(shí)現電機啟動(dòng)、停止、和反轉等功能。
單片機通過(guò)比較預設速度與實(shí)測速度的偏差,經(jīng)PID算法得出控制量,根據控制量改變PWM信號的輸出脈寬,經(jīng)驅動(dòng)電路功率放大后實(shí)現對電機速度的控制,然后循環(huán)進(jìn)入下一個(gè)控制周期。
3.驅動(dòng)電路原理
直流電機常要求工作在正反轉的場(chǎng)合中,就需要合用可逆PWM系統,可逆PWM系統可分為雙極性驅動(dòng)可逆PWM系統和單極性驅動(dòng)可逆PWM系統。雙極性可逆系統在低速時(shí)運行平穩,但電流波動(dòng)大,功率損耗較大,尤其是必須增加死區來(lái)避免開(kāi)關(guān)管直通的危險,限制了開(kāi)關(guān)頻率的提高;單極性驅動(dòng)方式能夠避免開(kāi)關(guān)管直通,可以大大提高系統的可靠性,盡管輕載時(shí)會(huì )出現斷流,但可以通過(guò)提高開(kāi)關(guān)頻率的方法或改進(jìn)電路設計來(lái)克服。
該系統采用受限倍頻單極性可逆PWM驅動(dòng)控制,如圖3所示。它可以通過(guò)改變對開(kāi)關(guān)管的控制方式,而使直流電機電樞兩端獲得比PWM控制信號頻率高1倍的電壓波,可以彌補受限單極驅動(dòng)所產(chǎn)生的電流斷流的問(wèn)題,具有驅動(dòng)能力強、控制簡(jiǎn)單、可靠性高且成本低等優(yōu)點(diǎn)。
PWM接ATmega8的OCR1A腳PWM信號輸出,IN1、IN2接電機正反轉控制信號;PWM、IN1和IN2具體邏輯功能見(jiàn)表1:
四、控制系統程序設計
控制程序采用C語(yǔ)言模塊化結構。主要包括主程序、PID控制程序、中斷服務(wù)程序和電機正反轉控制程序等部分。
1.主程序流程圖
主程序主要完成相關(guān)中斷初始化、調用顯示、判斷中斷類(lèi)型和執行相應中斷服務(wù)程序等功能,其結構如圖4所示:
2.數字PID控制器[1]
在控制系統中,將輸出量與給定量之間的偏差的比例P、積分I、微分D通過(guò)線(xiàn)性組合構成控制量的PID控制器獲得了廣泛的應用,它參數整定方便,結構更改靈活。
PID表達式:
其中:u(t)——控制量;KP——比例放大系數;TI——積分時(shí)間;TD——微分時(shí)間。
本系統采用轉子位置傳感器,利用傳感器輸出的脈沖信號來(lái)反映電機的轉速。將傳感器輸出的信號經(jīng)過(guò)采樣調理電路后送至單片機,該引腳作為外部中斷源的輸入口,隨著(zhù)電機的轉動(dòng),單片機將不斷接收到脈沖信號,當接收到一個(gè)上升沿時(shí)將啟動(dòng)定時(shí)器T0以開(kāi)始計時(shí),直至接收到下一個(gè)相鄰的上升沿為止,定時(shí)器T0的計時(shí)結果便是電機轉動(dòng)一圈所需的時(shí)間,據此即可計算出電機的轉速。利用PID算法,將實(shí)時(shí)采集的電機轉速值與設定值進(jìn)行比較,得出偏差,利用軟件編程實(shí)現轉速調節。
本系統采用位置式數字PID算法,其控制算法簡(jiǎn)化示意圖如圖5:
采用全量算法,通過(guò)差分代微分,可將表達式化簡(jiǎn)為:
其中:;;
u(k)——第K個(gè)采樣時(shí)刻的控制量;KP——比例放大系數;kI——積分放大系數;kD——微分放大系統;TS——采樣周期;u0——控制量的基值,即k=0時(shí)的控制。
PID算法流程圖如圖6所示:
pid控制器相關(guān)文章:pid控制器原理
pwm相關(guān)文章:pwm原理
脈寬調制相關(guān)文章:脈寬調制原理
評論