王 聰
(中國電子科技集團(tuán)公司第四十七研究所,沈陽 110000)
無刷直流電機(jī)用電子換相器替代普通直流電機(jī)的電刷和換向器,使耐用性大為提高,隨著近年來科學(xué)技術(shù)的發(fā)展,控制成本也大幅降低。永磁體轉(zhuǎn)子的運(yùn)行效率更高,轉(zhuǎn)動(dòng)慣量更小,在相同的電磁轉(zhuǎn)矩下無刷直流電機(jī)的響應(yīng)更快,調(diào)速范圍更寬。與其他電機(jī)相比,無刷直流電機(jī)具有體積小、結(jié)構(gòu)緊湊、重量輕、功率密度高等優(yōu)點(diǎn),也更加高效節(jié)能,在各技術(shù)領(lǐng)域均受廣泛關(guān)注,其應(yīng)用遍及航空航天、汽車制造、醫(yī)療器械和家用電器等諸多領(lǐng)域[1]。無刷直流電機(jī)控制最常用的方法是六步換相的方波控制,方法相對(duì)簡(jiǎn)單,且硬件成本低,但是由于方波控制的磁場(chǎng)是不連續(xù)、跳躍的,因此轉(zhuǎn)矩脈動(dòng)較大。在對(duì)轉(zhuǎn)矩脈動(dòng)有要求的場(chǎng)合,方波控制無法勝任,轉(zhuǎn)矩脈動(dòng)會(huì)產(chǎn)生噪聲,干擾系統(tǒng),從而影響系統(tǒng)的穩(wěn)定性,還會(huì)降低系統(tǒng)中芯片的性能或傳感器的控制精度[2]。為解決這個(gè)問題,用于控制永磁同步電機(jī)的磁場(chǎng)定向控制方法逐步被應(yīng)用于無刷直流電機(jī)的控制。其核心思路是將定子電流分解成直軸電流和交軸電流,分別用于控制勵(lì)磁和轉(zhuǎn)矩,相當(dāng)于直流電機(jī)中的勵(lì)磁電流和電樞電流[3]。磁場(chǎng)定向控制能夠使轉(zhuǎn)矩輸出更平穩(wěn)、提高電能的利用率,使無刷直流電機(jī)具有較寬的調(diào)速范圍和較好的啟動(dòng)性能[4]。鑒于此,磁場(chǎng)定向控制應(yīng)用于無刷直流電機(jī)控制具有很好的工程應(yīng)用價(jià)值。本研究基于磁場(chǎng)定向控制和空間電壓矢量脈寬調(diào)制方法,從原理入手,以仿真為輔助,以STM32F407IGT6為控制核心,嘗試設(shè)計(jì)實(shí)現(xiàn)一種無刷直流電機(jī)控制系統(tǒng)。
磁場(chǎng)定向控制技術(shù)(FOC)又稱為矢量控制技術(shù),是將電機(jī)的轉(zhuǎn)子磁場(chǎng)軸作為同步旋轉(zhuǎn)坐標(biāo)軸,借助坐標(biāo)變換的數(shù)學(xué)方法把無刷直流電機(jī)定子的正弦波電流分解成與磁場(chǎng)平行的直軸電流和與磁場(chǎng)垂直的交軸電流,然后對(duì)這兩種電流加以控制,其動(dòng)態(tài)性能類似于方波控制[5]。
BLDCM磁場(chǎng)定向控制系統(tǒng)主要包括Clarke變換、Park變換、Park反變換、PID控制、SVPWM控制五個(gè)部分。BLDCM磁場(chǎng)定向控制系統(tǒng)框圖如圖1所示。其工作過程為:通過霍爾信號(hào)計(jì)算出電機(jī)的實(shí)際速度n,然后將實(shí)際速度與設(shè)定速度n*的誤差送給速度PID模塊,輸出作為交軸電流iq*的給定值,直軸電流id*的給定值設(shè)為0。通過三電阻采樣法獲得電機(jī)定子的三相電流ia、ib、ic,三相電流通過Clarke和Park兩種變換后得到電機(jī)實(shí)際的交軸電流iq和直軸電流id,再將兩種電流的實(shí)際值與給定值間的誤差送給各自的電流PID模塊,輸出量是交軸電壓uq和直軸電壓ud。最后,交、直軸電壓經(jīng)過Park反變換和SVPWM兩個(gè)部分作用,輸出為電機(jī)的三相驅(qū)動(dòng)電壓ua、ub、uc,使電機(jī)轉(zhuǎn)動(dòng)運(yùn)行。
圖1 BLDCM磁場(chǎng)定向控制系統(tǒng)框圖
空間電壓矢量脈寬調(diào)制(SVPWM)是FOC的重要組成部分。通過SVPWM控制三相逆變電路可以抑制電機(jī)的轉(zhuǎn)矩脈動(dòng)。三相逆變電路由6個(gè)開關(guān)管組成,每個(gè)開關(guān)管都有導(dǎo)通和截止兩種工作狀態(tài)。將上橋臂導(dǎo)通時(shí)的開關(guān)狀態(tài)設(shè)為1,下橋臂導(dǎo)通時(shí)的開關(guān)狀態(tài)設(shè)為0。由于正常工作時(shí)每個(gè)橋臂上的兩個(gè)開關(guān)管不能同時(shí)導(dǎo)通,所以三相橋電路工作狀態(tài)共有8種,用矢量可以表示為六個(gè)非零矢量:U1(001)、U2(010)、U3(011)、U4(100)、U5(101)、U6(110),以及兩個(gè)零矢量:U0(000)、U7(111)。電壓空間矢量圖如圖2所示。其中,非零矢量位于坐標(biāo)軸上,零矢量位于坐標(biāo)軸的中心[6]。uα和uβ是通過Park反變換獲得的二軸靜止電壓。矢量圓內(nèi)的任意矢量可以由與其相鄰的兩個(gè)非零基礎(chǔ)矢量和一個(gè)零矢量通過不同的作用時(shí)間組合而成,即:
圖2 電壓空間矢量圖
其中Ts是采樣時(shí)間,也是3個(gè)矢量作用時(shí)間的總和,即Ts=T0+T1+T2。用X、Y、Z來表示各矢量的作用時(shí)間,公式為:
式中,Udc為三相橋母線電壓。
各扇區(qū)作用時(shí)間如表1所示。
表1 各扇區(qū)作用時(shí)間
如果T1+T2>Ts,則進(jìn)行如下處理:
由于霍爾傳感器的分辨率低,無法滿足矢量控制的需求,因此需要借助數(shù)學(xué)方法進(jìn)行轉(zhuǎn)子位置估計(jì)。此處所用無刷直流電機(jī)的霍爾傳感器為120°電角度擺放,因此每個(gè)霍爾信號(hào)在一個(gè)電周期內(nèi)有兩個(gè)狀態(tài)輸出。把每個(gè)電周期分為6個(gè)扇區(qū),每個(gè)扇區(qū)將對(duì)應(yīng)不同的霍爾信號(hào)組合,通過霍爾信號(hào)就可以判斷轉(zhuǎn)子所處的扇區(qū)。此方法的缺點(diǎn)在于分辨率只有±30°,為了提高分辨率,結(jié)合插值的方法進(jìn)行轉(zhuǎn)子位置估計(jì),方法如圖3所示。
圖3 霍爾傳感器位置估算方法圖
ωk-1是k-1時(shí)刻轉(zhuǎn)子的角速度,可以通過前一時(shí)刻轉(zhuǎn)子轉(zhuǎn)過60°扇區(qū)所用的時(shí)間來計(jì)算。θk-1是k-1時(shí)刻轉(zhuǎn)子的位置??芍猼k時(shí)刻轉(zhuǎn)子的位置為:
為驗(yàn)證上述方法的可行性,使用仿真軟件來模擬FOC控制系統(tǒng)的工作過程?;贔OC理論,在Simulink中建立BLDCM控制系統(tǒng)仿真模型,如圖4所示。通過仿真,可以得到相關(guān)實(shí)驗(yàn)波形,用以分析該控制系統(tǒng)的性能,從而降低實(shí)驗(yàn)成本。
圖4 BLDCM的FOC控制系統(tǒng)仿真模型
該模型主要由三相橋驅(qū)動(dòng)模塊、無刷直流電機(jī)模塊、PARK變換模塊、CLARK變換模塊、PARK逆變換模塊SVPWM模塊和PID模塊構(gòu)成,工作原理與圖1所示框圖描述基本一致[7]。設(shè)定速度期望值為2900r/min,空載運(yùn)行,仿真時(shí)間設(shè)定為3s。
運(yùn)行仿真模型,通過示波器組件觀測(cè)到的定子三相電流波形,如圖5所示。為便于觀察,截取部分加以放大,如圖6所示。仿真得到的轉(zhuǎn)矩波形如圖7所示,轉(zhuǎn)速波形如圖8所示。由仿真波形可以證明:FOC控制系統(tǒng)的轉(zhuǎn)矩脈動(dòng)小,運(yùn)行平穩(wěn),定子電流接近正弦波,性能較為理想。
圖5 定子三相電流波形
圖6 電流波形部分放大圖
圖7 仿真轉(zhuǎn)矩波形
圖8 仿真轉(zhuǎn)速波形
在仿真的基礎(chǔ)上,以單片機(jī)STM32F407IGT6搭建BLDCM的FOC控制系統(tǒng),系統(tǒng)硬件結(jié)構(gòu)框圖如圖9所示。以IR2110S為驅(qū)動(dòng)芯片,用MOSFET作為開關(guān)元件搭建三相全橋控制電路。以三電阻采樣法獲取電機(jī)定子相電流。相比于單電阻采樣法,三電阻采樣法雖然成本有所增加,但程序簡(jiǎn)單并且能提高采樣電流的準(zhǔn)確性[8]。
圖9 FOC控制系統(tǒng)硬件結(jié)構(gòu)框圖
4.2.1 主程序設(shè)計(jì)
主程序需要在電機(jī)運(yùn)行前完成各模塊的初始化,在此基礎(chǔ)上子程序才能順利完成數(shù)據(jù)處理工作,以實(shí)現(xiàn)對(duì)電機(jī)運(yùn)行狀態(tài)的動(dòng)態(tài)監(jiān)測(cè)和為三相橋電路提供有效的驅(qū)動(dòng)信號(hào),使電機(jī)穩(wěn)定并可靠運(yùn)行。
程序運(yùn)行后,首先對(duì)系統(tǒng)進(jìn)行初始化,即對(duì)GPIO模塊、ADC模 塊、TIM模塊、USART模塊和NIVC模塊進(jìn)行初始化,然后對(duì)電機(jī)的參數(shù)和PID參數(shù)進(jìn)行配置。
4.2.2 SYSTICK中斷子程序設(shè)計(jì)
SYSTICK中斷用來控制電機(jī)的啟停,程序每隔500μs進(jìn)入中斷一次。進(jìn)入中斷后通過查詢電機(jī)的狀態(tài)(如啟動(dòng)、停止、錯(cuò)誤和空閑)并執(zhí)行相應(yīng)的程序來控制電機(jī)的啟停。SYSTICK中斷流程圖如圖10所示。
按下啟動(dòng)按鍵時(shí),電機(jī)進(jìn)入啟動(dòng)狀態(tài),開始執(zhí)行FOC算法,電機(jī)運(yùn)行。按下停止按鍵,電機(jī)進(jìn)入停止?fàn)顟B(tài),PWM輸出關(guān)閉,電機(jī)停止運(yùn)行。當(dāng)系統(tǒng)有錯(cuò)誤發(fā)生時(shí),電機(jī)進(jìn)入錯(cuò)誤狀態(tài),也會(huì)關(guān)閉所有PWM輸出,電機(jī)停止運(yùn)行。
4.2.3霍爾中斷子程序設(shè)計(jì)
轉(zhuǎn)子位置是通過霍爾信號(hào)確定的,由于STM32的高級(jí)定時(shí)器有異或功能,可將三路霍爾信號(hào)處理成一路信號(hào),使得轉(zhuǎn)子每轉(zhuǎn)過60°電角度就會(huì)觸發(fā)一次高級(jí)定時(shí)器的捕獲中斷,可以在該中斷程序中進(jìn)行電角度的更新,從而獲取轉(zhuǎn)子的位置。該中斷也稱為霍爾傳感器中斷,其流程圖如圖11所示。
圖11 霍爾中斷子程序流程圖
當(dāng)處理器檢測(cè)到霍爾中斷時(shí),首先判斷是更新中斷還是捕獲中斷。如果是更新中斷,并且判斷超時(shí),處理器則認(rèn)為轉(zhuǎn)子的位置沒有發(fā)生改變,轉(zhuǎn)子的電角度值也保持不變;如果檢測(cè)到捕獲中斷,則對(duì)轉(zhuǎn)子的位置即電角度值進(jìn)行更新。在更新轉(zhuǎn)子位置的同時(shí),定時(shí)器的分頻值也需要不斷地調(diào)整,這樣不管電機(jī)高速運(yùn)行還是低速運(yùn)行都能保證轉(zhuǎn)子位置檢測(cè)的精度。
4.2.4 FOC算法子程序設(shè)計(jì)
FOC算法的實(shí)現(xiàn)主要包括電流值獲取、Park變換、Clarke變換等過程,如圖12所示[9]。首先,通過ADC采樣得到相電流ia、ib、ic;然后對(duì)相電流值進(jìn)行Clarke和Park變換,得到旋轉(zhuǎn)坐標(biāo)系下的交直軸電流id、iq;再通過電流PID控制器輸出電壓值ud、uq并進(jìn)行限幅處理;最后,對(duì)ud、uq進(jìn)行Park反變換和SVPWM,求得PWM占空比以控制三相全橋電路。
圖12 FOC算法子程序流程圖
在實(shí)驗(yàn)中對(duì)所設(shè)計(jì)系統(tǒng)進(jìn)行測(cè)試。選用電機(jī)的各項(xiàng)參數(shù)為:額定電壓24V,額定電流5.9A,相電阻0.42 Ω,相電感1.12 mH,反電動(dòng)勢(shì)系數(shù)4.3 Vrms/krpm,極對(duì)數(shù)是2。如圖13所示為在電機(jī)穩(wěn)定運(yùn)行時(shí),用安捷倫示波器測(cè)得的定子相電流。可見其波形近似為正弦波(電機(jī)的轉(zhuǎn)速設(shè)定為2900r/min)。通過上位機(jī)得到的轉(zhuǎn)速曲線如圖14所示,可以看出,電機(jī)處于平穩(wěn)運(yùn)行的狀態(tài)。
圖13 定子相電流測(cè)試
圖14 電機(jī)轉(zhuǎn)速曲線測(cè)試
基于FOC算法對(duì)無刷直流電機(jī)控制系統(tǒng)進(jìn)行了設(shè)計(jì)。通過Simulink仿真驗(yàn)證了所設(shè)計(jì)系統(tǒng)的性能,主要關(guān)心轉(zhuǎn)矩脈動(dòng)的減小情況,在此基礎(chǔ)上搭建了硬件控制系統(tǒng),并連接電機(jī)進(jìn)行了實(shí)驗(yàn)測(cè)試。從測(cè)試結(jié)果來看,通過示波器監(jiān)測(cè)到電機(jī)的相電流近似為正弦波;通過上位機(jī)得到的電機(jī)轉(zhuǎn)速曲線可以看出電機(jī)運(yùn)行平穩(wěn),轉(zhuǎn)速脈動(dòng)小。該系統(tǒng)可以為搭建無刷直流電機(jī)矢量控制系統(tǒng)提供有力的參考。