魯金升,陳曉霖,王若羽,劉 建
(山東科技大學(xué)電氣與自動化工程學(xué)院,山東青島266590)
基于S函數(shù)的60°坐標(biāo)系下三電平SVPWM的研究
魯金升,陳曉霖,王若羽,劉 建
(山東科技大學(xué)電氣與自動化工程學(xué)院,山東青島266590)
傳統(tǒng)直角坐標(biāo)系下的SVPWM算法需要三角函數(shù)和查表計算,存在運(yùn)算復(fù)雜、消耗CPU資源多的缺點。為了簡化傳統(tǒng)三電平SVPWM的計算方法,以TI TMS320F28335DSP實現(xiàn)三電平SVPWM為參考方案,在非正交坐標(biāo)系下進(jìn)行三電平逆變器SVPWM算法的研究,利用在Simulink中搭建的三電平逆變器模型與S-function編寫的SVPWM核心算法相結(jié)合進(jìn)行仿真,并將S-function中用C語言編寫的SVPWM程序移植到DSP中實現(xiàn)。簡化了計算,提高了仿真效率,得到的結(jié)果驗證了基于S-function編寫SVPWM算法的有效性和實用性,為控制器編程實現(xiàn)三電平逆變器SVPWM算法提供了重要基礎(chǔ)。
三電平逆變器;空間矢量脈寬調(diào)制;S-函數(shù);數(shù)字信號處理器
近年來,在中高壓變換器中,二極管中性點箝位(NPC)三電平逆變器相對于兩點平而言以輸出接近正弦、du/dt小和效率高等特點得到了人們廣泛關(guān)注[1-2]。在三電平逆變器的調(diào)制算法應(yīng)用中,主要包括載波調(diào)制法(SPWM)、消除制定諧波法(SHEPWM)和空間電壓矢量調(diào)制法(SVPWM)。其中空間矢量調(diào)制方法(SVPWM)以電壓利用率高、電壓紋波小、且輸出電壓豐富等特點,使得在驅(qū)動電動機(jī)時可獲得更好的性能[3-4]。
鑒于SVPWM算法以上優(yōu)點,目前很多學(xué)者對其都進(jìn)行了研究,很多仿真方法相繼提出。如文獻(xiàn)[5-6]給出的直接通過MATLAB模塊搭建三電平SVPWM模型的方法,但在實現(xiàn)過程中存在移植性差、模塊搭建復(fù)雜、不易于算法改進(jìn)等缺點。文獻(xiàn)[7-8]給出的基于S-函數(shù)的SVPWM算法僅是在兩點平逆變器下的應(yīng)用,對于三電平?jīng)]有涉及,相對于兩點平逆變器有諸多優(yōu)勢的三電平而言,更具有研究價值。文獻(xiàn)[9]提出的一種基于MATLAB直接生成CCS代碼的方法,省去了移植過程,但代碼的可讀性不高、缺乏優(yōu)化。文獻(xiàn)[10]給出的基于S-函數(shù)的三電平SVPWM算法,可以實現(xiàn)程序的直接移植,但SVPWM算法編寫是基于傳統(tǒng)的直角坐標(biāo)系下,在控制器的實現(xiàn)過程中計算量大、占用CPU資源較多。
本文在文獻(xiàn)[7]和[8]所述算法的基礎(chǔ)上,提出一種基于S-函數(shù)的非正交坐標(biāo)系下三電平逆變器SVPWM 算法,可直接將S-函數(shù)中C語言編寫的SVPWM代碼移植到DSP28335上實現(xiàn),提高了仿真效率、增強(qiáng)了算法的移植性,論證了采用S-函數(shù)進(jìn)行系統(tǒng)建模的簡潔性和高效性。
三電平NPC逆變器主電路如圖1所示,包括A、B、C三相橋臂,每相橋臂有4個功率器件、四個續(xù)流二極管、2個箝位二極管。4個功率管按一定的開關(guān)邏輯進(jìn)行驅(qū)動得到所輸出的電壓,其導(dǎo)通特點是,每一相總是相鄰兩個功率器件導(dǎo)通,其它兩個功率器件關(guān)斷,當(dāng)每相橋臂的最上面、中間、最下面兩個功率管分別導(dǎo)通時,輸出端對應(yīng)O點的電壓大小分別為UDC/2、0、-UDC/2三個電平狀態(tài),故稱之為三電平。
圖1 三電平NPC逆變器主電路
根據(jù)上述三電平逆變器主電路,可以定義每相橋臂上面、中間、下面2個功率器件的導(dǎo)通狀態(tài)分別表示為1、0、-1,由此,引入開關(guān)函數(shù)S1、S2、S3分別表示A、B、C三相橋臂的開關(guān)狀態(tài),則逆變器三相電壓輸出與開關(guān)函數(shù)的關(guān)系表示為:
(1)
式中:S1、S2、S3分別可取1、0、-1中的某一值,故每一相可輸出三種狀態(tài)的電壓值,三電平逆變器共可輸出33=27種電壓狀態(tài)組合,對應(yīng)27種不同的開關(guān)狀態(tài)。由此,引入空間電壓矢量表達(dá)式:
式中:α=ej120°。
將27種開關(guān)狀態(tài)分別代入空間矢量表達(dá)式,對應(yīng)著19種取值,稱之為基本電壓矢量,基本電壓矢量空間分布如圖2所示。當(dāng)給定的空間電壓矢量落到某一扇區(qū)時,可根據(jù)矢量的平行四邊形合成法則,用已知相近的開關(guān)狀態(tài)(即開關(guān)函數(shù)S1、S2、S3對應(yīng)的27種開關(guān)狀態(tài))組合來得到。這樣,SVPWM算法需要解決三個關(guān)鍵問題:空間電壓矢量所在大扇區(qū)判斷、小扇區(qū)判斷以及矢量作用時間計算。考慮傳統(tǒng)的SVPWM算法在空間電壓矢量所在扇區(qū)判斷和作用時間計算中涉及較多的三角函數(shù)運(yùn)算和查表計算,為了簡化計算方法、提高控制器執(zhí)行效率,故本文提出基于非正交坐標(biāo)系下的三電平SVPWM算法。
圖2 三電平逆變器空間電壓矢量圖
設(shè)采用非正交的60°坐標(biāo)系為g-h坐標(biāo)系,g軸與直角坐標(biāo)系的α軸重合,逆時針旋轉(zhuǎn)60°為h軸,坐標(biāo)系由圖3給出,在g-h坐標(biāo)系下,定義小矢量長度為單位長度[9],參考矢量Uref的坐標(biāo)為(g,h),其中g(shù)=3Ug/UDC,h=3Uh/UDC為實際坐標(biāo)(Ug,Uh)經(jīng)規(guī)則化處理后的坐標(biāo)值。
圖3 非正交坐標(biāo)系
2.1 大扇區(qū)判斷
定義以g軸逆時針旋轉(zhuǎn),每60°為一個大扇區(qū),扇區(qū)號依次為1、2...6,根據(jù)參考矢量Uref在g-h坐標(biāo)系下的坐標(biāo)(g,h)值的正負(fù)關(guān)系,即可確定參考矢量所處的大扇區(qū)號N,表1給出各大扇區(qū)判斷條件。
表1 大扇區(qū)N的判斷表
2.2 小扇區(qū)判斷
將每個大扇區(qū)分為6個小扇區(qū),其分布情況由圖3給出,可知共有36個小扇區(qū),為了簡化計算,先將第N(N取2,3,4,5,6)號大扇區(qū)的參考矢量順時針旋轉(zhuǎn)(N-1)×60°,將其旋轉(zhuǎn)到1號大扇區(qū)的位置,再進(jìn)行所在小扇區(qū)的判斷,定義在N號大扇區(qū)的參考矢量在g-h坐標(biāo)系下為gN,hN[6][9],根據(jù)幾何關(guān)系可求得其與第一扇區(qū)的坐標(biāo)關(guān)系為:
(2)
空間矢量的坐標(biāo)通過旋轉(zhuǎn)矩陣可以計算出在第一大扇區(qū)內(nèi)對應(yīng)的位置,這樣各小扇區(qū)的判斷都轉(zhuǎn)化為在第一大扇區(qū)中進(jìn)行,從而使計算大大簡化,根據(jù)扇區(qū)邊界線可求出各小扇區(qū)判斷條件,如表2所示。
表2 小扇區(qū)n的判斷
2.3 矢量作用時間的計算
在g-h坐標(biāo)系下,利用伏秒平衡原理可以求出相鄰三個矢量的作用時間,以圖3中空間矢量所在小扇區(qū)的位置為例說明,空間矢量的可由所在小扇區(qū)的三個頂點處的矢量來合成,可得出:
(3)
解之得:
(4)
同理,在第一扇區(qū)中,各個小扇區(qū)的作用時間均可計算,計算結(jié)果如表3所示。
表3 矢量作用時間
利用S-函數(shù)進(jìn)行三電平逆變器SVPWM算法仿真主要包括:S-函數(shù)模塊配置、SVPWM核心算法編寫、PWM驅(qū)動信號生成三個部分。
3.1 S-函數(shù)模塊配置
S-函數(shù)作為一個與模塊相結(jié)合的接口,支持多種編程語言(如C語言、C++、Ada等),在進(jìn)行算法的開發(fā)和移植過程之前,首先需要對其進(jìn)行相關(guān)參數(shù)配置,關(guān)于S-函數(shù)具體配置流程由圖4給出。
圖4 S-函數(shù)模塊配置流程圖
3.2 SVPWM核心算法編寫
根據(jù)第一步配置的S-函數(shù)模塊的輸入、輸出端口參數(shù),利用C語言來編寫SVPWM算法。系統(tǒng)以三相交流電壓作為輸入變量,由此來合成空間矢量,然后根據(jù)空間矢量所在位置進(jìn)行大小扇區(qū)的判斷,基本矢量的作用時間計算以及作用時間的分配,最終得到6個比較寄存器的值,SVPWM算法流程圖5給出。
圖5 SVPWM算法流程圖
3.3 PWM脈沖信號的生成
經(jīng)過以上步驟設(shè)置,S-函數(shù)編寫的SVPWM算法即可作為一個單獨模塊。為了產(chǎn)生驅(qū)動三電平逆變器的PWM信號,需要將S-函數(shù)模塊輸出的6個比較寄存器的值與計數(shù)器作比較,來決定開關(guān)的通斷時刻。在模型中使用Simulink里的Repeating Sequence模塊作為定時計數(shù)器,用Logic Operator和Not模塊作為比較輸出單元,6個比較寄存器的值經(jīng)過此比較單元輸出的是控制逆變器12路IGBT的脈沖信號。12路脈沖信號生成模塊如圖6所示。
圖6 12路脈沖信號
3.4 系統(tǒng)仿真結(jié)果
為了驗證S-函數(shù)編寫的三電平SVPWM算法的正確性,基于上述介紹的非正交坐標(biāo)系下三電平逆變器SVPWM的算法,選用三相阻感性負(fù)載進(jìn)行仿真研究,具體參數(shù)設(shè)置如下,電阻R=10Ω,電感L=45 mH,直流母線電壓為540 V,給定參考電壓矢量幅值為270 V,采樣頻率為5 kHz,三電平逆變器輸出50 Hz的波形,圖7給出了三電平逆變器系統(tǒng)的整體仿真圖,圖8為系統(tǒng)仿真結(jié)果。
圖7 系統(tǒng)仿真
由仿真結(jié)果可知,相電壓波形圖8(a)為3個電壓等級,分別為0、±Udc;,線電壓波形圖8(b)為5個電壓等級,分別為0、±Udc/2、±Udc;電流波形圖8(c)為正弦波形,仿真結(jié)果驗證了S-函數(shù)實現(xiàn)SVPWM算法的正確性。
圖8 仿真波形
TMS320F28335DSP數(shù)字信號處理器是TI公司推出的32位浮點DSP控制器,最高主頻率可達(dá)150 Mz。以TMS320F28335DSP為主控制器,將S-function中三電平SVPWM程序移植到主中斷程序中,無需Q格式轉(zhuǎn)換,然后對DSP相應(yīng)的寄存器進(jìn)行設(shè)置,使其產(chǎn)生兩兩互補(bǔ)的12路PWM脈沖信號。
主程序首先進(jìn)行系統(tǒng)初始化,初始化象包括系統(tǒng)函數(shù)、PIE控制寄存器、PIE中斷向量表、ePWM模塊、中斷服務(wù)函數(shù)。初始化完成等待中斷服務(wù)函數(shù)發(fā)生,圖9(a)給出了主程序流程框圖。SVPWM波形的產(chǎn)生在中斷函數(shù)內(nèi)完成,中斷函數(shù)主要對空間電壓參考矢量進(jìn)行所在大、小扇區(qū)的位置判斷,計算出各基本矢量的作用時間,進(jìn)而對6個比較寄存器進(jìn)行賦值,得到12路脈沖信號。該算法的編寫與S-函數(shù)編寫的SVPWM完全一致,故可直接移植使用。圖9(b)給出了中斷程序流程框圖。圖10給出由DSP產(chǎn)生的開關(guān)頻率為5 kHz、死區(qū)時間為 4 us 時的實驗波形。
圖9 程序流程圖
圖10 實驗波形
本文在分析二極管箝位三電平逆變器主電路的基礎(chǔ)上,給出了非正交坐標(biāo)系下SVPWM 算法,以TI TMS320F28335 DSP產(chǎn)生三電平SVPWM算法為參考,采用基于C-MEX的S函數(shù)構(gòu)建的MATLAB-Function進(jìn)行建模,并將C語言編寫的SVPWM算移植到DSP上進(jìn)行實現(xiàn)。結(jié)果驗證了基于S-函數(shù)編寫SVPWM算法進(jìn)行搭建三電平逆變器系統(tǒng)的正確性。仿真模型簡潔、高效,為三電平逆變器實際系統(tǒng)進(jìn)行SVPWM算法的開發(fā)提供了參考依據(jù)。
[1]李寧,王躍,雷萬鈞,等.三電平NPC變流器SVPWM策略與SPWM策略的等效關(guān)系研究[J].電網(wǎng)技術(shù),2014,38(5):1283-1290.
[2]吳強(qiáng),袁慶慶,王釗,等.低開關(guān)頻率下三電平同步對稱SVPWM算法實現(xiàn)[J].電氣傳動,2015,45(4):50-53.
[3]牟文靜,盧曉,魯金升,等.60°坐標(biāo)系下三電平逆變器SVPWM的關(guān)鍵問題[J]. 電力科學(xué)與工程,2016,32(7):1-6.
[4]趙輝,李瑞,王紅君,等.60°坐標(biāo)系下三電平逆變器SVPWM方法的研究[J].中國電機(jī)工程學(xué)報,2008,28(24):39-43.
[5]張朝藝,阮毅,劉旭.一種三電平逆變器SVPWM簡易控制算法[J].電機(jī)與控制應(yīng)用,2009,36(8):19-23.
[6]宋飛,林樺.基于SVPWM的三電平逆變器仿真研究[J].船電技術(shù),2005,25(2):33-35.
[7]趙戰(zhàn)國,郝平.S函數(shù)在SVPWM變頻器仿真中的應(yīng)用研究[J].煤礦機(jī)電,2013 (3):45-46.
[8]趙強(qiáng),趙仁德,王平.基于C MEX S-函數(shù)的SVPWM仿真研究[J].大功率變流技術(shù),2008(5):1-4.
[9]武瓊,漆星,王群京,等.基于DSP代碼自動生成的SVPWM算法的研究[J].電氣傳動,2013,43(10)32-35.
[10]鄧元實,易慧斌,郭育華.基于S函數(shù)的三電平逆變器SVPWM調(diào)制的仿真實現(xiàn)[J].機(jī)車電傳動,2010(4):28-30.
[11]高輝.基于轉(zhuǎn)子磁鏈定向矢量控制三電平變頻器的設(shè)與研究[D].沈陽:東北大學(xué),2012:15-26.
Study of Three-level SVPWM Algorithm for 60° Coordinate System Based on S-function
LU Jinsheng, CHEN Xiaolin, WANG Ruoyu, LIU Jian
(College of Electrical Engineering and Automation, Shandong University of Science and Technology, Qingdao 266590, China)
In order to simplify the calculation of the traditional three-level SVPWM, and improve the simulation efficiency for the practical system, by using the TI TMS320F28335DSP to achieve three-level SVPWM algorithm as a reference, a three-level inverter SVPWM algorithm on a non-orthogonal coordinate system is studied in this paper. Combining the model of three-level inverter built by Simulink and simulation algorithm written by S-function, the SVPWM program written by C language is implemented in DSP in addition. It simplifies the calculation and hence improves the efficiency of the simulation. The results are verified through the SVPWM algorithm written by the S-function, which provides the basis for the hardware design of three-level inverter SVPWM algorithm.
three-level inverter; space vector pulse width modulation; S-function; DSP
10.3969/j.ISSN.1672-0792.2017.03.007
2016-09-12。
TM464
A
1672-0792(2017)03-0036-06
魯金升(1990-),男,碩士研究生,從事電力電子與電氣傳動等方面的研究工作。