鄭榮波,郝正航,陳卓
(貴州大學(xué)電氣工程學(xué)院,貴陽(yáng)550025)
隨著越來(lái)越多的分布式電源接入配電網(wǎng),其對(duì)配電網(wǎng)系統(tǒng)產(chǎn)生的影響也越來(lái)越大[1 - 3]。在電力系統(tǒng)仿真領(lǐng)域,采用基于CPU的仿真技術(shù)具有操作簡(jiǎn)單、成熟度高[4]、低復(fù)雜度等優(yōu)點(diǎn),被廣泛應(yīng)用于大規(guī)模電網(wǎng)及傳統(tǒng)輸配電系統(tǒng)的實(shí)時(shí)仿真中。而近年大規(guī)模的電力電子設(shè)備被應(yīng)用于新能源并網(wǎng)、分布式電源及電能質(zhì)量?jī)?yōu)化等領(lǐng)域[5 - 6],這給傳統(tǒng)基于CPU的仿真系統(tǒng)帶來(lái)了挑戰(zhàn),因此研究含有大量電力電子設(shè)備的電力系統(tǒng)實(shí)時(shí)仿真技術(shù)是必要的。
在電力電子技術(shù)的快速發(fā)展下,電力電子開(kāi)關(guān)頻率趨于高頻化[7],從幾千赫茲到幾萬(wàn)赫茲甚至更高,暫態(tài)過(guò)程更加短暫,因此需要仿真系統(tǒng)能夠達(dá)到足夠小的仿真步長(zhǎng)才能保證仿真結(jié)果的可靠性(通常在1 μs量級(jí))。然而由于電力電子設(shè)備的存在會(huì)造成計(jì)算矩陣時(shí)變[8]、步長(zhǎng)間開(kāi)關(guān)動(dòng)作、數(shù)值震蕩等問(wèn)題,想要精確求解的話需要較大的仿真步長(zhǎng),且系統(tǒng)中的邏輯判斷眾多,計(jì)算復(fù)雜,加之電力電子設(shè)備帶來(lái)的強(qiáng)非線性導(dǎo)致系統(tǒng)規(guī)模龐大,這些原因都導(dǎo)致了小步長(zhǎng)實(shí)時(shí)仿真難以實(shí)現(xiàn)。傳統(tǒng)的基于CPU的實(shí)時(shí)仿真器一般只能實(shí)現(xiàn)20 μs以上步長(zhǎng)的仿真[9],已經(jīng)滿足不了當(dāng)前普遍的高頻電力電子系統(tǒng)實(shí)時(shí)仿真的要求,因此本文引入FPGA進(jìn)行聯(lián)立仿真。
目前,以RTDS和RT-LAB為代表的商業(yè)化實(shí)時(shí)仿真器已經(jīng)在電力行業(yè)獲得了廣泛應(yīng)用[10 - 11],且已經(jīng)開(kāi)始采用FPGA作為小步長(zhǎng)仿真的底層硬件。FPGA由于其強(qiáng)大的完全可配置固有硬件并行結(jié)構(gòu)和深度流水線架構(gòu)[12],并且可以從底層硬件上實(shí)現(xiàn)靈活的布局布線[13],加之其豐富的可配置邏輯資源以及大量嵌入式隨機(jī)存取存儲(chǔ)器(random access memory, RAM)和只讀存儲(chǔ)器(read-only memory, ROM),使得FPGA具有很強(qiáng)的并行計(jì)算能力和數(shù)據(jù)處理效率,并具備高速仿真的能力,其仿真步長(zhǎng)能夠達(dá)到幾百甚至幾十納秒[14 - 15],滿足暫態(tài)實(shí)時(shí)仿真的要求。文獻(xiàn)[16 - 17]分析了開(kāi)關(guān)狀態(tài)的變化對(duì)電力系統(tǒng)仿真的影響,并計(jì)算出所有開(kāi)關(guān)狀態(tài)的組合進(jìn)行預(yù)存儲(chǔ),但這種方法隨著開(kāi)關(guān)元件的增多導(dǎo)致需要預(yù)存的節(jié)點(diǎn)導(dǎo)納矩陣數(shù)量急劇上升,勢(shì)必會(huì)占用大量硬件資源。文獻(xiàn)[18]采用了基于伴隨離散電路開(kāi)關(guān)模型(associated discrete circuit, ADC)的電磁暫態(tài)實(shí)時(shí)仿真方法,在FPGA中實(shí)現(xiàn)了光伏發(fā)電系統(tǒng)的暫態(tài)實(shí)時(shí)仿真,提出了電力電子開(kāi)關(guān)和控制系統(tǒng)建模方法,并對(duì)仿真結(jié)果進(jìn)行了精度分析。這種方法可以實(shí)現(xiàn)較高的計(jì)算精度,但將整個(gè)電力系統(tǒng)用FPGA進(jìn)行小步長(zhǎng)仿真無(wú)疑會(huì)占用大量的硬件資源,限制了仿真系統(tǒng)的規(guī)模,且在FPGA上進(jìn)行復(fù)雜控制系統(tǒng)的建模和實(shí)時(shí)仿真具有一定難度。
針對(duì)上述問(wèn)題,本文提出了一種基于FPGA與CPU的混合步長(zhǎng)暫態(tài)實(shí)時(shí)仿真方法。該方法解決了傳統(tǒng)方法在電力系統(tǒng)建模時(shí)FPGA的資源消耗較大的問(wèn)題。采用模型分割方法將電力系統(tǒng)分割為大步長(zhǎng)仿真部分與小步長(zhǎng)仿真部分,CPU負(fù)責(zé)大步長(zhǎng)計(jì)算,F(xiàn)PGA負(fù)責(zé)小步長(zhǎng)計(jì)算,并采用以太網(wǎng)進(jìn)行數(shù)據(jù)交互。其次,為將逆變器交流側(cè)輸出電壓在不經(jīng)濾波的情況下發(fā)送至CPU側(cè),提出了一種等效算法,對(duì)交流側(cè)輸出電壓求均值后再進(jìn)行發(fā)送,以此解決數(shù)據(jù)交互中產(chǎn)生的誤差問(wèn)題,同時(shí)該方法能夠進(jìn)一步降低FPGA硬件資源占用率。最后,利用ADC開(kāi)關(guān)模型搭建了光伏發(fā)電系統(tǒng),將系統(tǒng)的實(shí)時(shí)仿真結(jié)果與Simulink離線仿真結(jié)果進(jìn)行對(duì)比,驗(yàn)證了實(shí)時(shí)仿真方法的可行性和準(zhǔn)確性。
傳統(tǒng)的離線電磁暫態(tài)仿真軟件,如Simulink、PSCAD等,一般是運(yùn)行在基于計(jì)算機(jī)CPU的仿真環(huán)境中,由于CPU主要工作在串行模式下且無(wú)需考慮底層硬件的特點(diǎn)[19],所以其很難滿足小步長(zhǎng)實(shí)時(shí)仿真的要求。FPGA雖然可以實(shí)現(xiàn)小步長(zhǎng)計(jì)算,但對(duì)于大規(guī)模電力網(wǎng)絡(luò),由于FPGA硬件資源有限,整個(gè)網(wǎng)絡(luò)都采用微秒級(jí)小步長(zhǎng)仿真在一定程度上限制了仿真的規(guī)模[20]。傳統(tǒng)的解決方法是將變流器控制系統(tǒng)與電氣系統(tǒng)進(jìn)行解耦計(jì)算[21],這種方法雖然在一定程度上降低了FPGA的資源占用率,但電氣系統(tǒng)中的分布式電源和濾波器等非高頻器件并不需要小步長(zhǎng)計(jì)算,將這些器件放入CPU中計(jì)算,能夠在不影響仿真精度的情況下進(jìn)一步節(jié)省FPGA的硬件資源,降低硬件成本。
針對(duì)上述問(wèn)題,在傳統(tǒng)系統(tǒng)解耦方法的基礎(chǔ)上進(jìn)一步將電氣系統(tǒng)進(jìn)行模型分割。以光伏發(fā)電系統(tǒng)為例,在光伏電源和DC/DC變換器之間,以及逆變器與濾波器之間進(jìn)行模型分割,最終運(yùn)行在FPGA中的只有DC/DC變換器和逆變器,更加節(jié)省FPGA硬件資源。分割后的具體模型結(jié)構(gòu)如圖1所示(下文將作具體說(shuō)明),高頻率網(wǎng)絡(luò)從低頻率網(wǎng)絡(luò)中采集接口信號(hào),經(jīng)小步長(zhǎng)運(yùn)算后輸出三相電壓uabc,需要注意的是,在下一個(gè)大步長(zhǎng)ΔT到來(lái)之前,uabc處于一個(gè)不斷更新的狀態(tài),直到下一個(gè)大步長(zhǎng)ΔT到來(lái)時(shí),低頻率網(wǎng)絡(luò)才從高頻率網(wǎng)絡(luò)采集當(dāng)前時(shí)刻的uabc。由于uabc是一個(gè)脈沖信號(hào),并且是以小步長(zhǎng)Δt在實(shí)時(shí)更新,因此當(dāng)?shù)皖l率網(wǎng)絡(luò)在每一個(gè)大步長(zhǎng)ΔT開(kāi)始時(shí)刻采集uabc時(shí),會(huì)出現(xiàn)采集數(shù)據(jù)不準(zhǔn)確的情況,導(dǎo)致仿真結(jié)果存在誤差。
圖1 基于CPU-FPGA的聯(lián)合仿真平臺(tái)示意圖Fig.1 Schematic diagram of co-simulation platform based on CPU-FPGA
下文主要介紹為降低CPU與FPGA之間數(shù)據(jù)交互誤差所提出的脈沖信號(hào)等效平均化方法以及改進(jìn)的FPGA仿真計(jì)算流程。
針對(duì)上述問(wèn)題,通常使用的解決方案是將uabc濾波后再進(jìn)行數(shù)據(jù)采集,但該方法需要將濾波電路放入高頻率網(wǎng)絡(luò)中進(jìn)行小步長(zhǎng)計(jì)算,導(dǎo)致FPGA的硬件資源占用率和節(jié)點(diǎn)導(dǎo)納矩陣階數(shù)升高,同時(shí)增加了FPGA的實(shí)時(shí)計(jì)算壓力。并且該方法對(duì)解耦處無(wú)濾波器的電力系統(tǒng)不具有一般性。
為此,本文提出將脈沖信號(hào)等效平均化后再發(fā)送給CPU側(cè)的方法。設(shè)t為某一時(shí)刻,ΔT為大步長(zhǎng),Δt為小步長(zhǎng),步長(zhǎng)倍率δ=ΔT/Δt,流程如下:
1)高頻率網(wǎng)絡(luò)接收t-ΔT到t時(shí)刻低頻率網(wǎng)絡(luò)的計(jì)算結(jié)果:直流側(cè)電壓udc(t-ΔT)和交流側(cè)三相電流iabc(t-ΔT);
2)高頻率網(wǎng)絡(luò)根據(jù)t時(shí)刻的接口信號(hào)計(jì)算t到t+Δt區(qū)間的三相輸出電壓uabc(t);
3)將uabc(t)的值存入FPGA的RAM中;
4)同理,計(jì)算t+Δt到t+2Δt區(qū)間的高頻率網(wǎng)絡(luò)三相輸出電壓uabc(t+Δt);
5)將uabc(t+Δt)與RAM中的uabc(t)作加法計(jì)算,其結(jié)果作為新的數(shù)據(jù)更新RAM中的值;
6)重復(fù)以上循環(huán),直至t+ΔT時(shí)刻將RAM中的值取出并除以步長(zhǎng)倍率δ,所得結(jié)果作為接口信號(hào)發(fā)送至低頻率網(wǎng)絡(luò)端,同時(shí)RAM清零等待下一輪循環(huán)。
該方法不僅降低了導(dǎo)納矩陣階數(shù)和FPGA資源占用率,同時(shí)由于此時(shí)濾波電路運(yùn)行在CPU中,控制模塊不需要再?gòu)腇PGA端采集濾波后的三相電壓u0abc和三相電流i0abc,因此以太網(wǎng)TCP/IP的單包數(shù)據(jù)變得更小,打包發(fā)送時(shí)間更短,從而可以降低CPU-FPGA異步通信延時(shí)。例如,若數(shù)據(jù)精度采用single型,單包數(shù)據(jù)發(fā)送時(shí)間可減少192 ns。
在小步長(zhǎng)側(cè)進(jìn)行脈沖等效平均化計(jì)算的時(shí)序如圖2所示。
t為仿真中某一時(shí)刻,在t-Δt到t時(shí)間段內(nèi),小步長(zhǎng)側(cè)先進(jìn)行最后一次計(jì)算,然后從RAM中讀取當(dāng)前時(shí)刻的數(shù)值,更新并求出其平均值以后在t時(shí)刻發(fā)送至大步長(zhǎng)側(cè)作為大步長(zhǎng)側(cè)的接口信號(hào),并將RAM清零。同時(shí),在t時(shí)刻,小步長(zhǎng)側(cè)接收大步長(zhǎng)側(cè)的接口信號(hào),繼續(xù)下一個(gè)ΔT內(nèi)的計(jì)算。在一個(gè)ΔT內(nèi)需要更新δ次RAM,每次更新均在一個(gè)小步長(zhǎng)內(nèi)完成,保證仿真的實(shí)時(shí)性。
圖2 脈沖等效平均化時(shí)序圖Fig.2 Pulse equivalent averaging time sequence diagram
本節(jié)主要介紹電力系統(tǒng)中高頻率部分在FPGA中的計(jì)算方法。FPGA運(yùn)算模型中含有大量狀態(tài)高頻變換的開(kāi)關(guān)元件,考慮到開(kāi)關(guān)元件在不同開(kāi)關(guān)狀態(tài)下引起導(dǎo)納矩陣變化帶來(lái)的巨大運(yùn)算負(fù)擔(dān)[22 - 23],本文采用基于ADC開(kāi)關(guān)模型[24 - 25]的電磁暫態(tài)實(shí)時(shí)仿真方法。該方法在開(kāi)關(guān)狀態(tài)改變時(shí)節(jié)點(diǎn)導(dǎo)納矩陣不變,能夠緩解因節(jié)點(diǎn)導(dǎo)納矩陣改變給FPGA帶來(lái)的計(jì)算壓力。
當(dāng)電路拓?fù)浯_定以后,其導(dǎo)納矩陣也就確定不變,因此可以在仿真開(kāi)始前將導(dǎo)納矩陣及其逆矩陣提前計(jì)算出來(lái),并在仿真初始化過(guò)程中將導(dǎo)納矩陣及其逆矩陣提前存儲(chǔ)。當(dāng)仿真開(kāi)始時(shí),CPU向FPGA發(fā)送上一步長(zhǎng)計(jì)算得到的控制信號(hào)和接口信號(hào),同時(shí)開(kāi)始運(yùn)算控制模塊和低頻率網(wǎng)絡(luò)模塊求取當(dāng)前步長(zhǎng)的控制信號(hào)和接口信號(hào),待下一大步長(zhǎng)到來(lái)時(shí)發(fā)送。與此同時(shí),F(xiàn)PGA開(kāi)始進(jìn)行計(jì)算。改進(jìn)的FPGA仿真計(jì)算流程如下。
1)FPGA進(jìn)行初始化,按行分塊預(yù)存儲(chǔ)導(dǎo)納矩陣及其逆矩陣。
2)采集上一大步長(zhǎng)低頻率網(wǎng)絡(luò)和控制模塊計(jì)算出的接口信號(hào)和控制信號(hào)。
3)判斷當(dāng)前步長(zhǎng)t時(shí)刻的電力電子開(kāi)關(guān)狀態(tài)。
(1)
4)根據(jù)開(kāi)關(guān)狀態(tài)計(jì)算各支路歷史電流Ihis,計(jì)算公式與電感、電容、開(kāi)關(guān)支路類(lèi)型有關(guān)。
Ihis(t)=αGsub(t-Δt)+βib(t-Δt)
(2)
式中:Ihis(t)為當(dāng)前步長(zhǎng)支路歷史電流;Δt為小步長(zhǎng);Gs為支路等效電導(dǎo);ub(t-Δt)和ib(t-Δt)分別為上一步長(zhǎng)的支路電壓和支路電流;對(duì)于電阻、電感和電容等支路,α和β為固定常數(shù)[26],對(duì)于開(kāi)關(guān)支路,α和β的值取決于當(dāng)前步長(zhǎng)的開(kāi)關(guān)狀態(tài)[27]。
5)計(jì)算并更新各節(jié)點(diǎn)電壓和部分支路電流的值。
x=Y-1b
(3)
式中:x為待求的節(jié)點(diǎn)電壓和部分支路電流組成的狀態(tài)變量列向量;Y-1為節(jié)點(diǎn)導(dǎo)納矩陣的逆矩陣;b為各支路歷史電流源和電源電流組成的歷史電流列向量。
6)將x中的脈沖信號(hào)進(jìn)行脈沖等效平均化。
(4)
式中:xpul(t)為x向量中的脈沖信號(hào);xpul,s(t)為待發(fā)送至大步長(zhǎng)端的信號(hào);Δt為小步長(zhǎng);δ為步長(zhǎng)倍率。
7)返回1),重復(fù)執(zhí)行下一循環(huán),直至仿真結(jié)束。
其中5)中的矩陣計(jì)算采用并行計(jì)算方式,在FPGA中的實(shí)現(xiàn)方法如圖3所示。
圖3 線性方程組并行求解示意圖Fig.3 Schematic diagram of parallel solution of linear equations
本文以光伏發(fā)電系統(tǒng)的暫態(tài)實(shí)時(shí)仿真為例介紹該聯(lián)合實(shí)時(shí)仿真平臺(tái)。對(duì)于光伏發(fā)電系統(tǒng),逆變器、DC/DC變換器等開(kāi)關(guān)頻率高,邏輯簡(jiǎn)單且并行度高的拓?fù)潆娐沸枰狥PGA小步長(zhǎng)高速運(yùn)算,而逆變器控制電路等規(guī)模較大、邏輯復(fù)雜,且對(duì)計(jì)算速率要求不高,可以利用CPU進(jìn)行大步長(zhǎng)仿真計(jì)算。通過(guò)以太網(wǎng)完成CPU-FPGA混合步長(zhǎng)之間的數(shù)據(jù)交互,實(shí)現(xiàn)基于CPU-FPGA的混合步長(zhǎng)實(shí)時(shí)仿真平臺(tái)。
圖1中控制模塊采集分布式發(fā)電系統(tǒng)中光伏電池輸出電壓upv和電流ipv作為控制輸入,經(jīng)PI調(diào)節(jié)后輸出DC/DC電路所需調(diào)制波。控制模塊同時(shí)采集低頻率網(wǎng)絡(luò)中大電網(wǎng)系統(tǒng)濾波后的三相電壓u0abc和三相電流i0abc作為控制輸入,經(jīng)dq坐標(biāo)系解耦、無(wú)功功率計(jì)算和內(nèi)外環(huán)控制,輸出逆變器所需的PWM調(diào)制波,這一系列任務(wù)是在CPU中進(jìn)行的。需要注意的是,PWM信號(hào)的生成需要在高頻率網(wǎng)絡(luò)中完成,這樣才能保證仿真結(jié)果的準(zhǔn)確性。
在本平臺(tái)中,基于CPU的上位機(jī)采用本文研發(fā)的通用實(shí)時(shí)仿真器(universal real-time experimental platform, UREP),該仿真器完美兼容Simulink軟件,擁有很好的靈活性和可擴(kuò)展性。FPGA型號(hào)為XILINX的Kintex- 7系列,芯片型號(hào)為XC7K325T?;赨REP平臺(tái)、FPGA板卡和相關(guān)外設(shè)硬件,搭建適用于分布式發(fā)電系統(tǒng)的聯(lián)合仿真平臺(tái),平臺(tái)結(jié)構(gòu)如圖1所示。
UREP中的CPU運(yùn)行控制模塊和低頻率網(wǎng)絡(luò)部分,同時(shí)還需兼顧與上位機(jī)和FPGA間的數(shù)據(jù)交互,仿真步長(zhǎng)設(shè)為ΔT;FPGA運(yùn)行高頻率網(wǎng)絡(luò)部分,仿真步長(zhǎng)設(shè)為Δt,Δt需要滿足電力電子開(kāi)關(guān)高頻特性和仿真實(shí)時(shí)性要求。FPGA與CPU之間通過(guò)以太網(wǎng)(TCP/IP)進(jìn)行數(shù)據(jù)交互,上位機(jī)人機(jī)交互界面與UREP仿真器之間通過(guò)以太網(wǎng)進(jìn)行控制指令交互,在上位機(jī)界面可以實(shí)時(shí)觀測(cè)仿真結(jié)果,也可通過(guò)FPGA的其他數(shù)據(jù)接口輸出仿真數(shù)據(jù)用以觀察。
控制系統(tǒng)和低頻率網(wǎng)絡(luò)在與高頻率網(wǎng)絡(luò)分割后以混合步長(zhǎng)進(jìn)行仿真,二者之間采用多速率交互方法,交互時(shí)序如圖4所示。
圖4 混合步長(zhǎng)仿真時(shí)序示意圖Fig.4 Simulation sequence diagram of mixed step length
在圖4中,t為仿真中某一時(shí)刻,CPU大步長(zhǎng)仿真?zhèn)仍趖-ΔT到t時(shí)間段內(nèi)計(jì)算得到小步長(zhǎng)仿真?zhèn)人璧目刂菩盘?hào)和接口信號(hào),并在t時(shí)刻發(fā)送至FPGA小步長(zhǎng)仿真?zhèn)?;與此同時(shí),小步長(zhǎng)側(cè)在t-Δt到t時(shí)間段內(nèi)計(jì)算得到大步長(zhǎng)側(cè)所需的接口信號(hào),并在t時(shí)刻發(fā)送至大步長(zhǎng)側(cè),從而實(shí)現(xiàn)大步長(zhǎng)與小步長(zhǎng)的并行計(jì)算。小步長(zhǎng)側(cè)在一個(gè)ΔT內(nèi)計(jì)算δ次,均使用t-ΔT時(shí)刻的端口信號(hào)作為計(jì)算輸入,大步長(zhǎng)側(cè)在一個(gè)ΔT內(nèi)使用t-ΔT時(shí)刻的端口信號(hào)進(jìn)行一次計(jì)算。規(guī)定數(shù)據(jù)在一個(gè)ΔT內(nèi)進(jìn)行一次交互,且在每一個(gè)ΔT開(kāi)始時(shí)刻進(jìn)行交互。
基于上述方法,本文搭建了典型光伏發(fā)電系統(tǒng)如圖5所示。
圖5 光伏系統(tǒng)拓?fù)浣Y(jié)構(gòu)示意圖Fig.5 Schematic diagram of photovoltaic system topology
CPU端仿真步長(zhǎng)ΔT設(shè)為50 μs,F(xiàn)PGA端仿真步長(zhǎng)Δt設(shè)為1 μs,仿真算例具體參數(shù)如表1 所示。算例中的光伏電池采用由光生電流源、二極管、串聯(lián)電阻和分流電阻組成的單二極管等效電路模擬,DC/DC變換器采用最大功率點(diǎn)跟蹤(maximum power point tracking, MPPT)策略進(jìn)行控制,DC/AC逆變器采用恒直流電壓恒無(wú)功功率策略進(jìn)行控制,無(wú)功參考值Qref設(shè)為0。
表1 仿真算例參數(shù)設(shè)置Tab.1 Parameter settings of simulation example
為了驗(yàn)證本文仿真方法的有效性,在Simulink中搭建了電路拓?fù)浜涂刂茀?shù)完全相同的算例模型,仿真步長(zhǎng)設(shè)為1 μs。其離線仿真結(jié)果作為本文所提聯(lián)合仿真平臺(tái)仿真結(jié)果的參照,并在以下3個(gè)場(chǎng)景中進(jìn)行對(duì)比。
場(chǎng)景A:光照強(qiáng)度在t=0.4 s時(shí)由1 000 W/m2下降為500 W/m2,在t=0.6 s時(shí)由500 W/m2上升為1 000 W/m2,仿真結(jié)果如圖6所示。
場(chǎng)景B:在系統(tǒng)穩(wěn)定運(yùn)行情況下,在t=0.7 s時(shí)交流側(cè)A相發(fā)生單相接地短路故障,0.1 s后故障消除,仿真結(jié)果如圖7所示。
場(chǎng)景C:系統(tǒng)運(yùn)行在某地24 h內(nèi)的實(shí)際光照下,在t=12 s時(shí)交流側(cè)A相發(fā)生單相接地短路故障,0.05 s后故障消除,仿真結(jié)果如圖8所示。
圖6—8分別反映了系統(tǒng)在光照強(qiáng)度突變、發(fā)生單相接地短路故障和實(shí)際光照波動(dòng)時(shí)發(fā)生短路故障的情況下,本文所提的實(shí)時(shí)仿真方法與Simulink離線仿真結(jié)果的對(duì)比。圖中Ia、Udc和Pdc分別為交流側(cè)變壓器一次側(cè)電流,光伏電池輸出直流電壓和光伏陣列提取最大功率值。觀察圖6可知,當(dāng)系統(tǒng)中光照強(qiáng)度突變后,變壓器一次側(cè)電流減小,光伏電池輸出直流電壓有微小波動(dòng),光伏陣列提取的最大功率由240 V跌落至119.7 V后保持平穩(wěn);圖7中,當(dāng)系統(tǒng)發(fā)生單相接地短路時(shí)變壓器一次側(cè)電流發(fā)生突變,持續(xù)0.1 s后恢復(fù)正常運(yùn)行狀態(tài),光伏電池輸出直流電壓發(fā)生振蕩,光伏陣列提取的最大功率有短暫的小幅下降;圖8中,將24 h實(shí)際光照強(qiáng)度以每小時(shí)為單位分為24個(gè)時(shí)段,在仿真中每秒更新一次光照強(qiáng)度,總仿真時(shí)間為24 s,Ia隨光照強(qiáng)度升高而變大,在短路故障時(shí)其幅值由4.7 V突變至181.6 V,故障消除后能快速恢復(fù)穩(wěn)態(tài)運(yùn)行。結(jié)果證明,實(shí)時(shí)仿真和Simulink離線仿真結(jié)果基本一致,并且在暫態(tài)過(guò)程中能較好地跟隨離線仿真曲線的變化,驗(yàn)證了所提實(shí)時(shí)仿真方法的有效性和準(zhǔn)確性。
圖6 場(chǎng)景A的仿真波形對(duì)比Fig.6 Comparison of simulation waveforms in scenario A
圖7 場(chǎng)景B的仿真波形對(duì)比Fig.7 Comparison of simulation waveforms in scenario B
圖8 場(chǎng)景C的仿真波形對(duì)比Fig.8 Comparison of simulation waveforms in scenario C
圖9為場(chǎng)景C中交流側(cè)變壓器一次側(cè)電流相對(duì)誤差曲線,從誤差曲線可以看出,系統(tǒng)在暫態(tài)仿真時(shí)存在一定誤差,但總體誤差范圍在0.4%以內(nèi),具有較高的仿真精度。其誤差主要來(lái)源于2個(gè)方面:1)Simulink離線仿真模型中IGBT采用了理想開(kāi)關(guān)建模,而FPGA中的開(kāi)關(guān)器件采用了ADC伴隨離散電路方法進(jìn)行建模;2)聯(lián)合仿真平臺(tái)對(duì)光伏發(fā)電系統(tǒng)進(jìn)行了模型分割和混合步長(zhǎng)并行計(jì)算,而Simulink離線仿真模型是整個(gè)系統(tǒng)在同一仿真步長(zhǎng)下進(jìn)行計(jì)算的。
圖9 場(chǎng)景C一次側(cè)電流相對(duì)誤差曲線Fig.9 Relative error curve of primary side current in scenario C
仿真算例中基本無(wú)源元件電阻、電感和電容與電力電子開(kāi)關(guān)的增加會(huì)導(dǎo)致導(dǎo)納矩陣階數(shù)升高和計(jì)算并行度增加,高并行度的計(jì)算將會(huì)占用更多的硬件資源,同時(shí)導(dǎo)納矩陣階數(shù)升高勢(shì)必會(huì)帶來(lái)更多的乘法運(yùn)算,乘法器將占用大量硬件資源。
表2為脈沖信號(hào)等效平均化前后FPGA硬件資源占用情況對(duì)比。
表2 FPGA硬件資源消耗對(duì)比Tab.2 Comparison of FPGA hardware resource consumption
在優(yōu)化之前,導(dǎo)納矩陣為16階,高階的矩陣直接導(dǎo)致硬件資源占用增加,同時(shí)也給FPGA的實(shí)時(shí)計(jì)算帶來(lái)壓力。通過(guò)脈沖信號(hào)等效平均化,仿真算例中的濾波器由原來(lái)在FPGA中仿真改為在CPU中仿真,導(dǎo)納矩陣的階數(shù)從16階降至10階,有效地降低了FPGA硬件資源占用率,仿真計(jì)算時(shí)間減少,更有利于實(shí)現(xiàn)實(shí)時(shí)仿真。
從表2中可以看出,與優(yōu)化前的仿真方法相比,本文所提等效方法在保證仿真精度的前提下,降低了FPGA硬件資源占用率,驗(yàn)證了該方法的有效性。
本文基于CPU-FPGA聯(lián)合仿真平臺(tái)設(shè)計(jì)了一種混合步長(zhǎng)電磁暫態(tài)實(shí)時(shí)仿真方法,提出了一種脈沖信號(hào)等效平均化方法對(duì)數(shù)據(jù)傳輸中的誤差進(jìn)行補(bǔ)償,該方法同時(shí)降低了FPGA硬件資源占用率。
搭建光伏發(fā)電系統(tǒng)仿真模型進(jìn)行暫態(tài)過(guò)程仿真,將FPGA高頻部分和CPU低頻部分仿真步長(zhǎng)分別設(shè)為1 μs和50 μs。仿真結(jié)果表明,在光照強(qiáng)度突變和電路發(fā)生短路故障情況下,混合步長(zhǎng)實(shí)時(shí)仿真結(jié)果與Simulink離線仿真結(jié)果基本一致,驗(yàn)證了本文所提實(shí)時(shí)仿真方法的有效性。
對(duì)脈沖信號(hào)等效平均化前后的模型進(jìn)行建模并分析了硬件資源消耗,結(jié)果證明優(yōu)化后的模型減少了FPGA的硬件資源消耗。