李少波, 孫小康
(內蒙古科技大學 信息工程學院, 內蒙古 包頭 014010)
?
基于C語言S-函數(shù)的逆變器SVPWM算法的仿真
李少波, 孫小康
(內蒙古科技大學 信息工程學院, 內蒙古 包頭014010)
通過對其實現(xiàn)SVPWM的機理分析,并在結合逆變器空間矢量PWM(SVPWM)控制原理的基礎上,提出一種通過S-函數(shù)(S-Function)便可高效簡單實現(xiàn)SVPWM算法的方法.仿真結果與直接利用理想三相交流電仿真得到的響應完全一致.
逆變器; 空間矢量脈寬調制; S-函數(shù); 仿真
隨著社會現(xiàn)代化程度的不斷提高,計算機控制理論和電力電子技術的逐漸成熟,脈寬調制(PWM)作為電力電子逆變技術的關鍵取得了重大發(fā)展.目前,在逆變器應用中最為常見的PWM技術主要有兩種:正弦脈寬調制(SPWM)和空間矢量脈寬調制(SVPWM).SVPWM是一種優(yōu)化的PWM技術,具有直流電壓利用率高、減少諧波、降低開關損耗、易于數(shù)字化等優(yōu)點,已有逐漸取代傳統(tǒng)SPWM的趨勢[1].
在Matlab[2]的Simulink仿真環(huán)境中,用戶通過S-函數(shù)來搭建自己需要的模塊,可以采用Matlab、C、C++、Fortram、Ada等語言編寫S-函數(shù).本文建立基于C語言的S-函數(shù)對五段式SVPWM進行建模仿真,并通過與理想三相交流電仿真結果對比,論證此方法的正確性及可行性.本文的特色是,“建立了基于C語言S-函數(shù)的五段式SVPWM逆變器仿真模型”,并且進行了仿真,使得研究工作具有應用的價值.
SVPWM是依據(jù)變流器空間電壓矢量切換控制變流器的一種新穎思路的控制算法,早期針對交流電動機變頻驅動而提出的[3],后因其生成相電壓中高次諧波含量少,易于DSP實現(xiàn)等優(yōu)點而在逆變器中廣泛應用.本文的研究對象為三相電壓型逆變器,主電路結構如圖1所示.
圖1 三相電壓型逆變器主電路拓撲圖Fig.1 The main circuit topology graph of three-phase voltage inverter
結合逆變器工作原理及圖1中的主電路圖可知,逆變器的三相開關管共有8種開關狀態(tài),因而其空間電壓矢量有8條,除了兩條零矢量(V0、V7)外,其余6條非零矢量(V1、V2、V3、V4、V5、V6)對稱均勻分布在復平面上,如圖2所示.SVPWM的參考電壓矢量Vref在復平面上勻速旋轉就能得到三相對稱的正弦量,根據(jù)矢量合成原理,對于任一扇區(qū)中的Vref均可由該扇區(qū)兩邊的基本矢量來合成[4].SVPWM算法要求在一個采樣周期內,通過控制基本矢量之間的切換和作用時間,使合成電壓矢量去逼近旋轉的參考電壓矢量,其運動軌跡為圓形或逼近圓形.
圖2 基本空間電壓矢量分布圖Fig.2 Distribution diagram of the basic space voltage vector
實現(xiàn)SVPWM算法的步驟為:首先判斷Vref所在扇區(qū)及確定扇區(qū)內的基本矢量,然后計算出每個基本矢量作用的時間,進而確定各個開關的切換時間,最后通過與三角波調制信號的比較得出開關的觸發(fā)脈沖.
2.1判斷Vref所在扇區(qū)模塊
經(jīng)過Clark坐標變換,參考電壓Vref在三相靜止坐標系下的Va、Vb、Vc分量變?yōu)閮上囔o止坐標系中α,β軸的分量Vα、Vβ.根據(jù)Vα、Vβ兩分量值的正負及式arctan(Vβ/Vα)的值求得Vref與α軸的夾角θ,通過θ的度數(shù)與扇區(qū)的關系來確定Vref所在扇區(qū)及扇區(qū)內基本矢量,其關系如表1所示.
表1 Vref所在位置及開關切換順序
其中零矢量的選擇方式主要是為了減少開關頻率.
2.2計算基本矢量作用時間模塊
以Vref在第一扇區(qū)時為例,Vref由V4、V6、V7合成,依據(jù)平行四邊形法則有
(1)
式中:t1、t2分別表示V4、V6在一個開關周期中的作用時間;T表示關周期.令Vref與V4間的夾角為φ,φ=θ-(n-1)×60°,式中n為Vref所在扇區(qū)號;由正弦定律得到:
(2)
(3)
(4)
同理根據(jù)式(3)、式(4)可以得到各扇區(qū)的基本矢量作用時間和開關切換時間.
2.3開關觸發(fā)脈沖產生模塊
引入三個中間變量V11、V22、V00,將Vref所在扇區(qū)內基本適量的序號值按順序分別賦給三個變量.通過開關切換時間與三角調制波(TriangleWave)比較,產生PWM脈沖,此過程分為三個階段.
(1) 當TriangleWave≤t3時,若temp1=int(V11/4)=1,則Q1=1,Q2=0,否則Q1=0,Q2=1;若temp2=int((V11-temp1×4)/2)=1,則Q3=1,Q4=0,否則Q3=0,Q4=1;若temp3=int(V11-temp1×4-temp×2)=1,則Q5=1,Q6=0,否則Q5=0,Q6=1;
(2) 當t3≤TriangleWave≤t4時,若temp1=int(V22/4)=1,則Q1=1,Q2=0,否則Q1=0,Q2=1;若temp2=int((V22-temp1×4)/2)=1,則Q3=1,Q4=0,否則Q3=0,Q4=1;若temp3=int(V22-temp1×4-temp×2)=1,則Q5=1,Q6=0,否則Q5=0,Q6=1;
(3) 當t4≤TriangleWave時,若temp1=int(V00/4)=1,則Q1=1,Q2=0,否則Q1=0,Q2=1;若temp2=int((V00-temp1×4)/2)=1,則Q3=1,Q4=0,否則Q3=0,Q4=1;若temp3=int(V00-temp1×4-temp×2)=1,則Q5=1,Q6=0,否則Q5=0,Q6=1.
以Vref在第一扇區(qū)為例,其基本矢量為V4、V6、V7,所以V11=4、V22=6、V00=7.將三個變量值代入上述的三個階段的式中及根據(jù)對稱性,得出開關觸發(fā)脈沖順序為:100-110-111-110-100,與開關切換順序相同,如圖3所示.同理,其他扇區(qū)也能根據(jù)這三個階段得到相應的開關觸發(fā)脈沖.
圖3 第一扇區(qū)開關狀態(tài)切換示意圖Fig.3 Switching diagram of switch state in the first sector
3.1C語言S- 函數(shù)的創(chuàng)建
Matlab的C語言S-函數(shù)編寫有兩種方法,一種是在Matlab提供的模板“sfuntmpl_basic.c”下,往里面寫好的回調函數(shù)的函數(shù)體中寫入自己想實現(xiàn)的C代碼,
最后使用mex編譯并加入S-Function模塊.另一種方法是利用S-Function Builder模塊直接自動生成C語言S函數(shù),比第一種要簡單方便.所以本文通過第二種方法對五段式SVPWM進行了建模仿真,仿真模型如圖4所示.
3.2S- 函數(shù)的編寫
(1) 模塊創(chuàng)建.在Simulink環(huán)境中選中S-Function Builder模塊,取名CSVPWM并初始化,及采樣模塊確定.接著在Data Properties里定義輸入、輸出變量,輸入變量有:Vref在α-β坐標系下兩個分量Ualfa、Ubata,PWM開關周期Ts,直流側電壓Vdc和三角調制波;輸出變量:扇區(qū)Sector,Vref與α軸的夾角Theta,Vref與基本矢量的夾角ThetalnSector,VAup~VCdown表示開關的觸發(fā)觸發(fā)脈沖.
(2) 定義中間變量及編寫程序.在OutPuts里進行函數(shù)的程序編寫,首先定義中間變量,接著按照核心算法的思路順序編寫程序,最后點擊Build鍵進行編譯創(chuàng)建S-函數(shù).
圖4 五段式SVPWM的仿真模型Fig.4 Simulation model of five-paragraph SVPWM
在Simulink中構造SVPWM逆變器仿真模型和理想三相交流電仿真模型,如圖5所示.通過與理想三相交流電仿真模型仿真結果對比,來驗證SVPWM模型的正確性.
仿真有關參數(shù)設置:PWM開關周期Ts=0.000 5 s,參考電壓幅值為220,頻率50 Hz,直流側電壓Vdc=700 V,三角波的周期為0.000 5 s,幅值為0.00025,電感值L=0.000 1 H,理想三相交流電的幅值和頻率與參考電壓相同.仿真結果如圖6.
圖5 SVPWM逆變器和理想電源仿真模型Fig.5 Simulation model of SVPWM inverters and ideal power supply (a)—SVPWM逆變器仿真模型; (b)—理想電源仿真模型.
圖6 仿真結果Fig.6 Simulation results (a)—開關脈沖波形; (b)—SVPWM逆變器電感電壓; (c)—電感電流.
本文以TI DSP實現(xiàn)SVPWM算法的機理為參考,建立了基于C語言S-函數(shù)的五段式SVPWM逆變器仿真模型.與其他方法的SVPWM仿真研究對比,該方法更為簡單,高效且容易理解[5].同時仿真結果證明該模型具有極好的實現(xiàn)性,為實際系統(tǒng)的仿真研究提供了良好的基礎.
[1] 陳伯時,陳敏遜. 交流調速系統(tǒng)[M]. 北京:機械工業(yè)出版社, 2013.
(CHEN B S,CHEN M X. AC speed control system[M]. Beijing:China Machine Press, 2013.)
[2] 張曉明,王剛,陳奪,等. 轉速、電流雙閉環(huán)直流調速系統(tǒng)仿真及參數(shù)整定[J]. 沈陽大學學報, 2010,22(5):18-21.
(ZHANG X M,WANG G,CHEN D,et al. Current DC speed control system of double loop circuit simulation and parameter tuning[J]. Journal of Shenyang University, 2010,22(5):18-21.)
[3] 李建華. 基于S函數(shù)的異步電機SPWM調速系統(tǒng)的建模與仿真[J]. 機電技術, 2007,30(4):1-9.
(LI J H. Modeling and simulation of asynchronous motor SVPWM speed control system based on S function [J]. Mechanical & Electrical Technology, 2007 30(4):1-9.)
[4] 張興,張崇巍. PWM整流器及其控制[M]. 北京:機械工業(yè)出版社, 2012:113-114.
(ZHANG X,ZHANG C W. PWM rectifier and its control[M]. Beijing: China Machine Press, 2012:113-114.)
[5] MULLANE A,GREGORCIC G,LIGHTBODY G,et al. A variable step size C-MEXS-function for reduced simulation times of variable speed drives[C]∥Proceedings of the Nordic MATLAB Conference, 2001.
【責任編輯: 肖景魁】
Simulation of SVPWM Based on S-Function of C Language
LiShaobo,SunXiaokang
(School of information Engineering, Inner Mongolia University of Science and Technology, Baotou 014010, China)
TI DSP ensures the high performance of SVPWM algorithm because of its high-speed data computing power, through analyzing the mechanism of the realization of SVPWM, and in combination with inverter space vector PWM (SVPWM) control principle, a method is put forward for implementing SVPWM algorithm simply and efficiently by S-function. The simulation results coincide exactly with the results by the simulation of three-phase electric power.
inverter; SVPWM; S-function; simulation
2015-12-15
李少波(1978-),男,內蒙古包頭人,內蒙古科技大學副教授.
2095-5456(2016)04-0306-05
TM 464
A