王 聰
(中國電子科技集團公司第四十七研究所,沈陽 110000)
電機能實現機電能量的轉換,隨著科學技術的發展,其應用遍及現代經濟社會的每一個環節。在眾多類型電機中,無刷直流電機因具有較快的動態響應能力、良好的調速性能以及相對較長使用壽命,與有刷直流電機和交流電機相比,有著更高的使用價值[1-2],比如汽車制造領域用來驅動空調風機的電機。在航空航天領域,無刷直流電機應用于陀螺儀、機械臂、高速離心泵和攝像機等設備。在家用電器領域,日本90%以上的空調產品中,異步電機被無刷直流電機所取代。此外,無刷直流電機還應用于CD、VCD、DVD機等產品中。在辦公領域,電腦、數碼相機、復印機、傳真機和碎紙機等產品中也應用了無刷直流電機[3]。
無刷直流電機控制系統綜合了有刷直流電機和異步電機控制系統的優點。隨著稀土永磁材料技術的發展和電子器件性能的提高,無刷直流電機控制系統廣泛應用于工業中,比如醫療器械、紡織機械、印刷機械和數控機床等行業。目前很多國家的半導體廠商都開發出無刷直流電機控制專用的集成電路,此類電路構成的控制器結構簡單、外圍器件少、性價比更高,但在使用時功能不全面,不利于產品后期的變化和升級。因此,有必要通過軟硬件結合來搭建無刷直流電機控制系統。
STM32系列產品以其高性能低功耗的特點在嵌入式領域被廣泛應用,它的高級定時器能夠輸出帶有死區時間的三路互補PWM波形,恰好用以控制直流無刷電機,并且相較于DSP,STM32的價格更低廉,因此設計基于STM32F407進行。
控制無刷直流電機的一般步驟是:控制器通過霍爾傳感器反饋的信號判斷電機轉子當前所在的位置,以此控制三相橋驅動電路中開關管的通斷。開關管通斷的連續變化使電機內形成變化的磁場,帶動轉子轉動[4]。同時,控制器還要通過調節PWM占空比來調節電機的轉速,使電機按特定的轉速旋轉。整體系統框圖如圖1所示。

圖1 系統框圖
系統在工作時,由STM32F407發出6路PWM信號,經過隔離器件傳輸給由IR2110S構成的驅動電路。驅動電路根據PWM信號控制6個開關管的通斷,形成旋轉磁場,使電機轉動。霍爾傳感器的反饋信號通過隔離芯片傳遞給STM32,供其判斷轉子位置,從而實施換向操作。此外STM32還可通過霍爾信號計算轉速,然后將實際轉速與設定轉速對比,通過PID控制算法調節PWM的占空比,亦即調節轉速,最終使電機按設定轉速旋轉[5-6]。鍵盤電路通過按鍵可控制電機的啟動、停止、加速、減速和正反轉。上位機也可控制電機的啟停,還能給定速度值和PID值,同時顯示實際轉速的變化曲線,方便PID參數的整定。
在實際應用中,電機要按照需要的速度穩定運行,并且速度調節過程應該迅速而平穩,這在開環系統中是無法實現的,因此需采取運動控制系統常用的PID控制算法對速度進行閉環控制。PID控制就是對偏差進行比例、積分、微分控制,也就是誤差控制。比例部分(P)用于縮小實際轉速與目標轉速的偏差,P越大偏差降低越快,但是為了避免系統振蕩,P的取值不能過大。積分部分(I)是對速度偏差的累加,直到偏差為0,積分結果為常數,控制作用穩定,因此積分部分可以消除系統的靜差。微分部分(D)可以根據偏差的變化趨勢超前調節,減小系統的振蕩,使系統趨于穩定。
在搭建硬件電路前,需要首先基于MATLAB應用的SIMULINK工具箱搭建上述控制系統的仿真模型,通過仿真結果評估該方法的有效性[7-8]。電機本體模型是在永磁同步電機模型的基礎上搭建的,將其反電動勢設為120 V,其它參數相應修改。由于永磁同步電機沒有位置傳感器,所以額外搭建了霍爾信號模塊和換相信號模塊。三相橋電路的觸發信號亦即PWM信號由換相信號和速度信號共同決定。其中速度信號采取了PID閉環控制,即通過對速度的設定值和反饋值的差值進行比例、積分、微分控制,實現速度的閉環控制。圖2為直流無刷電機PID控制系統仿真模型;圖3為對應的速度變化曲線。

圖2 直流無刷電機PID控制系統仿真模型
圖3中電機空載時初始轉速設為1000 r/min,啟動后速度迅速從0上升至1000 r/min,耗時不足1 s。在5秒處將速度的設定值調整為600 r/min,電機轉速又迅速而平滑的下降為600 r/min,可見該控制系統性能良好,靜態、動態特性都較為理想。

圖3 速度變化曲線
驅動電路由3只IR2110S和三相全橋逆變電路構成,IR2110S內部有自舉懸浮電路,具有欠壓保護功能,并設有外部保護端口,可以外加電路實現過流保護的功能。這種設計在中小功率變換裝置中被廣泛應用,此處也選取IR2110S搭建無刷直流電機控制系統。由于每片IR2110S的外圍電路相同,此處只給出其中一只IR2110S及其外圍電路的原理圖,如圖4所示。

圖4 驅動電路(局部)
三相全橋電路的母線電壓為24 V,IR2110S的工作電壓是10 V~20 V,將其引腳VCC連接至12 V電源;VDD連接5 V電源;VB與VS之間連接自舉電容C4;VCC通過二極管向自舉電容充電,其儲存的能量用來確保MOSFET穩定導通。VCC和VDD分別對地連接旁路電容C3和C5。STM32產生出的PWM信號通過光耦隔離芯片傳輸給HIN和LIN,然后經由引腳HO和LO輸出到MOSFET,以控制其通斷。電阻R13和R14可以調節MOSFET的開通速度,一般阻值較小。R16、R17為MOS管Q1、Q2的下拉電阻,防止在靜電作用下由于電荷沒有釋放回路引起MOS管擊穿,同時還能避免上電時產生的不受控漏極電流引起燒管。D1和D2是續流二極管,能使MOSFET快速關斷。
直流無刷電機內部集成3只間隔120°電角度的霍爾傳感器,即120度電機。電機轉動時STM32根據收到的霍爾信號產生對應的PWM信號控制MOSFET的通斷。
位置檢測電路如圖5所示。其中,HU、HV、HW為霍爾傳感器反饋的信號,VCC連接5 V電源為位置檢測電路供電。當霍爾信號為低電平時,以U1為例,5 V電源通過R2和D1產生電流,使得光耦輸出端為低電平。當霍爾信號為高電平時,光耦輸出端被R1上拉為高電平。這樣霍爾信號就通過光耦傳送給STM32,用來控制電機換向的同時還能用以計算電機的轉速。

圖5 位置檢測電路
為了避免過流導致控制系統損壞,設計加入了過流保護電路,其設計原理圖如圖6所示。

圖6 過流保護電路
過流保護電路的工作原理是把系統的最大允許電流通過三相橋電路上的采樣電阻R15折算成電壓值,將其作為比較器反相輸入端的閾值;電路的實際閾值通過分壓電阻R5調節得到,另一端直接從采樣電阻獲取電壓值。當發生過流情況時,比較器輸出高電平,經光耦隔離芯片傳送給IR2110S的SD控制引腳,立即停止控制信號的輸出。
系統選取STM32F407IGT6作為控制芯片,并在KeilμVision5中編寫了無刷直流電機PID控制程序。系統的軟件主要由主程序和中斷程序構成。
系統的主程序包括所有模塊的初始化,如系統時鐘初始化、HAL庫初始化、GPIO初始化、上位機通訊協議初始化、調試串口初始化、電機初始化和目標速度初始化函數。主程序按照順序從上至下執行,遇到中斷則進入中斷,中斷結束回到主程序繼續執行。主程序流程圖如圖7所示。

圖7 主程序流程圖
電機控制系統的轉速調節、堵轉保護等功能都通過中斷程序實現。因此,中斷程序主要包括霍爾信號獲取中斷、系統保護中斷等。核心控制功能的中斷流程圖如圖8所示。

圖8 核心控制功能中斷流程圖
霍爾信號獲取中斷程序,主要實現的是在霍爾信號發生改變時控制電機換相的功能,系統保護中斷程序主要實現的則是在系統堵轉故障發生時關閉控制信號的功能。
上位機調試軟件是電機控制系統中不可或缺的一部分[9],此處基于LABVIEW搭建直流無刷電機調試軟件。它能夠監測電機的運行狀態,尤其是系統開發初期,該軟件還能輔助程序調試。PID算法的參數整定是一個耗時較多的過程,如果每次調參都編譯程序耗時更長,而通過搭建的電機調試助手則可以實時調參,能提高系統調試的效率。
在LABVIEW中基于VISA驅動,結合狀態機的方法應用屬性節點搭建無刷直流電機控制系統的上位機調試軟件。主要用其經過串口發送特定的命令,如啟動、停止、復位;此外,還能夠實時顯示電機的速度曲線,并能在系統運行的條件下修改系統參數,如速度的目標值,PID閉環控制算法的比例P、積分I、微分D的參數,以及高級定時器的更新周期。上位機軟件流程圖如圖9所示。

圖9 上位機軟件流程
實驗選用的電機型號為57BL75S10,其額定功率100 W,最高轉速2500 r/min。在Keil環境下將C語言程序通過下載器燒錄到STM32中,啟動系統電機運行,速度值通過串口輸出到上位機顯示為速度曲線。上位機軟件運行界面如圖10所示。實驗結果表明,空載時電機速度曲線與仿真結果一致。

圖10 上位機軟件運行界面
以STM32F407IGT6為核心設計了一種無刷直流電機控制系統。與采取DSP設計的控制系統相比,外圍電路簡單、成本低。與采取8/16位微控制器設計的系統相比,該系統的控制精度更高。系統還可實時地顯示電機運行狀態并能夠現場調參,極大提高了便利性與經濟性,具有較大的工程應用價值。