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