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