無刷直流電機具有無電刷和換相火花,體積小,低噪聲等諸多優點,廣泛應用在當今的控制系統中。目前對無刷直流電機的控制主要由單片機和DSP實現。但是其外圍電路復雜,對系統的穩定性和可靠性有較大的影響。近年來,基于可編程門陣列(FPGA)的硬件設計技術已經成為一種全新的設計思想。與專用集成電路(ASIC)不同的是,FPGA本身只是標準的單元陣列,沒有一般集成電路所具有的功能,但用戶可以根據需要,通過專門的布局布線工具對其內部進行重新編程,在最短的時間內設計出自己專用的集成電路,從而提高產品的競爭力。由于它以純硬件的方式進行并行處理,而且不占用CPU的資源,所以可以使系統達到很高的性能。本文用純硬件的方式設計實現了無刷直流電機驅動控制器,包括PI調節算法,外圍電路簡單,實時控制速度快,系統穩定可靠。 1 無刷直流電機的工作原理 無刷直流電機主要由電動機本體、位置傳感器和電子開關線路三部分組成。其基本工作原理就是借助反映轉子位置的位置信號,通過驅動電路,驅動逆變電路的功率開關元件,使電樞繞組依一定順序通電,從而在氣隙中產生旋轉磁場,拖動永磁轉子旋轉。 三相四極星型連結的無刷直流電機采用兩兩導通方式,位置傳感器在無刷直流電機中起著測定轉子磁極位置的作用,為邏輯開關電路提供正確的換相信息。無刷直流電機轉子位置信號由3只在相位上差120°的霍爾傳感器(Sa,Sb,Sc)檢測,霍爾傳感器一個周期內的開關信號有6個狀態,如圖1所示。無刷直流電機控制系統工作原理如圖2所示,其中VF為逆變器,根據霍爾信號,FPGA控制器產生PWM信號,經過驅動電路放大送至逆變器各功率開關管(Th1~Th6),從而控制電機各相繞組按照一定順序工作,實現無刷直流電機正常運轉。 2 控制器的整體設計 隨著現代技術的進步,電機驅動對控制器在快速性、實時性和準確性方面提出了更高的要求,使得高性能的FPGA在控制器開發領域有了廣闊的應用前景。系統使用FPGA XC3S1500完成無刷直流電機控制系統,采用轉速、電流雙閉環控制策略調節速度。圖3為無刷直流電機驅動控制器硬件邏輯設計結構圖,其中各模塊均采用硬件邏輯設計完成,模塊之間使用串行連接,霍爾信號Sa,Sb,Sc經過換相控制模塊輸出6路開關管信號,同時經過位置與速度檢測模塊計算得到速度反饋轉速n并與速度給定Speed_Ref一起經過速度調節器調節得到電流環給定Uspeed-Ret,控制A/D轉換輸出A相和B相電流經過電流檢測模塊輸出母線電流Idc并與速度調節器輸出值Uspeed_Ref一起經過電流調節器輸出占空比信號Comp用以調節PWM波的寬度,達到調速的目韻。以數字電路的方式實現無刷直流電機的控制,使得系統的穩定性得到了很大的提高。 3 控制器模塊設計 3.1 高精度PWM發生器 采用自然采樣法產生PWM波形,其結構圖如圖4所示,因為自然采樣法最能真實反映PWM的控制思想,效果最好。該發生器采用現場可編程門陣列實現,具有接口簡單、響應速度快、可現場編程等優點,能夠應用于全數字化控制。載波發生器采用了鋸齒波作為PWM載波,從電路的角度來講設計鋸齒波發生器會比設計三角波發生器使用更少的組合邏輯資源,有利于時序約束到較高的頻率;比較模塊不同于普通的純組合邏輯比較器,通過例化:FPGA的底層子元件,在該比較器內部插入了一級D觸發器,大大減少了由于數據位寬增加而增加組合邏輯延遲;PWM波周期設定模塊和分頻模塊能夠根據需要共同改變PWM的頻率,且分頻模塊能夠解決高位寬下過長的進位鏈帶來的延遲問題。 3.2 換相控制模塊 換相控制模塊根據三相霍爾信號的狀態(見圖1),以組合邏輯的形式輸出六路開關信號Th1~Th6(設計中開關管為低導通),開關管Th1,Th3,Th5接收來自PWM波發生器輸出的PWM波,即系統采用半橋調制方式,其時序仿真波形如圖5所示,圖中1~6表示了一個霍爾信號周期內開關管的6個狀態(與圖1對應)。 3.3 速度調節器和電流調節器 速度環和電流環均采用增量式PI調節算法,用FPGA實現PI調節器,即用數字電路來實現PI控制算法,應用此硬件算法提高了控制器的可靠性和實時性,同時基本消除計算機給控制系統帶來的影響。PI算法的硬件邏輯結構如圖6所示。 PI算法公式如下: 式中:k為采樣序號,k=O,1,2,…;u(k)為第k次采樣時刻的輸出值;u(k-1)為第(k-1)次采樣時刻的輸出值;e(k)為第k次采樣時刻輸入的偏差值;r(k)為系統給定;c(k)為系統反饋輸入;KP為比列系數;KI為積分系數。 設計中的Clk為時鐘信號,Ref為給定信號,Fdb為反饋信號,PI_Result為PI調節器輸出,為了與AD反饋結果匹配,均采用13位有符號數表示,KP和KI為PI參數,模塊中的整體運算均采用先對數據符號進行判斷,然后再進行普通的計算,運算結果的符號由以前得出的數據符號確定。時序控制子模塊用來控制調節器中其他模塊的運算順序;求偏差模塊負責給定信號與反饋信號求差,將結果輸出給比例模塊和積分模塊;比例模塊實現比例系數與本次偏差和上次偏差之間差的乘積,積分模塊實現積分系數與本次偏差的乘積;求和模塊在上述模塊輸出有效時計算出輸出的偏差量,此偏差量和上次的輸出值求和得到本次調節的結果并輸出。PI調節算法被例化于速度調節器和電流調節器中。輸出結果限值也在模塊中設置,若輸出值大于等于系統的限幅值,則調節器以限幅值作為本次的輸出值。 3.4 電流檢測模塊 電流反饋檢測模塊包括電流采樣、濾波模塊和多路選擇器,硬件邏輯結構圖如圖7所示。電流采樣采用ADI公司的AD7862AR-2,AD7862是高速的12位并行AD芯片,最高采樣頻率為250 KSPS,內部參考電壓為+2.5 V,工作電壓為+5 V,有A和B兩個通道,每個通道又有兩個輸入端(VA1,VA2與VB1,VB2),兩個輸入端可以同時進行轉換,系統使用A通道的兩個輸入端分別對A相和B相電流進行采樣。AD控制器輸出信號Ia_Fin和Ib_Fin分別為A相和B相電流,經過濾波電路輸出給多路選擇器,多路選擇器根據開關管狀態判斷此刻的母線電流是A相電流還是B相電流以及電流的正負關系,從而能夠準確采樣瞬時電流,提高控制精度。 根據AD7862采樣時序圖,AD控制器控制AD芯片工作,可以通過AD控制器調節AD的采樣頻率,最大到250KSPS,本模塊采樣頻率設置100 KSPS進行驗證。其仿真波形符合AD7862的采樣時序圖,并通過了測試。圖8為AD控制器的時序仿真波形。 3.5 位置和速度檢測模塊 位置信號通過三個霍爾傳感器得到,每一個霍爾傳感器都會產生180°脈寬的輸出信號,如圖9所示。Sa,Sb,Sc分別表示三相霍爾信號,Clk為高頻時鐘脈沖。電機測速分為M法、T法和M/T法,T法測速適用于低速段,本設計采用T法測速。通過對霍爾信號Sa的每個周期用一個計數器對主時鐘脈沖進行計數,通過除法器計算轉速,計算公式如下: Speed_out=60×f0/Z×Count_reg 式中:f0為系統時鐘;Count_reg為霍爾信號一個周期內的脈沖計數值;Z為電機轉一圈輸出的霍爾信號個數,因為是五對極電機,所以Z=5。 圖10為位置與速度檢測硬件邏輯結構圖,三相霍爾信號通過數字濾波模塊后,以霍爾信號Sa為條件的計數器啟動計數,作為16位除法器的分母輸入,經過除法運算,在下一個霍爾信號Sa周期內輸出速度計算結果Speed_out及模塊輸出有效信號OutValid_Speed。運算時間與除法器的內部結構有關。 4 實驗結果 采用額定功率PN=300 W,額定電壓UN=220 V,額定轉速nN=3000 r/min,額定電流IN=1.6 A,額定轉矩TN=O.96 Nm的無刷直流電機進行實驗,整個實驗系統還包括以FPGA為主的控制單元、功率電路和測功機負載實驗平臺,實驗中采用轉速、電流雙閉環調節方式。電機給定轉速1000 r/min時,空載啟動響應波形如圖11所示,調節時間為300 ms,穩態性能良好;利用測功機對系統進行加載測試,負載0.3 Nm時A相和B相電流波形如圖12所示,充分證明了該控制器的正確性,也說明電機運行穩定。 5 結語 采用FPGA硬件可編程邏輯器件,以純硬件的方式實現無刷直流電機的控制,對無刷直流電機控制的結果表明,該電路能有效地對無刷直流電機進行雙閉環控制。設計特點是控制電機的所有外圍電路包括PI調節算法均采用FPGA實現,真正實現電機的SOPC控制,系統實時性高、可靠性強。 |