劉 麗,徐立恩,陳柳松
(中車株洲電力機車研究所有限公司,湖南 株洲 412001)
FPGA 相較于CPU 具有計算速度快、傳遞信號高速、能耗低等優(yōu)點[1],在高速率的仿真領(lǐng)域得到了廣泛的應(yīng)用[2],特別是在電力電子領(lǐng)域;但其速率直接影響了系統(tǒng)的計算誤差甚至準確性,因此,對電力電子拓撲進行實時仿真的FPGA 建模技術(shù)成為國內(nèi)外專家和學(xué)者研究的熱點。
目前,對于FPGA 的建模方法主要有3 種:傳統(tǒng)的FPGA 建模方法[3-4]、基于eHS(electric hardware solver)的FPGA 建模方法[5-7]及基于模型設(shè)計的方法[8]。傳統(tǒng)的建模方法不僅對專業(yè)人士的理論要求較高,而且對于大規(guī)模的電力電子拓撲,其數(shù)學(xué)分析過程復(fù)雜,建模難度大,需耗費大量的人力資源,開發(fā)周期長?;趀HS 的建模方法能利用SimPowerSystem 模型快速建立FPGA 模型,但需Opal-RT 測試系統(tǒng)的軟、硬件資源支撐,且模型的規(guī)模受到一定的限制,不僅需要昂貴的使用費,而且模型的可移植性很差?;谀P偷脑O(shè)計方法是Mathworks 公司近年提出來的一種新設(shè)計方法,其基于Simulink 模型自動生成HDL 代碼,但仍需對電路拓撲進行大量的數(shù)學(xué)分析。
針對電力電子拓撲FPGA 建模存在的問題,本文提出一種用于電力電子拓撲實時仿真的FPGA 快速建模方法。其通過對電力電子開關(guān)器件的等效,能夠方便簡單地對電力電子拓撲進行數(shù)學(xué)分析,同時可利用Matlab自帶的函數(shù)方便地得到系統(tǒng)的狀態(tài)空間矩陣,并將其映射于FPGA。該方法在復(fù)雜電力電子拓撲模型數(shù)學(xué)分析方面具有明顯的優(yōu)勢,同時能夠打破仿真器公司的技術(shù)封鎖,對于仿真建模技術(shù)的發(fā)展具有重要意義。
離散化等效建模主要是對電力電子開關(guān)器件進行分段線性化等效,以快速得到電力電子開關(guān)器件的數(shù)學(xué)模型。
理想電力電子單刀單擲開關(guān)特性電路如圖1 所示,其中us為開關(guān)兩端電壓,is為流過開關(guān)的電流。
圖1 理想開關(guān)模型Fig.1 Ideal switch model
在理想狀態(tài)下,當開關(guān)處于導(dǎo)通狀態(tài)時,電阻可等效為零;當其處于斷開狀態(tài)時,則電阻無窮大??紤]開關(guān)狀態(tài)的切換是瞬時完成的,若用一個布爾變量s來表示其開關(guān)狀態(tài),則可以如下形式表達:
由式(1)和式(2)可以看出,開關(guān)的通斷狀態(tài)能用開關(guān)兩端的電壓、電流函數(shù)以及s來表示。對于全控型器件,其開關(guān)狀態(tài)s只由外部的控制信號c來決定,即s=c;對于一些不控器件來說,由于無外部控制信號,其通斷狀態(tài)只能由其端電壓和電流來決定。
為建立適合仿真的離散模型,一些傳統(tǒng)的仿真器供應(yīng)商,如Spice 公司,將圖1 所示的理想開關(guān)特性電路模型用離散化形式表達[9],如圖2 所示。其中,代表第(n+1)個仿真步長時開關(guān)兩端的電壓;表示第(n+1)個仿真步長時流經(jīng)開關(guān)的電流,Gs為一個非線性的電導(dǎo);表示第(n+1)個仿真步長時的電流源。
圖2 離散化理想開關(guān)模型Fig.2 Discrete model of ideal switch
當開關(guān)導(dǎo)通時,Gs等效為一個很大的電導(dǎo);當開關(guān)斷開時,Gs等效為一個很小的電導(dǎo)。兩種狀態(tài)轉(zhuǎn)換期間,給Gs一個平滑的過渡。在這種計算方式下建模主要有兩種缺陷:
(1)Gs在每個仿真步長下都需要重新更新,以實現(xiàn)對非線性開關(guān)器件的線性化處理,容易引起狀態(tài)切換過程中系統(tǒng)的不穩(wěn)定性;
(2)由于Gs處于不斷的變化過程中,因此在每個仿真步長下,系統(tǒng)都需要重新計算并且存儲到FPGA 中,這會引入很大的計算負擔(dān)。
為彌補以上缺陷,本文基于后向歐拉算法條件[10],將開關(guān)特性電路等效成電感、電容的離散化模型。理想開關(guān)在導(dǎo)通時被當成小電感,斷開時被當成小電容。
讓Gs保持為一個常數(shù)時,則僅需通過電流源的值來反映開關(guān)狀態(tài)的變化。如此處理的好處在于可以保證電路拓撲的系統(tǒng)矩陣為常矩陣,而開關(guān)狀態(tài)的變化最終只通過電流源的變化來體現(xiàn)。
若仿真步長T足夠小,采用后向歐拉迭代算法,選擇,使得,則可以用如下的電流源來近似表達開關(guān)的特性:
在近似等效的情況下,引入的誤差如下:
(1)開關(guān)閉合時的電壓誤差
(2)開關(guān)斷開時的電流誤差
可以發(fā)現(xiàn),若采樣步長足夠小,那么式(4)和式(5)的誤差收斂于零。因此,為保證該方法的有效性和準確性,一般將其用于計算速率較快的FPGA。
按照上述分析,若將理想開關(guān)等效成離散化理想開關(guān)形式(圖2),保持Gs為常量且按照式(3)變化,則可等效得到開關(guān)的分段線性化數(shù)學(xué)模型。與傳統(tǒng)數(shù)學(xué)模型分析方法不同,該方法不需對其開關(guān)狀態(tài)下的電壓和電流進行深入分析。其中,Gs選擇范圍一般為0.001~10,T一般選擇較小值,自由調(diào)節(jié)Gs值,直到符合要求為止。為不影響電路本身特性,一般情況下,開關(guān)器件等效的電感和電容應(yīng)遠小于電路中本身存在的電感和電容,使得模型穩(wěn)定、正確。
該等效方法不僅適用于理想的開關(guān),而且對所有的開關(guān)器件都適用,只是開關(guān)狀態(tài)的表達式不同而已。表1示出理想開關(guān)(全控器件)、二極管(不控器件)以及晶閘管(半控器件)的狀態(tài)表達式。其他大部分開關(guān)器件可以用理想開關(guān)與二極管的不同組合形式來表示。
表1 不同類型開關(guān)器件的開關(guān)狀態(tài)表達式Tab.1 Switch state expressions for different types of switching devices
基于上述方法對電力電子拓撲的開關(guān)器件進行等效分析,將變拓撲電路變成電導(dǎo)和電流源并聯(lián)的定拓撲電路,即可方便地利用Matlab 自帶的power_analyze 函數(shù)求得其最終的數(shù)學(xué)表達式:
式中:u——系統(tǒng)的輸入變量;y——系統(tǒng)的輸出變量;D——系統(tǒng)的固定矩陣。
一般可選擇電壓源和電流源為系統(tǒng)的輸入變量(包括開關(guān)器件等效的受控電流源),需要測量和計算的電壓和電流為輸出變量。模型建立之后,仿真將按如下的方式進行處理:
(1)電路中各開關(guān)的下一個狀態(tài)由外部控制信號及當前開關(guān)兩端的電壓和電流來確定;
(2)開關(guān)器件等效的電流源由開關(guān)器件兩端當前的電壓或者電流來確定;
(3)根據(jù)式(6)求解出系統(tǒng)的輸出量;
(4)不斷重復(fù)步驟(1)~(3),直到仿真停止為止。
與傳統(tǒng)方法相比較,本文所提方法不再需要人工進行復(fù)雜的數(shù)學(xué)分析,對于任意帶有開關(guān)器件的電力電子拓撲,只需將其等效成電導(dǎo)和受控電流源并聯(lián)的形式,即可快速得到系統(tǒng)唯一的數(shù)學(xué)表達形式y(tǒng)=Du。采用此方法,模型的搭建具有可復(fù)制性,極大地縮短了建模時間。圖3 給出了該方法與傳統(tǒng)FPGA 建模方法預(yù)計的開發(fā)周期的對比,可以看出,采用本文所提的方法,F(xiàn)PGA 建模開發(fā)周期縮短了1/4 左右。
圖3 FPGA 建模開發(fā)周期對比Fig.3 Building period comparison between different FPGA modeling methods
為了驗證本文所提方法的可行性,選取“三相兩電平逆變器+異步電機”的電路拓撲形式來進行仿真驗證。
圖4 示出“逆變器+電機”的電路拓撲,其中Ud為中間直流電壓,V1~V6 為IGBT 器件,D1~D6 為并聯(lián)的二極管,M 為異步電機。該電路采用傳統(tǒng)的矢量控制方式,利用SVPWM 脈沖調(diào)制模塊產(chǎn)生PWM 脈沖。異步電機的主要參數(shù)如表2 所示。
圖4 “逆變器+電機”電路拓撲Fig.4 Topology of the circuit with inverter and motor
表2 異步電機的主要參數(shù)Tab.2 Main parameters of asynchronous motor
文中開關(guān)器件采用理想開關(guān)和二極管并聯(lián)的形式進行等效,其等效電路如圖5 所示。其中Gs為常數(shù),可自由調(diào)節(jié);js由系統(tǒng)的開關(guān)狀態(tài)和前一個狀態(tài)的電壓或電流來確定,其關(guān)系如式(3)所示。
圖5 等效后的“逆變器+電機”模型Fig.5 Equivalent model of inverter and motor
最終得到逆變器的數(shù)學(xué)表達式為
式中:i代表行;j代表列;m為總列數(shù)。
逆變器在FPGA 中的內(nèi)部計算結(jié)構(gòu)如圖6 所示,保持系統(tǒng)矩陣不變,變流器的開關(guān)特性即可簡單地通過輸入變量的變化來體現(xiàn)。
圖6 FPGA 內(nèi)部計算結(jié)構(gòu)Fig.6 Internal computing structure of FPGA
為了說明該方法的有效性,需采用FPGA 離線仿真與SimPowerSystem 模型相對比的方式來對系統(tǒng)進行仿真分析,其中SimPowerSystem 模型采用閉環(huán)控制的形式,F(xiàn)PGA 模型采用開環(huán)的形式來進行仿真(圖7)。
圖7 SimPowerSystem 模型與FPGA 模型對比框圖Fig.7 Block diagram comparison of SimPowerSystem model and FPGA model
圖8 示出SimPowerSystem 模型下和FPGA 模型下的逆變器輸出三相電流波形,圖9 為兩種模型下AB 相間輸出線電壓uAB的波形對比。可以看出,兩種模型下,逆變器輸出三相電流誤差小于0.5%,uAB波形誤差不超過1%,證明該方法應(yīng)用于電力電子拓撲仿真建模的有效性。
圖8 逆變器三相電流波形Fig.8 Three-phase current waveforms of the converter
圖9 uAB 波形Fig.9 Waveforms of uAB
圖10 和圖11 示出了電機轉(zhuǎn)速和轉(zhuǎn)矩的對比波形??梢钥闯觯瑑煞N模型下,電機轉(zhuǎn)速的誤差基本上能夠控制在0.3%以內(nèi),轉(zhuǎn)矩的誤差控制在1.5%以內(nèi),表明采用該方法,整個系統(tǒng)能夠保持良好的動態(tài)和靜態(tài)性能。
圖10 兩種模型下電機轉(zhuǎn)速波形對比Fig.10 Motor speed waveform comparison for two models
圖11 兩種模型下電機轉(zhuǎn)矩波形對比Fig.11 Motor torque waveform comparison for two models
表3 示出SimPowerSystem 和 FPGA 模型下參數(shù)仿真誤差。仿真中出現(xiàn)誤差最主要源自Gs和T參數(shù)的選擇,這是因為使得模型穩(wěn)定且可選的Gs和T值較多,通常需要不斷地反復(fù)試驗才能得到最優(yōu)的參數(shù);另外,對模型進行等效處理,會使開關(guān)切換過程引入一定的誤差。
表3 SimPowerSystem 和 FPGA 模型下參數(shù)誤差Tab.3 Parameter errors under SimPowerSystem model and FPGA model
本文研究并提出了一種用于電力電子拓撲仿真的FPGA 建模方法。其首先對電力電子開關(guān)器件進行等效分段線性化處理,使得原本為非線性模型的開關(guān)器件轉(zhuǎn)化成分段線性化的模型;其次運用Matlab 自帶的函數(shù)對系統(tǒng)矩陣進行求取,簡單、方便地實現(xiàn)了對其數(shù)學(xué)模型的分析,極大縮短了FPGA 建模的開發(fā)周期。仿真實驗結(jié)果驗證了該方法的有效性。但該方法對Gs參數(shù)的選擇需基于人工試驗,后續(xù)將針對Gs的自適應(yīng)求解做進一步研究。