本發(fā)明涉及電力電子技術(shù)領(lǐng)域,尤其是光伏逆變器開發(fā)研究領(lǐng)域,具體的說(shuō)是一種基于模型設(shè)計(jì)開發(fā)的光伏逆變器控制系統(tǒng)與方法。
背景技術(shù):
近年來(lái),由于全球能源緊缺與環(huán)境污染等問(wèn)題的影響,光伏發(fā)電引起了各國(guó)政府的重視。光伏發(fā)電系統(tǒng)主要由光伏組件,光伏逆變器以及用電計(jì)量和配電系統(tǒng)組成。光伏組件利用光電效應(yīng)將光能轉(zhuǎn)換成直流電能,必須通過(guò)直流電轉(zhuǎn)換成交流電的轉(zhuǎn)換設(shè)備——光伏逆變器實(shí)現(xiàn)將光伏發(fā)電接入到電網(wǎng)及相應(yīng)的負(fù)載。光伏逆變器作為光伏陣列與電網(wǎng)的能量變換接口裝置,是光伏發(fā)電系統(tǒng)組成的核心部件,其控制系統(tǒng)必須同時(shí)具備調(diào)節(jié)光伏陣列輸出功率以及控制逆變器并網(wǎng)電流的功能,可靠穩(wěn)定的控制系統(tǒng)對(duì)光伏逆變器至關(guān)重要。
光伏逆變器控制系統(tǒng)的開發(fā)設(shè)計(jì)一般首先在MATLAB/Simulink軟件中進(jìn)行仿真研究,對(duì)控制算法進(jìn)行正確性驗(yàn)證,當(dāng)仿真結(jié)果滿意時(shí)再把算法改成C語(yǔ)言代碼在DSP控制芯片上實(shí)現(xiàn),完成編程、編譯、調(diào)試等步驟。將仿真模型改寫為C語(yǔ)言編寫的DSP代碼將花費(fèi)較多時(shí)間,同時(shí)可能由于人工編寫算法代碼錯(cuò)誤、DSP寄存器配置不正確、算法在使用DSP實(shí)現(xiàn)時(shí)數(shù)據(jù)精度、量化誤差有別于MATLAB等原因造成仿真算法無(wú)法在DSP中復(fù)現(xiàn),使開發(fā)人員花費(fèi)大量精力進(jìn)行代碼修改及調(diào)試,影響開發(fā)速度。
技術(shù)實(shí)現(xiàn)要素:
為提高光伏逆變器的魯棒性,縮短光伏逆變控制系統(tǒng)的開發(fā)周期、降低成本,本發(fā)明提供一種基于模型設(shè)計(jì)開發(fā)的光伏逆變器控制系統(tǒng)與方法,引入模糊控制器,將控制系統(tǒng)Simulink模型直接自動(dòng)生成DSP控制代碼,燒寫到DSP控制芯片中,完成從概念構(gòu)思到代碼實(shí)現(xiàn)的整個(gè)過(guò)程,縮短從仿真到編程調(diào)試的開發(fā)周期。
本發(fā)明為實(shí)現(xiàn)上述目的所采用的技術(shù)方案是:一種基于模型設(shè)計(jì)開發(fā)的光 伏逆變器控制系統(tǒng),包括:
鎖相環(huán)模塊,輸入端接收大電網(wǎng)電壓信號(hào)Vgrid,用于完成光伏逆變器與大電網(wǎng)的頻率和相角的同步,向abc-dq坐標(biāo)轉(zhuǎn)換模塊輸出大電網(wǎng)的頻率和相角θ;
abc-dq坐標(biāo)轉(zhuǎn)換模塊,用于根據(jù)大電網(wǎng)的頻率和相角,將逆變器輸出電流信號(hào)Iinverter從abc坐標(biāo)系轉(zhuǎn)換到兩相dq靜止坐標(biāo)系下;
第一差值運(yùn)算模塊,用于將兩相dq靜止坐標(biāo)系下的q軸電流信號(hào)Iq與設(shè)定的q軸電流參考值Iq_ref做差運(yùn)算;
第一模糊控制器,用于根據(jù)第一差值運(yùn)算模塊輸出的q軸的電流差值Iq_err,得到q軸的指令電壓值Vq;
第二差值運(yùn)算模塊,用于將光伏直流電壓Vdc與設(shè)定的直流電壓參考值Vdc_ref做差運(yùn)算;
第二模糊控制器,用于根據(jù)第二差值運(yùn)算模塊輸出的直流電壓的差值Vdc_err,得到d軸的電流參考值Id_ref;
第三差值運(yùn)算模塊,用于將兩相dq靜止坐標(biāo)系下的d軸電流信號(hào)Id與第二模糊控制器輸出的d軸電流參考值Id_ref做差運(yùn)算;
第三模糊控制器,用于根據(jù)第三差值運(yùn)算模塊輸出的d軸的電流差值Id_err,得到d軸的指令電壓值Vd;
SVPWM生成器,根據(jù)第一模糊控制器輸出的q軸的指令電壓值Vq和第三模糊控制器輸出的d軸的指令電壓值Vd,計(jì)算得到PWM驅(qū)動(dòng)波;
系統(tǒng)保護(hù)模塊,根據(jù)大電網(wǎng)電壓信號(hào)Vgrid和光伏逆變器輸出電流信號(hào)Iinverter、電壓信號(hào)Vinverter的狀態(tài)信息,與設(shè)定的保護(hù)閾值進(jìn)行比較,得到并網(wǎng)開關(guān)的控制信號(hào)。
所述abc-dq坐標(biāo)轉(zhuǎn)換模塊根據(jù)下式進(jìn)行坐標(biāo)轉(zhuǎn)換:
其中,Ia,Ib,Ic為abc坐標(biāo)系下逆變器輸出三相交流電流值,鎖相模塊輸出的大電網(wǎng)相角θ,Id,Iq為dq坐標(biāo)系下逆變器輸出電流值
所述第一模糊控制器、第二模糊控制器、第三模糊控制器采用雙輸入單輸出模式,選取誤差值及其變化率作為輸入變量,設(shè)計(jì)模糊控制器隸屬函數(shù),采用7個(gè)模糊子集,即{NB,NM,NS,ZE,PS,PM,PB},分別表示{負(fù)大,負(fù)中,負(fù)小,零,正小,正中,正大},輸入變量經(jīng)隸屬函數(shù)模糊化后按模糊規(guī)則處理,得到模糊控制量后,再對(duì)模糊控制量進(jìn)行解模糊處理得到輸出值。
一種基于模型設(shè)計(jì)開發(fā)的光伏逆變器方法,包括以下步驟:
根據(jù)光伏逆變系統(tǒng)的功率需求,確定該系統(tǒng)的硬件參數(shù);
根據(jù)所述硬件參數(shù)搭建光伏逆變系統(tǒng)的Simulink仿真模型;
設(shè)計(jì)所述控制系統(tǒng)中的模糊控制器的參數(shù),并調(diào)節(jié)所述控制系統(tǒng)中的各個(gè)參數(shù);
在仿真正確的情況下,由仿真模型自動(dòng)生成所述控制系統(tǒng)控制代碼;
對(duì)生成的控制系統(tǒng)代碼進(jìn)行軟件在環(huán)仿真測(cè)試;
在軟件在環(huán)仿真測(cè)試正確的情況下,生成DSP代碼;
將所述DSP代碼燒寫在DSP中,對(duì)光伏逆變系統(tǒng)進(jìn)行軟硬件調(diào)試。
所述系統(tǒng)的硬件參數(shù)包括:光伏逆變器的容量、電壓電流等級(jí),功率開關(guān)模塊型號(hào)、濾波電感電容值、電壓電流傳感器型號(hào)。
所述Simulink仿真模型為包括所述控制系統(tǒng)的模型。
所述軟件在環(huán)仿真測(cè)試,具體為:
把所述控制系統(tǒng)代碼由C代碼編譯成S-function,替換原來(lái)Simulink仿真中的控制系統(tǒng)模型,向原控制系統(tǒng)模型和由C構(gòu)成的S-function模塊中給定相同 的輸入信號(hào),觀察輸出信號(hào),如果S-function表現(xiàn)出來(lái)的功能和其對(duì)應(yīng)的仿真模型表現(xiàn)出來(lái)的功能完全一致,那么認(rèn)定控制系統(tǒng)模型生成的C代碼和原控制系統(tǒng)Simulink模型具有等效性。
所述DSP代碼為在控制系統(tǒng)模型的基礎(chǔ)上加入Target Preferences模塊,以及與DSP匹配的ADC、SCI Transmit、EPWM模塊、GPIO信號(hào)端口模塊后,重新生成的含有成DSP寄存器配置代碼的控制系統(tǒng)代碼;
所述ADC模塊負(fù)責(zé)采樣逆變輸出電流值、直流電壓值,將它們作為控制系統(tǒng)的輸入;
所述SCI Transmit模塊,利用串口將采樣值或其他需要觀測(cè)的變量傳輸給PC主機(jī);
所述EPWM模塊,接收所述控制系統(tǒng)中的SVPWM模塊輸出的扇區(qū)導(dǎo)通時(shí)間,需要配置PWM通道、周期值、計(jì)數(shù)模式、動(dòng)作方式。
所述GPIO信號(hào)端口模塊,負(fù)責(zé)并網(wǎng)開關(guān)控制信號(hào)的輸出。
本發(fā)明具有以下優(yōu)點(diǎn)及有益效果:
1.光伏逆變器系統(tǒng)采用模糊控制器,使光伏逆變器具有良好的抗干擾能力和魯棒性,以克服逆變器參數(shù)變化難以預(yù)期的特性,對(duì)解決現(xiàn)有光伏逆變器控制克服擾動(dòng)和多場(chǎng)合穩(wěn)定性要求具有實(shí)踐價(jià)值。
2.光伏逆變器系統(tǒng)采用基于模型設(shè)計(jì)方法實(shí)現(xiàn)控制系統(tǒng)的開發(fā)與實(shí)現(xiàn),有效解決了傳統(tǒng)開發(fā)模式中存在系統(tǒng)算法設(shè)計(jì)與硬件脫節(jié)的弊病,避免了控制器仿真參數(shù)在實(shí)際硬件中無(wú)法使用,需要重新盲目調(diào)節(jié)的問(wèn)題,使研究人員可以將主要精力投入到控制算法的開發(fā)上,減少人工編寫控制代碼的工作量。
3.光伏逆變器系統(tǒng)采用基于模型設(shè)計(jì)方法實(shí)現(xiàn)控制系統(tǒng)的開發(fā)與實(shí)現(xiàn),實(shí)現(xiàn)了數(shù)字控制仿真與代碼編寫無(wú)縫銜接,有效縮短了光伏逆變器控制系統(tǒng)的開發(fā)周期,降低系統(tǒng)成本。
附圖說(shuō)明
圖1是光伏逆變系統(tǒng)主回路框圖;
圖中:1-直流環(huán)節(jié),2-功率開關(guān)管,3-濾波器,4-并網(wǎng)開關(guān),5-控制系統(tǒng),Vdc為直流電壓,Vgrid,Igrid為大電網(wǎng)電壓、電流值,Vinverter,Iinverter為逆變器輸出電壓、電流值,Vload,Iload為系統(tǒng)所接負(fù)荷電壓、電流值;
圖2是光伏逆變系統(tǒng)控制系統(tǒng)結(jié)構(gòu)框圖;
圖中:6-鎖相環(huán)模塊,7-abc-dq坐標(biāo)轉(zhuǎn)換模塊,8-第一差值運(yùn)算模塊,9-第一模糊控制器,10-第二差值運(yùn)算模塊,11-第二模糊控制器,12-第三差值運(yùn)算模塊,13-第三模糊控制器,14-SVPWM生成器模塊,15-系統(tǒng)保護(hù)模塊,Vdc_ref為直流電壓參考值,Id_ref,Iq_ref為dq軸電流參考值,Vd,Vq為電壓調(diào)制指令參考值;
圖3是模糊控制策略模糊化規(guī)則;
圖4是基于模型設(shè)計(jì)方法的光伏逆變控制系統(tǒng)開發(fā)流程;
圖5是用于生成DSP代碼的Simulink控制器模型。
具體實(shí)施方式
下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說(shuō)明。
如圖1所示,光伏逆變器包含直流環(huán)節(jié)1、功率開關(guān)管2、濾波器3、并網(wǎng)開關(guān)4、控制系統(tǒng)5。
所述的直流環(huán)節(jié)1連接光伏陣列,光伏陣列輸出連接DC-DC boost電路,由最大功率點(diǎn)跟蹤(MPPT)控制器控制,使光伏系統(tǒng)在不同光照情況下跟蹤最大功率點(diǎn)輸出合適的直流電壓給定值。
所述的功率開關(guān)管2由IGBT擔(dān)當(dāng),完成直流到交流的功率變換功能。
所述的濾波器3采用LC濾波方式,消除交流輸出中高頻紋波。
所述的并網(wǎng)開關(guān)4控制光伏控制系統(tǒng)是否連接到公共電網(wǎng)上,負(fù)責(zé)完成光伏逆變器的并網(wǎng)和離網(wǎng)的切換操作。
所述的控制系統(tǒng)5是光伏逆變系統(tǒng)的核心,運(yùn)行逆變控制策略。本發(fā)明中采用DSP28335擔(dān)當(dāng)主控制芯片,完成信號(hào)采集以及控制器控制策略運(yùn)算,控制功 率開關(guān)管的開斷。
本發(fā)明采用模糊控制算法對(duì)光伏逆變器電壓、電流進(jìn)行控制,生成控制功率開關(guān)管開關(guān)的PWM驅(qū)動(dòng)信號(hào)??刂葡到y(tǒng)結(jié)構(gòu)如圖2所示包括鎖相環(huán)模塊6,abc-dq坐標(biāo)轉(zhuǎn)換模塊7,第一差值運(yùn)算模塊8,第一模糊控制器9,第二差值運(yùn)算模塊10,第二模糊控制器11,第三差值運(yùn)算模塊12,第三模糊控制器13,SVPWM生成器模塊14,系統(tǒng)保護(hù)模塊15。
所述的鎖相環(huán)模塊6完成光伏逆變器與大電網(wǎng)的頻率和相角的同步。鎖相環(huán)模塊6可參考:龐浩,俎云霄,王贊基.一種新型的全數(shù)字鎖相環(huán)[J].中國(guó)電機(jī)工程學(xué)報(bào),2003,23(2).
所述的abc-dq坐標(biāo)轉(zhuǎn)換模塊7將逆變器輸出三相電壓、電流信號(hào)轉(zhuǎn)換到兩相靜止坐標(biāo)系下,電壓環(huán)中直流電壓與直流電壓參考值做差得到誤差送至第二模糊控制器11中產(chǎn)生電流參考值;電流環(huán)中逆變輸出電流值經(jīng)變換后與電流參考值做差得到誤差值送入第一模糊控制器9個(gè)第三模糊控制器13中進(jìn)行電流調(diào)節(jié)控制。
所述第一模糊控制器9采用雙輸入單輸出模式,電流誤差I(lǐng)d_err及其誤差變化率ΔId_err作為輸入變量,d軸的指令電壓值Vd作為輸出變量。所述第二模糊控制器11采用雙輸入單輸出模式,電流誤差Vdc_err及其誤差變化率ΔVdc_err作為輸入變量,d軸的指令電壓值Vd作為輸出變量。所述第三模糊控制器13采用雙輸入單輸出模式,電流誤差I(lǐng)q_err及其誤差變化率ΔIq_err作為輸入變量,q軸的軸的指令電壓值Vq作為輸出變量。設(shè)計(jì)模糊控制器隸屬函數(shù),采用7個(gè)模糊子集,即{NB,NM,NS,ZE,PS,PM,PB},分別表示{負(fù)大,負(fù)中,負(fù)小,零,正小,正中,正大}。輸入量經(jīng)隸屬函數(shù)模糊化后按模糊規(guī)則處理。模糊規(guī)則以if-then語(yǔ)句形式建立數(shù)字控制規(guī)則,共計(jì)49條,如圖3所示。解模糊處理采用加權(quán)平均法得出判決結(jié)果。
所述的SVPWM生成器14基于模糊控制器輸出的電壓參考值進(jìn)行驅(qū)動(dòng) 波調(diào)制,生成SVPWM波輸出給功率開關(guān)管2,開關(guān)頻率為10kHz。SVPWM生成器14可參考:王妍,杜軍紅,陶偉宜,等.基于DSP的空間電壓矢量法PWM的研究[J].電機(jī)與控制學(xué)報(bào),2000(02)98-101.
所述的系統(tǒng)保護(hù)模塊15根據(jù)電網(wǎng)電壓、光伏逆變器電壓、電流采樣值等信息完成過(guò)壓、過(guò)流、電網(wǎng)故障隔離保護(hù)措施,輸出開關(guān)信號(hào)給并網(wǎng)開關(guān)。
根據(jù)上述光伏逆變控制系統(tǒng)各模塊的實(shí)際硬件參數(shù),基于模型設(shè)計(jì)方法,完成光伏逆變器系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)由仿真模型自動(dòng)生成DSP控制代碼(C語(yǔ)言形式),應(yīng)用到DSP控制芯片中。圖4所示為基于模型設(shè)計(jì)方法開發(fā)光伏逆變器,實(shí)現(xiàn)從系統(tǒng)建模到硬件控制的步驟。
1.根據(jù)系統(tǒng)功率需求,設(shè)計(jì)、選定硬件參數(shù)。
2.系統(tǒng)建模。在MATLAB/Simulink中搭建如圖1所示光伏逆變器Simulink模型,并根據(jù)選定的硬件實(shí)物設(shè)置模型中各模塊的參數(shù)。
3.控制器模型設(shè)計(jì)及參數(shù)調(diào)節(jié)。按照模糊控制策略搭建控制系統(tǒng)5中所包含的6-15所有模塊,調(diào)整模糊控制器參數(shù),使逆變器輸出電壓和電流為50Hz的正弦波形,得到合理匹配的控制器參數(shù)。
4.對(duì)6-15所有模塊進(jìn)行自動(dòng)代碼生成,生成控制C語(yǔ)言代碼。
5.對(duì)生成的控制代碼進(jìn)行SIL軟件在環(huán)測(cè)試。
6.生成DSP主控芯片控制代碼及工程,工程內(nèi)包含由Simulink仿真模型自動(dòng)生成的控制C語(yǔ)言代碼及相關(guān)頭文件等。
7.將DSP工程代碼燒寫到DSP控制芯片中,應(yīng)用于實(shí)際光伏逆變器系統(tǒng)硬件平臺(tái)上進(jìn)行調(diào)試。
8.使用基于模型設(shè)計(jì)自動(dòng)生成的控制代碼完成對(duì)光伏逆變系統(tǒng)實(shí)物的控制。
基于模型設(shè)計(jì)的光伏逆變器控制系統(tǒng)5的主控芯片選用TMS320F28335浮點(diǎn)型DSP,該款DSP信號(hào)處理器可直接進(jìn)行浮點(diǎn)運(yùn)算,與MATLAB的雙精度浮點(diǎn)型數(shù)據(jù)格式轉(zhuǎn)換起來(lái)更為直接、方便。此外還需準(zhǔn)備配套DSP仿真器及 CCS5.5版本DSP集成開發(fā)環(huán)境。為支持高版本(CCS4及以上版本)的DSP開發(fā)環(huán)境,選用MATLAB2012b。
不同于CCS3.3版本在與低版本的MATLAB配合使用時(shí)可以直接自動(dòng)連接生成代碼和DSP工程,在使用高版本的CCS5.5及MATLAB2012時(shí),需要提前在MATLAB中對(duì)Makefile進(jìn)行配置,在MATLAB窗口中執(zhí)行xmakefile setup命令,配置CCS版本、安裝路徑、編譯路徑等相關(guān)信息,建立起CCS5.5和MATLAB的連接,為基于模型設(shè)計(jì)的自動(dòng)代碼生成做好準(zhǔn)備。
根據(jù)光伏陣列的容量等設(shè)計(jì)需求,確立光伏逆變器的容量、電壓電流等級(jí),選擇合適的功率開關(guān)模塊、濾波電感電容、電壓電流傳感器等硬件設(shè)備。
根據(jù)確定的硬件設(shè)備參數(shù)在MATLAB/Simulink中搭建圖1所示的光伏逆變系統(tǒng)的仿真模型。根據(jù)圖2所示搭建控制器控制模型,內(nèi)含鎖相環(huán)模塊6、abc-dq坐標(biāo)轉(zhuǎn)換模塊7、模糊控制算法模塊9、11、13、SVPWM生成器14、系統(tǒng)保護(hù)模塊。仿真中設(shè)置固定仿真步長(zhǎng)5e-6,選擇離散化求解器。調(diào)整模糊控制器參數(shù),使光伏控制器模型輸入50Hz標(biāo)準(zhǔn)正弦電壓及電流信號(hào)。
在得到Simulink環(huán)境下正確的仿真結(jié)果后,下一步對(duì)控制器5模型進(jìn)行SIL(Software in the Loop)軟件在環(huán)測(cè)試。把控制器模型生成的C代碼編譯成S-function,替換原來(lái)仿真中的控制器模型,向原模型和由C構(gòu)成的S-function模塊中給定相同的輸入信號(hào),觀察輸出信號(hào),如果S-function表現(xiàn)出來(lái)的功能和其對(duì)應(yīng)的仿真模型表現(xiàn)出來(lái)的功能完全一致,那么我們可以推理控制器模型生成的C代碼和原控制器Simulink模型具有等效性。
仿真結(jié)果和SIL在環(huán)測(cè)試驗(yàn)證了控制算法的正確性以及代碼生成的正確性,接下來(lái)執(zhí)行控制算法部分自動(dòng)轉(zhuǎn)化為DSP代碼操作。在原仿真控制器模型中加入Target Preferences模塊,以及與28335匹配的ADC、SCI Transmit、EPWM模塊,用于生成DSP寄存器配置代碼。ADC模塊負(fù)責(zé)采樣逆變輸出電流值、直流電壓值等,將它們作為控制算法的輸入。加入SCI Transmit模塊,利用串口將采樣值或其他需要觀測(cè)的變量通過(guò)一定的波特率傳輸給PC 主機(jī),在主機(jī)中搭建主機(jī)模型,用串口接收模塊接收數(shù)據(jù),將實(shí)際物理數(shù)據(jù)應(yīng)用于Simulink控制對(duì)象模型中觀測(cè)結(jié)果,與實(shí)際運(yùn)行結(jié)果進(jìn)行對(duì)比,另外也可以在主機(jī)中利用Scope直接觀測(cè)控制算法中的各種變量值,直觀方便。SVPWM模塊輸出的扇區(qū)導(dǎo)通時(shí)間,連接DSP的EPWM模塊,模塊需要配置PWM通道、周期值、計(jì)數(shù)模式、動(dòng)作方式等。整體模型如圖5所示。
利用MATLAB的代碼優(yōu)化功能,進(jìn)行優(yōu)化類型設(shè)置,包括提高執(zhí)行效率、減少RAM、ROM使用量及執(zhí)行時(shí)間等,避免直接執(zhí)行自動(dòng)代碼生成指令時(shí)生成的代碼存在代碼冗長(zhǎng)、繁瑣、執(zhí)行效率低的問(wèn)題。
執(zhí)行自動(dòng)代碼生成操作,即可在MATLAB的當(dāng)前文件夾下生成代碼了。生成的各類文件,包括主程序、使用到的DSP相關(guān)模塊寄存器配置子程序、算法子程序、各類頭文件等均存放于文件名稱為“模型名_ticcs”的文件夾中。在CCS5.5環(huán)境中建立新的DSP工程,導(dǎo)入由MATLAB生成的控制代碼及相關(guān)頭文件,再進(jìn)行控制算法的調(diào)試驗(yàn)證。
將生成的控制代碼下載到DSP控制芯片中,連接光伏逆變器系統(tǒng)硬件平臺(tái)進(jìn)行運(yùn)行調(diào)試。
基于模型設(shè)計(jì)方法完成整套光伏逆變控制系統(tǒng)從概念構(gòu)思、需求設(shè)計(jì)到代碼實(shí)現(xiàn)的整個(gè)過(guò)程,縮短從仿真到編程調(diào)試的開發(fā)周期。