艾 紅
(北京信息科技大學,北京 100192)
異步電機的物理模型是一個高階、非線性、強耦合的多變量系統,需要用一組非線性方程組來描述。相比之下,直流電機的數學模型較為簡單,從物理模型上看,直流電機分為空間相互垂直的勵磁繞組和電樞繞組,且兩者各自獨立,互不影響,通過控制兩種繞組中的電流就可以分別控制電機的氣隙磁通和電磁轉矩,獲得很好的控制效果。矢量控制的核心思想是模型變換,通過一系列坐標變換,將原來非線性、強耦合、多變量的異步電機模型等效得到直流電機模型,通過控制等效的勵磁電流和轉矩電流,用直流電機控制的方法對異步電機進行調速。數字信號處理器DSP集中了電動機控制所必須的可增加死區和靈活多變的多路PWM信號發生器,具有高速高精度ADC以及用于電機速度和位置反饋的編碼器接口等電路,能夠實現矢量控制這樣復雜的控制算法對異步電機的控制[1-2]。
異步電機變頻調速系統設計分為多個電路板設計,其中包括電源板、驅動板和主控板。基于TMS320F2812 DSP設計主控板。選用DSP和IPM等高性能器件,設計包括功率驅動電路和控制電路在內的整個硬件系統。實現功能有電機運行狀態顯示,獲取速度、轉速信息,通過A/D檢測電壓電流,完成控制算法的計算等關鍵問題。主控板由控制器模塊、PWM模塊、人機界面模塊、信號處理模塊組成;驅動板由整流模塊、逆變模塊、信號采集模塊組成;電源板為驅動板和主控板提供電源。采樣電路包括電流采樣和電壓采樣。采用電流霍爾元件分別對電機電流和母線側電壓進行采樣,TMS320F2812芯片片內集成了可以和光電編碼盤接口的正交編碼器脈沖QEP電路。在變頻調速系統中,為了完成速度閉環,設計了具有隔離功能的光電編碼器接口電路。利用光電編碼器進行轉速采樣。異步電機變頻調速系統設計框圖如圖1所示。

圖1 異步電機變頻調速系統設計框圖
考慮到設計中需要用到8路電源,選擇設計一個開關電源。設計電源為主控板提供+24 V,+15 V,-15 V和+5 V共4路電源,為驅動板提供4路+15 V電源。電源電路設計框圖如圖2所示。

圖2電源電路設計框圖
驅動電路的設計思路是實現交直交變頻,輸出可控三相電驅動電機,如圖3所示。

圖3 驅動板設計框圖
電機采用Y型接法,需要測量兩路電流可以根據ia+ib+ic=0,得到另外一路電流。檢測電路包括電流檢測和電壓檢測。其中電流檢測包括檢測直流母線電流、檢測逆變側輸出的電流;電壓檢測就只需要檢測整流側直流電壓。由于使用的傳感器輸出的都是電流,那么就需要將它轉換為電壓再輸入到A/D,經過A/D采樣得到采集結果。對直流母線電壓、直流母線電流和兩路交流輸出采樣。圖4中TLV2254是低功耗運算放大器,網絡標號C1和C2的輸入經過TLV2254放大,輸出端送至DSP的引腳ADCINA2和ADCINA3實現A/D采樣[3-4]。

圖4 A/D輸入信號放大電路
測速原理是將旋轉編碼器與電動機同軸相連,當電動機轉動時,帶動編碼器旋轉。增量式編碼器在碼盤上均勻地刻制一定數量的光柵,通過記錄編碼器在一定時間間隔內發出的脈沖數,可以推算出這段時間的轉速。從編碼器采樣的信號A1,B1,C1經過光耦芯片TLP113得到A2,B2,Z2,再經過芯片SN74HC04提高帶負載能力,最終得到3路捕獲信號CAP1~CAP3交由DSP處理。
為了整個設計電路的安全,需要設計相關邏輯保護電路,選用可編程邏輯器件CPLD進行整個邏輯控制。CPLD中的程序邏輯如圖5所示。

圖5 CPLD模塊的邏輯圖

由IPM模塊輸出端檢測三相電流iA,iB,將三相到兩相進行Clarke變換得到兩相靜止電流iα,iβ。由磁鏈觀測器計算出變換角度θ,結合變換角度θ,將兩相靜止電流進行Park變換得到兩相旋轉電流id,iq,得到的電流值作為反饋值,反饋至電流PID輸入口,結合測速環節反饋回來的轉速信息得到兩相旋轉電壓Ud,Uq。經由逆Park變換,計算得到兩相靜止電壓值Uα,Uβ,再由電壓空間矢量SVPWM計算,計算出PWM一定占空比的跳變時間,更新事件管理器中各個比較寄存器的數值,產生6路PWM波,接入到逆變環節,最終得到理想頻率的三相交流電作用于異步電機控制電機速度的變化。這些坐標變換是矢量控制系統模型變換的核心。矢量控制系統框圖如圖6所示。

圖6 矢量控制系統框圖
矢量控制程序主要由ADC輸入模塊、Clarke變換模塊、Park變換模塊、逆Park變換模塊、磁鏈角度計算模塊、PID模塊、捕獲模塊、測速模塊、斜坡模塊以及空間矢量計算模塊等組成。在定時器下溢中斷中實現矢量控制算法,流程圖如圖7所示。

圖7 矢量控制算法流程圖
由給定轉速與反饋轉速計算得到轉速PID輸出。結合兩相旋轉電流和反饋速度可以計算得到磁鏈角度,查表得到三角函數值,用于Park和逆Park變換中。由ADC通道輸入兩相電流值,計算得到第三相電流值再通過Clarke變換和Park變換得到兩相旋轉電流。結合速度PID輸出的轉矩電流和給定勵磁電流分別進行電流PID控制,PID輸出結果為兩相旋轉電壓,通過逆Park變換得到兩相靜止電壓。之后進入空間矢量計算環節。判斷矢量所在扇區,計算PWM波形跳變時間的中間變量X,Y,Z,最終得到跳變時間Ta,Tb,Tc,經過處理賦值給比較寄存器,事件管理器中定時計數器通過與比較寄存器比較產生PWM波形[5-6]。
捕獲模塊對電機旋轉信號進行捕獲,得到時間戳信號,用于計算電機轉速。程序初始化時設置捕獲控制寄存器CAPCONA的值為1010 0000 0101 0000B ,使能捕獲單元1和2,并檢測上升沿。設置定時器2控制寄存器T2CON的值為1001 0111 0100 0000B ,表示設置定時器為連續遞增計數模式,使用內部時鐘的128分頻作為時間基準,使能定時器。定時器周期值設置為0x7FFF。設置GPIOA8,GPIOA9,GPIOA10引腳為外設功能,作為捕獲引腳使用。主要程序如下:
void F281X_EV1_CAP_Init(CAPTURE *p)
{
EvaRegs.CAPCONA.all = CAP_INIT_STATE; //初始化捕獲單元
EvaRegs.T2CON.all = TIMER_INIT_STATE; //初始化定時器單元
EvaRegs.T2PR = 0x7FFF; //設置定時器2周期值
EALLOW; //解除寄存器保護
GpioMuxRegs.GPAMUX.all |= 0x0700;
//設置GPIOA8~ GPIOA10引腳為外設功能
EDIS; //使能寄存器保護
}
捕獲模塊讀取程序中,判斷捕獲狀態寄存器的值,如果不為零,讀取信息并放入TimeStamp變量中,返回值為0,結束捕獲。
捕獲模塊讀取程序如下:
Uint16 F281X_EV1_CAP_Read(CAPTURE *p)
{
if((EvaRegs.CAPFIFOA.all&0x0100) != 0)
//檢查捕獲狀態寄存器的值
{
p->TimeStamp = EvaRegs.CAP1FIFO;
//獲取捕獲單元堆棧中的數值
return(0); //返回值為0,結束捕獲
}
else
{
return(1); //返回值為1
}
}
經由捕獲模塊得到的時間戳信號,要經過速度計算模塊,轉換得到轉速信號。速度計算模塊如圖8所示。

圖8 速度計算模塊示意圖
速度計算模塊程序流程圖如圖9所示。
速度計算模塊主要思路是當輸入選擇等于0時,開始改變時間戳,時間戳新老更替,NewTimeStamp是捕獲事件的新時間戳,OldTimeStamp是捕獲事件的舊時間戳。將當前時間戳TimeStamp賦值給新時間戳,新時間戳-舊時間戳得到周期值。為了確保周期值為有效正值,做取正處理,當EventPeriod <0時,EventPeriod = EventPeriod +32 767 。再由速度定標除以周期值,得到速度值Speed=SpeedScaler/EventPeriod。轉速SpeedRpm的實際數值可以由速度轉換基值BaseRpm乘以速度值Speed得到即轉速SpeedRpm=BaseRpm×Speed 。將轉速SpeedRpm值除以電機額定轉速將會得到實驗曲線中的速度反饋值。

圖9 速度計算模塊流程圖
IQmath方法是一種采用定點運算但具有浮點數據處理特性的計算方法。可以用定點運算實現浮點運算。IQ格式數表示法是當小數點位于第0位的右側時,定義為Q0。當小數點位于第15位的右側時,定義為Q15。例如Q10格式的小數點定標在111 111.111 111 111 1,它的最低位變化一個單位表示精度為1/210=0.000 976 6。
6.1.1 調用IQmath函數的方法
(1)IQmathLib.h加入到頭文件,定義全局Q值 GLOBAL_Q。
#ifndef GLOBAL_Q
#define GLOBAL_Q15
#endif
(2)在項目的庫文件匯總增加IQmath的庫文件IQmath.lib;
(3)在CMD文件中,將"IQmath"輸出段正確放置在程序存儲區中;
6.1.2 IQmath函數說明
全局GLOBAL_Q函數的輸入和輸出都是GLOBAL_Q格式的,在GLOBAL_Q值確定后,是一個確切的值,例如:
_IQsin(A) //GLOBAL_Q格式是數A的sin函數值
_IQcos(A) //GLOBAL_Q格式是數A的cos函數值
_IQmpy(A,B) //GLOBAL_Q格式是A和B兩數相乘,得到GLOBAL_Q格式的積
對產生PWM波形的比較寄存器賦值,用下面3條語句將Ta,Tb,Tc分別放入比較寄存器調整參數中去。
pwm1.Mfunc_c1 = (int)_IQtoIQ15(svgen_dq1.Ta);
//將Q值為GOLBAL_Q的IQ格式數svgen_dq1.Ta轉化為Q值為15的IQ格式數賦值給pwm1.Mfunc_c1。
pwm1.Mfunc_c2 = (int)_IQtoIQ15(svgen_dq1.Tb);
pwm1.Mfunc_c3 = (int)_IQtoIQ15(svgen_dq1.Tc);
定義一系列初始函數變量如下:
int m_period;
long tmp;
tmp = (long)p->n_period×(long)p->Mfunc_p;
m_period = (int)(tmp>>16) + (int)(p->n_period>>1);
EvaRegs.T1PR = m_period;
n_period為周期,Mfunc_p是周期調整參數(Q15格式),Mfunc_c1為比較器調整參數(Q15格式),m_period為新周期。周期值n_period 乘以周期調整參數Mfunc_p得到新周期。tmp = (long)p->n_period*(long)p->Mfunc_p; 即Q15 = Q0*Q15,但Mfunc_p的范圍是-1~1(Q15格式)。假設周期值1 000,則tmp的范圍是-1 000~1 000,為保證新周期為正整數,將tmp除以2,范圍變成-500~500,再加上半個周期值500,得到新周期的范圍為正整數0~1 000。m_period = (int)(tmp>>16) + (int)(p->n_period>>1); 這條語句功能是Q0 = (Q15->Q0)/2 + (Q0/2),即tmp首先除于2,范圍變為-500~500,然后再偏移500(+ n_period >>1),此時范圍是0~1000,實現了上述轉換。
比較寄存器調整參數Mfunc_c1,Mfunc_c2和Mfunc_c3的范圍是-1~1,在得到比較寄存器的新值時做取正整數處理。
語句EvaRegs.CMPR1 = (int16)(Tmp>>16) + (int16)(MPeriod>>1); 的含義是 Q0 = (Q15->Q0)/2 + (Q0/2)。將Tmp值除以2,實現占空比由(-1,1)到(-0.5,0,5),然后右移15位也就是取整,將該數從Q15格式轉換成Q0格式,再加上0.5(對應MPeriod>>1)的偏移,把占空比還原到(0,1),此時的結果就是比較寄存器的值。
矢量控制系統需要逐步構建,程序調試分為5個級別進行,分別是1級~5級。由簡到繁,逐漸完成整個矢量控制程序。1級調試主要是斜坡變換模塊,磁鏈近似模塊、逆Park變換模塊、空間矢量計算模塊。對輸入信號進行斜坡處理,進行磁鏈近似計算,結合給定條件做逆Park變換,進行空間矢量計算之后更新PWM,使能PWM輸出。2級調試是在1級的基礎上,加入ADC采樣模塊,采集兩相電流值,對采樣信號做Clarke變換和Park變換得到兩相旋轉電流,并不直接應用,結合給定條件做逆Park變換,做同樣的PWM處理。最后還加入了速度計算模塊為下面的變化做準備。1級和2級都是開環控制系統。3級調試相對于2級又加入了電流PID模塊,對Park變換后得到的兩相旋轉電流分別做轉矩電流PID和勵磁電流PID控制計算,對2路PID輸出做逆Park變換,得到兩相靜止電壓信號,用電壓信號進行空間矢量計算得到跳變時間,更新PWM并使能PWM。4級調試是在3級的基礎上,增加了磁鏈角度計算模塊,為替代磁鏈近似模塊做準備。3級和4級都是電流閉環控制系統。5級調試主要包括ADC采樣模塊、Clarke變換模塊、Park變換模塊、速度PID模塊、轉矩電流PID模塊、勵磁電流PID模塊、逆Park變換模塊、空間矢量計算模塊、速度計算模塊、磁鏈計算模塊,最后使能PWM。從1級到4級調試是在不斷地添加模塊,5級調試是應用速度PID模塊取代斜坡模塊,對給定速度與反饋速度之間進行PID控制。用磁鏈計算模塊取代磁鏈近似模塊,得到更好的磁鏈角度計算精度。5級調試是速度和電流雙閉環控制系統,是實現矢量控制算法的完整的矢量控制程序。
經過DSP程序運行截取的第1扇區PWM輸出波形記錄圖,如圖10所示。

圖10 第1扇區三相波形圖(截圖)
當給定值為0.5時,電機速度控制實驗結果如圖11所示。圖11中電機額定轉速為2 800 r/min,

圖11 給定值為0.5的速度測量曲線圖
速度給定值和反饋值都是轉速與額定轉速的比值,電機轉速最終穩定在1 405 r/min。
交流變頻調速技術是強弱電混合、機電一體化的綜合技術,既要處理巨大電能的轉換如整流和逆變,又要處理信息的收集、變換和傳輸,因此分成功率和控制2大部分。功率要解決與高壓大電流有關的技術問題和新型電力電子器件的應用技術問題,控制要解決基于現代控制理論的控制策略和智能控制策略的軟硬件開發問題。以DSP為核心設計控制系統的變頻器,可以檢測電機的參數,通過檢測電機的電壓和電流,對電機的狀態了如指掌。采用矢量控制實現了對異步電機的變頻調速功能[7]。
[1] 廖華平,程小華.基于DSP的SVPWM矢量控制變頻系統研究[J].微電機,2006,39(9):70-72.
[2] 黃少瑞,郝潤科,朱軍,等.基于DSP的異步電機SVPWM控制技術實現[J].電氣自動化,2010,32(5):20-23.
[3] 汪浩洋,邱瑞昌,趙曉紅.基于DSP的異步電機無速度傳感器矢量控制[J].電力電子技術,2010,44(4):51-53.
[4] 王春民,孫淑琴,安海忠等.基于DSP永磁同步電動機矢量控制系統的設計[J].吉林大學學報(信息科學版),2008,26(4):343-346.
[5] 張家龍.基于DSP的模糊自適應異步電機矢量控制的研究[J].采礦技術,2013,13(4):87-89.
[6] KASAL G K,SINGH B.DSP-based voltage controller for an isolated asynchronous generator feeding induction motor loads[J].Electric Power Components and Systems,2009,37( 8):914-935.
[7] MONTANARIA M,PERESADAB S,TILLA A.A speed-sensorless indirect field-oriented control for induction motors based on high gain speed estimation[J].Automatica,2006(42):1637-1650.