劉永峰,遲耀丹,趙 陽,王立光,吳博琦
吉林建筑大學 電氣與計算機學院,長春 130118
交流電機在工業(yè)和民用行業(yè)中都是最主要的拖動設備,電機通常需要進行調速以滿足不同產品需求和用戶需求.隨著科技發(fā)展,電機調速方式經歷了機械式有級調速、電氣與機械配合的有級調速和變頻調速三個階段[1],而且隨著需求不斷升級,前兩種方式已經不能滿足復雜的產品需求,變頻調速方式成為更多用戶的選擇.自20世紀80年代起變頻器實現商業(yè)化,變頻調速技術從模擬控制、數模混合控制,逐漸發(fā)展到數字控制,變頻技術不僅使驅動變得交流化,而且是呈現數字化、高頻化以及智能化[2]的發(fā)展趨勢.
1985年Ross Freeman發(fā)明了現場可編程門陣列(Field programmable gate array,英文縮寫為FPGA),既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點,逐漸成為各種定制芯片的替代品[3].FPGA技術的開發(fā)本質是邏輯電路的實現,在一些高靈活性、高性能、定制化程度高的場合,是設計者的最優(yōu)選擇.FPGA相比于其他芯片的最大特點是靈活性和并行性,靈活性在于產品升級不僅限于產品設計階段,整個生命周期內都可以進行更新升級,并行運算能力表明完成相同的控制流程,FPGA處理時間更短,有更好的實時性.
脈沖寬度調制(Pulse width modulation,英文縮寫為PWM)技術是逆變系統(tǒng)中的關鍵技術,其本質在于優(yōu)化開關函數,使得逆變器按一定規(guī)律輸出電壓[4],脈寬調制方式對電機的調速性能有著決定性影響.自德國學者A-Schonung提出脈寬調制變頻思想以來,已經發(fā)展出了幾十種脈寬調制技術[5].正弦脈寬調制(Sinusoidal pulse width modulation,英文縮寫為SPWM)是目前最成熟的調制方法,以高頻三角波作為載波,與期望波形同頻的正弦波作為調制波,由調制波與載波相交點確定逆變器開關器件的導通時刻,根據面積相等原則,獲得等幅不等寬的等效矩形波.
與SPWM不同,空間矢量脈寬調制(Space vector pulse width modulation,英文縮寫為SVPWM)是針對交流電動機變頻驅動提出的脈寬調制方法,從三相輸出電壓整體效果出發(fā),通過改變逆變器開關器件通斷狀態(tài)使實際磁通逼近理想圓形電機氣隙磁通軌跡,其基本原理是:用若干個開關電壓矢量去逼近某一時刻的空間電壓矢量[6].
與SPWM相比,SVPWM技術能有效減少繞組電流諧波成分,降低電機轉動脈沖,轉子旋轉磁場更接近圓形,是一種理想的脈寬調制方法.近年來,FPGA為電機調速系統(tǒng)數字化提供了新的實現方式,當前大多數控制系統(tǒng)選擇FPGA與數字信號處理(Digital signal processing,英文縮寫為DSP)結合控制的方式,這種方式在高速通訊過程中會不可避免的出現時序混亂、電磁干擾等問題.
本文研究基于FPGA的空間矢量脈寬調制方法,可有效解決上述問題,輸出理想PWM波形,實現交流電機調速功能.
空間矢量脈寬調制主要思想在于通過不同逆變器空間電壓矢量的切換以獲得恒定圓形磁場[7],通過三相逆變器開關狀態(tài)的切換,產生PWM波,使逆變器輸出的電流波形盡可能接近理想正弦波.圖1為三相橋式逆變器與永磁同步電機的連接圖,三相逆變器輸出相電壓分別為UA,UB,UC,定義其空間電壓矢量為UA(t),UB(t),UC(t),方向在各自的軸線上,大小隨時間按正弦規(guī)律變化,時間相位上相差120°.三相電壓空間矢量的合成矢量U(t)的表達式如下:
(1)
圖1 逆變電路Fig.1 Inverter circuit
圖2 電壓矢量分布Fig.2 Voltage vector distribution
如圖1所示,Udc為直流母線電壓,以A相為例,SA=1時,UA(t)=Udc,Ua,Ub,Uc為逆變器輸出端相電壓,V1~V6為逆變器三相橋臂的開關器件.三相橋式逆變器上橋臂與下橋臂開關器件狀態(tài)互補,定義Sx=1,Sx=0(x=a,b,c)為各相上橋臂開關器件的通、斷狀態(tài),用(Sa,Sb,Sc)表示逆變器的8種開關狀態(tài),對應8個電壓矢量,其中6個有效電壓矢量(001),(010),(011),(100),(101)和(110),2個零矢量(000)和(111),輸出電壓可用式(2)計算:
(2)
如圖2所示,6個等幅非零矢量和2個零矢量將空間分為6個扇區(qū),扇區(qū)內的任意電壓可由相位依次相差60°的基本電壓矢量合成,2個零矢量位于扇區(qū)中心,非零矢量模值為:
(3)
逆變器參考電壓矢量Uref由其所處扇區(qū)相鄰基本電壓矢量和零矢量合成,在一個PWM周期Ts內,根據伏秒平衡原理[8]有:
TSUref=TkUk+Tk+1Uk+1+T0U0+T7U7
(4)
TS=Tk+Tk+1+T0+T7
(5)
式中,Uk,Uk+1表示扇區(qū)相鄰電壓矢量;U0,U7為零矢量;Tk,Tk+1,T0和T7為對應電壓矢量作用時間.在SVPWM調制方案中,適當使用零矢量可減少開關動作次數,做到跨越相鄰扇區(qū)只需要調整一相開關狀態(tài),大幅度減少開關損耗,零矢量動作時間的平均分配有效降低了PWM的諧波分量.整理式(4)有:
(6)
對于任意Uref在α,β坐標系中均可被分解為Uα和Uβ,即Uref=(Uα+jUβ),結合式(3)、式(6)可得相鄰電壓矢量作用時間,公式如下:
(7)
Tk,Tk+1的取值只有3種情況:
令:
零矢量作用時間為:
T0=T7=1/2(TS-Tk-TK+1)
本文基于Matlab/Simulink平臺進行SVPWM算法仿真實驗,如圖3所示,SVPWM算法仿真由Clarke變換、扇區(qū)判斷、電壓矢量作用時間和開關切換時刻等模塊組成,通過波形發(fā)生器模塊產生的同頻等幅相位相差120°三相交流電經過坐標變換和計算后與PWM載波進行比較,輸出PWM波形.
仿真電路輸出的 PWM 控制信號波形如圖 4 ~ 圖 5所示,通過 Matlab/Simulink 平臺對控制系統(tǒng)進行的仿真實現表明,三相逆變器的SVPWM算法對在調速方面的適用性和正確性,值得注意的是6路PWM波中每一相的兩路PWM波形彼此互補如同一時刻PWM 1和PWM 2波形電平正好相反.
圖3 SVPWM算法仿真圖Fig.3 Simulation diagram of SVPWM algorithm
圖4 PWM 1輸出波形Fig.4 PWM 1 output waveform
圖5 PWM 2輸出波形Fig.5 PWM 2 output waveform
SVPWM技術本質上是通過控制逆變器6個開關器件的通斷輸出可調PWM波形,控制算法較復雜,控制系統(tǒng)對控制器的處理能力有較高要求.本文采用Xilinx公司的Spartan - 6芯片作為數字控制器,Spartan系列是Xilinx公司推出的低成本高容量FPGA,內部采用雙寄存器和具有AES和Device DNA保護的加強IP[9],FPGA展現出的可重構、可并行運算能力受到設計者的青睞,成為眾多設計者的首選.本文基于Xilinx公司的FPGA芯片在ISE 14.7環(huán)境下編程,采用模塊化編程方法實現SVPWM算法,分為三相電壓坐標變換、參考電壓矢量扇區(qū)判斷、電壓矢量作用時間計算和逆變器開關切換時間計算四個模塊完成脈寬調制任務.
圖6 FPGA實現SVPWM總體框圖Fig.6 FPGA implementation of SVPWM block diagram
三相交流電經Clarke變換后將三相電壓Ua,Ub,Uc在(a,b,c)坐標系中的變化轉化到兩相(α,β)坐標系中,用Uα,Uβ表示.
Ua=Uα
(8)
表1 扇區(qū)-P值對照Table 1 Sector-P value comparison
簡化后的扇區(qū)判斷方式使系統(tǒng)在運算量會運算速度方面有明顯改善.
由于基本電壓矢量模值恒定,逆變器輸出矢量電壓的改變取決于電壓矢量作用時間,根據式(7)可計算出在各扇區(qū)內相鄰電壓矢量作用時間如表2所示.
表2 相鄰電壓矢量作用時間Table 2 Action time of adjacent voltage vectors
SVPWM調制模式下,最大空間電壓合成矢量的運行軌跡為圖2扇區(qū)六邊形內切圓,零矢量作用時間為零時Uref模值最大,當Tk+Tk+1>TS,表明合成電壓矢量發(fā)生過調,為避免波形失真,本文采取比例縮小算法進行調制處理,設Tk′,Tk+1′為Tk,Tk+1調整后使輸出波形不失真的值,滿足如下關系:
(9)
經式(9)變換等比例縮短有效電壓矢量作用時間,使合成電壓矢量回歸到理想軌跡.
直接數字式頻率合成器(DDS)是一種常見的波形發(fā)生方式,占用資源少,硬件語言簡單,改變參數設置可以方便地獲得常見的正弦波、方波和三角波[10].本設計PWM載波由DDS產生,三角波波形產生代碼如下:
reg[15:0] tcnt;
reg[8:0] tringle_tmp;
reg[7:0] tringle_wave;
always@(posedge clk or negedge rst_n)
if(!Rst_n) tcnt<=16’d0;
else if(tcnt<16’d48827) tcnt<=tcnt+1’b1;
else tcnt<=16’d0;
always@(posedge clk or negedge rst_n)
if(!rst_n) triangle_tmp<=9’d0;
elseif(tcnt==16’d48827) triangle_tmp<=triangle_tmp+1’b1’
always@(posedge clk or negedge rst_n)
if(!rst_n) triangle_wave<=8’d0;
else if(triangle_tmp<9’d256) triangle_wave<= triangle_tmp[7:0];
else triangle_wave<=~triangle_tmp[7:0];
逆變器開關導通時刻計算公式如下:
Ta=(TS-Tk-Tk+1)/4
Tb=Ta+Tk/2
Tc=Tb+Tk+1/2
(10)
Ta,Tb,Tc為開關管導通時刻,與導通時間賦值方式類似,根據不同扇區(qū)進行分配,定義Taon,Tbon,Tcon為采樣周期內每一相觸發(fā)時刻,不同扇區(qū)內A,B,C三相開關導通時刻按表3進行賦值.
表3 開關切換時間賦值Table 3 Switching time assignment of the switch
將Taon,Tbon,Tcon分別存入FPGA的3個寄存器單元中.電壓矢量在每個載波周期內逆時針旋轉一個固定角度,旋轉角度大小由載波頻率和PWM頻率共同決定,基本電壓矢量作用時間在每個載波周期重新計算并合成空間電壓矢量,通過不斷合成新矢量的方式,期望電壓矢量依次經過各扇區(qū),逆變器輸出理想電壓波形.為避免載波與調制波多次相交產生窄波,規(guī)定三角波上升或下降過程只有第一次相交時改變調整PWM波形的電平,其余時間保持相應電平.
本文詳細闡述了SVPWM調制原理,提出一種基于FPGA動態(tài)脈寬調制方法,從系統(tǒng)性能角度分析基于FPGA實現SVPWM調制算法的優(yōu)勢,并進行Matlab/Simulink仿真實驗.結果顯示,SVPWM調制模式下逆變器輸出最大不失真電壓矢量模值約為0.58Udc,比傳統(tǒng)SPWM調制方式在電壓利用率方面高出約15.5 %.基于FPGA的SVPWM調制方式使得全數字交流變頻調速系統(tǒng)開發(fā)靈活、硬件利用率更高、算法實現更加清晰,卓越的并行運算能力縮短了系統(tǒng)數據處理時間,提高系統(tǒng)的控制能力,FPGA的現場可編程能力,在有效提升控制系統(tǒng)性能的同時降低了系統(tǒng)二次開發(fā)成本,保證系統(tǒng)具有良好的可維護性.