電力電子器件開關(guān)周期很短,要想精確模擬開關(guān)過程,需要特別小的仿真步長,而小步長會導致仿真變慢,仿真速度與精度的權(quán)衡在電力電子仿真中尤為重要?!峨娏﹄娮釉O(shè)計之如何選擇功率器件開關(guān)模型》一文中介紹到開關(guān)器件的幾種不同精度模型,通過合理的選擇模型精度可以在幫我們從仿真模塊選擇的角度選擇精度和速度。在選定后建模精度后,我們還可以通過合理的 Solver 設(shè)置進一步優(yōu)化仿真速度和精度?!峨娏﹄娮釉O(shè)計之如何選擇功率器件開關(guān)模型》文中介紹到 Simscape Electrical 中有多種精度的 IGBT 模型,Average-value(均值開關(guān))、Averaged-switch(均值開關(guān))、Piecewise-linear(分段線性)和Nonlinear(非線性)。本文以實際仿真中應用較多的 Piecewise-linear(分段線性)模型為例,介紹 Solver對電力電子仿真結(jié)果的影響。本文包括如下內(nèi)容:
Solver 介紹
定步長與變步長對電力電子仿真的影響
ode23t 和 odeN 的對比
示例概述本文以 Boost 電路為例,下圖是仿真模型截圖,圖中電力電子器件為 IGBT 的分段線性模型。該 Boost 電路通過控制 IGBT 的開關(guān)斷將 250V 的電壓升壓至 400V,模型中沒有考慮負載變化,設(shè)置 IGBT 的占空比為 40%。IGBT 的開關(guān)頻率為 10kHz,即下圖中 PWM Generator 的 Timer period 設(shè)為 1e-4s。本例中未涉及輸出電壓閉環(huán),僅以開環(huán)控制為例介紹 Solver 對電路的影響。
首先我們來看一下該電路最終的工作效果,下圖中仿真開始后電壓迅速上升,最高至 500V,隨后回落穩(wěn)定至約 400V 左右。由于負載為純阻性負載,負載電流與電壓波形相似。
放大上升階段波形,同時觀測 PWM 信號。從電壓波形和 PWM 波形的對比可看出,每次電壓的上升發(fā)生在 PWM 信號為零時,即 IGBT 關(guān)斷狀態(tài)。Boost 電路的原理是通過 IGBT 的開通時電感蓄能,當 IGBT 關(guān)斷時電感電壓與電源電壓疊加為負載側(cè)供電,從而將輸出端電壓抬高??梢?PWM 和 IGBT 的開關(guān)斷過程對仿真結(jié)果影響至關(guān)重要。
Solver 的種類當我們使用 Simscape Electrical 進行仿真時,有三個 Solver 需要考慮:Simulink Configuration 中的 Simulink Solver、Simscape Solver(圖一中的f(x)=0模塊)和 Powergui。Simulink Solver 決定整個 Simulink 的解算方式,而 Simscape Solver 和 Powergui 分別對應 Simscape Electrical 和 Specialized Power Systems 電氣模型的解算方式。當然如果 Simscape Solver 中的 ‘Use local solver’沒有被選擇的話,Simscape Electrical 電氣模型將按 Simulink Solver 設(shè)置進行解算。同理當 Powergui的‘Simulation type’被設(shè)置成 Continuous時,Specialized Power Systems 電氣模型將按 Simulink Solver 設(shè)置進行解算。本文采用 Simscape Electrical 進行建模,因而只探討 Simulink Solver 和 Simscape Solver。Simulink Solver 分變步長和定步長兩類,以下是 Solver 設(shè)置頁面的截圖。
當模型被設(shè)置成變步長 Solver,仿真過程中 Solver 根據(jù)仿真誤差運行值自動調(diào)節(jié)步長;而定步長時Simulink將不判斷誤差,只按設(shè)定步長運行。理論上仿真步長越小,仿真結(jié)果越精確,但實際使用過程中過小的仿真步長會導致仿真緩慢。變步長 Solver 通過步長自動調(diào)節(jié)方法,實現(xiàn)速度與精度的平衡。仿真運行過程中當系統(tǒng)內(nèi)狀態(tài)變化過快或過零點等事件時,Solver 會自動降低步長來保證精度;當系統(tǒng)內(nèi)狀態(tài)變量變化平緩時,Solver 會增大步長以提高仿真速度,保證良好的速度體驗。關(guān)于變步長 Solver 的詳細選擇問題,可以查下幫助文檔中的《Variable Step Solvers in Simulink》一節(jié)。https://ww2.mathworks.cn/help/simulink/ug/variable-step-solvers-in-simulink-1.html 精度的保證 - 變步長 Solver在電力電子仿真中常用的變步長 Solver 是 ode23t,我們將模型設(shè)置成變步長 ode23t 后能保證模型的仿真精確,并且速度體驗也還好。通過 Simulink 提供的 Solver profiler 我們可以觀察仿真過程中步長的變化,仿真步長在 5e-5s ~ 10e-20s 之間變化。
下圖是仿真步長的放大圖,其中藍色的點橫線為 Step Size,每個藍色點表示該時刻為計算時刻。當發(fā)生降步長時,一段時間內(nèi)會有多個步長都是以非常小的步長進行計算的,直至系統(tǒng)平穩(wěn)才恢復到較大步長。
如果我們將仿真步長與電壓、電流和 PWM 信號對比,我們將發(fā)現(xiàn)步長變小的情況通常發(fā)生在 PWM 電平信號變化的時刻。
這是因為 PWM 信號變化,即 IGBT 的工作模式變化,會導致整個系統(tǒng)相關(guān)的狀態(tài)變量發(fā)生較大的改變,同時會有過零點等事件發(fā)生,此時 Solver 需要將步長減小以保證仿真精度。因而對于電力電子系統(tǒng),系統(tǒng)中開關(guān)變化越多,Solver 減小步長的可能性越大。隨之而來的問題是,若開關(guān)頻率較高或開關(guān)器件的較多,仿真會變得緩慢。如進行三相兩電平、三電平或 MMC結(jié)構(gòu)系統(tǒng)仿真時,速度會逐步下降。速度和精度的權(quán)衡 – 定步長 Solver在實際項目中,仿真精度的需求會隨著研究對象和階段而變化,仿真速度和精度往往是相互矛盾的,他們之間的權(quán)衡需要工程師根據(jù)實際情況進行調(diào)節(jié)。為了解決隨著開關(guān)器件增加仿真變慢的問題,Simulink Solver 和 Simscape Solver 提供定步長解決方案。
在定步長模式下,工程師可以根據(jù)經(jīng)驗設(shè)置相應的步長,以達到仿真速度和精度的平衡。在使用定步長進行仿真時,建議使能 Simscape Solver 中的 Use local solver 選項,這樣在仿真時電氣模型部分按照針對物理模型優(yōu)化的定步長方法進行計算。在該模塊中主要設(shè)置項有 Solver type、Sample time 和 iterations 等設(shè)置,下圖為 Simscape Solver Configuration 設(shè)置頁面截圖。詳細說明請見幫助文檔《Solver Configuration》頁面。
電力電子仿真中 PWM 至關(guān)重要,仿真步長的設(shè)置以捕獲 PWM 過程為目標,如 Boost 電路中我們設(shè)置的開關(guān)頻率為 10kHz,設(shè)置的步長應能很好的捕獲 10kHz 載波與調(diào)制波比較的瞬間,一般經(jīng)驗為仿真步長為開關(guān)周期頻率的 1/10~1/100,根據(jù)仿真結(jié)果逼真度需求可適當調(diào)節(jié)。使能‘Use local solver’,并使用不同步長(1us、10us、50us 和 ode23t)進行仿真,得到下圖結(jié)果。三種定步長運行的結(jié)果與變步長結(jié)果的趨勢一致。
將電壓上升階段的波形進行放大,可見下圖。仔細看幾種步長呈現(xiàn)的結(jié)果有細微差別,總的來說步長越小得到的結(jié)果越接近變步長結(jié)果。
細微的差別來源于 PWM 信號的捕獲精確度,下圖為PWM捕獲過程的示意圖,第一幅為載波和調(diào)制波信號,第二幅圖為理論 PWM 信號,第三幅圖為 1u s采樣步長采樣所得的 PWM 信號,由于 1us 步長相對 10kHz 開關(guān)周期已經(jīng)實現(xiàn)了 100 倍的采樣,所以大的趨勢看不出差別。
當我們對圖進行放大后,可以發(fā)現(xiàn)兩種之間有一定的偏差,定步長并不能很好的捕獲 PWM 變化的準確位置,正是這個偏差導致仿真結(jié)果不一致。當采樣步長增大后仿真偏差也會越來越大,直至系統(tǒng)不穩(wěn)定。
變步長可以提供很好的精度保證,但在開關(guān)器件數(shù)量多時會損失速度。通過合理選擇定步長模式下的步長,在系統(tǒng)開關(guān)器件數(shù)量增多的情況下人能一定程度兼顧速度和精度,但當步長較大時則會存在仿真準確或不收斂的情況。兩種Solver都有相應的優(yōu)缺點,odeN 集合二者的優(yōu)點,提供一個中間的方法。兼顧定步長和變步長的優(yōu)勢 – odeNodeN 在 Simulink Solver 變步長 Solver 選項下,它以定步長方式運行,但當系統(tǒng)發(fā)生過零點時會自動在過零點處插入一個步長,捕獲變化瞬間。這樣我們在仿真中可以得到固定步長的速度優(yōu)勢,同時能獲得變步長的精度優(yōu)點。在 ode23t 模式下,仿真步長始終變化,且在過零點附近有多個很小的步長,計算所需的步數(shù)增加,從而影響仿真速度。將 Solver 由 ode23t 改成 odeN 后系統(tǒng)的仿真步長變化如下圖所示,在 odeN 的作用下,模型大多數(shù)時候以設(shè)定的 10us 步長運行,只有當發(fā)生過零點時才會降低步長,而且只插入一個步長點,這樣就可以減少計算步數(shù),減少仿真時間。
由于 odeN 具有部分變步長的特性,在實際使用時可以將設(shè)定步長增大,同時通過 odeN 自動插步的特性保證精度。下圖是 ode23t 和 odeN 在 10us 和 50us 步長下的對比,三條曲線沒有明顯的差異。
將圖進行放大,三者仍然保持較高的重合度,從精度上看可以認為 odeN 與 ode23t 在同一水平上。
根據(jù) odeN 的工作原理,我們可以推測在實際仿真中一定時間的仿真所需的仿真步數(shù)會一定程度地減少,步數(shù)的減少決定最終 odeN 在仿真速度上有一定的優(yōu)勢。下面兩幅圖分別是 Boost 模型仿真 10s 后統(tǒng)計出的 ode23t 和 odeN 所需的仿真步數(shù)和時間,從圖中可以得出結(jié)論:odeN 在仿真速度上有一定的優(yōu)勢。
當模型設(shè)置為 ode23t 時,模型運行時 Solver 自動判斷最大步長約 25us,odeN 在最大仿真步長 10us 的情況仿真速度已經(jīng)超過了 ode23t。得益于 odeN 的定步長特性,可以進一步將最大步長設(shè)成 50us,獲得更快的仿真速度。
通過以上幾種 Solver 的設(shè)置,Boost 模型的仿真精度得到了保證,且在速度上實現(xiàn)了較大的優(yōu)化,可見 Solver 在仿真中至關(guān)重要。除了以上特性外,Simulink Solver、Simscape Solver 和本文沒有涉及的 Powergui 中有更多的特性能幫我們做好電力電子仿真。
原文標題:電力電子設(shè)計之 Solver 設(shè)置
文章出處:【微信公眾號:MATLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責任編輯:haq
-
電路
+關(guān)注
關(guān)注
172文章
5954瀏覽量
172628 -
仿真
+關(guān)注
關(guān)注
50文章
4113瀏覽量
133811
發(fā)布評論請先 登錄
相關(guān)推薦
評論