無邏輯換相器件的BLDCM穩速控制
張慶超,馬瑞卿
(西北工業大學自動化學院)
摘要:針對一種小功率 無刷直流電機( BLDCM),采用轉速閉環控制方法,充分利用C8051F320單片機( MCU)的I/O及外設功能,實現了無數字邏輯器件換相的單片機的BLDCM的穩速控制,并對這種控制方法中出現的問題及解決方法進行了詳細的分析。
關鍵詞:單片機;BLDCM;穩速
中圖分類號:TM36 +1 文獻標志碼:A 文章編號:1001-6848(2010)07-0077-04
O引 言
通常實現無刷直流電動機( BLDCM)電子換相的方法一般有以下幾種:
② 用可編程的邏輯器件(如CPLD或GAL器件);
②利用門電路搭建換相邏輯電路;
③利用專用控制芯片;
④利用DSP中的事件管理器模塊或****單片機中的專用控制模塊。
而可編程的邏輯器件或門電路會增加控制器結構復雜程度,專用控制芯片只能適用于有限的應用范圍,使用DSP或****單片機會增加控制器的成本。因此,設計一種利月普通單片機即可實現電子換相的結構簡潔、低成本無刷直流電動機控制器就具有其實際的應用意義,本文基于此思想設計了一種無數字邏輯器件換相的單片機穩速控制器,并對其軟硬件設計及試驗結果進行了詳細的分析。
l控制器硬件設計
1.1系統總體結構框圖
BLDCM無數字邏輯換相器件的穩速控制的主要思想是以普通單片機為控制核心,無需附加額外數字電路,完成電機的測速、換相、斬波及控制算法的實現,考慮到所用無刷直流電動機的功率及額定電壓都較小,故在系統中對控制電路與功率變換電路采用了非隔離的電氣連接方式,系統結構框圖如圖1所示。
圖l中,單片機選用C8051F320,其內核為51系列單片機,而驅動電路采用驅動芯片IR2130,功率變換器采用三相橋式逆變器,電機繞組采用星形連接方式,工作于兩相導通三相六狀態模式。直流母線過壓、欠壓保護利用電阻分壓網絡及C8051F320自帶的兩個比較器實現,過流保護通過采樣主功率電路負壓側串聯的小阻值電阻兩端電壓,經IR2130內部運放放大后送入其ITRIP引腳,當電壓大于內部0.5 V基準時,FAULT引腳變為低電平,以此作為輸入單片機的過流中斷指示信號,并由單片機軟件實現過流保護。
2軟件設計
2.1控制策略
控制器穩速控制采用轉速閉環控制策略,輔以過壓、欠壓、過流保護,為了使啟動時電流不至過大,在轉速進入閉環之前對電機采用軟起動,逐漸增加PWM波占空比,讓電機電壓與轉速平穩上升,最終進入轉速閉環程序,使電機穩定運行于系統給定的轉速之上[3]。
單片機主程序流程圖如圖2所示,軟起動程序流程圖如圖2虛線部分所示。
2.2轉速閉環
轉速閉環通過捕獲中斷服務子程序完成,其包括測速和PI算法兩部分,程序流程圖如圖3所示。
電機轉速的檢測是利用C8051F320中的捕捉模塊捕捉一相Hall信號的上升沿來觸發中斷,進入捕獲中斷服務子程序后,再用定時器對Hall信號兩個上升沿之間的時間計時,則電機轉速可由下式計算:
式中,n為電機計算轉速,p為極對數(本系統所用的永磁無刷直流電動機為6對極),ΔT為定時器測得兩個上升沿之間的時間。
PI控制算法:利用上式計算的結果作為PI算法每一拍所求的電機實際轉速反饋值,PI調節采用增量式PI算法,只需前盾兩拍的反饋值即可實現電機穩速控制,該方法簡單、可靠,在此不再祥述。
2.3編程關鍵問題及解決方法
(1) PWM波的產生
利用C8051F320內部PCAO中的8位脈寬調制功能可產生PWM波。通過改變PCAOCPHO寄存器值,即可以實時的改變PWM占空比。
(2)換相與斬波的合成
C8051F320根據檢測到的三路Hall信號,通過查表法得出的三相橋式逆變器的六路換相信號,再與PWM信號進行邏輯與運算,完成對六路換相信號的斬波合成,最后經單片機的六個I/O端口直接輸出到IR2130的六路輸入控制端,換相斬波程序流程圖如圖4所示。
為使電機正常運行,在主程序中需要不斷地循環運行換相斬波程序,而在進行轉速PI調節時,又需要運行捕獲中斷服務子程序。由于51單片機在同一時刻只能執行其中的一個程序,因此在控制電機運行的換相斬波程序與PI算法程序之間就出現了運行時間上的矛盾,而這兩個程序又是保證電機穩速運行最關鍵的兩個子程序,所以兩個子程序的協調運行就成為整個控制程序中最關鍵的技術。
運行測速程序及PI程序的時間經實測為360μs,在這段時間里無法實現電機的換相斬波程序,敞換相斬波信號仍處于進入PI之前的運行狀態,電機由于慣性會使保持轉動,但電流會出現異常,其波形如圖5中的曲線2所示。由其它中斷服務程序語句及計算量都很小,所以該運行時間的沖突不會影響斬波及換相。
由圖5曲線2可以看出,母線電流會在某些時刻出現很大的尖峰,而在某些時刻會降為零,圖5中曲線1所示波形表示當進入捕獲中斷服務子程序時(包括測速與PI計算部分),令所測信號為高電乎,當要跳出時讓所測信號為低電平(圖6相同);圖6曲線2波形為六路換相斬波信號中的一路;通過對比捕獲中斷服務子程序運行時間的測試信號、一路換相斬波信號與母線電流采樣波形可以看出,正是由于運行捕獲中斷服務子程序而使得在這段時間內,換相信號無法斬波而保持進入PI之前的狀態。由于PWM占空比是不斷調節的,所以這個狀態或為“1”或為“0”,360 ps相對于每個MOS管斬波時間(電機l 500 r/rnin時斬波時間為2 ms)比較小,所以此處的“1”或“O”只會影響到斬波,不會影響換相。當此狀態為“1”時,相當于使電機由斬波運行狀態立即變為全電壓運行狀態,故母線電流會瞬間升高,出現電流尖峰,而由于慣性的存在,轉速不會發生突變;而當此扶態為“O”時,相當于馬上封鎖六路輸出,使電機運行于零電壓狀態,電流瞬間掉為零(若電機電感大也可能是一個很小的值),同樣,由于慣性轉速不會突變。
解決方法:電流的尖峰沖擊對電機及控制器是有害的,為了解決母線電流尖峰問題,在程序進入捕獲中斷服務子程序時(即測速+PI),立即封鎖六路輸出,強制電機母線電流為零,待捕獲中斷服務子程序(測速+ PI)時執行結束,返回主程序后,回復換相斬波程序,六路輸出按換相斬波程序計算結果輸出,使電機正常工作。
由于捕獲中斷服務子程序(測速+ PI)執行的時間很短,電機運行及調速一般不會受到影響,但對電流的影響明顯。圖7曲線2為A相繞組的相電流波形(圖8與之相同),圖8曲線2是改進程序后的母線電流波形,由此可以看出,這種方法會使電機在程序運行捕獲中斷服務子程序時運行在斷電狀態,這個時間很短,母線電流無尖峰,峰值平穩,但會使電機運行的機械特性稍微變軟。
3試驗結果
試驗電機選用某型IOOW/12VDC無刷直流電動機,6對極,穩逮精度要求(1 500±20) r/min,起動時間1 s~2 s。由圖9可以看出,電機的起動時問約在Is左右,由圖10可以計算出實際穩速精度高于(8/1500)×1000=百分之5.3。
4結論
本文提出的這種單片機控制方法能夠很好的實現小功率無刷直流電動機的穩速控制,無需專用的無刷直流電動機控制芯片,一片普通單片機即可完成換相斬波、測速、及其控制算法,結構精簡,電路板體積小,實現容易;但缺點在于換相斬波程序與控制算法運行時間上的矛盾會使在斬渡換相在程序運行過程中出現短時間的中止。使機械特性小幅度變軟,不適合拖動較大負載。
|