
在電力電子與新能源并網這個圈子里做光伏逆變器仿真的人多少都聽過MWORKS Sysplorer。最近我手頭正好有個活用MWORKS Sysplorer搭一套光伏逆變器并網SMIB單機無窮大系統(tǒng)仿真模型重點把PLL鎖相環(huán)和dq電流控制環(huán)這兩個核心模塊吃透。跑完一輪測試下來的感受是這套工具在電力電子系統(tǒng)級仿真上的完成度確實能打而且遇到問題時自己排查起來比純手推公式要直觀得多。這篇東西我不打算寫成操作手冊而是想把從模型搭建、參數設置到調試運行中那些真正費過勁的地方攤開來講。如果你正在用或準備用Sysplorer做并網逆變器仿真尤其是對PLL和dq控制這一套不太熟那這篇內容應該能幫你少走不少彎路。我也會把坐標變換的推導過程、控制參數的計算邏輯以及我實測踩過的幾個坑一并整理進去。不管你是剛從Simulink轉過來還是第一次接觸MWORKS這篇都可以作為一份參考。1. 項目整體拆解為什么選MWORKS Sysplorer做并網仿真1.1 從題目看本質這套模型到底在仿真什么先把這個項目標題拆開看MWORKS Sysplorer是仿真平臺光伏逆變器是被仿真的對象并網SMIB是運行場景PLL與dq電流控制則是整個模型里最核心的兩個算法模塊。連起來理解這是一個典型的“新能源發(fā)電單元接入無窮大電網”的穩(wěn)態(tài)與動態(tài)特性仿真任務。SMIBSingle Machine Infinite Bus的概念在電力系統(tǒng)里很經典它把整個電網等效成一個電壓幅值和頻率都恒定的無窮大母線。用SMIB來做并網仿真有一個天然的好處你能把電網響應從仿真里剝離出去專心研究逆變器自身的行為。換句話說逆變器輸出側的電壓和頻率由電網“撐住”研究的焦點就變成了逆變器的輸出電流能不能精確跟蹤指令、功率能不能按設定值走、電網電壓出現(xiàn)擾動時系統(tǒng)還能不能穩(wěn)住。這個設定在分析鎖相環(huán)動態(tài)、電流內環(huán)響應、以及弱網適應性時特別有用因為它把變量控制到了最干凈的程度。Sysplorer在這個場景下提供的是一整套物理建模環(huán)境。你不用像在純代碼環(huán)境里那樣手動管理積分步長和狀態(tài)變量而是通過圖形化方式把電氣主電路、控制算法和測量模塊拖拽連接起來。對于做過Matlab/Simulink仿真的人上手Sysplorer的曲線很平滑很多交互習慣是相通的。不過它也有自己的脾氣這個在后面章節(jié)里我會詳細說。1.2 工具選型的底層邏輯為什么不是Simulink或Cautosim關于MWORKS和MathWorks那套平臺的對比圈子里一直有討論。我個人的觀點是如果你單位已經在用國產工具鏈做替代或正版化合規(guī)那MWORKS Sysplorer是目前在電力電子仿真方向上最接近Matlab/Simulink體驗的選擇。先說結論性的對比。Simulink的生態(tài)最成熟文檔和第三方工具箱最豐富如果你要搭一個非常復雜的電力系統(tǒng)比如幾百個節(jié)點的微電網群那Simulink加Simscape Electrical確實還是最穩(wěn)的路徑。而Cautosim在控制系統(tǒng)仿真上有不錯的表現(xiàn)但它的強項更多集中在控制算法驗證和快速原型這一層電力電子主電路模型的豐富度相對弱一些。Sysplorer的定位更接近Simulink它既有完整的電氣元件庫也有控制算法建模環(huán)境二者在同一個模型里是“原生”協(xié)同工作的不需要外部接口來回倒騰數據這個一體化的體驗在國產工具里確實做得比較到位。再用一個生活化的類比來說清楚這個差別。Simulink像是一個老牌研發(fā)中心各種設備齊全但很多高級功能模塊是要單獨買授權的Cautosim像是一個專門的工藝實驗室做控制算法的驗證速度和效率很高但是你要在里面做電氣大功率實驗設備就有點不夠用Sysplorer則更像一個集成度很高的中試車間電磁暫態(tài)、控制邏輯、數據記錄這些環(huán)節(jié)都被安排在相鄰的房間進出方便整個流水線跑起來更快。對于光伏逆變器這種強耦合的機-電-控系統(tǒng)這種一體化協(xié)作能力是很有價值的。1.3 Sysplorer環(huán)境下的系統(tǒng)級建模思路在實際建模之前我習慣先畫一張系統(tǒng)的能量流和信號流圖。能量流是光伏陣列發(fā)出直流電經過逆變器變成三相交流經過濾波電抗器接到SMIB電網上。信號流是電網三相電壓進入PLLPLL輸出電網相位角電網三相電流經過abc/dq變換變成dq軸電流dq電流經過PI控制器得到dq電壓指令再經過dq/abc逆變換和PWM調制生成逆變器的開關信號。這個能量流加信號流的雙層結構是理解整個仿真的核心框架。Sysplorer里的模型拆解也是沿著這個框架來的。你在建模型時物理上有一個“功率電路”子系統(tǒng)邏輯上有一個“控制算法”子系統(tǒng)最后再用電壓電流測量模塊把兩個部分連接起來。這種分層思維非常關鍵因為后續(xù)調試的時候你要能快速判斷問題是出在主電路比如濾波參數不對還是控制部分比如PLL初始相位不對而不是一頭扎進幾百個模塊里亂找。Sysplorer的元件庫覆蓋了電氣元件電阻、電感、電容、變壓器、三相電源、逆變橋等、信號源階躍、正弦、斜坡等、測量模塊電壓表、電流表、功率表等和數學運算模塊加減乘除、積分微分、三角函數、傳遞函數等。這些模塊的連線方式和Simulink的風絡相似但又不完全一樣我剛用的時候總想按Simulink的快捷鍵和縮放習慣操作反而不順手。不過適應幾天后效率就上來了。2. PLL鎖相環(huán)從電網相位到dq坐標系的“定海神針”2.1 為什么并網逆變器離不開PLL我們在做并網仿真時PLL是最不能含糊的模塊。它的物理意義一句話就能說明白在任意時刻精確地檢測出電網電壓的相位角然后把逆變器的控制系統(tǒng)“對齊”到這個相位上。為什么要對齊因為逆變器輸出電流要實現(xiàn)對電網電壓的有功和無功控制必須把三相靜止坐標系里的交流量變換到同步旋轉的dq坐標系里的直流量。而dq變換的前提是你用來做變換的那個旋轉角恰好就是電網電壓矢量的角度。如果這個角度有偏差dq軸電流會出現(xiàn)耦合和穩(wěn)態(tài)誤差功率因數不再受控嚴重時還會觸發(fā)過流保護甚至導致系統(tǒng)失穩(wěn)。這就好比兩個人要手拉手轉圈對方已經以50Hz轉起來了你如果不知道他轉到哪個方向就開始伸手大概率是拉不住的。在SMIB仿真中電網電壓是理想的頻率恒定、幅值恒定但系統(tǒng)啟動時逆變器輸出電壓和電網電壓之間存在初始相位差實際運行中出現(xiàn)電壓暫降或者頻率偏移時相位差也會動態(tài)變化。PLL的任務就是實時跟蹤這個相位讓控制系統(tǒng)始終與電網保持同步。PLL的性能指標包括三個鎖相精度穩(wěn)態(tài)相位誤差、鎖相速度動態(tài)響應時間和抗擾能力對電網畸變的抑制。2.2 SRF-PLL工作原理與控制框圖目前工程上最常用的就是基于同步旋轉坐標系的SRF-PLLSynchronous Reference Frame PLL也叫dq鎖相環(huán)。它的核心思想并不復雜三相對稱電壓經Clarke變換到αβ靜止坐標系再經Park變換到dq旋轉坐標系其中q軸分量在相位被準確鎖定時正好等于零。我先把數學推導寫出來這樣比光看框圖好理解得多。設電網三相電壓為[ \begin{cases} v_a V_m \cos(\theta_g) \ v_b V_m \cos(\theta_g - 2\pi/3) \ v_c V_m \cos(\theta_g 2\pi/3) \end{cases} ]這里的(\theta_g)是電網電壓矢量的實際角度。經過等幅值Clarke變換[ \begin{bmatrix} v_\alpha \ v_\beta \end{bmatrix}\frac{2}{3} \begin{bmatrix} 1 -\frac{1}{2} -\frac{1}{2} \ 0 \frac{\sqrt{3}}{2} -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} v_a \ v_b \ v_c \end{bmatrix} ]可以得到[ v_\alpha V_m \cos(\theta_g), \quad v_\beta V_m \sin(\theta_g) ]然后經過Park變換旋轉角度用的是PLL估計出來的(\hat{\theta})[ \begin{bmatrix} v_d \ v_q \end{bmatrix}\begin{bmatrix} \cos\hat{\theta} \sin\hat{\theta} \ -\sin\hat{\theta} \cos\hat{\theta} \end{bmatrix} \begin{bmatrix} v_\alpha \ v_\beta \end{bmatrix} ]展開后[ v_d V_m \cos(\theta_g - \hat{\theta}), \quad v_q V_m \sin(\theta_g - \hat{\theta}) ]當(\theta_g - \hat{\theta})很小的時候(\sin(\theta_g - \hat{\theta}) \approx \theta_g - \hat{\theta})。這說明(v_q)信號直接攜帶了相位誤差信息誤差趨近于零時(v_q)也趨近于零。于是控制方案就出來了把(v_q)送到PI控制器PI的輸出作為角頻率校正量再加上工頻前饋(2\pi \times 50)最后積分得到估算相位(\hat{\theta})。這段推導雖然是基礎的教科書內容但我還是把它完整寫了一遍因為在Sysplorer里搭PLL時你需要在模塊庫里自己做Clarke變換、Park變換和PI環(huán)而不是像某些專用工具箱那樣拖一個封裝好的PLL模塊出來直接用。理解了推導過程你才能知道自己搭的每個積分器、每個增益是在干什么出了問題也知道往哪里查。2.3 在Sysplorer里搭建PLL的詳細步驟在Sysplorer里我建議把PLL封裝成一個子系統(tǒng)這樣電流環(huán)做dq變換時就能直接復用同一個相位角。子系統(tǒng)內部我按這個順序來搭建第一步接入三相電壓測量值。從電網側取的(v_a, v_b, v_c)接到一個三相電壓測量模塊把電壓信號引入控制子系統(tǒng)。注意在Sysplorer里電氣信號和控制信號是兩種不同的信號類型中間需要通過測量模塊把電氣量“翻譯”成控制信號。這是新手最??ㄗ〉牡胤街弧5诙酱罱–larke變換。用兩個加法器和兩個增益模塊實現(xiàn)上面的公式。增益系數分別是(2/3)和(1/\sqrt{3})這個在Sysplorer里直接用Gain模塊設置數值即可。第三步搭建Park變換。這里需要用到(\sin)和(\cos)三角函數模塊它們的輸入就是PLL輸出的(\hat{\theta})。旋轉矩陣里有四個乘法器分別是(\cos\hat{\theta} \cdot v_\alpha \sin\hat{\theta} \cdot v_\beta)得到(v_d)(-\sin\hat{\theta} \cdot v_\alpha \cos\hat{\theta} \cdot v_\beta)得到(v_q)。務必用乘積相加的方式搭不要試圖用矩陣運算模塊因為那樣反而更繞。第四步搭PI環(huán)節(jié)和積分環(huán)節(jié)。PI控制器的輸入是(v_q)輸出是角頻率誤差。PI參數的選擇后面單獨講。PI輸出之后要加一個前饋項(2\pi \times 50)然后用一個積分器對((\omega_{ff} \Delta\omega))積分得到(\hat{\theta})。積分器的初始條件設為0但要注意如果你的仿真參考角度是用sine函數以0時刻為起點產生的那PLL的收斂過程會有一個短暫的暫態(tài)大概在0.02到0.05秒內完成這是正常的不需要慌張。第五步把(\hat{\theta})引出去作為輸出端口同時反饋到Park變換模塊的旋轉角輸入端形成一個閉環(huán)。這個閉環(huán)結構別搭錯了反饋的是估計角度不是電網實測角度。提示Sysplorer里的積分器模塊默認有初始條件和上下限設置。PLL里積分器上下限建議設為(-100\pi)到(100\pi)避免在某些異常工況下積分器輸出跑到幾十萬去。實測中這個細節(jié)能幫助你避免很多莫名其妙的不收斂問題。2.4 PLL參數整定的工程方法PLL的PI參數整定是整個控制系統(tǒng)的第一個關鍵點。這里我從環(huán)路帶寬的角度來做設計比盲目試湊要靠譜得多。SRF-PLL本質上是一個二階系統(tǒng)。忽略電網電壓幅值變化的影響PLL的開環(huán)傳遞函數近似為[ G_{PLL}(s) \frac{V_m K_p s V_m K_i}{s^2} ]其中(V_m)是電網電壓幅值相電壓幅值取311V左右(K_p)和(K_i)分別是PI控制器的比例和積分增益。把這個開環(huán)傳遞函數寫成標準形式可以解出閉環(huán)系統(tǒng)的自然振蕩角頻率(\omega_n)和阻尼比(\zeta)[ \omega_n \sqrt{V_m K_i}, \quad \zeta \frac{K_p}{2} \sqrt{\frac{V_m}{K_i}} ]工程上一般希望PLL帶寬是電網頻率的1/10到1/5也就是5到10Hz對應的角頻率約31.4到62.8 rad/s阻尼比取0.707附近。以帶寬10Hz、阻尼比0.707為例計算如下[ \omega_n 2\pi \times 10 62.8 \text{ rad/s} ]由(\omega_n \sqrt{V_m K_i})得到[ K_i \frac{\omega_n^2}{V_m} \frac{62.8^2}{311} \approx 12.7 ]由(\zeta \frac{K_p}{2} \sqrt{\frac{V_m}{K_i}})得到[ K_p 2\zeta \sqrt{\frac{K_i}{V_m}} 2 \times 0.707 \times \sqrt{\frac{12.7}{311}} \approx 0.285 ]這在Sysplorer里可以直接賦給PI模塊。實際調試時如果覺得PLL動態(tài)響應偏慢可以適度加大(K_p)但不要無節(jié)制地加不然電網電壓諧波會被放大鎖相角度會出現(xiàn)抖動。另外提醒一句在SMIB條件下電網電壓是理想的50Hz正弦波PLL參數的裕量可以留得稍微小一點。但是如果以后要把這個PLL用于更真實的電網環(huán)境比如帶畸變電壓那還得在前面加一個前置濾波比如用帶通濾波器提取基波正序分量或者用Notch濾波器把特定次諧波濾掉。這些在Sysplorer里都有對應模塊建議在設計階段就預留好接口。3. dq電流控制從坐標變換到PI參數整定的完整鏈路3.1 abc到dq坐標變換的工程意義有了PLL提供的相位角接下來就可以對逆變器的輸出電流做dq變換了。為什么要費勁把三相交流電流變成dq直流量因為PI控制器在處理直流信號時能實現(xiàn)無靜差跟蹤而在處理50Hz的交流正弦信號時理論上是做不到零穩(wěn)態(tài)誤差的。更直白的說法是交流量的PI控制相當于一直在追一個移動目標比例環(huán)節(jié)追得動但積分環(huán)節(jié)會因為目標一直在變化而無法收斂到穩(wěn)定值。把交流量變換成dq軸直流量后有功電流(i_d)和無功電流(i_q)都變成了緩慢變化的直流信號PI控制器就能精準地把它們穩(wěn)在指令值上。對于光伏并網系統(tǒng)來說(i_d)的指令值對應有功功率(i_q)的指令值對應無功功率單位功率因數運行時(i_q^*0)。這個變換的物理圖解就是Park變換的可視化理解你站在一個以角速度(\omega)旋轉的坐標軸上看三相電流看到的就不再是擺動交流量而是相對靜止的矢量分量。dq變換的公式我在PLL小節(jié)里已經寫過一遍電流環(huán)用的是同一個矩陣。你只需要把輸入從電壓換成電流把旋轉角換成PLL輸出的(\hat{\theta})就行。3.2 電流內環(huán)的數學模型與控制結構在dq旋轉坐標系下逆變器經L濾波器接到電網上其數學模型為[ \begin{cases} L\frac{di_d}{dt} v_{id} - v_{gd} \omega L i_q \ L\frac{di_q}{dt} v_{iq} - v_{gq} - \omega L i_d \end{cases} ]這里(L)是濾波電感(v_{id}, v_{iq})是逆變器輸出電壓的dq分量(v_{gd}, v_{gq})是電網電壓的dq分量(\omega)是電網角頻率。請注意方程里的耦合項(\omega L i_q)和(-\omega L i_d)這就是dq軸之間的交叉耦合。如果不加解耦控制你會發(fā)現(xiàn)你控制(i_d)時會影響(i_q)兩個軸會互相“打架”系統(tǒng)動態(tài)特性會變差甚至出現(xiàn)振蕩。因此標準的電流內環(huán)控制結構包含三個部分PI反饋控制、dq解耦補償、電網電壓前饋??刂品匠倘缦耓 \begin{cases} v_{id}^* (K_{pc} \frac{K_{ic}}{s})(i_d^* - i_d) - \omega L i_q v_{gd} \ v_{iq}^* (K_{pc} \frac{K_{ic}}{s})(i_q^* - i_q) \omega L i_d v_{gq} \end{cases} ]把PI輸出、解耦補償項和前饋項加起來得到的就是逆變器輸出的dq電壓指令。再經過dq/abc反變換得到三相電壓指令送入PWM調制器生成開關信號。在實際的Sysplorer模型里電流環(huán)的采樣頻率要設置為至少10kHz最好20kHz。因為逆變器的開關頻率是10kHz電流環(huán)采樣頻率要等于或高于開關頻率才能保證數字控制的穩(wěn)定性。這個采樣頻率設置需要在Sysplorer的控制子系統(tǒng)配置里手動指定不是自動繼承的很多細節(jié)如果不注意就會在這里埋下隱患。3.3 電流環(huán)PI參數整定與仿真驗證電流環(huán)的PI參數整定比PLL更靈活可以從被控對象的傳遞函數入手。忽略解耦和前饋的影響把逆變器近似成一階慣性環(huán)節(jié)電流內環(huán)的等效被控對象是[ G(s) \frac{1}{Ls R} ]其中(R)是電感等效串聯(lián)電阻(L)是濾波電感。工程上常用“零極點對消法”來整定即令PI控制器的零點與被控對象的極點對消[ \frac{K_{ic}}{K_{pc}} \frac{R}{L} ]這樣一來閉環(huán)傳遞函數近似為一階慣性環(huán)節(jié)[ G_{cl}(s) \frac{K_{pc}/L}{s K_{pc}/L} ]閉環(huán)帶寬為[ f_{bw} \frac{K_{pc}}{2\pi L} ]控制器帶寬取開關頻率的1/10到1/5。開關頻率10kHz帶寬取1kHz角頻率約6283 rad/s[ K_{pc} 2\pi f_{bw} L 2\pi \times 1000 \times L ]以(L 3\text{mH})為例[ K_{pc} 2\pi \times 1000 \times 0.003 \approx 18.85 ]然后根據零極點對消條件[ K_{ic} K_{pc} \times \frac{R}{L} ]如果(R 0.1\Omega)則[ K_{ic} 18.85 \times \frac{0.1}{0.003} \approx 628.3 ]仿真驗證時給一個階躍電流指令比如從0到10A觀察dq電流的響應曲線。好的響應應該是峰值時間在1ms左右超調量不超過5%穩(wěn)態(tài)誤差為零。如果你的響應曲線出現(xiàn)明顯的超調或者振蕩優(yōu)先檢查解耦補償項有沒有接反符號再檢查PWM調制有沒有加入死區(qū)導致的波形畸變。如果出現(xiàn)電流始終無法跟蹤指令大概率是坐標變換中旋轉角方向搞反了或者(\sin/\cos)模塊的輸入角度單位選錯了。Sysplorer里三角函數默認使用弧度你如果把角度值直接用成度數整個系統(tǒng)都會錯亂。3.4 PWM調制與外環(huán)控制的銜接在Sysplorer里搭建PWM調制有兩種常用方式。一是用內置的PWM發(fā)生器模塊設置載波頻率和調制波類型然后把調制波端口連接到電流環(huán)輸出的電壓指令上。二是自己搭建一個三角波比較模塊即用一個高頻三角波信號和調制波信號做比較輸出邏輯電平控制開關管。我推薦第一種因為內置模塊經過驗證數值穩(wěn)定性和執(zhí)行效率都更高。但要說清楚的是PWM調制生成的開關信號是邏輯信號而逆變器橋臂的開關模型是電氣信號這中間也需要用接口模塊轉換。在Sysplorer里做這個連接時要留意信號類型匹配否則無法正常仿真。電流環(huán)之外如果仿真的是完整的光伏并網系統(tǒng)那還需要外環(huán)功率控制來生成(i_d^)和(i_q^)。常用的控制方式是直流母線電壓外環(huán)通過PI產生有功電流指令無功電流指令由功率因數或無功功率指令決定。在光伏場景下MPPT算法給出的功率參考值經功率控制環(huán)映射為電流指令。這里我用的MPPT是擾動觀察法它的思路是每隔一個固定周期給電壓一個小的擾動然后比較前后功率大小如果功率增加了就繼續(xù)同方向擾動減少了就反向。在Sysplorer里實現(xiàn)起來也不難幾個比較器和延時模塊就能搭起來但要注意的是MPPT的擾動步長和擾動周期要和電流內環(huán)的響應速度匹配否則整個系統(tǒng)會表現(xiàn)出“內外節(jié)奏失調”的問題。4. SMIB電網模型與光伏陣列的搭建細節(jié)4.1 SMIB三相電壓源與線路阻抗的設置系統(tǒng)模型的另一大塊是電網側和光伏側。SMIB在這個仿真里的實現(xiàn)可以用一個理想三相電壓源來表示線電壓有效值設為380V頻率50Hz相位0度。在Sysplorer里設置三相電壓源時有三個參數需要正確填寫幅值這里填線電壓有效值380、頻率50和初相位0。如果你把幅值誤填成相電壓幅值311會導致后續(xù)功率數據全都對不上。從逆變器交流側到無窮大母線之間需要串聯(lián)一段線路阻抗。這個阻抗的設置直接影響電流環(huán)控制對象的參數。通常取每相0.5mH電感和0.1Ω電阻但要注意這個阻抗是加在SMIB電網內部的而逆變器的濾波電感是加在逆變器側的二者在物理模型里是串聯(lián)關系但在控制模型里要區(qū)分清楚濾波電感參與了電流環(huán)的解耦和前饋計算電網阻抗則只影響PCC點電壓。關于PCC點的處理在SMIB模型中它既是逆變器輸出電流的測量點也是PLL鎖相電壓的采樣點。如果你把PLL接在無窮大母線電壓上而不是PCC點電壓上會忽略掉線路阻抗上的壓降導致相位估計偏差。這一點是很多初學者容易忽視的也是最容易造成仿真結果與理論分析對不上的原因之一。4.2 光伏陣列模型的選擇與參數配置在Sysplorer的庫里面光伏陣列模型一般有兩種一種是詳細的物理模型基于二極管的等效電路方程描述需要輸入光照、溫度以及陣列的電氣參數一種是簡化的功率源模型直接給定直流功率輸出。做并網逆變器控制仿真時我建議控制回路不要直接耦合光照和溫度的動態(tài)變化而是先用簡化的功率源模型把逆變器和并網控制調通再換詳細的物理模型去做MPPT驗證。這里有一個比想象中更容易出問題的地方光伏陣列的輸出特性是一個非線性曲線如果你給MPPT發(fā)的電壓指令超出了陣列實際能輸出的最大電壓范圍那MPPT就會跑到電壓限制邊界上去來回振蕩進而影響直流母線電壓和逆變器輸出功率。在做SMIB并網仿真時我給光伏陣列的配置是開路電壓800V短路電流30A最大功率點電壓約640V最大功率點電流約36AMPPT初始電壓設在500V。這樣讓MPPT有足夠空間去爬坡搜索而不會一開始就頂到邊界。4.3 直流母線電容與電壓外環(huán)的配合直流母線電容的大小決定了電壓外環(huán)的動態(tài)響應能力。在SMIB仿真中電容取2000uF到4000uF是比較合理的范圍。取小了直流電壓紋波大MPPT搜索時電壓波動可能觸發(fā)過壓保護取大了電壓外環(huán)響應變慢負載突變時直流電壓跌落時間變長。電壓外環(huán)PI參數的設計思路與電流內環(huán)相似但帶寬要低一個數量級。電流內環(huán)帶寬設計在1kHz電壓外環(huán)就按100Hz到200Hz來設計。電壓外環(huán)的輸出就是有功電流指令(i_d^)。這里有一個工程細節(jié)電壓外環(huán)PI輸出后要加一個限幅器把(i_d^)限制在逆變器允許的電流范圍內否則電網故障或負載突變時電流指令沖得太猛可能導致過流。5. 調試實錄我在項目中踩過的那些坑5.1 坐標變換方向接反引發(fā)的“電流發(fā)散”第一次搭完整個閉環(huán)模型滿懷信心地點擊運行結果圖像上的dq電流在0.1秒內直接沖到了幾萬安培。第一時間懷疑PI參數錯了排查了半天最后發(fā)現(xiàn)是Park變換矩陣中(-\sin)項的位置放反了導致整個旋轉變換方向反了。PI控制器把符號反了的電流誤差放大形成了正反饋。這個失誤值得說一下定位方法。在Sysplorer里你可以直接在Park變換模塊的輸出端加一個示波器觀察未接入閉環(huán)時開環(huán)狀態(tài)dq軸電流是否正常。如果開環(huán)時dq電流就是振蕩或發(fā)散的說明坐標變換或旋轉角方向有問題先不要去動PI參數。我在調試時還會在PLL輸出的(\hat{\theta})前加一個常數偏移量人為設置一個小角度誤差看看dq電流的響應是否與理論分析一致。這個方法可以用來驗證正弦余弦模塊的符號和角度單位是否正確。5.2 仿真速度異常緩慢的瓶頸定位跑一個5秒的仿真Sysplorer可能需要二三十分鐘這顯然不能接受。我檢查后發(fā)現(xiàn)問題出在PWM模塊的開關頻率和仿真步長的配合上。當仿真步長設得過大時PWM的開關邊沿不能被精確捕捉系統(tǒng)就必須在每一步內做多次迭代導致步長被自動壓縮得極小仿真時間呈指數級增長。解決方法是把仿真步長固定為開關周期的1/50也就是PWM載波頻率10kHz時步長設為2微秒。這樣既保證了開關動作的捕捉精度又不會因為自動變步長機制反復試錯浪費大量時間。還有一個優(yōu)化點是把PLL和電流環(huán)的采樣頻率設置成相同的值避免多個不同頻率的執(zhí)行塊之間產生時間插值開銷。Sysplorer里支持對控制子系統(tǒng)設置獨立的采樣頻率用固定步長仿真時可以明顯感覺到速度提升。5.3 逆變器并網瞬間沖擊電流問題在SMIB仿真中逆變器一開始是空閑狀態(tài)輸出電壓為零。合閘并網瞬間電網電壓和逆變器輸出電壓之間存在巨大壓差如果沒有做預同步處理沖擊電流輕易能達到額定電流的5到10倍。我在模型里做了兩步第一步在PLL輸出后加一個軟啟動斜坡讓參考相位從0慢慢逼近電網相位第二步在電流指令端加一個1秒的斜坡上升時間讓功率從0逐漸爬到額定值。這兩個措施疊加后并網瞬態(tài)電流沖擊被控制在了額定電流的1.2倍以內。這個經驗對于任何做過并網逆變器調試的人來說都不陌生但在仿真里很多人會因為“反正只是仿真”而忽略它。其實在Sysplorer里如果不處理這個問題不僅電流波形難看嚴重的還會因為數值振蕩導致仿真中途報錯退出。把并網時序處理好后面的動態(tài)分析才有意義。5.4 仿真波形與理論計算對不上的排查思路經常有人問理論算出來dq電流穩(wěn)態(tài)應該是某個值但仿真波形總差一點不是偏大就是偏小還帶點紋波。這里我總結了常見的三種原因。第一種是測量點位置不對電流測量模塊如果放在濾波電容與電網阻抗之間那測到的電流包含電容的充放電電流和控制器反饋的電流不是同一個值第二種是三相測量模塊的參考方向反了尤其是電流方向控制器反饋的如果是負電流PI整定出來的控制量完全不可用第三種是PWM死區(qū)的影響如果逆變器開關模型包含死區(qū)時間輸出電流會有諧波偏置這在高功率工況下尤其明顯。我的排查順序是先看dq電流穩(wěn)態(tài)平均值與指令值的偏差方向偏差固定為正或負優(yōu)先查測量參考方向偏差隨負載變化優(yōu)先查線路阻抗壓降是否沒被補償波形上有明顯的6倍頻紋波優(yōu)先查死區(qū)效應波形上有等幅振蕩回到PLL和電流環(huán)的相位裕度檢查。6. 仿真結果分析與工程擴展方向6.1 穩(wěn)態(tài)與動態(tài)結果評估我跑完的標準工況是光伏陣列輸出功率30kWSMIB線電壓380V/50Hz逆變器開關頻率10kHz濾波電感3mH直流母線電壓750V。穩(wěn)態(tài)結果如下并網點功率因數0.99以上直流電壓紋波小于3%dq電流穩(wěn)態(tài)誤差小于0.1APLL穩(wěn)態(tài)相位誤差小于0.01弧度。這些數據說明PLL和dq電流控制的核心模塊在SMIB條件下工作良好。動態(tài)響應測試中我把有功電流指令從0階躍到50A實測dq電流的響應時間約1.2ms超調量4.5%在一個標準之內。直流電壓在MPPT搜索過程中有周期性波動波動范圍約15V對應功率波動幅度小于3%在光伏場景下屬于可接受水平。值得一提的是階躍響應測試的觀察方式不要盯著三相交流電流看一定要看dq軸分量。在dq坐標系下控制性能一目了然上升時間、超調量、穩(wěn)態(tài)時間這些指標都可以直接測量。這在Sysplorer里做很簡單信號已經經過變換模塊輸出了。6.2 從SMIB走向復雜電網場景的擴展思路SMIB模型最大的價值在于它是“基準”控制器在這個模型上調到的參數和結論可以作為更復雜場景的起點。完成SMIB仿真后以下三個方向是自然的擴展路徑。第一個方向是弱電網適應性。把SMIB的理想電壓源換成帶有實際阻抗的電壓源模擬電網阻抗變化對PLL和電流環(huán)的影響。你會發(fā)現(xiàn)電網阻抗變大時PLL采樣到的PCC電壓相位會出現(xiàn)偏移系統(tǒng)的穩(wěn)定裕度下降這也就是國內常說的弱電網下逆變器容易振蕩的問題。通過Sysplorer的掃參功能可以快速畫出不同短路比下的穩(wěn)定邊界。第二個方向是電網故障穿越。SMIB條件下可以對電網電壓做暫降和對稱/不對稱故障設置在Sysplorer里其實就是給電壓源加一個故障時序控制。這種仿真能測試逆變器的低電壓穿越能力以及控制器的響應機制比如正序負序分離控制、限流保護策略等。這屬于比基本并網控制更高階的內容但控制框架還是建立在PLL和dq電流環(huán)的基礎上。第三個方向是構網型控制。與跟網型控制不同構網型逆變器不以PLL跟蹤電網相位為核心而是直接為系統(tǒng)提供電壓和頻率支撐。在Sysplorer中可以很方便地切換控制策略來對比兩種控制方式的差異同一套主電路模型不需要改動太多。6.3 對MWORKS Sysplorer體驗的幾點總結從實際使用看Sysplorer做電力電子系統(tǒng)級仿真已經具備了相當好的工程能力。它的圖形化建模方式、器件庫的覆蓋面、以及后處理工具的可視化效果基本覆蓋了從方案驗證到詳細設計的核心需求。相比Matlab/SimulinkSysplorer目前的短板主要體現(xiàn)在兩個地方。一是第三方工具箱和社區(qū)資源還不夠豐富遇到冷門問題能查到的參考資料少多數時候要靠自己摸索二是求解器在強非線性場景比如高頻開關配合深度飽和下的魯棒性還有提升空間偶爾會遇到需要調整求解器精度參數來換取收斂性的情況。不過在我用過的國產系統(tǒng)仿真軟件里它的完成度已經算是第一梯隊了。如果你是從Simulink遷移過來建議不要試圖找到完全一一對應的模塊而是按照“電氣主電路控制電路”的框架重建模型。我在遷移過程中最大的感受是Sysplorer的連線式建模比Simulink的塊式建模在電氣部分更直接但在控制算法部分模塊之間的層級管理要花點心思維護規(guī)范命名和注釋會讓你后面的調試過程輕松得多?;氐竭@個項目本身用MWORKS Sysplorer做光伏逆變器并網SMIB仿真把PLL鎖相環(huán)和dq電流控制這兩個核心環(huán)節(jié)吃透其實你就已經摸清了并網逆變器控制的絕大部分門道。后面無論往弱電網、故障穿越還是構網型方向走本質上都是在這個框架上做加減法。我個人在跑完這套仿真之后最大的體會是控制算法在紙面上畫起來很規(guī)整但一直到它在仿真環(huán)境里和主電路模型真正閉環(huán)穩(wěn)定運行起來你才算真正理解了它。Sysplorer算是個能幫你快速把這層“紙面理解”變成“實際理解”的工具這也正是這類仿真的意義所在。