譚維勝, 王 輝, 黃 慶, 潘小清
(湖南大學(xué)電氣與信息工程學(xué)院,湖南長沙 410082)
基于FPGA的五電平逆變器SVPWM算法的實(shí)現(xiàn)
譚維勝, 王 輝, 黃 慶, 潘小清
(湖南大學(xué)電氣與信息工程學(xué)院,湖南長沙 410082)
介紹了一種新型的五電平逆變器電壓空間矢量脈寬調(diào)制(SVPWM)算法,該算法中不含復(fù)雜的三角函數(shù)運(yùn)算,因此便于利用FPGA實(shí)現(xiàn)。設(shè)計(jì)了一種基于DSP和FPGA的硬件控制電路,其中FPGA主要用于實(shí)現(xiàn)SVPWM算法。給出了該算法利用FPGA實(shí)現(xiàn)的具體方法和步驟,并且利用Quartus II軟件對該算法進(jìn)行了仿真和實(shí)驗(yàn)驗(yàn)證。仿真和實(shí)驗(yàn)結(jié)果與理論計(jì)算相符,驗(yàn)證了本設(shè)計(jì)是正確且有效的。
空間矢量脈寬調(diào)制(SVPWM);五電平逆變器;FPGA
近年來,在中、高壓大容量變頻調(diào)速器和電力有源濾波器大量應(yīng)用的促使下,多電平逆變器已成為當(dāng)前電力電子技術(shù)中備受人們關(guān)注的重要研究熱點(diǎn),受到了社會的廣泛關(guān)注。
對于電平數(shù)大于3的多電平逆變器,通常其需要的PWM控制信號大于12路,如本文所用到的中點(diǎn)箝位H橋五電平逆變器需要24路PWM控制信號。因此單獨(dú)使用DSP芯片已經(jīng)不能夠滿足控制要求,目前國內(nèi)外學(xué)者多采用DSP+FPGA的結(jié)構(gòu)來實(shí)現(xiàn)多電平逆變器的控制[1-2]。本文也采用DSP+FPGA這種控制系統(tǒng)電路結(jié)構(gòu),其中FPGA主要用于實(shí)現(xiàn)五電平逆變器SVPWM調(diào)制算法。本文使用了一種新型的SVPWM算法來實(shí)現(xiàn)中點(diǎn)箝位H橋五電平逆變器PWM調(diào)制,該算法能夠有效地消除矢量突變,且不含復(fù)雜的三角函數(shù)運(yùn)算[3]。由于FPGA具有設(shè)計(jì)靈活、開發(fā)周期短、可靠性高、純硬件并行處理等優(yōu)勢[4-5],因此本文采用FPGA來實(shí)現(xiàn)五電平逆變器SVPWM算法。
本文中五電平逆變器的拓?fù)浣Y(jié)構(gòu)為中點(diǎn)箝位H橋五電平電壓型逆變器,其拓?fù)潆娐啡鐖D1所示。
圖1 中點(diǎn)箝位五電平H橋逆變器的拓?fù)浣Y(jié)構(gòu)
從圖1可以看出中點(diǎn)箝位H橋五電平逆變器是由三個(gè)3H橋構(gòu)成,每相可以輸出-2E、-E、0、E、2E五種電平(其中E為dc/2,dc為直流端電壓),3H橋輸出的五種電平與各個(gè)開關(guān)器件的關(guān)系如表1所示。常規(guī)的五電平逆變器輸出的五種電平為dc/2、dc/4、0、-dc/4、-dc/2,因此這種拓?fù)浣Y(jié)構(gòu)與常規(guī)的五電平逆變器相比,在直流母線電壓相同的情況下可以獲得更高的輸出電壓。
表1 3H橋輸出五種電平時(shí)各個(gè)開關(guān)的狀態(tài)
本文采用DSP+FPGA這種結(jié)構(gòu)作為控制系統(tǒng)電路,其中FPGA主要用于實(shí)現(xiàn)SVPWM調(diào)制算法。通常在SVPWM算法中,其輸入信號為采樣時(shí)間s,直流母線電壓dc以及參考電壓(refα,refβ),這些信號均由DSP經(jīng)數(shù)據(jù)總線發(fā)送給FPGA。DSP和FPGA通過地址總線、數(shù)據(jù)總線以及控制總線相互連接,其接口電路如圖2所示。
圖2 DSP與FPGA接口電路
圖2中的DSP和FPGA接口電路可以實(shí)現(xiàn)雙向數(shù)據(jù)傳輸,控制總線中CS為選通信號,其有效表示與FPGA進(jìn)行通信;WE、RD、R/W分別為寫信號、讀信號和讀寫選擇信號;DSP的CLKOUT與FPGA進(jìn)行連接可用于為FPGA提供同步時(shí)鐘信號;另外DSP還可響應(yīng)來自FPGA的外部中斷以及可通過FPGA對DSP進(jìn)行復(fù)位操作。
圖3 五電平逆變器SVPWM算法實(shí)現(xiàn)框圖
五電平逆變器SVPWM算法主要包括扇區(qū)判斷模塊、扇區(qū)歸一模塊、小三角形區(qū)域判斷模塊、矢量作用時(shí)間計(jì)算模塊,輸出電壓矢量控制信號生成模塊、三相電壓矢量輸出模塊等。五電平逆變器SVPWM算法實(shí)現(xiàn)框圖如圖3所示,下面將分別介紹各個(gè)模塊的原理及其FPGA實(shí)現(xiàn),這些算法全部利用VHDL語言實(shí)現(xiàn)。
3.1 扇區(qū)判斷和扇區(qū)歸一
要實(shí)現(xiàn)SVPWM調(diào)制,首先要判斷出參考電壓所在的扇區(qū)。扇區(qū)的判斷是根據(jù)3條規(guī)則來確定的,這3條規(guī)則及其與各扇區(qū)的對應(yīng)關(guān)系如表2所示。
表2 扇區(qū)判斷規(guī)則及其與扇區(qū)的對應(yīng)關(guān)系
由表2可以看出,根據(jù)參考電壓的值可以很輕松地判斷出參考電壓所在扇區(qū)。判斷出參考電壓ref0所在扇區(qū)后,再進(jìn)行扇區(qū)旋轉(zhuǎn)歸一,扇區(qū)旋轉(zhuǎn)歸一公式如下:
當(dāng)參考電壓不是位于第1扇區(qū)時(shí),通過利用上述公式進(jìn)行歸一化處理,在接下來的小三角形區(qū)域判斷及時(shí)間計(jì)算都可以將其當(dāng)作位于第1扇區(qū)來進(jìn)行處理,這樣可以大大簡化計(jì)算。
利用VHDL語言容易編程實(shí)現(xiàn)扇區(qū)判斷和扇區(qū)歸一,編程設(shè)置三個(gè)比較器,通過三個(gè)比較器的輸出值可以很容易判斷出參考電壓所在扇區(qū)。判斷出參考電壓所在扇區(qū)后,就可以將參考電壓進(jìn)行歸一化處理,雖然在歸一化處理中含有三角函數(shù)運(yùn)算,但是由于角度值為常數(shù),所以三角函數(shù)值也為定值。這其中涉及到小數(shù)運(yùn)算,為了不給FPGA帶來太大的負(fù)擔(dān),采用先乘后除的方法來表示小數(shù),如可用1 732/1 000來代替。當(dāng)其他值與相乘時(shí),為了提高計(jì)算進(jìn)度可將除以1 000放在最后。
3.2 小三角形區(qū)域判斷
圖4 五電平逆變器第一扇區(qū)的空間矢量圖
五電平逆變器位于第一扇區(qū)的空間電壓矢量圖如圖4所示,從五電平逆變器的空間電壓矢量圖中可以看出其每個(gè)扇區(qū)都含有16個(gè)小三角形區(qū)域。本文中小三角形區(qū)域的判斷采用文獻(xiàn)[3]中所述方法,即利用十二條規(guī)則來判斷參考電壓所在位置,文獻(xiàn)[3]中還給出了16個(gè)小三角形區(qū)域與這十二條規(guī)則的對應(yīng)關(guān)系。
小三角形區(qū)域判斷的FPGA實(shí)現(xiàn)與扇區(qū)判斷相同,只需根據(jù)十二條規(guī)則設(shè)置相應(yīng)個(gè)數(shù)的比較器。根據(jù)比較器的輸出值即可得到這十二條規(guī)則的真?zhèn)?,然后再根?jù)這十二條規(guī)則與小三角形區(qū)域的對應(yīng)關(guān)系判斷出參考電壓所在小三角形區(qū)域。
3.3 矢量作用時(shí)間的計(jì)算
每一次采樣所得到的參考電壓必定落在某一個(gè)小三角形區(qū)域中,而每個(gè)小三角形的三個(gè)頂點(diǎn)對應(yīng)著三個(gè)不同的矢量,參考電壓便可以由這三個(gè)矢量合成。合成原則由伏秒平衡公式給出,伏秒平衡公式如下:
假設(shè)參考電壓落在10號小三角形區(qū)域中,由伏秒平衡公式可計(jì)算出三矢量作用時(shí)間分別為:式中:=2dc/3。當(dāng)參考電壓落在其他小三角形區(qū)域時(shí)也可以根據(jù)伏秒平衡公式計(jì)算出各矢量的作用時(shí)間。
在用VHDL語言實(shí)現(xiàn)矢量作用時(shí)間計(jì)算中,要先辨別參考電壓所在的小三角區(qū)域號的值,然后再根據(jù)的值選擇相應(yīng)的公式計(jì)算出a、b、c的值。在計(jì)算中為了提高計(jì)算精度,一般將除法放在最后,但是在前面的乘法計(jì)算中有可能超出integer的數(shù)值范圍(-231~231),所以要根據(jù)參考電壓的值來對除的位置做相應(yīng)的調(diào)整。
3.4 七段式三相電壓矢量輸出控制信號的生成
本文采用七段式矢量輸出作用順序,兩相鄰三角形矢量輸出順序采用正反循環(huán)的方法,起始矢量采用小三角形中編號最小的那個(gè)矢量。七段式矢量輸出中各段作用時(shí)間分別為/3-/2-/2-/3-/2-/2-/3(扇區(qū)號為奇數(shù))或/3-/2-/2-/3-/2-/2-/3(扇區(qū)號為偶數(shù))。
在FPGA中,為了簡化設(shè)計(jì),調(diào)制波采用鋸齒波,如此則只需加計(jì)數(shù)。用VHDL語言設(shè)計(jì)一個(gè)加法計(jì)數(shù)器,從0計(jì)到20 833,在每一個(gè)基準(zhǔn)時(shí)鐘的上升沿來臨時(shí)計(jì)數(shù)器加1,且不斷地與三矢量作用時(shí)間進(jìn)行比較,將三矢量作用時(shí)間a、b、c分為7段,生成范圍為1到7的七段式矢量輸出控制信號n。七段式矢量輸出控制信號n的每一個(gè)值的時(shí)間長度對應(yīng)相應(yīng)電壓矢量的作用時(shí)間(n與七段式輸出適量的對應(yīng)關(guān)系如圖5所示)。為了實(shí)現(xiàn)FPGA與DSP同步,在DSP每次發(fā)送新的參考電壓數(shù)據(jù)給FPGA的同時(shí),將計(jì)數(shù)器清零。
3.5 三相電壓矢量的輸出
三相電壓矢量的輸出是根據(jù)前面計(jì)算出來的扇區(qū)N、小三角型區(qū)域n以及三相矢量輸出控制信號Tn的值,利用case語句來選擇所要輸出的三相電壓矢量。得到三相電壓矢量后,再加上解碼和死區(qū)時(shí)間控制就可以得到24路PWM波信號。
圖5 七段式矢量輸出作用順序及其輸出控制信號
為了驗(yàn)證本文中所述五電平逆變器SVPWM算法的正確性,本文在Quartus II 9.0軟件環(huán)境下利用VHDL語言對SVPWM算法中各模塊進(jìn)行了編程及編譯仿真。仿真結(jié)果如圖6所示。為了更直觀地表明仿真結(jié)果的正確性,沒有直接給出24路PWM信號波形,而是給出了三相電壓矢量Sa、Sb、Sc,扇區(qū)號N,小三角形區(qū)域號n等。
圖6 三相電壓矢量仿真結(jié)果
從圖6(a)中給出的40 ms的三相電壓矢量可以看出三相矢量輸出信號Sa、Sb、Sc相位相差120°,且按一定規(guī)律變化,變化周期為20 ms,與給定參考電壓的頻率50 Hz相符;扇區(qū)從0變化到5,分別對應(yīng)1到6扇區(qū)。另外從圖6(b)中可以看出,在每一個(gè)扇區(qū)中,其對應(yīng)輸出的小三角形編號分別為9、A、B、D、E、F(分別對應(yīng)圖1中的10、11、12、14、15、16),通過這些小三角形區(qū)域編號對應(yīng)時(shí)間的長短,我們可以判斷出在每一扇區(qū)采樣的8個(gè)數(shù)據(jù),落在9、A、E、F區(qū)域的各有1個(gè)數(shù)據(jù),而B、D區(qū)域則各包含有2個(gè)數(shù)據(jù)。通過以上分析,可以斷定仿真結(jié)果是正確的。
為了進(jìn)一步驗(yàn)證本設(shè)計(jì)的正確性,本文將利用VHDL語言編寫的SVPWM算法程序下載到FPGA實(shí)驗(yàn)板中進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖7所示。實(shí)驗(yàn)所采用的FPGA芯片為A1tera公司的cycloneⅡ系列FPGA EP2C8Q208C8,該芯片擁有8 000多個(gè)邏輯單元,完全能夠滿足實(shí)驗(yàn)要求。圖7給出的為A相矢量Sa輸出結(jié)果,通過與圖6(a)的仿真結(jié)果進(jìn)行比較可以看出仿真和實(shí)驗(yàn)結(jié)果基本一致。
圖7 實(shí)驗(yàn)結(jié)果
本文介紹了一種新型的五電平逆變器的SVPWM算法,該算法通過優(yōu)化七段式矢量作用次序以實(shí)現(xiàn)有效地消除矢量突變,且不含復(fù)雜的三角函數(shù)運(yùn)算,所以便于硬件實(shí)現(xiàn)。本文采用FPGA來實(shí)現(xiàn)該算法,并利用Quartus II軟件和VHDL語言對該算法進(jìn)行了編程和仿真,并最終將通過編譯的程序下載到A1tera公司的cycloneⅡ系列FPGA EP2C8Q208C8芯片進(jìn)行實(shí)驗(yàn)。仿真和實(shí)驗(yàn)所得到的結(jié)果與理論分析相符,驗(yàn)證了本文SVPWM算法的正確性,同時(shí)也表明本文采用FPGA實(shí)現(xiàn)該SVPWM算法是可行的。
[1]何國軍,陳維榮,劉小強(qiáng),等.基于DSP與FPGA的運(yùn)動(dòng)控制器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2009,39(7):35-37.
[2]任晶,夏加寬,沈麗.基于DSP和FPGA的多相變頻控制器的設(shè)計(jì)與實(shí)現(xiàn)術(shù)[J].電子技術(shù)應(yīng)用,2012,38(3):23-26.
[3]王輝,譚維勝,瞿超杰.中點(diǎn)鉗位H橋五電平逆變器空間矢量脈寬調(diào)制方法研究[J].湖南大學(xué)學(xué)報(bào):自然科學(xué)版,2012,39 (4):42-47.
[4]祁超,王慶章,趙耀,等.基于FPGA的三相SVPWM調(diào)制算法的實(shí)現(xiàn)[J].南開大學(xué)學(xué)報(bào):自然科學(xué)版,2011,44(4):26-30.
[5]朱洪順,符曉,戴鵬.基于FPGA的三電平SVPWM新型算法的實(shí)現(xiàn)[J].電氣傳動(dòng),2011,41(11):29-31.
Implement of five-level inverter SVPWM algorithm based on FPGA
A novel algorithm of space vector pulse width modulation(SVPWM)for five-level inverter,without contain complex trigonometric function calculation,was introduced.Then FPGA was used.A control circuit based on DSP and FPGA was designed,and the FPGA was used to implement the SVPWM algorithm.The implementation approachs and concrete steps for the algorithm by used of FPGA were given,and the Quartus II software was used to simulated and experimental for the algorithm.The simulation and experimental results were consistent with the theoretical calculation,it showed that the design was correct and effective.
space vector pulse width mdulation(SVPWM);five-level inverter;FPGA
TM 464
A
1002-087 X(2015)10-2240-04
2015-03-17
國家國際科技合作項(xiàng)目(2011DFA62240);湖南省國際科技合作項(xiàng)目(2011WK2012)
譚維勝(1987—),男,湖南省人,碩士生,主要研究方向?yàn)殡娏﹄娮优c電力傳動(dòng)。