戰(zhàn):從暫態(tài)原理到Simulink仿真建模)
簡介基于MATLAB的三相短路分析資料包適合電力系統(tǒng)專業(yè)學(xué)生與工程技術(shù)人員用于掌握故障建模、仿真與結(jié)果分析的方法。資源從三相短路基本概念出發(fā)結(jié)合Simulink平臺(tái)完整演示了電力系統(tǒng)模型搭建、故障類型與位置設(shè)置、仿真運(yùn)行及數(shù)據(jù)解讀的全過程并給出可復(fù)用的test.m腳本和詳細(xì)課設(shè)報(bào)告。壓縮包共12個(gè)文件大小僅1.09MB包含m腳本、PDF報(bào)告、4個(gè)txt數(shù)據(jù)文件與6張PNG結(jié)果圖txt文件保存了電路原始數(shù)據(jù)、節(jié)點(diǎn)阻抗/導(dǎo)納矩陣及輸出結(jié)果PNG圖清晰呈現(xiàn)發(fā)電機(jī)等效前后的矩陣變化便于對(duì)照?qǐng)?bào)告逐項(xiàng)理解。目前已有2576人學(xué)習(xí)尤其適合正在完成電力系統(tǒng)課設(shè)或MATLAB仿真作業(yè)的讀者。通過研讀代碼與報(bào)告可以快速掌握用Simulink分析三相短路電流、驗(yàn)證保護(hù)設(shè)備動(dòng)作特性并能直接修改參數(shù)擴(kuò)展至其他故障類型是一份實(shí)用的電力仿真學(xué)習(xí)資料。 做短路計(jì)算校驗(yàn)的時(shí)候三相短路幾乎是每個(gè)電力系統(tǒng)從業(yè)者都躲不開的基本功。我最早接觸三相短路分析是在學(xué)暫態(tài)過程的時(shí)候當(dāng)時(shí)全靠手算公式、查沖擊系數(shù)曲線算一條輻射線路的短路電流要折騰大半天后來真正參與設(shè)備選型和保護(hù)整定發(fā)現(xiàn)短路電流校核幾乎貫穿所有項(xiàng)目才開始系統(tǒng)性用MATLAB來搭仿真模型。MATLAB里的Simscape Electrical模塊老版本叫SimPowerSystems支持直接拖拽電源、變壓器、線路和故障模塊設(shè)置一個(gè)故障時(shí)間就能看到三相短路后的電壓電流波形比手算直觀太多。這篇把整套流程和踩過的坑整理出來給準(zhǔn)備用MATLAB做三相短路分析的同學(xué)和工程師一個(gè)可以照做的參考。1. 三相短路分析的本質(zhì)算的是暫態(tài)電流不是穩(wěn)態(tài)電流1.1 為什么會(huì)短路短路電流為什么可怕三相短路是指供電系統(tǒng)中三相之間發(fā)生金屬性或非金屬性的直接連接相當(dāng)于負(fù)載被短路掉回路阻抗驟減系統(tǒng)電壓被瞬間拉低短路電流可以高達(dá)額定電流的數(shù)倍甚至數(shù)十倍。為什么都拿三相短路作為最嚴(yán)重的故障工況來校核因?yàn)閷?duì)稱短路時(shí)正序阻抗最小短路電流通常最大設(shè)備動(dòng)穩(wěn)定、熱穩(wěn)定、斷路器遮斷容量、保護(hù)定值整定幾乎都要圍繞這個(gè)最大工況來做。真正讓三相短路分析變得棘手的是暫態(tài)過程。短路瞬間電流不能突變?yōu)榱司S持磁鏈?zhǔn)睾慊芈防飼?huì)感應(yīng)出一個(gè)非周期分量電流這個(gè)直流分量和周期分量疊加導(dǎo)致短路電流波形嚴(yán)重偏置。用公式來表達(dá)故障相的短路電流大約為i(t) sqrt(2) I * [sin(ωt α - φ) - sin(α - φ) * e^(-t/Ta)]其中I是次暫態(tài)電流有效值α是故障瞬間的電壓相位角φ是短路回路阻抗角Ta L/R為直流分量衰減時(shí)間常數(shù)。初始的沖擊電流峰值在半個(gè)周波附近出現(xiàn)50Hz系統(tǒng)約0.01s其幅值可以近似為 Kimp * sqrt(2) * IKimp就是沖擊系數(shù)取值通常在1.8左右。如果不理解這個(gè)暫態(tài)過程仿真跑出來的波形就只是“看到了一個(gè)波形”沒辦法從里面提取設(shè)備校核需要的關(guān)鍵參數(shù)。1.2 MATLAB做短路分析的兩條路線用MATLAB做三相短路分析我試過兩條路線各有適用場景。第一條是純腳本編程把系統(tǒng)等效成R-L阻抗用解析公式直接算短路電流周期分量、非周期分量和沖擊電流。好處是快速、透明適合簡單輻射網(wǎng)和批量參數(shù)掃描比如我要比較不同線路長度對(duì)短路電流的影響寫一個(gè)循環(huán)就出來了。缺點(diǎn)是處理復(fù)雜拓?fù)浜投喙?jié)點(diǎn)網(wǎng)絡(luò)時(shí)手寫節(jié)點(diǎn)阻抗矩陣非常費(fèi)勁很容易出錯(cuò)。第二條是用Simulink里的Simscape Electrical模塊搭建數(shù)學(xué)模型這也是我后期項(xiàng)目里用得最多的一條路。它把電源、變壓器、線路、負(fù)載、故障模塊做成可視化元件搭完模型就能看到各點(diǎn)電壓電流波形還能方便地切換故障類型、故障時(shí)刻和故障位置。缺點(diǎn)是模型自由度多求解器、步長、阻抗參數(shù)設(shè)置不當(dāng)結(jié)果可能歪到離譜。我個(gè)人的建議是做教學(xué)演示或驗(yàn)證理論公式優(yōu)先用腳本做工程系統(tǒng)分析、保護(hù)整定或需要給同事看波形時(shí)用Simulink建模。兩者結(jié)合是最好的先用腳本算一個(gè)基準(zhǔn)值再拿Simulink去驗(yàn)證和擴(kuò)展。2. 建模前的參數(shù)整理從單線圖到Simulink元件參數(shù)2.1 系統(tǒng)阻抗與標(biāo)幺值換算不管用什么工具三相短路分析的輸入基礎(chǔ)都是系統(tǒng)阻抗。模型里的每個(gè)元件都要有明確的R和X這些參數(shù)可以從設(shè)備銘牌、線路單位阻抗表和系統(tǒng)短路容量中獲取。Simulink里可以直接填歐姆Ω和亨H但我建議在做理論校核時(shí)先換算成標(biāo)幺值這樣對(duì)比手算結(jié)果更方便?;鶞?zhǔn)值的選取遵循 S_B 100 MVA或10 MVA基準(zhǔn)電壓取電網(wǎng)額定電壓例如10kV系統(tǒng)選U_B 10.5kV基準(zhǔn)阻抗為 Z_B U_B^2 / S_B。舉個(gè)例子我常用的一個(gè)驗(yàn)證模型是10kV輻射網(wǎng)系統(tǒng)電源側(cè)短路容量為200MVA折算到10.5kV基準(zhǔn)下的電源等效阻抗約 Z_source U_B^2 / S_k 10.5^2 / 200 0.551Ω。變壓器容量2MVA短路電壓百分比 U_k% 6%折算到10.5kV側(cè)變壓器阻抗約為 Z_T U_k% * U_B^2 / (100 * S_T) 6 * 10.5^2 / (100 * 2) 3.307Ω。線路用10km的10kV架空線每公里電抗0.35Ω電阻0.17Ω線路阻抗 Z_L 1.7 j3.5Ω。這些值最后填到Simulink元件里就是有名值。2.2 在Simscape Electrical庫中選型與搭建新版MATLAB的Simulink庫瀏覽器里路徑一般是Simscape Electrical Specialized Power Systems Fundamental Blocks。老版本直接叫SimPowerSystems位置類似。需要用到的基本元件有Three-Phase Source三相電壓源設(shè)置相電壓/線電壓有效值、頻率、內(nèi)阻和電感。Three-Phase Transformer (Two Windings)雙繞組三相變壓器設(shè)置額定容量、頻率、一次二次額定電壓、短路阻抗百分比。Three-Phase Series RLC Branch線路阻抗可以直接填R、L。Three-Phase Fault三相故障模塊可選故障類型和切換時(shí)間。Three-Phase V-I Measurement測量三相電壓電流輸出到Scope或Workspace。Powergui電力系統(tǒng)圖形用戶界面模塊選擇連續(xù)模式或相量模式。我一般選Continuous才能看到暫態(tài)波形。搭建順序不復(fù)雜三相電壓源接到變壓器一次側(cè)變壓器二次側(cè)經(jīng)過線路阻抗到故障模塊再接到負(fù)載。故障模塊放在短路點(diǎn)測量模塊放在電源側(cè)和故障點(diǎn)兩側(cè)各一個(gè)方便對(duì)比電壓跌落和電流變化。別忘了在模型中放置Powergui模塊否則整個(gè)模型會(huì)報(bào)錯(cuò)。把上節(jié)計(jì)算出的參數(shù)填入元件對(duì)話框Three-Phase Source的Phase-to-phase RMS voltage填10.5kV如果電源側(cè)視為無窮大系統(tǒng)內(nèi)阻為0但為了仿真接近實(shí)際建議填0.5Ω和0.01H變壓器一次10.5kV、二次0.4kV也可以不降壓用于等值短路計(jì)算線路RLC填1.7Ω和0.35H對(duì)應(yīng)10km注意電抗換算到電感需要除以2πf。2.3 故障模塊參數(shù)設(shè)置細(xì)節(jié)Three-Phase Fault模塊是所有仿真里的核心開關(guān)。雙擊模塊Fault type選Three-phase faultABC這時(shí)三相同時(shí)短路。Fault resistance填0.01Ω不要填0數(shù)值上可以更穩(wěn)定如果做金屬性短路填一個(gè)很小的值即可。切換方式我習(xí)慣用外部控制External control用Step模塊從0跳到1觸發(fā)故障模塊導(dǎo)通也可以用內(nèi)部定時(shí)直接設(shè)置Transition time為0.1s故障初始狀態(tài)選Open經(jīng)過0.1s后切換到Closed。這里有個(gè)容易被忽略的點(diǎn)Transition time是故障開始時(shí)間不是故障持續(xù)時(shí)間。如果希望故障持續(xù)0.2s后恢復(fù)需要設(shè)置兩個(gè)Transition time比如0.1和0.3s狀態(tài)依次為Open→Closed→Open。只填一個(gè)時(shí)間故障會(huì)一直保持到仿真結(jié)束。對(duì)于短路分析我們通常只關(guān)心故障后前幾個(gè)周波所以故障持續(xù)0.2s足夠。我還習(xí)慣在故障模塊的External Fault Breaker控制端口接一個(gè)Signal Generator或者Step這樣可以精確控制故障觸發(fā)相位。想研究短路初始角的影響就通過Step的延遲時(shí)間調(diào)整短路發(fā)生的合閘角。3. 仿真運(yùn)行與波形解讀短路的真正信息藏在暫態(tài)過程里3.1 從波形中讀出周期分量和非周期分量模型搭好設(shè)置仿真時(shí)長0.4s最大步長0.1ms運(yùn)行后雙擊Scope看到故障點(diǎn)電流波形。穩(wěn)定情況下看到故障前是規(guī)則正弦故障發(fā)生后電流跳變前半段波形上下嚴(yán)重不對(duì)稱包絡(luò)線一高一低隨后逐漸恢復(fù)到對(duì)稱正弦。這個(gè)不對(duì)稱就是非周期分量在衰減而對(duì)稱部分就是短路電流的周期分量。我在實(shí)際讀波形時(shí)會(huì)把數(shù)據(jù)導(dǎo)到MATLAB工作區(qū)再畫圖方便標(biāo)注峰值。比如用To Workspace模塊輸出三相電流然后在命令窗口提取數(shù)據(jù)t out.tout; iA out.iabc(:,1); plot(t, iA); xline(0.1, --); grid on;如果仿真的故障開始時(shí)間是0.1s波形圖里0.1s之前的正弦就是負(fù)荷電流或空載電流0.1s之后才是短路電流。用數(shù)據(jù)游標(biāo)讀出故障后第一個(gè)周期波峰大約15kA再往后幾個(gè)周波峰值回落到約8kA前者包含了直流分量后者才接近周期分量幅值。3.2 沖擊電流與衰減時(shí)間常數(shù)的實(shí)測方法沖擊電流是短路后第一個(gè)峰值是設(shè)備動(dòng)穩(wěn)定校驗(yàn)的核心參數(shù)。我在模型中讀取A相電流最大值為15kA左右與理論估算的沖擊電流對(duì)照。理論值怎么算先由短路回路總阻抗算出次暫態(tài)周期分量有效值I然后乘以sqrt(2)再乘以沖擊系數(shù)Kimp。Kimp可以用1.8的典型值也可以按Kimp 1 e^(-0.01/Ta)計(jì)算。T_a L/R (總電抗/2πf)/總電阻。如果L/R算下來是0.03sKimp 1 e^(-0.333) ≈ 1.717理論峰值約為 sqrt(2) * I * 1.717。衰減時(shí)間常數(shù)還能直接從波形里測出來把故障后的電流包絡(luò)線提取出來直流分量衰減到初始值的36.8%所需的時(shí)間就是Ta。由于非周期分量在示波器里表現(xiàn)為包絡(luò)線的不對(duì)稱差可以取上包絡(luò)線減下包絡(luò)線再除以2得到直流衰減曲線用對(duì)數(shù)坐標(biāo)擬合得出時(shí)間常數(shù)。這個(gè)方法適合驗(yàn)證實(shí)際模型中的回路時(shí)間常數(shù)是否與手算一致。3.3 不同故障時(shí)刻對(duì)波形的影響短路初始角對(duì)沖擊電流影響很大。這是因?yàn)楣嚼飐in(α-φ)決定了非周期分量的初始幅值。如果短路瞬間電壓過零α≈0回路阻抗角φ約80度sin(α-φ)很大直流分量幾乎以最大初始值出現(xiàn)沖擊電流最大如果短路瞬間電壓剛好在峰值附近非周期分量初始值很小波形基本對(duì)稱沖擊系數(shù)接近1。用MATLAB模擬這個(gè)現(xiàn)象很簡單在Three-Phase Source模塊里設(shè)置Phase angle of phase A或者用外部Step控制故障觸發(fā)時(shí)間把故障時(shí)間從0.1s改成0.105s等觀察第一個(gè)峰值的不同。我實(shí)測發(fā)現(xiàn)同一個(gè)模型只改故障時(shí)刻沖擊電流能從14kA變到16kA差別超過了10%。所以在做保護(hù)整定時(shí)不能光看一組仿真結(jié)果要找最嚴(yán)重的合閘角。4. 理論手算與仿真結(jié)果交叉驗(yàn)證差距從哪來4.1 手算短路電流的簡化模型對(duì)于輻射網(wǎng)手算三相短路電流的簡化步驟是忽略負(fù)荷把電源等效為次暫態(tài)電勢E短路點(diǎn)電壓在故障前按額定電壓考慮短路電流有效值I_sc c U_N / (sqrt(3) Z_total)。電壓系數(shù)c在高壓系統(tǒng)通常取1.1低壓系統(tǒng)取1.05。Z_total是短路點(diǎn)到電源的全部等值阻抗之和包括電源內(nèi)阻抗、變壓器阻抗和線路阻抗。我用前面10kV模型來算Z_source 0.551ΩZ_T 3.307ΩZ_L 1.7 j3.5Ω。要注意電抗和電阻要分別加再求模??傠娮鑂 0.5 0 1.7 2.2Ω電源電阻很小忽略或按前面填的0.5Ω總電抗X 0.551 3.307 3.5 7.358Ω假設(shè)電源內(nèi)阻電抗0.551。Z_total sqrt(2.2^2 7.358^2) ≈ 7.68Ω。取c 1.1短路電流有效值 I_sc 1.1 * 10.5k / (sqrt(3) * 7.68) ≈ 0.868kA 868A。這里因?yàn)槟P陀昧?0kV/0.4kV變壓器和0.4kV側(cè)故障阻抗折算會(huì)不同手算時(shí)應(yīng)注意基準(zhǔn)側(cè)選擇為了簡單這里是在10kV側(cè)等值短路點(diǎn)。把仿真結(jié)果的短路電流周期分量有效值從波形里提煉出來兩者通常能對(duì)上偏差在5%以內(nèi)。如果偏差超過10%不要急著說仿真不對(duì)先去檢查參數(shù)折算和基準(zhǔn)值。4.2 仿真和手算不一致的典型原因我在幾次對(duì)比中總結(jié)出幾個(gè)最常見的不一致來源變壓器模型是否包含勵(lì)磁支路和飽和非線性。手算基本忽略勵(lì)磁電流Simulink的變壓器模型如果選擇飽和飽和特性短路電流會(huì)略有偏差但對(duì)短路電流影響不大如果變壓器模型沒有選擇模擬飽和則和手算接近。故障電阻。手算假設(shè)金屬性短路R_fault0仿真為了數(shù)值收斂填了0.01Ω多了一個(gè)微小的電阻測出來的電流會(huì)偏小一點(diǎn)可以忽略。負(fù)荷的影響。手算短路電流通常忽略負(fù)荷但Simulink模型里如果接了額定負(fù)載故障前的電流不是0故障瞬間的初始相位條件會(huì)變進(jìn)而影響非周期分量但周期分量有效值基本不受負(fù)荷影響。線路的分布電容。手算用集中阻抗Simulink的分布式參數(shù)線路模型Distributed Parameters Line在短路瞬間會(huì)有暫態(tài)行波看起來波形高頻振蕩這和簡化手算差別很大。對(duì)于短線路建議用Series RLC Branch或PI型線路模型波形更干凈結(jié)果也更接近手算。4.3 用腳本批量對(duì)比參數(shù)我做參數(shù)校核時(shí)會(huì)用腳本循環(huán)修改線路長度把仿真后的周期分量有效值和手算值放在一起畫曲線這樣能直觀看出趨勢和偏差。做法是把模型參數(shù)用變量L_km替代在仿真腳本里用set_param改參數(shù)并運(yùn)行sim再把結(jié)果存到數(shù)組。這里提供一段簡化腳本思路L_vec 2:2:20; I_sim zeros(size(L_vec)); for i 1:length(L_vec) set_param(short_circuit/Line RLC, R, num2str(0.17*L_vec(i))); set_param(short_circuit/Line RLC, L, num2str(0.35*L_vec(i)/(2*pi*50))); sim(short_circuit); % 提取故障后電流穩(wěn)態(tài)峰值 I_sim(i) max(abs(out.iabc(300:end,1))) / sqrt(2); end這里set_param只改阻抗模型會(huì)自動(dòng)按新參數(shù)重新仿真非常方便掃參。注意L的單位是亨利需要把線路電抗除以314。5. 實(shí)操中踩過的坑與調(diào)試經(jīng)驗(yàn)5.1 仿真步長與求解器設(shè)置三相短路仿真最怕步長太大把沖擊電流峰值給抹平了。默認(rèn)的變步長求解器在快速暫態(tài)過程中會(huì)自動(dòng)減步長但也可能不夠密。我通常在模型配置參數(shù)里把最大步長固定為1e-4s0.1ms求解器選ode23tb或ode15s這兩種對(duì)電力電子和電磁暫態(tài)問題比較友好。如果只關(guān)心波形宏觀趨勢可以放開到0.5ms但讀沖擊電流時(shí)必須用0.1ms左右否則讀出的峰值可能偏小5%以上。另一個(gè)坑是仿真總時(shí)長。故障時(shí)間設(shè)0.1s仿真總時(shí)長至少要0.2s才能看到故障后的暫態(tài)衰減過程我一般設(shè)0.4s如果還想看故障清除后的恢復(fù)過程就設(shè)0.6s并在故障模塊里配置第二個(gè)Transition time。5.2 測量環(huán)節(jié)的讀數(shù)陷阱用Three-Phase V-I Measurement輸出到工作區(qū)后數(shù)據(jù)是結(jié)構(gòu)體不是數(shù)組。我一開始直接plot出錯(cuò)了后來用out.iabc.signals.values提取才行。如果測量模塊里選擇的是Use a label那么會(huì)被命名成變量需要在模型里用Signal Label把標(biāo)簽對(duì)應(yīng)好。Scope里看到的電流是瞬時(shí)值最大值是峰值不是有效值。很多新手直接把Scope里的峰值當(dāng)作短路電流有效值去套公式結(jié)果對(duì)不上。要取有效值應(yīng)該把故障后達(dá)到穩(wěn)態(tài)的波形做RMS計(jì)算或者用峰值除以sqrt(2)。還要注意區(qū)分是故障相電流還是線電流三相故障時(shí)三相電流等大但如果是單相故障讀故障相和非故障相意義完全不同。另外故障模塊如果設(shè)置了外部控制Step模塊從0跳到1之后要確保Step的Final value是1若Final value是0故障模塊可能一直在導(dǎo)通或斷開狀態(tài)檢查仿真波形有無異常通常一眼能看出來。5.3 模型擴(kuò)展從三相短路到其他故障類型三相短路分析是基礎(chǔ)但實(shí)際系統(tǒng)中單相接地、兩相短路也很常見。Simulink里切換故障類型很快Three-Phase Fault模塊選擇Phase A fault、Phase B fault或AB fault即可。如果是接地故障記得把Fault resistance和接地方案配好要觀察零序電流和三相不對(duì)稱波形。故障位置也能隨便挪我把故障模塊從線路末端移到母線側(cè)、變壓器出口、發(fā)電機(jī)出口測不同位置的短路電流能直觀理解短路點(diǎn)越靠近電源阻抗越小短路電流越大。這種擴(kuò)展對(duì)一個(gè)校核項(xiàng)目來說很有價(jià)值比如斷路器能不能裝在當(dāng)前母線位置就看該點(diǎn)的短路電流是否在遮斷容量以內(nèi)。5.4 關(guān)于模型收斂的最后提醒有時(shí)候模型運(yùn)行報(bào)錯(cuò)顯示“Solver encountered an error”十有八九是初始條件或參數(shù)突變?cè)斐傻摹3R娊鉀Q辦法把故障電阻從0.01Ω提高到0.1Ω看能否運(yùn)行把Powergui的Simulation type切到PhasorPhasor模式不看暫態(tài)波形但能快速算穩(wěn)態(tài)短路電流把負(fù)荷從模型中斷開用純阻抗網(wǎng)絡(luò)測試。我在調(diào)試時(shí)習(xí)慣把故障模塊的Transition time設(shè)置成0.1s但先不接入線路直接測空載模型是否穩(wěn)定再加故障一層層排查能省很多時(shí)間??偟膩碚f基于MATLAB做三相短路分析本質(zhì)上不是學(xué)會(huì)拖模塊而是能把系統(tǒng)阻抗、暫態(tài)過程、沖擊電流這些物理概念用數(shù)字曲線表達(dá)出來并反復(fù)驗(yàn)證。這個(gè)流程跑通之后后面不管換什么系統(tǒng)接線我都是先用腳本估一個(gè)數(shù)再搭Simulink模型精細(xì)看波形最后回到手算公式解釋偏差。整個(gè)過程里最有價(jià)值的一點(diǎn)就是不要盲信仿真波形任何一組數(shù)據(jù)都要能回到物理原理上講得通才算真可靠。本文還有配套的精品資源點(diǎn)擊獲取