顧勇,張永明,強嘉懿
(上海電機學(xué)院電氣學(xué)院,上海201306)
新世紀以來全球經(jīng)濟飛速發(fā)展,對能源的需求量日益擴大,煤、石油以及天然氣等傳統(tǒng)的能源的不斷減少,難以維持各國經(jīng)濟的長期發(fā)展。風(fēng)能、太陽能由于清潔、成本低、可再生等優(yōu)點成為當前應(yīng)用廣泛的可再生新能源,尤其是在發(fā)電方面得到了廣泛的大力應(yīng)用,由此分布式發(fā)電技術(shù)開始得到廣泛的應(yīng)用。同時由于當前電力系統(tǒng)的規(guī)模越來越龐大,再加上分布式發(fā)電的并網(wǎng)運行給電網(wǎng)帶來了越來越多的問題,對于電力系統(tǒng)的仿真的實時性和對電力系統(tǒng)的算法和模型的要求也在不斷地提高,針對第三方硬件而言,一些商業(yè)的電力系統(tǒng)仿真軟件如Dspace、RT-LAB 等,并不適用于所有的硬件平臺[1],并且其軟件的基礎(chǔ)架構(gòu)以及其所采用的各種器件的模型與仿真算法并不會對用戶開放,利用這些軟件完成相關(guān)的仿真并不是困難的,但是如果需要進行基于模型算法層面的深入研究以及基于第三方硬件平臺實現(xiàn)更大規(guī)模的、更經(jīng)濟的仿真研究則是一個不可實現(xiàn)的事情。所以,基于自主開發(fā)的電力系統(tǒng)的仿真軟件成為一項基礎(chǔ)且重要的工作。
本文利用Python 語言編寫了大眾化適用性廣的暫態(tài)仿真軟件,可以適用于第三方FPGA 硬件平臺,并在建立電力系統(tǒng)的基本元器件模型,選用IEEE 4 節(jié)點模型作為實驗?zāi)P停瓿上到y(tǒng)模型的單相接地短路情況下的暫態(tài)仿真,對基于FPGA 的仿真平臺進行了驗證。
在電力系統(tǒng)仿真領(lǐng)域常用的數(shù)值積分算法有:前向歐拉法、后向歐拉法、梯形積分法以及龍格庫塔法。如果對于一個穩(wěn)定的微分方程一個算法會得到一個穩(wěn)定的差分方程近似,則稱之為A 類穩(wěn)定[2]。梯形積分法是一種具有A 類穩(wěn)定性且具有二階精度的數(shù)值算法,所以可以選取梯形積分法作為電力系統(tǒng)電磁暫態(tài)仿真的主要算法。
如圖1 所示為一電感及其差分離散形式,其離散形式為電導(dǎo)與歷史項電流的并聯(lián)。以此為例,應(yīng)用梯形積分法后可以得到式(1)(2)(3)的差分方程。
上世紀60 年代,Dommel 教授提出了基于節(jié)點電壓法的EMTP 方法作為電磁暫態(tài)仿真的基本框架[3],EM?TP 方法在基爾霍夫定律和電壓電流關(guān)系的基礎(chǔ)上,采用數(shù)值積分方法將連續(xù)的元件離散等效為等值的諾頓電路,采用節(jié)點電壓法對線性電路進行求解。EMTP 方法計算效率高穩(wěn)定性好且計算的精度高,已成為當前主流的仿真方法。節(jié)點電壓法的基本形式如式(4)所示。
由于電力系統(tǒng)的模型眾多且復(fù)雜,單純的利用基本的節(jié)點電壓方法不能夠?qū)﹄娏ο到y(tǒng)的所有模型都利用EMTP 方法分析,在前人的努力中發(fā)展出了改進節(jié)點電壓法和增廣的改進節(jié)點電壓法[4]。增廣的改進節(jié)點電壓法的表示形式如式(5)所示。
增廣的改進節(jié)點電壓法相對于改進節(jié)點電壓法而言只保留了Yn 的部分,這個方程式可以看作是一個AX=b 的系統(tǒng),利用這種形式的節(jié)點方程方法可以良好地處理含受控源支路(如理想變壓器模型)和不接地的理想電壓源模型以及理想開關(guān)等器件的分析。
本文中針對電力電子開關(guān)器件的建模方法是拓撲建模法。拓撲建模法中的經(jīng)典成熟的方法有二值電阻法和二值L/C 建模法。二值電阻法的優(yōu)點是仿真時的精度比較高,但是針對小步長仿真的效果不理想。二值L/C 建模法可以適用于小步長仿真,即當開關(guān)閉合時建模為一個值很小的電感,當開關(guān)斷開時建模為一個值很小的電容。當選擇合適的電感、電容和仿真步長的數(shù)值時,無論開關(guān)打開還是閉合都將獲得一個不變的電導(dǎo)的數(shù)值,可以保證電路對應(yīng)的導(dǎo)納矩陣是不變的。二值L/C 建模法開關(guān)等效示意圖如圖2 所示。
圖2 二值L/C開關(guān)建模示意圖
對于要求不是很高的電力系統(tǒng)的仿真而言,電源類器件可以直接用單相交流源進行模擬,三相電源可分解為3 個單相交流源進行模擬,然后利用相位差區(qū)分不同的相別[6]。單相交流源的模擬可以用式(6)表示。
其中,A 是幅值,ω是角頻率,θ是初始相位。
負荷及支路模型的建立要簡單得多,對于多個元件的組合電路可以通過降階處理來降低支路矩陣的階數(shù),從而可以使得在仿真時的仿真步長內(nèi)的計算量減少,利于快速仿真的實現(xiàn)。圖3 是RLC 支路的降階示意圖。
圖3 RLC支路降階
RLC 電路的統(tǒng)一表達式如式(7)所示:
表1 RLC 電路的統(tǒng)一參數(shù)表達
對于輸電線路較近的電力系統(tǒng)模型來說,輸電線路模型采用以集中參數(shù)表示的PI 等效模型時足夠精確的[5],如圖4 所示。在某些情況下,可以忽略線路中的對地電容的影響和RL 串聯(lián)阻抗之間的耦合作用,利用多條RL 串聯(lián)阻抗來表示表示輸電線路模型。
在電力系統(tǒng)中,變壓器的接線方式會對暫態(tài)仿真時的結(jié)果有影響,在電力系統(tǒng)中常用的三相變壓器的接線方式有:Yy0 以及Yd11 兩種,如圖5 所示。
圖5 變壓器連接組別
在不考慮變壓器在公共磁路上的耦合與不對稱現(xiàn)象時,可以使用三個單相線性變壓器按照不同的接線方式來組成三相變壓器。圖6 所示為簡化的單相線性變壓器模型。
圖6 單相變壓器模型
本仿真平臺的程序軟件基于Python 編程語言開發(fā),模型平臺是MATLAB 2015b,配合以Vivado 2015.4版本,程序框架采用基于節(jié)點電壓法的EMTP 框架。Python 語言具有面向?qū)ο缶幊趟季S方法的特點,具有這種思維方法的編程語言具有易維護且易擴展的特點,在需求變化的時候可以快速簡單有彈性的擴展程序功能用以滿足仿真的需求,同時Python 語言中存在大量的擴展庫,簡單易學(xué),可以降低開發(fā)的難度。針對不斷擴大的電力系統(tǒng)模型而言,仿真程序軟件具有良好而擴展性是一個重要的指標。
整個仿真平臺由建模模塊、模型的識別與分析仿真模塊、FPGA 硬件部分以及外部測量儀器如示波器組成。模型仿真模塊基于MATLAB/Simulink 平臺,通過程序?qū)ATLAB/Simulink 平臺的模型進行二次開發(fā),主程序部分識別并獲取模型的電氣信息以及拓撲構(gòu)成,由主程序生成計算矩陣,并得到Verilog HDL 硬件描述語言的代碼,借助Vivado 軟件將程序燒寫進入FPGA 平臺,獲得模型的仿真波形,完成針對模型的仿真。整個仿真平臺的結(jié)構(gòu)圖如圖7 所示。
圖7 仿真平臺結(jié)構(gòu)圖
程序可以分為五個主要的模塊:數(shù)據(jù)輸入模塊、模型識別模塊、矩陣生成模塊、開關(guān)檢查模塊以及仿真計算模塊。程序各模塊的結(jié)構(gòu)圖如圖8 所示。其中,數(shù)據(jù)輸入模塊可以基于Simulink 建立的系統(tǒng)模型傳遞給模型識別模塊,以便后續(xù)對模型的識別處理;模型識別模塊主要用于識別用戶基于MATLAB/Simulink 建立的系統(tǒng)模型,獲得系統(tǒng)模型的電氣信息及拓撲信息;矩陣形成模塊用于形成系統(tǒng)模型的節(jié)點計算矩陣,獲得節(jié)點阻抗矩陣、電流源矩陣和歷史項矩陣等;開關(guān)檢查模塊主要用于檢查系統(tǒng)模型中的頂管期間的通斷狀態(tài)是否發(fā)生變化,然后根據(jù)結(jié)果判斷是否需要修改節(jié)點計算矩陣;仿真計算模塊可以根據(jù)節(jié)點矩陣自動生成Verilog HDL 代碼,調(diào)用Vivado 軟件下載到FPGA 中完成系統(tǒng)的仿真計算。
圖8 模塊組成
程序?qū)崿F(xiàn)的整體思想框架如圖9 所示。程序的核心模塊是接收用戶設(shè)定的對仿真的步長等系統(tǒng)仿真的要求信息、自動讀取識別系統(tǒng)模型的各種電氣信息以及拓撲信息并將這些信息保留等待后續(xù)處理運行,根據(jù)不同元器件的不同的描述方式及關(guān)鍵詞對不同的模塊進行適宜的建模方式,并對元器件進行參數(shù)初始化、暫態(tài)矩陣的形成和電力電子開關(guān)器件的狀態(tài)的判斷,將獲得的系統(tǒng)模型的信息以及用戶提供信息等仿真數(shù)據(jù)送入程序的暫態(tài)仿真部分,然后通過軟件完成電力系統(tǒng)的仿真,將結(jié)果輸出到示波器等外部設(shè)備,完成系統(tǒng)的仿真過程。
圖9 程序的架構(gòu)
程序的計算流程如圖10 所示。
程序的實現(xiàn)首先要讀取模型的數(shù)據(jù)文件,獲得電力系統(tǒng)模型的元件參數(shù)以及拓撲信息。元件信息包括元器件的類型、名稱和基本的參數(shù),拓撲信息包括元器件的連接關(guān)系以及各支路和各節(jié)點的編號信息。系統(tǒng)的初始化包括對系統(tǒng)中的所包含電感電容元件的諾頓等效電路的生成計算,由初始信息確定模型中的歷史量的賦值信息,完成系統(tǒng)參數(shù)的初始化。然后程序可以根據(jù)系統(tǒng)模型的初始化信息以及電氣與拓撲信息形成仿真計算所使用的增廣的改進節(jié)點法的計算矩陣。矩陣的計算過程放在FPGA 中實現(xiàn),若要實現(xiàn)這個目的必須把計算過程用硬件描述語言來實現(xiàn),本文使用的語言為Verilog HDL。程序具備自動將矩陣方程的計算流程用HDL 描述實現(xiàn)的功能,然后調(diào)用Vivado 軟件,將HDL 代碼寫入FPGA 中。對于模型中沒有開關(guān)類器件時,利用FPGA 對系統(tǒng)模型的計算就可以按照設(shè)定步長開始計算。若系統(tǒng)中存在開關(guān)器件,那就需要對開關(guān)的狀態(tài)進行判斷。在開始對系統(tǒng)進行仿真計算以后,需要在每一個計算步長的計算完成以后更新由于離散差分所產(chǎn)生的歷史項電流源的數(shù)值,然后更新到計算矩陣中,開始下一個時步的計算。若對系統(tǒng)的仿真設(shè)定了計算時間,還需要考慮是否達到總的仿真時間。
圖10 程序計算流程
圖11 為搭建的實驗平臺,包括上位機、FPGA,示波器以及波形發(fā)生器等。IEEE 4 節(jié)點模型[7]如圖12 所示。
圖11 實驗仿真平臺
圖12 IEEE 4節(jié)點模型
暫態(tài)過程的產(chǎn)生可以有多種情況產(chǎn)生,本文選取最常見的一種暫態(tài)情況,即發(fā)生單相接地短路造成暫態(tài)過程。為了不失一般性,本文選擇A 相作為發(fā)生單相接地短路的故障相。
本例中,A 相的單相接地故障發(fā)生在母線4 上,測量的是母線3 上故障相即A 相的電壓和電流,如圖13所示,藍色的線為電壓波形,綠色的線為電流波形。同樣的選擇程序仿真與RT-LAB 的仿真作為對比。由圖13 可以看出,發(fā)生暫態(tài)時,程序的仿真波形的毛刺會顯著的增多,由于示波器的濾波的效果的影響也有一定的影響,接地短路發(fā)生時,程序的仿真波形會出現(xiàn)一些粗糙,F(xiàn)PGA 的仿真波形的大小比RTLAB 的仿真波形略大,在算法的精確度和在開關(guān)動作發(fā)生時的對數(shù)值的處理會造成波形的差別。仿真程序的電壓與電流的波形趨勢與RT-LAB 仿真情況下略有差異,但都在誤差的允許范圍以內(nèi)。
通過實驗結(jié)果可以看出,本文所基于FPGA 和自己開發(fā)的程序軟件的電網(wǎng)仿真實驗平臺在對于小型電力系統(tǒng)時的仿真能夠基本準確地得到暫態(tài)情況下的仿真表現(xiàn),對于系統(tǒng)發(fā)生暫態(tài)情況時的電壓和電流能夠與RTLAB 的結(jié)果做到在誤差范圍基本相同。因此,所研究的電網(wǎng)仿真平臺可以實現(xiàn)基本的電網(wǎng)暫態(tài)的仿真任務(wù)。
圖13 IEEE 4節(jié)點模型的暫態(tài)仿真