張 偉
(臨沂大學信息學院, 臨沂 276005)
應用DSP控制無刷直流電動機①
張 偉
(臨沂大學信息學院, 臨沂 276005)
為滿足對無刷直流電動機(BLDCM)控制要求,設計由數字信號處理器(DSP)組成的應用于無刷直流電動機的數字控制系統,以實現高性能實時測控。該文首先從無刷直流電動機的基本工作原理出發,以TI公司的TMS320LF2407芯片為核心,設計了無刷直流電動機控制系統;給出具體硬件設計方案及相關軟件設計方案,實現了對無刷直流電動機的控制,適合中小型電動機控制系統,具有很高的應用價值和推廣價值。
無刷直流電動機; 控制; 數字信號處理器; 模擬/數字轉換; 脈寬調制
直流電動機具有調速性能好、運行效率高等諸多優點。但傳統的直流電動機均采用電刷,以機械方法進行換向,因而存在相對的機械磨擦,帶來了噪聲、火花、無線電干擾以及壽命短等致命弱點。再加上制造成本高及維修困難等缺點,從而大大限制了它的應用范圍。為此,人們研制以電子換向來代替電刷機械換向的無刷直流電動機。無刷直流電動機保持著有刷直流電動機的優良機械及控制特性,在電磁結構上和有刷直流電機一樣,但它的電樞繞組放在定子上,轉子上放置永久磁鋼。和有刷直流電動機相比,無刷直流電動機取消了電機的滑動接觸機構,因而消除了故障的主要根源。無刷直流電動機的應用主要有:(1)定速驅動方面;(2)調速驅動方面;(3)精密控制方面。本文以TI公司的TMS320LF2407A為核心設計了一個直流電動機的控制系統[1],它是將電機控制所需的外圍功能電路集成在一個數字信號處理器DSP芯片內,具有體積小、結構緊湊、易于使用、可靠性高的特點,運算速度高,指令周期僅為幾十納秒,與普通微控制器MCU(micro controller unit)相比,運算及處理能力增強10~50倍,確保了系統具有更優越的控制性能。
無刷直流電動機為了實現無刷換相,首先要求把一般直流電動機的電樞繞組放在定子上,把永久磁鋼放在轉子上,這與傳統直流永磁電動機的結構正好相反,而且還要由位置傳感器、控制電路以及功率邏輯開關共同組成換相裝置,使得直流無刷電動機在運行過程中由定子繞組所產生的磁場和轉動中的轉子磁鋼產生的永久磁場在空間始終保持120°左右的電角度,從而產生轉矩推動轉子旋轉。直流電動機的速度可通過調節電壓來達到調整轉速的目的,調節電壓需有專門的可控直流電源。常用的可控直流電源有三種:旋轉變流機組、靜止可控整流器、脈寬調制變換器。脈寬調制變換器PWM(pulse-width modulation),它是用恒定直流電源或不可控整流電源供電,利用開關器件來實現通斷控制,將直流電壓斷續加到負載上,通過通、斷電時間變化來改變負載上直流電壓的平均值,將固定直流電源變成平均值可調的直流電源。本設計就是采用PWM方法來實現對電動機控制。
2.1 控制系統硬件結構
在無刷直流電動機控制系統中,以TI公司的TMS320LF2407A作為控制電路的主控芯片,采用IR公司的IR2130負責功率逆變器的驅動控制。 控制系統的硬件結構如圖1所示。TMS320LF2407A是專為電動機控制應用而優化設計的單片DSP控制器,不僅具備強大高速的運算處理能力,而且在片內集成了豐富的電機控制外圍部件,使得整個數字控制系統的硬件設計比較簡潔。

圖1 控制系統硬件結構Fig.1 Hardware architecture of control system
2.2 驅動電路設計
功率管的前級驅動電路采用IR公司的電機驅動芯片IR2130。該芯片集驅動、死區、過流保護等功能于一體,可驅動工作在母線電壓不超過600 V的電路中的功率MOS器件,使用單電源即可完成對功率橋六只功率管的驅動,使用方便,適合于小功率驅動領域,內部設有過電流、過電壓及欠電壓保護,可以用來保護被驅動的功率MOS管。
圖2為功率主電路的前級驅動電路,其中D1-D3為快恢復二極管,選用FRl07,R1-R6是為了防止功率管產生振蕩而設置的電阻,C1-C3為自舉電容,取值0.1μf。LED為過流、欠壓保護指示燈,其中過流信號經過Rc濾波器送入到IR2130的過流保護端ITRIP引腳。MS320LF2407輸出的PWM信號直接到前置驅動器IR2130的輸入端,IR2130的輸出通過一個電阻直接與功率金屬-氧化層-半導體-場效晶體管MOSFET(metal-oxide-semiconductor field-effect transistor)的控制極相連,實現對逆變橋的控制。MOSFET是一種單極型電壓控制器件,具有開關速度快、高頻特性好、輸入阻抗高、驅動功率小、熱穩定性優良、無二次擊穿問題、安全工作區寬和跨導線性度高等顯著特點,在各類中小功率開關電路中得到廣泛應用。本系統選用國際整流公司的MOSFETT功率管IRFPS37N50A。
2.3 控制部分
2.3.1 位置信號檢測
本系統位置信號采樣是通過無刷直流電動機本身自帶的霍爾傳感器來檢測的。電機在正常運轉時,每個霍爾元件都會產生脈寬為180°的輸出信號,三個霍爾傳感器的輸出信號互差120°。這樣它在每個機械轉中共有6個上升或下降沿,正好對應著6個換相時刻。通過將DSP設置為雙沿觸發捕捉中斷功能,就可獲得這6個時刻,即可得到轉子位置。由于霍爾元件是集電極開路輸出,其輸出信號經上拉電阻得出位置方波信號,再經隔離電路送到DSP的CAP端口引腳進行位置信號的捕捉。

圖2 功率主電路前級驅動電路Fig.2 Pre-driver circuit of the main circuit power
2.3.2 電流檢測電路設計
本系統使用霍爾電流傳感器檢測電流,檢測輸出信號經過變換處理后再送到DSP芯片的轉換器A/D(analog/digital)。每一個PWM周期對電流采樣一次,但在一個PWM周期中對電流的采樣時刻要選擇好。本方案采用的是單極性PWM控制,在PWM周期的“關”期間,電流經過常開的開關管和另一個開關管的續流二極管形成續流回路,這個續流回路并不經過電流傳感器,所以在PWM“關”期間不能采樣電流;另外在PWM周期的開的瞬間,電流上升不穩定,也不易采樣,所以電流采樣時刻最好是在PWM周期“開”期間的中部,此過程可以通過DSP定時器采用連續增減計數方式時周期匹配事件啟動ADC轉換來實現。
3.1 主程序設計
系統軟件設計要求根據輸入的轉子霍爾位置信號和反饋電流信號對電機進行換相,實現PWM脈寬調制。達到對電機進行速度控制的目的。根據系統設計要求,軟件分為以下幾個模塊:初始化模塊、電機啟動模塊、霍爾信號捕捉模塊、換相模塊、A/D轉換模塊。軟件主體采用順序結構,霍爾信號捕捉模塊和A/D轉換模塊采用中斷控制方式,圖3為系統軟件主程序的流程圖,主要實現系統初始化以及電機啟動,然后循環調用中斷服務子程序。
3.2 軟件各模塊設計
3.2.1 初始化模塊
初始化模塊主要是主程序初始化。主要內容是對狀態寄存器和控制寄存器進行設置。
a.系統狀態寄存器,主要設置CNF,OVM,SXM,XF,INTM,分別如下:
CNF,OVM,SXM,XF,INTM
0 0 1 0 1
CNF配置DSP內部雙端口DRAM為數據存儲空間,OVM設置為正常溢出模式,SXM設置累加器為數據擴展模式,XF設置XF引腳為低電平,INTM設置為1關閉系統所有中斷,以保證在系統初始化過程中屏蔽外界中斷。
b.系統控制寄存器設置
系統控制寄存器SCSRl和SCSR2設置CPU時鐘以及各模塊的使能狀態。外部時鐘采用10 MHz晶振,采用雙倍頻,設置內部系統時鐘為20 MHz,SCSRl和SCSR2設置程序如下:
LDP #0E0H
SPLK #0284H,SCSRl
LACL #SCSR2
OR #0001H
SCAL SCSR2

圖3 系統軟件主程序的流程圖Fig.3 Main program flow chart of system software
3.2.2 電動機啟動模塊
無刷直流電動機采用電子換向,需要不斷檢測轉子位置,確定逆變器功率管的開關狀態,電動機啟動和霍爾信號中斷捕獲模塊就是用來讀取三個霍爾信號的狀態,以確定逆變器的換相順序。當電動機處于運行狀態時,電動機三個霍爾信號端不斷輸出互差120℃電角度的方波,這時DSP捕獲模塊可以捕獲到霍爾信號的跳變沿,通過讀取捕獲端口的狀態,即可確定出電動機所處的狀態,然而當電動機在停止狀態時,三個霍爾信號都不可能產生跳變,從而也不可能發生捕獲中斷,因此電動機由停止狀態開始運轉時,必須首先讓電動機運動起來以產生捕獲中斷。在電動機的啟動階段程序中,首先設置T1寄存器來起動定時器工作,設置CAPl~3引腳為IO功能,通過查詢霍爾輸入信號得到電動機轉子的位置。當電動機轉動一定的角度,霍爾信號一定會改變,通過恢復CAP1~3為捕獲功能引發一個捕獲中斷。在中斷程序中又會根據當前霍爾信號的狀態改變PWM引腳的狀態,使電動機持續旋轉起來。
3.2.3 霍爾信號中斷捕獲模塊
捕獲中斷服務子程序主要完成對霍爾信號的捕獲并進行轉速的計算。進入子程序后,首先計算相鄰兩次換相時間間隔。通過進入中斷時讀取T2計數寄存器的值設為Tcount,該值即為兩次換相的時間間隔,式(1)為通過Tcount的電機角速度計算公式,p為電機極對數,(系統時鐘為20 MHz)T2控制寄存器設置T2計數器為128分頻。

(1)
轉化為轉速為

(2)
由于每一個霍爾傳感器都會產生180°脈寬的輸出信號,三個霍爾傳感器的輸出信號相差120°相位差,這樣它們在每轉過360°電角度中共有6個上升或下降沿,正好對應著6個換相時刻,將DSP設置為雙沿觸發捕捉中斷功能,就可以獲得這6個時刻。通過設置CAPl~3為IO功能查詢捕獲單元位置信號的輸入引腳獲得轉子位置信號,根據此信號值查表計算換相程序偏移向量,調用相應的換相PWM子程序,從而通過改變PWM方式控制寄存器ACTRA的值來控制PWM輸出信號的改變,實現電動機的換相,然后恢復CAPI~3的捕捉功能,并將T2計數器清零,最后CPU將狀態寄存器及累加器彈出堆棧,并退出INT4內核中斷,結束捕獲中斷服務子程序。
3.2.4 換相模塊
要使無刷直流電動機可正常運轉,必須確定出電機轉子位置與逆變器功率管導通順序的關系。換相模塊就是通過讀取霍爾位置中斷捕捉模塊中的霍爾信號獲取電動機轉子位置信號,確定逆交器功率管的開關狀態。換相模塊部分源程序如下:
LDP #0
LDP #0
LACC CAPT
SUR #1
SFL
ADD #CAPT_DRTRR
BACC
CAPT_DRTRR
B FALLING3 ;跳轉到H3下降沿
B FALLINGl :跳轉到H1下降沿
B RISING2 ;跳轉到H2上升沿
B FALLING2 ;跳轉到H2下降沿
B RISINGl ;跳轉到Hl上升沿
B RISING3 ;跳轉到H3上升沿
3.2.5 A/D中斷服務模塊
在電動機運行過程中,由A/D中斷服務模塊對轉速與電流進行采樣和控制。A/D轉換設置成通過事件管理器EvA的T1計數器周期匹配中斷來起動,PWM產生電路設置成對稱PWM波形,即通用定時器設置為連續增/減計數模式,這種方式使得A/D轉換始終在功率開關器件導通周期的中點采樣電流并進行模數轉換,避免了在功率器件關斷時采樣電流,從而大大提高了電流采樣的精度。由于TMS320LF2407A DSP芯片高達40 MIPS的指令執行速度及多總線并行處理機制的特點,使得速度環調節及電流環調節可直接嵌入A/D轉換中斷模塊。當Tl計數器發生周期匹配時,A/D轉換中斷啟動。
A/D模塊部分源程序:
LDP #0
LACC SPEED C0UNT;檢查是否應該速度調節
SUR #1250
BCND NOSPEED-REG,NEQ;不該調節,跳轉
CALL SPEED REG;否則調用速度調節子程序
NO_SPEED_REG
LACC SPEED COUNT
ADD #l:計數器加l
SACL SPEED COUNT
LDP #0E0H
LACC PIVR;清ADc中斷標志
LDP #0E8H
LACC EVAIFRA
SACL EVAIFIlA;清Tl周期中斷標記
LACC RRSULT0,10:讀ADC轉換結果
進入A/D轉換中斷服務子程序后,首先判斷是否進行速度調節,在軟件中設置好PI調節周期,SPEED-COUNT為速度調節循環計數器,如果到調節周期對應值,則計數器SPEED-COUNT清0,由全局變量得到轉速信號,調用速度環PI調整子程序。在本程序中,PI調節使用增量式算法,由于PWM占空比只能在0%~100%變化,因此需要對PI調節后得到的占空比值進行限幅處理。速度調節可以得到新的電流參考值,以供電流環調節時使用。在速度環調節子程序中主要完成速度反饋值大小計算、PI運算和調節輸出。
4.1 啟動測試
利用測試板對BX230A-10型電機起動過程進行測量,該電機直徑為60 mm,額定輸出功率30 W,調速范圍(30~1450) r/m,電源電壓單相100/115 V。測試采樣周期設置為1 ms,控制板控制電機運行速度為90 r/m,取測量得到的前20 ms時間段內的轉速值,得到電機起動過程轉速值如圖4所示,圖中三角符號表示為實際測試得到的轉速值。從圖中可以看出,在7 ms左右電機運行到穩態過程。

圖4 電動機啟動過程轉速測試圖Fig.4 Speed test pattern of motor starting process
4.2 穩態運行測試
利用該測試板對BX230A-10型電機轉速進行測量,電機轉速設定在60 r/m,測試板每隔1 ms記錄一次光電編碼器轉過的脈沖數目,并將數據通過CAN總線發送到PC機中存儲。對得到的數據進行處理,計算得到電機轉速值,取出一段穩定運行時電機的轉速曲線如圖5所示。

圖5 穩態運行時測量得到電機轉速曲線Fig.5 Motor speed curve during steady-state run-time
從圖中可以看出電機轉速在52 r/m~68 r/m間波動。
利用電機測試系統對BX230A-10型電機進行測量,通過電機的端蓋對轉子施加預壓力,在軸向預壓力的作用下,電機的定子和轉子通過摩擦耦合使電機定子的振動能量轉換成電機轉子旋轉力輸出。預壓力的大小直接影響電機的輸出性能。在不同預壓力下測量得到電機負載特性如圖6所示。

圖6 不同預壓力下電動機負載特性Fig.6 Motor load characteristic under different pressures
本設計以TI公司的TMS320LF2407A控制器為核心,給出了無刷直流電動機控制系統硬件設計和軟件設計方案,實現了對無刷直流電動機的控制,解決了經典PID控制器難以滿足控制系統的性能要求,適合于中小型直流電機控制系統,具有很高的應用價值和推廣價值。
[1] 劉和平,嚴利平,張學鋒.TMS320LF240xDSP結構、原理及應用[M].北京:北京航空航天大學出版社,2002.
[2] 尹勇,歐兆軍,關榮峰.DsP集成開發環境ccs開發指南[M].北京:北京航空航天大學出版社,2003.
[3] 章云,謝莉萍,熊紅艷.DSP控制器及其應用[M].北京:機械工業出版社,2001.
[4] 蔡自興.智能控制[M].北京:電子工業出版社,2004.
[5] 郭濤,陳東華,謝少軍(Guo Tao,Chen Donghua,Xie Shaojun).基于DSP的數字控制并聯電力有源濾波器(Digitally controlled shunt active power filter based on DSP)[J].電力系統及其自動化學報(Proceedings of the CSU-EPSA),2005,17(5):90-93.
ApplicationofDSPtoControlBrushlessDirectCurrentMotor
ZHANG Wei
(Linyi University Information Institute, Linyi 276005, China)
According the brushless direct current motor(BLDCM)control requirements,the BLDCM digital control system composed by digital signal processor(DSP)was designed in order to achieve high-performance real-time monitoring.The design was based on the BLDCM principle and TMS320LF2407 chip.The BLDCM control realized by the design proposal of hardware plan software.The system can apply to the middle and small scale motor control,which has a high application and promotional value.
brushless direct current motor(BLDCM); control; digital signal processor(DSP); analog/digital transformation(A/D); pulse-width modulation
2009-09-25
2009-11-11
TM33; TM301.2
A
1003-8930(2011)01-0064-05
張 偉(1972-),男,碩士學位,講師,研究方向為計算機控制、電氣控制。Email:zhwei369@163.com