劉 洋, 王顯軍, 張 岳
(1. 中國(guó)科學(xué)院 長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林 長(zhǎng)春 130033; 2. 中國(guó)科學(xué)院大學(xué),北京 100039)
傳統(tǒng)的力矩電機(jī)和光電編碼器組成的閉環(huán)伺服控制系統(tǒng)中,一般采用集成的IGBT芯片驅(qū)動(dòng)電機(jī),例如采用三菱公司的IPM系列產(chǎn)品。集成的IGBT芯片對(duì)于驅(qū)動(dòng)PWM信號(hào)要求較高,PWM信號(hào)使用不當(dāng)容易使IGBT電路損壞,在小功率的電機(jī)伺服系統(tǒng)中采用IPM驅(qū)動(dòng)電機(jī)成本較高,也無法發(fā)揮IPM的大功率驅(qū)動(dòng)能力,造成了資源的浪費(fèi)。本文介紹一種基于A3988+MCU的低成本直流力矩電機(jī)伺服控制系統(tǒng)。A3988是Allegro公司制造的用于驅(qū)動(dòng)2路步進(jìn)電機(jī)的集成芯片,也可以用于驅(qū)動(dòng)4路直流力矩電機(jī)[1]。A3988與集成的IPM芯片相比成本較低,功耗較低,能同時(shí)驅(qū)動(dòng)多路直流力矩電機(jī),因而適合應(yīng)用在低功耗的直流力矩電機(jī)伺服控制系統(tǒng)中。
伺服系統(tǒng)中采用A3988驅(qū)動(dòng)直流力矩電機(jī),且A3988對(duì)于輸入信號(hào)要求較低,使得伺服系統(tǒng)對(duì)控制器的要求也降低了。C8051F系列MCU成本較低[2],所集成的PCA0模塊能夠提供較高精度的PWM作為A3988的輸入信號(hào)[3]。
A3988應(yīng)用在驅(qū)動(dòng)步進(jìn)電機(jī)時(shí),可看作一個(gè)電流控制電路,每組控制電路通過外部配置I0x、I1x和PHASEx可以輸出16種電流脈沖狀態(tài),共有4組獨(dú)立控制電路,兩組電路共同作用可以用于控制1路步進(jìn)電機(jī)。當(dāng)A3988應(yīng)用在驅(qū)動(dòng)直流力矩電機(jī)時(shí),只應(yīng)用在16種狀態(tài)中電壓差最大的兩種狀態(tài)中,A3988可當(dāng)作PWM放大器。A3988用于驅(qū)動(dòng)直流力矩電機(jī)狀態(tài)表如表1所示。
表1 A3988用于驅(qū)動(dòng)直流力矩電機(jī)狀態(tài)表
如表1中3種狀態(tài)所示,將OUTxA和OUTxB分別接到電機(jī)正負(fù)兩端當(dāng),再向I0x和I1x輸入相同的PWM時(shí),通過調(diào)整PHASEx,可達(dá)到使直流力矩電機(jī)向兩個(gè)方向轉(zhuǎn)動(dòng)的目的。這與傳統(tǒng)的利用IPM單極雙向方式驅(qū)動(dòng)直流力矩電機(jī)達(dá)到了相同的效果,其中OUTxA和OUTxB的幅值即電機(jī)的母線電壓,可以通過配置A3988的VBB1和VBB2來實(shí)現(xiàn),母線電壓的可調(diào)范圍為0~36V。
從表1中可看出,利用A3988作為電機(jī)的單極控制驅(qū)動(dòng)芯片,設(shè)計(jì)驅(qū)動(dòng)PWM時(shí)無需考慮利用IPM驅(qū)動(dòng)電路時(shí)用于避免上下橋IGBT同時(shí)導(dǎo)通燒毀IPM的死區(qū),因此控制器輸出PWM的邏輯更簡(jiǎn)單,C8051F系列MCU就可完成任務(wù),相比DSP、FPGA等控制器,節(jié)約了成本。本文選用C8051F121作為伺服系統(tǒng)控制器。
利用C8051F系列MCU自帶的可編程邏輯陣列(PCA0)產(chǎn)生用于驅(qū)動(dòng)直流電機(jī)的多路高精度PWM,通過CEXx端口輸出,即輸入到A3988的I0x和I1x的控制信號(hào)。由于PCA0模塊受MCU的CPU干預(yù)較少,也不被其他中斷影響,所以PCA0的計(jì)數(shù)器具有較高的精度,MCU工作在100MHz,通過在PCA0中斷服務(wù)程序中對(duì)PCA0計(jì)數(shù)器初值進(jìn)行重新賦值可改變定時(shí)器溢出周期,從而使PWM頻率在10~15kHz范圍內(nèi)。此時(shí)PWM的分辨率可以達(dá)到6667~10000,與DSP等控制器產(chǎn)生的PWM精度相仿。
基于A3988+MCU伺服控制硬件系統(tǒng)設(shè)計(jì)框圖如圖1所示。
圖1 基于A3988+MCU伺服控制系統(tǒng)框圖
如圖1所示,實(shí)線表示控制信號(hào),虛線表示數(shù)據(jù)或指令。Mx表示配備有編碼器的直流電機(jī)。設(shè)計(jì)主要針對(duì)實(shí)驗(yàn)室研發(fā)的配備有高精度串口型數(shù)據(jù)光電編碼器和小功率直流力矩電機(jī)的轉(zhuǎn)臺(tái)系統(tǒng)。
編碼器需要單片機(jī)通過串口觸發(fā),編碼器反饋位置數(shù)據(jù)[4]。通過上位機(jī)控制不同電機(jī)的不同運(yùn)動(dòng)狀態(tài)。圖2是控制兩路電機(jī)的軟件流程圖。
圖2 兩路電機(jī)控制軟件流程圖
圖2的軟件流程圖中,左側(cè)為主函數(shù),右側(cè)為PCA0中斷服務(wù)程序(PCA0計(jì)數(shù)器溢出時(shí)進(jìn)入)。軟件實(shí)現(xiàn)中另外兩個(gè)中斷UART0和UART1的服務(wù)程序分別用來接收編碼器數(shù)據(jù)和上位機(jī)控制指令。上位機(jī)控制指令主要是控制兩路電機(jī)的定點(diǎn)或者定速運(yùn)動(dòng)。軟件中PCA0定時(shí)器溢出周期為100μs,即PWM的頻率為10kHz,通過PCA0的中斷服務(wù)程序流程圖可看到COUNTER用來記錄PCA0定時(shí)器溢出次數(shù),每溢出20次清0,分別在COUNTER=0和COUNTER=10時(shí)對(duì)M1編碼器和M2編碼器進(jìn)行觸發(fā),所以系統(tǒng)對(duì)兩路編碼器的采樣頻率均為: 10kHz/20=500Hz。
試驗(yàn)轉(zhuǎn)臺(tái)由小功率的直流力矩電機(jī)和實(shí)驗(yàn)室研發(fā)的24位高精度光電編碼器組成,通過串口觸發(fā)信號(hào)觸發(fā),編碼器上傳串口型位置數(shù)據(jù),試驗(yàn)中編碼器與MCU通信的波特率為115200b/s, 也可設(shè)置為230400b/s。伺服系統(tǒng)中A3988的母線電壓為8V。
利用電路板和轉(zhuǎn)臺(tái)進(jìn)行開環(huán)試驗(yàn),記錄試驗(yàn)數(shù)據(jù),并利用試驗(yàn)數(shù)據(jù)和電機(jī)各項(xiàng)參數(shù),通過MATLAB的Simulink模塊對(duì)轉(zhuǎn)臺(tái)系統(tǒng)模型速度位置雙閉環(huán)進(jìn)行仿真,得到理論上的速度環(huán)PI參數(shù)和位置環(huán)PI參數(shù),最終通過閉環(huán)試驗(yàn)確定合適的雙閉環(huán)PI參數(shù)。
定速試驗(yàn)中設(shè)定轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)速度為10°/s,定點(diǎn)試驗(yàn)中設(shè)定的定點(diǎn)位置為90°,圖3、圖4為轉(zhuǎn)臺(tái)系統(tǒng)的定速、定點(diǎn)試驗(yàn)結(jié)果。
圖3 轉(zhuǎn)臺(tái)定速試驗(yàn)
圖4 轉(zhuǎn)臺(tái)定點(diǎn)試驗(yàn)
由試驗(yàn)可看出,基于A3988+C8051F121的伺服控制系統(tǒng)對(duì)小功率轉(zhuǎn)臺(tái)系統(tǒng)的定速控制誤差范圍在2%~3%,定點(diǎn)控制誤差在10″以內(nèi)。在定點(diǎn)和定速控制上均有較高的精度。
對(duì)于大功率的驅(qū)動(dòng)要求和永磁同步電機(jī)等無刷電機(jī)的驅(qū)動(dòng),集成的IGBT芯片有明顯優(yōu)勢(shì)。對(duì)于基于直流力矩電機(jī)的小功率轉(zhuǎn)臺(tái)系統(tǒng)控制,分別利用A3988和傳統(tǒng)的集成IGBT芯片驅(qū)動(dòng),運(yùn)動(dòng)效果沒有明顯區(qū)別。PWM的分辨率精度一致,使用由IGBT組成的驅(qū)動(dòng)電路驅(qū)動(dòng)電機(jī)要考慮避免IGBT上下橋短路的死區(qū)問題,同樣母線電壓下A3988的驅(qū)動(dòng)能力會(huì)更加出色,對(duì)電源的利用率也更高。
在軟件實(shí)現(xiàn)上A3988對(duì)于控制器的驅(qū)動(dòng)信號(hào)要求較低,只需要一路PWM波和一個(gè)I/O口來控制電機(jī),由IGBT組成的驅(qū)動(dòng)電路,對(duì)控制器輸出的控制信號(hào)要求較復(fù)雜,同時(shí)還要考慮死區(qū)等問題,增加了軟件實(shí)現(xiàn)的復(fù)雜性,提高了軟件成本。
在硬件電路上,A3988對(duì)于外圍電路的配置只需配置母線電源,與控制器的控制信號(hào)可以直接相連接。集成的IGBT芯片對(duì)于外圍電路的配置要求較復(fù)雜,需要多路隔離電源,驅(qū)動(dòng)方式也需通過片外自行設(shè)計(jì)。
在伺服系統(tǒng)的成本上,基于A3988+MCU的伺服系統(tǒng)硬件成本是普通DSP+IPM的20%~25%,成本下降了75%~80%,較大程度上
降低了對(duì)于小功率直流力矩電機(jī)伺服控制系統(tǒng)的開發(fā)成本。在功率允許的條件下驅(qū)動(dòng)多路電機(jī)時(shí),基于A3988的伺服系統(tǒng)的優(yōu)勢(shì)更加明顯。例如采用同樣的DSP作為控制器,基于IPM的驅(qū)動(dòng)器只能驅(qū)動(dòng)一路電機(jī),基于A3988的驅(qū)動(dòng)器最多能驅(qū)動(dòng)4路電機(jī),提高了DSP控制器的利用率。
通過試驗(yàn)驗(yàn)證和不同伺服系統(tǒng)的對(duì)比,對(duì)于小功率直流力矩電機(jī)伺服控制系統(tǒng)的設(shè)計(jì),相比傳統(tǒng)的DSP+IPM的設(shè)計(jì)方案,基于A3988+MCU的設(shè)計(jì)方案在軟、硬件方面均能在保證控制效果的前提下節(jié)約成本,硬件成本下降了75%~80%。在功率允許的條件下,驅(qū)動(dòng)多路電機(jī)時(shí),基于A3988的伺服系統(tǒng)相比基于IPM的伺服系統(tǒng)節(jié)約成本的優(yōu)勢(shì)更明顯。
【參考文獻(xiàn)】
[1] 王爍,田書林,戴志堅(jiān).基于A3988電機(jī)驅(qū)動(dòng)芯片的電機(jī)控制電路設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2010,29(7): 65-67.
[2] 王曉明.電動(dòng)機(jī)的單片機(jī)控制[M].北京: 北京航空航天大學(xué)出版社,2007.
[3] 新華龍電子有限公司.C8051F12X與C8051F13X系列混合信號(hào)ISP FLASH微控制器數(shù)據(jù)手冊(cè)[G].2004.
[4] 王顯軍.基于SOC單片機(jī)的高集成度光電編碼器電路設(shè)計(jì)[J].光學(xué)精密工程,2011,19(5): 1082-1086.