郎寶華,閔喜艷,張 婧
(西安工業(yè)大學 電子信息工程學院,陜西 西安 710032)
無刷直流電動機(BLDCM)是隨著電力電子技術(shù)的迅速發(fā)展而發(fā)展起來的一種新型電動機,具有可靠性高,易維護等一系列優(yōu)點,在家用電器和工業(yè)生產(chǎn)領域中得到了廣泛的應用[1]。就其基本結(jié)構(gòu)而言,無刷直流電動機可以認為是一個由電機本體、轉(zhuǎn)子位置檢測電路以及電子開關(guān)電路三者共同組成的“電動系統(tǒng)”。
無刷直流電動機電子開關(guān)線路是用來控制電動機定子上各相繞組通電的順序和時間的,主要由功率邏輯開關(guān)單元和位置傳感器信號處理單元兩個部分組成。功率邏輯開關(guān)單元是控制電路的核心,其功能是將電源的功率以一定邏輯關(guān)系分配給無刷直流電動機定子上各相繞組,以便使電動機產(chǎn)生持續(xù)不斷的轉(zhuǎn)矩。而各相繞組導通的順序和時間主要取決于來自轉(zhuǎn)子位置檢測電路的轉(zhuǎn)子位置信號。但轉(zhuǎn)子位置檢測電路所產(chǎn)生的信號一般不能直接用來控制功率邏輯開關(guān)單元,往往需要經(jīng)過一定邏輯處理(功率放大)后才能去控制邏輯開關(guān)單元。
無刷直流電機的無位置傳感器控制的難點在于轉(zhuǎn)子位置信號的檢測。國內(nèi)外研究人員提出了諸多方法,典型的方法有:反電動勢法、三次諧波檢測法、電感檢測法和擴展卡爾曼濾波法等[2]。三次諧波檢測法在高速時能夠準確快速地估計轉(zhuǎn)子位置,但是當電機的轉(zhuǎn)速低于某個值時,檢測到的三次諧波嚴重畸變,不能準確估計轉(zhuǎn)子的位置。電感檢測法需要對繞組電感進行不斷的實時檢測,實現(xiàn)難度較大。擴展卡爾曼濾波器法計算繁瑣,對微機性能要求較高,實現(xiàn)較麻煩。反電動勢過零點檢測法通過檢測各相反電動勢的過零點,延遲30°電角度,獲得相應的換相時刻,該方法雖然存在低速時難以得到有效的轉(zhuǎn)子位置信號,由RC濾波電路引起的過零點相移等缺點,但該方法是目前技術(shù)最成熟,實現(xiàn)最簡單,應用最廣泛的轉(zhuǎn)子位置檢測方法。
普遍采用的控制方案為基于DSP的控制和基于專用集成電路的控制等,受芯片功能、速度和結(jié)構(gòu)的限制,硬件設計中往往需要較多的外圍電路,導致裝置的整體集成度不高,硬件開發(fā)相對復雜。本文采用反電動勢過零點檢測方法,設計了基于dsPIC30F3010芯片的無刷直流電機無位置傳感器控制系統(tǒng),將高性能16位單片機的控制特點和DSP高速運算的優(yōu)點相結(jié)合,為嵌入式系統(tǒng)設計提供了合適的單芯片、單指令流的解決方案,其結(jié)構(gòu)簡單,運行性能良好[3]。
本無刷直流電動機無位置傳感器控制系統(tǒng)的硬件以美國微芯公司(Microchip)生產(chǎn)的數(shù)字信號控制器dsPIC30F30l0為核心控制器。dsPIC30F3010具有6路10位A/D、專門針對電機設計的6路PWM模塊、5路16位定時器、24 kB Flash程序存儲器以及1 kB RAM。dsPIC30F系列器件采用功能強大的16位架構(gòu),無縫集成了單片機(MCU)的控制功能和數(shù)字信號處理器的計算能力。因此是以高速、重復計算和控制為基礎的應用的理想選擇[4]。
系統(tǒng)硬件電路由主電路、驅(qū)動電路、過零點檢測電路、采樣電路、各種保護電路組成。dsPIC30F3010控制器首先通過反電動勢檢測法獲得轉(zhuǎn)子的位置信號,并根據(jù)轉(zhuǎn)子的位置發(fā)出相應的控制字來改變PWM信號的當前值,從而改變直流電動機驅(qū)動電路中功率管的導通順序,實現(xiàn)對電動機轉(zhuǎn)速的控制。然后系統(tǒng)根據(jù)轉(zhuǎn)子的位置和間隔時間測出電機轉(zhuǎn)速。將檢測到的各相的電流轉(zhuǎn)換成電壓信號降壓后輸入到DSC的A/D轉(zhuǎn)換器,其值與經(jīng)速度調(diào)節(jié)后產(chǎn)生的電流參考值比較,形成PWM占空比的控制量,來改變直流無刷電機電樞電流,從而達到控制電機轉(zhuǎn)速的目的。控制系統(tǒng)中采用全橋PWM調(diào)節(jié)方式,通過改變PWM控制脈沖的占空比來調(diào)節(jié)輸入無刷直流電機的平均直流電壓,以達到調(diào)速的目的。整個系統(tǒng)硬件框圖如圖1所示。
圖2為控制芯片dsPIC30F3010及其外圍電路圖。圖中上接的是復位電路,S1是復位按鈕,通過上拉電阻R2,這樣VPP/MCLR引腳可置低電平來復位PIC單片機;S2為啟停按鈕,控制電機啟停;SW1為調(diào)試/編程開關(guān),閉合SW1即可切換到MPLAB ICD時鐘線和數(shù)據(jù)線進行編程;HA,HB,HC為三相電壓反饋;VBUS、IMOTOR接口分別是電機母線電壓與電流的輸入接口;在電路上通過一個可調(diào)電阻串一個電阻到地的方式,作為給定轉(zhuǎn)速的設置。其中所串的小電阻,讓AD無法讀到0這么低的值,規(guī)避了給定轉(zhuǎn)速下限的問題。用RB3/AN3、RB4/AN4、RB5/AN5實現(xiàn)電機端電壓檢測,得到反電動勢過零點。PWM1L/PWM1H、PWM2L/PWM2H、PWM3L/PWM3H分別是A、B、C三相逆變橋電路上、下橋臂開關(guān)信號接口,采用PWM模塊控制6個MOSFET通斷,實現(xiàn)換相。
圖1 控制系統(tǒng)硬件框圖Fig.1 Hardware chart of the control system
逆變及驅(qū)動電路如圖3所示。主電路采用三相橋式逆變電路,由控制部分產(chǎn)生六路的PWM脈沖,分別送到三片IR2101的2、3管腳,經(jīng) IR2101內(nèi)部處理產(chǎn)生兩個驅(qū)動信號驅(qū)動一個橋臂的兩個功率MOS管。C15是自舉電容,為上橋臂功率管驅(qū)動的懸浮電源存儲能量,D1的作用防止上橋臂導通時的直流母線電壓到IR2101的電源上而使器件損壞,因此應有足夠的反向耐壓,當然由于D1與C15串聯(lián),為了滿足主電路功率管開關(guān)頻率的要求,D1應選快速恢復二極管,而且自舉電容容量取決于被驅(qū)動功率器件的開關(guān)頻率、占空比以及充電回路電阻,必須保證電容充電到足夠的電壓。在本電路中,自舉電容選的是 2.2 μF 的電解電容。 R30、R31、R32和R33作為限流電阻,防止驅(qū)動信號電流過大,損壞器件。
圖2 控制芯片及其外圍電路Fig.2 Control chip and its peripheral circuit
圖3中僅為聯(lián)接電動機A相繞組橋臂的驅(qū)動電路。同理,聯(lián)接另外兩相繞組的橋臂驅(qū)動電路類似。
圖3 逆變及其驅(qū)動電路Fig.3 Inverter and the MOSFET driver circuit
無刷直流電動機穩(wěn)態(tài)運行時,忽略電機電樞反應,通過檢測關(guān)斷相反電動勢的過零點來獲得永磁轉(zhuǎn)子的關(guān)鍵位置信號,從而可以控制繞組電流的切換,實現(xiàn)電機的運轉(zhuǎn)[5]。
由無刷直流電機結(jié)構(gòu)知,反電動勢過零點與轉(zhuǎn)子位置有對應關(guān)系,通過對定子繞組上反電動勢的檢測得到過零點,就可以得到轉(zhuǎn)子位置信息。在PWM導通期間,懸空繞組的端電壓等于反電勢與1/2電源電壓的疊加,檢測處于不通電相繞組的端電壓,其值等于電源電壓的一半時為反電動勢過零點信號[6]。如果能夠準確地檢測到反電勢的過零點信號,即可判斷出轉(zhuǎn)子的位置,經(jīng)過π/6電弧度延時處理后,可確定出換相時刻,再根據(jù)功率管的導通順序觸發(fā)相應的功率管以實現(xiàn)無刷直流電機的換相,保證電機按固定的方向連續(xù)旋轉(zhuǎn)。
假設速度大于零,則每個電周期中某相的BEMF為零的位置只有兩個,如圖4所示,通過過零點時BEMF的斜率來區(qū)分這些位置。每一段對應電周期中的一個60°部分(共有6個相等的60°部分)。換相發(fā)生在每一段的邊界處,因此需要檢測段的邊界。BEMF過零點和需要換相的位置之間有30°的偏移,必須對其進行補償,以確保電機平穩(wěn)高效運轉(zhuǎn)。
圖4 三相繞組的反電動勢波形Fig.4 Back-EMF curve of three-phase winding
三相反電動勢檢測電路圖如圖5所示。圖中畫出了3個檢測通道,分別是U、V、W三相反電動勢的檢測,其電路原理其實是簡單的電阻分壓網(wǎng)絡,主要是為了將較高的信號電壓降低,滿足單片機AD轉(zhuǎn)換輸入要求。3相電壓經(jīng)過22 kΩ與 2.4 Ω電阻的分壓后,再經(jīng)過300 Ω電阻進入AN3,AN4,AN5這3個AD管腳, 用AN3、AN4、AN5實現(xiàn)電機端電壓檢測,得到反電動勢過零點。在PWM開通期間,檢測處于不通電相繞組的端電壓,其值等于電源電壓的一半時為反電動勢過零點信號。
圖5 三相反電動勢檢測電路Fig.5 Three Phase BEMF detective circuit
電流采樣與過流保護電路如圖6所示。為了獲得電機的電流反饋信息,在DC母線負電壓與地之間連接了一個低阻值的電流檢測電阻(25 mΩ)。由此電阻產(chǎn)生的電壓被一個外部運放 (MCP6002)放大并反饋到 ADC輸入(RB1)。
圖6 電流采樣與過流保護電路Fig.6 Current sampling and over voltage protection circuit
dsPIC30/33的電機控制系列MCU,都有一個FLTA腳,當?shù)玫降碗娖捷敵鰰r,可以關(guān)斷PWM的有效輸出,使之成為無效。這是一個硬件處理的機制,因此可以快速處理故障事件,以實現(xiàn)安全操作。通過與電流反饋電路相連接的比較器電路(U6)可以獲得故障輸入信號,且比較器門限值可通過電位器POT2進行調(diào)節(jié)。
軟件設計包括DSC事件管理器初始化程序、電機起動程序、換相子程序、中斷服務程序、速度環(huán)和電流環(huán)的控制程序等。主要實現(xiàn)了電機的開環(huán)啟動、過零檢測、換相、以及轉(zhuǎn)速和電流閉環(huán)控制等。軟件設計是在Microchip公司的集成開發(fā)環(huán)境MPLAB IDE中完成的,控制程序用C30語言編寫。
主程序是一個死循環(huán)結(jié)構(gòu),用來完成dsPIC30F3010初始化、看門狗程序和中速事件處理程序。軟件結(jié)構(gòu)是以主程序為主,通過函數(shù)調(diào)用和全局變量與子程序進行參數(shù)傳遞。中速事件處理程序每10 ms循環(huán)一次,包括電機啟動、速度控制、電流A/D轉(zhuǎn)換及循環(huán)調(diào)用中斷服務子程序等,是整個系統(tǒng)最重要的程序。主程序流程,中速事件處理程序流程分別如圖7、8所示。
軟件設計需注意以下4個問題:1)使用電機控制PWM模塊的特殊事件觸發(fā)器來啟動A/D信號轉(zhuǎn)換,可以使A/D轉(zhuǎn)換與PWM時基同步。2)應舍棄換相后的最初幾個反電勢采樣點,這樣很容易避開相繞組的去磁問題,因為換相后繞組電流不會立即為零,要經(jīng)過一個續(xù)流過程下降為零。3)不對端電壓波形用硬件進行明顯濾波,而是由軟件根據(jù)PWM波形仔細地選取信號采樣點,可排除互耦PWM開關(guān)噪聲和不連續(xù)電流問題。4)使用QEI計數(shù)器記錄連續(xù)監(jiān)測到兩個端電壓過零點的時間,除以2即為30°電角度的時間,把此時間裝載到定時器2中,定時器2經(jīng)過30°電角度時間觸發(fā)中斷,調(diào)用換相子程序進行電子換相。
圖7 主程序流程圖Fig.7 Flow chart of the main Program
圖8 中速事件處理程序流程圖Fig.8 Flow chart of medium_event_handler
以42BLF02型24 V,52 W,最大電流 9.4 A,額定轉(zhuǎn)速為4 000 rpm的三相八極無刷直流電機為實驗對象,采用轉(zhuǎn)速、電流雙閉環(huán)調(diào)節(jié)方式。實驗平臺以及電機穩(wěn)定運行時其中兩相端電壓波形分別如圖9、10所示。
在硬件和軟件分別調(diào)試成功后,基于dsPIC30F3010芯片的無位置傳感器控制系統(tǒng)能夠控制電機順利起動,并且很好地實現(xiàn)了實驗電機的正確換相,保證了無刷直流電機正常運行。整套方案是切實可行的,試驗結(jié)果也是比較理想的。
圖9 實驗平臺Fig.9 Experimental platform
圖10 端電壓波形Fig.10 Terminal voltage curve
電機正常運行時端電壓波形如圖10所示,從圖中可以看出端電壓波形是較好的梯形波,與理論上的端電壓波形一致。在箭頭所指的60°電角度區(qū)間,該相繞組處于懸空狀態(tài),而另兩相繞組處于工作狀態(tài)。由理論分析可知,在相不導通時,相端電勢等于相反電動勢與1/2電源電壓的疊加,從圖中可以看出,在相不導通時,反電動勢過零出現(xiàn)在相不導通時的中間位置,且有12 V的偏移量,與理論分析完全相同。
本系統(tǒng)在無刷直流電機無位置傳感器控制系統(tǒng)的軟硬件方面都采取了簡約的設計方案。通過實驗證明,采用上述控制技術(shù),電機系統(tǒng)起動平穩(wěn),無振動和失步現(xiàn)象。與采用單片機的同類系統(tǒng)相比,DSC控制系統(tǒng)能夠達到相當?shù)墓δ芘c控制精度,而成本更低,簡化了硬件的設計,是無刷直流電動機控制器的理想選擇。
[1]張琛.直流無刷電動機原理及應用[M].北京:機械工業(yè)出版社,2001.
[2]吳筱輝,程小化,劉杰.反電勢法檢測轉(zhuǎn)子位置的無刷直流電機起動方法[J].微電機,2005,38(4):79-81.
WU Xiao-hui,CHENG Xiao-hua,LIU Jie.Brushless DC motor starting technique with BEMF method of detecting the rotor position[J].Small Electrical Machines,2005,38(4):79-81.
[3]何禮高.dsPIC30F電機與電源系列數(shù)字信號控制器原理與應用[M].北京:北京航空航天大學出版社,2007.
[4]微芯科技公司.dsPIC30F3010數(shù)字信號控制器數(shù)據(jù)手冊[EB/OL](2006).http://www.soiseek.cn/MICROCHIP/DSPIC30F 3010/3.htm.
[5]張?zhí)眨踟鬼?,李學華.基于DSPIC的無刷直流電機閉環(huán)控制系統(tǒng)設計及軟硬件實現(xiàn) [J].計算機技術(shù),2007,7(17):1671-1819.
ZHANG Tao,WANG Yu-shun,LI Xue-hua.Realization of closed loop control system for sensorless brushless DC motor and the hardware and software Based on DSPIC[J].Computer Technology,2007,7(17):1671-1819.
[6]Microchip Technology Inc.Sensorless BLDC Motor Control Using dsPIC30F2010[S].Microchip,2004.