如何讓電力電子模擬更接近真實

Simulink是電力電子應用最廣的軟體,很適合用於驗證控制演算法。現在市面上有各種各樣的電路模擬軟體,比如Saber,PLECS,PSpice,LTSpice,PSIM,PSCAD等等。然而,最好用的,還是Simulink,因為裡面的模塊較多,能夠省很多力去搭建基礎模塊,例如PWM generator、各種變換、各種比較模塊。

然而,對比起PSpice,Simulink的弱點在於,他的power stage模塊不是很接近實際系統,都是一些理想的開關器件,新出的electroinics工具包相對更接近實際模型,但是仍然不夠。畢竟Simulink這個軟體大部分工科專業都會用。如果想要驗證一些難以解釋的現象,例如試驗中出現的overshoot,spikes,諧波等現象,還是需要用到SPICE模型,因此,這裡做個筆記,如何讓模擬更接近實際系統,這是我看一些高級玩家的心得。如果有錯誤或者缺漏,希望大家提供一些指正,多交流交流技術,有些方法我都沒試過。

首先,一個完整的項目步驟,應該是明確問題、文獻調研、提出方案,理論建模、設計參數,模擬驗證,設計硬體,實驗驗證幾步。好的模擬模型,可以給實驗提供參考,例如控制參數、代碼bug等等。如果你的模擬模型和硬體十分接近,可能你設計的控制參數就能直接套用,而不需要花很多時間試湊參數。

1. 入門步驟:離散化。這個是最基本的。現在的控制大多是數字控制,模擬控制多數應用在較簡單,或者對速度要求較高的系統中。數字控制一般都用的是DSP或者FPGA實現,DSP的控制過程是這樣的:我們一般把控制寫到EPWM中斷中,每一個開關周期執行一次中斷。同時,採樣也是寫在PWM中斷裡面了,每次中斷,讀一次ADC。因此,你的模擬也需要這樣做。簡單的做法是,用Z變換把所有關於控制的模塊離散化。但是power stage的所有模塊,模擬的是實際的物理模型,因此,power stage的模塊需要和你的模擬步長一致,越小越好。當然,步長小模擬就慢,還是要看你的電腦性能了。Geek做法就是用S-function寫,以前我們實驗室的德國PhD就是這麼乾的,需要你對硬體和編程的理解比較高,而且工作量大。S-function可以做到和DSP程序接近,你需要把你的演算法全部寫成編程語言,簡單的可以寫成C,更牛的直接用MEX。S-function和硬體一樣的運行原理,都是初始化過後,就進入死循環,然後不停地更新變數、輸出循環,還可以自定義離散變數或者連續變數。另外,MEX格式的S-function不需要電腦再編譯一次,因此,相對較快。用代碼寫控制演算法的好處是:可以直接把你的DSP代碼放進去,這樣容易發現程序中的Bug,另外,換個人多半看不懂你的代碼,易於保密。但是壞處就是不好調,編程語言肯定不像控制模塊那麼易懂。

2. 中級步驟:PLECS和PSIM。PLECS相比於Simulink,對於電力電子更專業,PLECS專門針對電力電子變流器做了演算法上的優化,可以讓模擬更快一點,另外,PLECS可以讓你選擇開關的一些寄生參數。最最重要的是,PLECS提供熱模擬,你可以看到開關管的溫度,同時可以看到開關管的參數隨著溫度變化的過程。當然,需要模擬更精確,例如考慮冷卻,ANSYS應該更好,但是ANSYS不能做電路模擬。PLECS提供blockset和stand-alone版本,blockset直接集成到simulink裡面,stand-alone是單獨的,比blockset更快,但是需要你自己搭建一些基礎模塊,畢竟PLECS的toolbox不如Simulink那麼多,但是也足夠用了。

但是,對於開關管本身的參數,最好的軟體還是Saber和PSpice,這兩個軟體可以直接對半導體進行物理建模,而且你可以自己按照測試結果修改模型。Saber可以和Simulink對接,控制做到Simulink裡面,power stage放到Saber裡面,這樣就非常精確了。Saber的問題在於跑得慢,而且Saber演算法不容易收斂,不適合MMC,微網這種複雜系統。PSIM也可以,PSIM自帶的開關模型不是特別好,但是PSIM可以添加SPICE模型進去,所以,你可以模擬Cgd,Cgs,Rrrs等開關寄生參數,這個對於你發現問題是有好處的。PSIM還有一個比較強大的功能是,可以直接編譯成DSP代碼,目前提供四個DSP型號,TI的28335在裡面。MATLAB也有這個功能,但是不是專門針對於DSP。PSpice也是支持Simulink的,把PSpice模型放到Simulink,可以讓兩者一起跑,用法和Saber一樣。

3.土豪方案:硬體在環HIL。需要硬體支撐的。電腦做模擬,基本都是離線的模擬,一般來說,如果是開關頻率級別的模擬,用電腦跑,一秒可能都需要三四分鐘,甚至幾個小時。對於有些情況,我們需要實時模擬,例如,有些發散是需要很長時間才能看到,你別想指望用Simulink跑10分鐘,你的電腦內存撐不住,實時模擬可以。HIL便宜的可以用Typhoon,貴的可以上RTDS或者OPAL-RT。後兩者確實很貴,隨便一台就好幾萬美元了,而且,OPAL-RT主要用於系統層級的模擬,想要到開關頻率級別,例如20kHz,那就要上他們的頂級裝備,確實一般買不起。Typhoon對於一些簡單一點的系統,還是能夠仿得不錯的,HIL603的步長最小到0.5微秒。 另外,typhoon提供DSP拓展卡,直接可以把你的DSP control card放到typhoon上面跑,可以大大提高模擬精度。現在有不少文章都是這麼幹得,弄一個演算法,一個HIL+Dspace驗證一下,就能弄一篇Trans,這個算是文章神器吧。我用過Typhoon做模擬,不得不說,這個東西還不夠成熟,很多時候很簡單的一個電路,跑出來的結果有時候和Simulink完全不同,到現在也沒弄懂是為什麼,所以,上這個步驟的還是需要慎重。

推薦閱讀:

為什麼零線上沒有電?
未來的社會需要的工程應用型人才是一專多能還是精於一業?
國外電力工業漫談(亞洲篇)---泰國
PLC基礎篇之PLC的誕生及工作原理
在極不均勻電場長氣隙中擊穿特性為什麼會有「飽和」現象?

TAG:电气工程 | 电力电子技术 | MATLAB |