摘 要:目前絕大多數(shù)的正弦脈寬調(diào)制(SPWM)波的仿真仍采用模擬方式實現(xiàn)。為了便于數(shù)字化控制系統(tǒng)中SPWM波的仿真,在此基于SPWM波的產(chǎn)生機理,在PSIM仿真環(huán)境下,結(jié)合VISUAL C++開發(fā)了純數(shù)字實現(xiàn)的SPWM波通用仿真模型。利用該模型,可以任意仿真不同載波頻率,調(diào)制波頻率,死區(qū)時間及調(diào)制比下的雙極性SPWM波。最后,以全橋逆變電路中常見的死區(qū)效應(yīng)分析為例,利用該模型搭建仿真電路進行了仿真分析。仿真結(jié)果表明了該模型的正確性和合理性。關(guān)鍵詞:SPWM; PSIM仿真; Matlab; 死區(qū)效應(yīng)
中圖分類號:TN919-34文獻標(biāo)識碼:A
文章編號:1004-373X(2010)22-0187-04
Study on Versatile Simulation Model for Digital SPWM with Dead-time Function
ZHENG Bi-wei1, CUI Fu-jun2, CAI Feng-huang1,2, WANG Wu1,2
(1. College of Electrical Engineering and Automation, Fuzhou University, Fuzhou 350108, China;
2. Zhangzhou Kehua Technology Co. Ltd., Zhangzhou 363000, China)
Abstract: The simulation of the majority sinusoidal pulse-width modulation (SPWM) waveform is implemented in analog mode at present. For convenience of SPWM waveform simulation in digital control system, a versatile simulation model implemented with pure digit for SPWM wave is developed in PSIM simulation environment based on the generation mechanism of SPWM waveform. By the model, the bipolar SPWM waveform can be simulated arbitrarily at any different carrier frequency, modulating frequency, dead time and modulation ratio. taking the analysis of common dead-time effect in FB DC-AC circuit for example, a simulation circuit built with this model is utilized for analysis. The simulation results show the correctness and rationality of the model. Keywords: SPWM; PSIM simulation; Matlab; dead-time effect
0 引 言
近幾十年,隨著電力電子技術(shù)的迅猛發(fā)展,各式的電子仿真軟件也爭相出現(xiàn),仿真技術(shù)日益成熟,仿真不僅可以縮短電力電子設(shè)備的研發(fā)時間,提高研發(fā)效率,還能節(jié)約大比的研發(fā)資金,達到事半功倍的效果。
脈寬調(diào)制(PWM)技術(shù)是利用半導(dǎo)體器件的導(dǎo)通與關(guān)斷把直流電壓變成電壓脈沖列,并通過控制脈沖寬度或周期以達到改變電壓的目的,從而使需要的輸出電壓在不同負載下或變化的輸入電壓下保持恒定[1]。得益于電力電子技術(shù)的發(fā)展,PWM技術(shù)也更為廣泛地應(yīng)用于各于領(lǐng)域。正弦脈寬調(diào)制(SPWM)技術(shù)可算是PWM技術(shù)的一個特例,在各種逆變電源中,為了得到更高精度的正弦輸出波形,廣泛地運用著SPWM技術(shù),SPWM實現(xiàn)方法很多,早期通常用模擬方法實現(xiàn),這幾年,隨著數(shù)字技術(shù)的日益成熟,數(shù)字SPWM逐漸替代常規(guī)的模擬SPWM成為一項非常熱門的SPWM實現(xiàn)方法[2]。
對于實際中用數(shù)字SPWM實現(xiàn)控制的系統(tǒng)的軟件仿真上,許多文章仍以模擬方式來實現(xiàn),即用一個三角波發(fā)生源和一個正弦波發(fā)生源來比較產(chǎn)生SPWM信號,這種方法可以大致仿真出整個電路所起的效果,但是對軟件編寫者來說卻要花很多時間在電路的搭建及參數(shù)調(diào)整上,而最終搭出來的模擬仿真電路卻又跟實際的數(shù)字電路相差甚遠。Matlab\\Simulink等部分仿真軟件有可以直接利用的SPWM波發(fā)生模塊,但這些模塊通常參數(shù)是固定的,也就是說仿真初始化設(shè)定了一些SPWM參數(shù)后,在仿真開始之后便無法根據(jù)系統(tǒng)的需要來改變這些參數(shù),這樣使得這些模塊對實際中需要對SPWM波的輸出進行閉環(huán)控制的電路的仿真上應(yīng)用意義不大,另外由于仿真軟件通常都將開關(guān)器件等理想化,所以通常這些軟件自帶的SPWM模塊都缺乏死區(qū)單元設(shè)置,使得仿真結(jié)果跟實際帶死區(qū)的SPWM波控制系統(tǒng)產(chǎn)生的結(jié)果卻又有一定的差距。
本文研究了SPWM在仿真軟件上的數(shù)字實現(xiàn),基于PSIM仿真軟件建立了SPWM數(shù)字發(fā)生模塊,該模塊可以實現(xiàn)載波頻率,調(diào)制波頻率以及死區(qū)時間,調(diào)制比的外部輸入,以此來產(chǎn)生標(biāo)準(zhǔn)的SPWM波,為了驗證模塊的正確性和可用性,最后采用該模塊對單相電壓型全橋SPWM逆變器的死區(qū)效應(yīng)進行了簡單仿真研究。
1 SPWM的實現(xiàn)
常規(guī)模擬SPWM的實現(xiàn)是將標(biāo)準(zhǔn)正弦波和三角波進行比較來確定功率開關(guān)點的開關(guān)時刻。數(shù)字化SPWM實現(xiàn)是通過CPU內(nèi)部計算直接產(chǎn)生需要的PWM波形輸出。目前常用的數(shù)字化SPWM實現(xiàn)方法主要有規(guī)則采樣法,自然采樣法,等效面積法以及特定諧波消除法等,不同的方法有著各自不同的優(yōu)缺點。另外SPWM驅(qū)動又可分為單極性驅(qū)動和雙極性驅(qū)動,不同的驅(qū)動方式適用的場合也各不相同。由于本文主要研究的是SPWM仿真的數(shù)字實現(xiàn),對其優(yōu)缺點的說明就不具體展開,具體可以參照文獻[3]。為了方便說明,在SPWM的驅(qū)動上選擇的是常用的雙極性驅(qū)動,數(shù)字實現(xiàn)方法采用對稱規(guī)則采樣法。其他方法可以參照本文方法進行。對稱規(guī)則采樣法是在一個三角載波周期內(nèi),只利用三角波的一個峰值點或谷值點所對應(yīng)的正弦函數(shù)值來求取脈沖,其實現(xiàn)方式如圖1所示。在圖1中,以Ur,Uc分別表示調(diào)制波和載波幅值,若Uc=1,則調(diào)制度即為正弦波的幅值,即m=Ur,由圖1的幾何關(guān)系可得出,一個載波周期(Tc)內(nèi)的脈寬時間(ton)為:
ton=(Tc)/2[1+msin(wrtd)](1)
圖1 對稱規(guī)則采樣法
2 PSIM仿真軟件及數(shù)字SPWM仿真模塊建立
2.1 PSIM軟件簡介
PSIM是由美國的Powersim公司開發(fā)的面向電力電子技術(shù)的仿真軟件,適合電力電子電路和系統(tǒng)的仿真軟件很多,但是PSIM具有其獨特的優(yōu)勢和特點:PSIM的仿真時間步長是固定的,所以不容易出現(xiàn)開關(guān)動作時的不收斂問題,可以進行快速仿真;用于電力電子專用的模型庫很豐富,可以搭建同實際電路同樣的電路模型;可以搭建模擬和數(shù)字電路混合的控制電路;半導(dǎo)體器件都采用的是理想開關(guān)[4]。另外,PSIM有別于一般的電力電子仿真軟件很好的一點是外置了DLL功能塊(動態(tài)鏈接庫),允許用戶用C語言或C++或FORTRAN語言編程,用Microsoft C或C++,Borland C++或Digital Visual Fortran 來匯編,并用 PSIM 連接起來,這些功能塊可用于電力電路和控制電路中。PSIM最大的缺點是數(shù)據(jù)處理能力不夠強大,包括繪圖功能等,但PSIM提供了與Matlab的接口,通過內(nèi)置的控件可以方便地將PSIM與Matlab連接起來,這使得可以充分利用PSIM在功率仿真方面的能力和Matlab/Simulink在控制仿真方面的能力。基于以上的特點使得PSIM更適合于進行功率電路分析設(shè)計和控制回路的設(shè)計[5]。
2.2 基于PSIM數(shù)字SPWM仿真模塊建立
基于前面介紹的SPWM波的實現(xiàn)方法,在PSIM仿真環(huán)境下,運用DLL功能塊,結(jié)合Microsoft visual C++進行編程,建立了數(shù)字SPWM波的通用仿真模塊。圖2為數(shù)字SPWM仿真模型的封裝圖,其中,spwm.dll表示該模型要調(diào)用的動態(tài)鏈接庫文件,該文件由Microsoft visual C++編程產(chǎn)生,主要用來進行SPWM波脈寬的數(shù)字計算和輸出,fc,fr,Td,Modu則分別表示外部輸入給模塊要產(chǎn)生的SPWM波的載波頻率,調(diào)制波頻率、死區(qū)時間及調(diào)制比。Driver1和Driver2則分別表示由該模塊產(chǎn)生的具有Td死區(qū)時間的兩路SPWM驅(qū)動信號。該模塊的實現(xiàn)步驟如下:
(1) DLL文件生成。根據(jù)式(1),利用Microsoft visual C++對SPWM波的實現(xiàn)方式進行編程,具體流程圖如圖3所示,流程圖中count,Ncount,Ncount_dead分別表示脈寬時間計數(shù)值、載波周期計數(shù)值及死區(qū)時間的計數(shù)值,F(xiàn)lag_cal_next是當(dāng)前脈寬計數(shù)是否結(jié)束的標(biāo)志位,Npulse,Npulse_next則分別表示當(dāng)前載波周期的脈寬計數(shù)值及下一周期的脈寬計數(shù)值,gating1,gating2分別表示要輸出的驅(qū)動信號。編程完成并順利編譯通過后,將會產(chǎn)生一個我們需要的DLL文件。
圖2 數(shù)字SPWM仿真模塊的封裝
(2) PSIM下鏈接DLL文件。在PSIM仿真環(huán)境中,選取Elements\\other\\Function Blocks下的DLL模塊,由于PSIM的DLL模塊的引腳不能自由定義,只能選擇系統(tǒng)自帶的幾種固定引腳數(shù)的DLL模塊,為了滿足輸入輸出需要,選擇6輸入6輸出的DLL模塊。將(1)中產(chǎn)生的DLL文件拷到PSIM的當(dāng)前工作目錄,雙擊模塊,在File Name欄中輸入DLL文件的全名,便完成了DLL文件與DLL模塊的鏈接。
圖3 VC++數(shù)字SPWM脈寬計算及輸出程序流程圖
(3) 模塊輸入輸出定義。選擇DLL模塊的前4個輸入端,分別作為載波頻率,調(diào)制波頻率以及死區(qū)時間,調(diào)制比的輸入接口,選擇模塊的前2個輸出端口作為輸出兩路驅(qū)動的輸出接口,對沒用到的端口,需要將其接地。為了方便最后的模塊實現(xiàn)效果分析,本文將模塊與Matlab相連接,選擇Elements\\Control\\SimCoupler Module下的In Link Node模塊,分別加在4個輸入端口上,選擇Out Link Node模塊,分別加在2個輸出端口上,這樣,一個完整的PSIM仿真環(huán)境下的數(shù)字SPWM模塊便建立完成。
3 數(shù)字SPWM仿真模塊在逆變系統(tǒng)仿真中的應(yīng)用
把上述的數(shù)字SPWM仿真模塊用于單相電壓型全橋SPWM逆變器的死區(qū)效應(yīng)分析仿真中,建立的PSIM全橋逆變仿真電路如圖4(a)所示,在Matlab\\Simulink仿真環(huán)境下,利用Simcoupler Module模塊與PSIM進行數(shù)據(jù)連接,Matlab的仿真模型如圖4(b)所示。
設(shè)定Matlab\\Simulink仿真模型中SimCoupler_SPWM模塊的輸入載波頻率fc=20 kHz,調(diào)制波頻率fr=50 Hz,死區(qū)時間Td分別為0 s,2 μs,調(diào)制比為0.9,仿真結(jié)果如圖5和6所示。從仿真結(jié)果可以看出,死區(qū)時間為0時,輸出電壓的理想波形主要是基波分量,其他一些高次諧波可以忽略不計,死區(qū)時間的加入使得輸出電壓波形在過零處產(chǎn)生了“交越失真”,產(chǎn)生了很多的附加諧波,低次諧波全為奇次諧波,THD變大,因此,死區(qū)效應(yīng)對SPWM逆變器的影響不可忽略,實際應(yīng)用中常采用一些死區(qū)補償措施[6]。
圖4 PSIM及Matlab/Simulink仿真模型
圖5 無死區(qū)時的仿真結(jié)果
4 結(jié) 語
正弦脈寬調(diào)制(SPWM)在電力電子各個領(lǐng)域運用越來越廣泛,隨著數(shù)字芯片的發(fā)展和普及,基于DSP或單片機等芯片的數(shù)字SPWM也越來越多地得到推廣和應(yīng)用,本文根據(jù)SPWM波的產(chǎn)生機理,提出一種基于PSIM仿真軟件的數(shù)字SPWM產(chǎn)生方法,相對其他一些模塊可編程的軟件,如Matlab\\Simulink等。
圖6 加入0.2 μs死區(qū)時的仿真結(jié)果
該方法運用Microsoft visual C++軟件來編程,算法經(jīng)仿真電路仿真調(diào)整后,最后的源程序只需少許修改便可直接運用到實際電路中以C或C++語言來編程的控制芯片中,不僅大大減少了軟件開發(fā)者的工作,而且仿真電路跟實際電路更為接近,仿真結(jié)果也更加接近實際結(jié)果。
該模塊以產(chǎn)生雙極性SPWM波,只需將軟件少許修改,便可產(chǎn)生單極性SPWM波等,方法類似。 另外,對需要用到數(shù)字閉環(huán)的場合,只需往程序里添加數(shù)字閉環(huán)程序,便可輕松地實現(xiàn)數(shù)字閉環(huán)仿真應(yīng)用極為廣泛。
參考文獻
[1]張芳.正弦脈寬調(diào)制(SPWM)算法技術(shù)的研究[J].火控雷達技術(shù),2008(4):105-107.
[2]彭力,張凱,康勇,等.數(shù)字控制PWM逆變器性能分析及改進[J].中國電機工程學(xué)報,2006,26(18):65-70.
[3]李剛,艾良.基于SPWM的正弦波設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2008,31(13):154-155.
[4]野村弘,藤原憲一郎,吉田正伸.使用PSIMTM學(xué)習(xí)電力電子技術(shù)基礎(chǔ)[M].胡金庫,賈要勤,王兆安,譯.西安:西安交通大學(xué)出版社,2009.
[5]KAMIRISK B,WEJRZANOWSKIK,KOCZARA W.An application of PSIM simulation software for rapid prototyping of DSP based power electronics control systems [C]//IEEE 35th Annual of Power Electronics Specialists Conference. Poland: PESC,2004, 1: 336-341.
[6]梁希文,蔡麗娟.逆變器死區(qū)效應(yīng)傅里葉分析與補償方法[J].電力電子技術(shù),2006,40(6):118-120.
[7]林呈輝,楊洪耕,袁鋒.基于調(diào)制分量卡爾曼濾波的短時擾動檢測[J].電網(wǎng)與清潔能源,2008,24(5):15-20.
[8]章偉康,褚君浩,章聞曦.單級式光伏逆變研究與MPPT方法 [J].電網(wǎng)與清潔能源,2009,25(11):7-12.