王 聰
(中國電子科技集團公司第四十七研究所,沈陽 110000)
無刷直流電機用電子換相器替代普通直流電機的電刷和換向器,使耐用性大為提高,隨著近年來科學技術的發展,控制成本也大幅降低。永磁體轉子的運行效率更高,轉動慣量更小,在相同的電磁轉矩下無刷直流電機的響應更快,調速范圍更寬。與其他電機相比,無刷直流電機具有體積小、結構緊湊、重量輕、功率密度高等優點,也更加高效節能,在各技術領域均受廣泛關注,其應用遍及航空航天、汽車制造、醫療器械和家用電器等諸多領域[1]。無刷直流電機控制最常用的方法是六步換相的方波控制,方法相對簡單,且硬件成本低,但是由于方波控制的磁場是不連續、跳躍的,因此轉矩脈動較大。在對轉矩脈動有要求的場合,方波控制無法勝任,轉矩脈動會產生噪聲,干擾系統,從而影響系統的穩定性,還會降低系統中芯片的性能或傳感器的控制精度[2]。為解決這個問題,用于控制永磁同步電機的磁場定向控制方法逐步被應用于無刷直流電機的控制。其核心思路是將定子電流分解成直軸電流和交軸電流,分別用于控制勵磁和轉矩,相當于直流電機中的勵磁電流和電樞電流[3]。磁場定向控制能夠使轉矩輸出更平穩、提高電能的利用率,使無刷直流電機具有較寬的調速范圍和較好的啟動性能[4]。鑒于此,磁場定向控制應用于無刷直流電機控制具有很好的工程應用價值。本研究基于磁場定向控制和空間電壓矢量脈寬調制方法,從原理入手,以仿真為輔助,以STM32F407IGT6為控制核心,嘗試設計實現一種無刷直流電機控制系統。
磁場定向控制技術(FOC)又稱為矢量控制技術,是將電機的轉子磁場軸作為同步旋轉坐標軸,借助坐標變換的數學方法把無刷直流電機定子的正弦波電流分解成與磁場平行的直軸電流和與磁場垂直的交軸電流,然后對這兩種電流加以控制,其動態性能類似于方波控制[5]。
BLDCM磁場定向控制系統主要包括Clarke變換、Park變換、Park反變換、PID控制、SVPWM控制五個部分。BLDCM磁場定向控制系統框圖如圖1所示。其工作過程為:通過霍爾信號計算出電機的實際速度n,然后將實際速度與設定速度n*的誤差送給速度PID模塊,輸出作為交軸電流iq*的給定值,直軸電流id*的給定值設為0。通過三電阻采樣法獲得電機定子的三相電流ia、ib、ic,三相電流通過Clarke和Park兩種變換后得到電機實際的交軸電流iq和直軸電流id,再將兩種電流的實際值與給定值間的誤差送給各自的電流PID模塊,輸出量是交軸電壓uq和直軸電壓ud。最后,交、直軸電壓經過Park反變換和SVPWM兩個部分作用,輸出為電機的三相驅動電壓ua、ub、uc,使電機轉動運行。

圖1 BLDCM磁場定向控制系統框圖
空間電壓矢量脈寬調制(SVPWM)是FOC的重要組成部分。通過SVPWM控制三相逆變電路可以抑制電機的轉矩脈動。三相逆變電路由6個開關管組成,每個開關管都有導通和截止兩種工作狀態。將上橋臂導通時的開關狀態設為1,下橋臂導通時的開關狀態設為0。由于正常工作時每個橋臂上的兩個開關管不能同時導通,所以三相橋電路工作狀態共有8種,用矢量可以表示為六個非零矢量:U1(001)、U2(010)、U3(011)、U4(100)、U5(101)、U6(110),以及兩個零矢量:U0(000)、U7(111)。電壓空間矢量圖如圖2所示。其中,非零矢量位于坐標軸上,零矢量位于坐標軸的中心[6]。uα和uβ是通過Park反變換獲得的二軸靜止電壓。矢量圓內的任意矢量可以由與其相鄰的兩個非零基礎矢量和一個零矢量通過不同的作用時間組合而成,即:


圖2 電壓空間矢量圖
其中Ts是采樣時間,也是3個矢量作用時間的總和,即Ts=T0+T1+T2。用X、Y、Z來表示各矢量的作用時間,公式為:

式中,Udc為三相橋母線電壓。
各扇區作用時間如表1所示。

表1 各扇區作用時間
如果T1+T2>Ts,則進行如下處理:

由于霍爾傳感器的分辨率低,無法滿足矢量控制的需求,因此需要借助數學方法進行轉子位置估計。此處所用無刷直流電機的霍爾傳感器為120°電角度擺放,因此每個霍爾信號在一個電周期內有兩個狀態輸出。把每個電周期分為6個扇區,每個扇區將對應不同的霍爾信號組合,通過霍爾信號就可以判斷轉子所處的扇區。此方法的缺點在于分辨率只有±30°,為了提高分辨率,結合插值的方法進行轉子位置估計,方法如圖3所示。

圖3 霍爾傳感器位置估算方法圖
ωk-1是k-1時刻轉子的角速度,可以通過前一時刻轉子轉過60°扇區所用的時間來計算。θk-1是k-1時刻轉子的位置。可知tk時刻轉子的位置為:

為驗證上述方法的可行性,使用仿真軟件來模擬FOC控制系統的工作過程。基于FOC理論,在Simulink中建立BLDCM控制系統仿真模型,如圖4所示。通過仿真,可以得到相關實驗波形,用以分析該控制系統的性能,從而降低實驗成本。

圖4 BLDCM的FOC控制系統仿真模型
該模型主要由三相橋驅動模塊、無刷直流電機模塊、PARK變換模塊、CLARK變換模塊、PARK逆變換模塊SVPWM模塊和PID模塊構成,工作原理與圖1所示框圖描述基本一致[7]。設定速度期望值為2900r/min,空載運行,仿真時間設定為3s。
運行仿真模型,通過示波器組件觀測到的定子三相電流波形,如圖5所示。為便于觀察,截取部分加以放大,如圖6所示。仿真得到的轉矩波形如圖7所示,轉速波形如圖8所示。由仿真波形可以證明:FOC控制系統的轉矩脈動小,運行平穩,定子電流接近正弦波,性能較為理想。

圖5 定子三相電流波形

圖6 電流波形部分放大圖

圖7 仿真轉矩波形

圖8 仿真轉速波形
在仿真的基礎上,以單片機STM32F407IGT6搭建BLDCM的FOC控制系統,系統硬件結構框圖如圖9所示。以IR2110S為驅動芯片,用MOSFET作為開關元件搭建三相全橋控制電路。以三電阻采樣法獲取電機定子相電流。相比于單電阻采樣法,三電阻采樣法雖然成本有所增加,但程序簡單并且能提高采樣電流的準確性[8]。

圖9 FOC控制系統硬件結構框圖
4.2.1 主程序設計
主程序需要在電機運行前完成各模塊的初始化,在此基礎上子程序才能順利完成數據處理工作,以實現對電機運行狀態的動態監測和為三相橋電路提供有效的驅動信號,使電機穩定并可靠運行。
程序運行后,首先對系統進行初始化,即對GPIO模塊、ADC模 塊、TIM模塊、USART模塊和NIVC模塊進行初始化,然后對電機的參數和PID參數進行配置。
4.2.2 SYSTICK中斷子程序設計
SYSTICK中斷用來控制電機的啟停,程序每隔500μs進入中斷一次。進入中斷后通過查詢電機的狀態(如啟動、停止、錯誤和空閑)并執行相應的程序來控制電機的啟停。SYSTICK中斷流程圖如圖10所示。
按下啟動按鍵時,電機進入啟動狀態,開始執行FOC算法,電機運行。按下停止按鍵,電機進入停止狀態,PWM輸出關閉,電機停止運行。當系統有錯誤發生時,電機進入錯誤狀態,也會關閉所有PWM輸出,電機停止運行。
4.2.3霍爾中斷子程序設計
轉子位置是通過霍爾信號確定的,由于STM32的高級定時器有異或功能,可將三路霍爾信號處理成一路信號,使得轉子每轉過60°電角度就會觸發一次高級定時器的捕獲中斷,可以在該中斷程序中進行電角度的更新,從而獲取轉子的位置。該中斷也稱為霍爾傳感器中斷,其流程圖如圖11所示。

圖11 霍爾中斷子程序流程圖
當處理器檢測到霍爾中斷時,首先判斷是更新中斷還是捕獲中斷。如果是更新中斷,并且判斷超時,處理器則認為轉子的位置沒有發生改變,轉子的電角度值也保持不變;如果檢測到捕獲中斷,則對轉子的位置即電角度值進行更新。在更新轉子位置的同時,定時器的分頻值也需要不斷地調整,這樣不管電機高速運行還是低速運行都能保證轉子位置檢測的精度。
4.2.4 FOC算法子程序設計
FOC算法的實現主要包括電流值獲取、Park變換、Clarke變換等過程,如圖12所示[9]。首先,通過ADC采樣得到相電流ia、ib、ic;然后對相電流值進行Clarke和Park變換,得到旋轉坐標系下的交直軸電流id、iq;再通過電流PID控制器輸出電壓值ud、uq并進行限幅處理;最后,對ud、uq進行Park反變換和SVPWM,求得PWM占空比以控制三相全橋電路。

圖12 FOC算法子程序流程圖
在實驗中對所設計系統進行測試。選用電機的各項參數為:額定電壓24V,額定電流5.9A,相電阻0.42 Ω,相電感1.12 mH,反電動勢系數4.3 Vrms/krpm,極對數是2。如圖13所示為在電機穩定運行時,用安捷倫示波器測得的定子相電流。可見其波形近似為正弦波(電機的轉速設定為2900r/min)。通過上位機得到的轉速曲線如圖14所示,可以看出,電機處于平穩運行的狀態。

圖13 定子相電流測試

圖14 電機轉速曲線測試
基于FOC算法對無刷直流電機控制系統進行了設計。通過Simulink仿真驗證了所設計系統的性能,主要關心轉矩脈動的減小情況,在此基礎上搭建了硬件控制系統,并連接電機進行了實驗測試。從測試結果來看,通過示波器監測到電機的相電流近似為正弦波;通過上位機得到的電機轉速曲線可以看出電機運行平穩,轉速脈動小。該系統可以為搭建無刷直流電機矢量控制系統提供有力的參考。