多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

MATLAB Simulink下2机5节点系统PSS与SVC暂态稳定仿真分析

MATLAB Simulink下2机5节点系统PSS与SVC暂态稳定仿真分析 大概三年前我第一次在MATLAB Simulink里搭2机5节点系统做暂态稳定性仿真时遇到一个特别有意思的现象同样的三相短路故障不加任何控制时功角直接摆开失步加上PSS之后振荡明显收敛但电压跌落深度几乎没有变化。后来把SVC接在中间母线首摆幅度立刻小了一截。那一刻我才真正理解励磁系统和无功补偿装置在暂态稳定里扮演的是完全不同的角色。这套基于MATLAB Simulink平台的2机5节点系统暂态稳定性仿真研究核心是PSS电力系统稳定器和SVC静止无功补偿器对系统暂态稳定性的影响。对于刚接触电力系统动态仿真的学生、刚入职的调度或规划工程师以及在考虑风机、储能接入后要不要加装稳定控制装置的同行这套模型都是一个非常合适的起步对象。本文不打算重复教材里的公式推导而是按我自己从建模到调参再到结果分析的完整路径把那些文档上查不到、但特别容易让人卡壳的细节全部摊开讲。1. 2机5节点系统为什么值得认真对待很多初学者一听2机5节点第一反应是这也太小了能代表什么恰恰相反这个规模的系统在暂态稳定研究里有不可替代的位置。IEEE 9节点、39节点这些经典系统确实更接近实际电网但对研究单类控制器的作用机理来说信息过于混杂模式太多你很难说清楚某个波形变化到底是PSS的功劳还是别的环节在起作用。2机5节点正好处在简化到还能保留物理本质的临界点上是一个兼顾信息量与可解释性的好选择。1.1 麻雀虽小五脏俱全系统拓扑与参数基准我平时搭建的这个参考模型拓扑大致是这样两座发电厂分别通过升压变压器接入高压母线两条线路经过中间负荷母线相连另外还有一到两个纯负荷节点。G1负责把功率从左侧送往右侧G2是受端平衡机两机之间有一条主要的功率传输断面。这不是拍脑袋定的结构它在拓扑上复现了电力系统中最基本的矛盾——功率要通过有限断面远距离传输一旦网络结构因故障发生改变送受端转子必须重新找平衡。在研究单机无穷大系统时系统只有一台机器的摇摆方程体现不了两台机之间的相对摆动而三机及以上时系统会出现多机电振荡模式叠加分析控制器效果时很难解耦。双机系统刚好产生一个占主导地位的机电振荡模式PSS和SVC对阻尼的影响可以非常直观地用功角差曲线反映出来。参数精度按照标幺值统一处理。发电机我设置容量为100MVA额定电压13.8kV变压器升压到230kV线路单位长度阻抗取r0.01pu/km、x0.1pu/km基准值都归一到100MVA容量下。这个过程的坑在于Simscape Electrical里的三相变压器、线路模块默认参数单位与标幺值不一致需要在对话框里手动换算。换算出错时最典型的现象是潮流结果跟手算对不上或者仿真一开始各母线电压就明显偏低/偏高。1.2 三个贯穿始终的判断指标研究暂态稳定性不能光看曲线好不好看我习惯从三个指标切入这套2机5节点仿真项目里也一直用这三个数字评价控制器效果功角差δ1δ2这是暂态稳定最核心的判据。系统受扰后如果两机功角差持续增大、越过不稳定平衡点那就判定为失步如果经过几次摆动后收敛到一个稳态值说明系统仍是暂态稳定的。关键母线电压跌落深度与恢复速度。尤其是中间传输母线故障切除瞬间电压回不到0.8pu以上往往会连锁引发负荷低电压脱网这在工程上属于暂态电压稳定范畴。机电振荡的阻尼水平常用阻尼比ζ表示。PSS的主要作用就是把这个比值从接近零甚至负数拉回正值对应波形上就是功角振荡不再等幅晃而是越晃越小。这三个指标跟后面的PSS、SVC直接挂钩PSS主要影响第三个指标SVC主要影响第二个指标而两者配合得好才会对第一个指标产生明显的协同改善。这就是我把它们放在一起研究的意义所在。1.3 这套仿真究竟能回答哪些工程问题很多仿真的问题在于做完了也不知道在回答什么。这套2机5节点模型至少能回答四个非常具体的工程问题在某个输电断面上如果发生三相短路并切除故障线路现有励磁系统会不会导致功率振荡发散加装PSS后系统阻尼比从多少提升到多少对首摆稳定裕度有没有帮助在断面中间节点加装SVC故障期间母线电压最低点能被抬升到什么水平无功容量需要多大PSS和SVC同时投运时两者会不会互相干扰参数怎么协调这些问题是实际电网规划里经常遇到的2机5节点模型给了你一个低成本、可重复、参数可控的试验环境。在有这个模型之前我见过太多同行直接拿实际电网数据开跑结果光是把数千条母线数据调到一个潮流收敛状态就耗掉半个月而真正用来研究机理的时间反而没有多少。2. Simulink建模落地从单线图到可以跑稳的框图建模这一步理论上应该是最机械的工作实际上也是初学者弃坑率最高的环节。很多人在MATLAB里画完了模型一按运行波形要么爆表要么一开始就在振荡根本进入不了稳态更谈不上故障研究了。这里面的根源大部分不在模块本身而在模型选型和初值处理。2.1 模型选型成熟电力库还是自定义方程Simulink里做电力系统动态仿真有两条路线。一条是用Simscape Electrical里的Specialized Power Systems库旧版叫SimPowerSystems里面有现成的同步发电机、励磁系统、变压器、分布式线路、三相断路器、故障模块另一条是基于Simulink普通模块自己搭微分方程比如用积分器实现摇摆方程。对于2机5节点暂态稳定仿真我强烈建议优先走Simscape Electrical路线。原因很直接发电机内部的电磁转矩、定转子磁链、励磁绕组动态这些环节用自定义方程搭很容易出现代数环和初值不匹配问题而电力库里的同步电机模块已经把这些细节封装好了内部参数与电机dq轴模型一一对应填标幺值就能用。SVC在库里没有完全对应的现成模块但是TCR、固定电容、触发控制这些部件都可以用库里的元件搭出来或者参考STATCOM模块的结构改造工作量是可控的。2.2 发电机、励磁和网络参数的衔接细节发电机模型的选择取决于你要研究什么。如果只关心首摆稳定性经典二阶模型恒定内电势加摇摆方程足够用但如果要研究PSS经典模型就不行了——因为没有励磁系统PSS根本无处安装。PSS研究至少要采用IEEE三阶实用模型即考虑励磁绕组动态、同时带电压调节器要更精确地反映阻尼绕组效应就用六阶模型。我在这套系统里用的是三阶模型加IEEE ST1A型励磁系统因为ST1A响应速度快在PSS相位补偿设计里是经典的搭配对象。主要参数我设置为发电机惯性常数H4.0s暂态电抗Xd0.3pu励磁机电抗和时间常数按ST1A典型值填入。变压器与线路模块使用三相π型等值模拟一条双回输电线路时直接并联两个相同的线路模块即可。特别提醒一个细节发电机模块参数页里的初始状态Initial conditions有三个输入——初始功角、初始转速偏差、初始励磁电压。如果你在这一步随便填仿真启动后电力系统会经历一个剧烈的非真实动态必须等到它自己衰减到稳态才能做故障实验。实际做法是先做潮流计算再把这些初值反推出来填进去。2.3 潮流初值才是仿真不发散的命根子这是整个建模环节里我最想强调的一件事。即使你模块参数填得再正确、拓扑连接无误潮流初值不对仿真照样跑不顺。原因在于同步电机模块启动时会根据你填的初值计算初始转子位置和内部电势如果与发电机实际输出功率不匹配电磁转矩和机械转矩之间就会有一个巨大的差额转子瞬间加速或减速波形直接飞出去。求初值的标准流程是这样先把网络接成正常态在MATLAB里调用Powergui模块的Load Flow工具设置发电机的有功出力和机端电压幅值负荷节点设恒功率运行潮流计算。然后从潮流结果里读出每台发电机的功角、机端电压、无功出力再把这些值填回同步电机模块的Initial conditions里。负荷节点也要做同样处理恒阻抗、恒电流还是恒功率负荷模型会直接影响潮流雅可比矩阵的收敛性。提示故障切除后网络拓扑发生了变化原来那组潮流初值不再对应新的稳态但这并不影响暂态仿真的正确性。因为暂态稳定研究本质上考察的是系统从一个已知稳态受扰后能否过渡到另一个可接受的稳态初始稳态只需在故障前成立即可。仿真开始后前1秒里波形应该是一条水平直线说明初值给对了如果开机瞬间就有明显波动优先排查初值。3. 故障设计与扰动场景把暂态稳定问题逼出来模型跑稳定之后下一步是设计扰动场景。暂态稳定研究一定要有故障前—故障中—故障后三个阶段的清晰划分初学者常犯的错误是故障还没切除就急着看结果或者切除后没有把被切掉的线路从拓扑里真正移除导致仿真结果四不像。3.1 三相短路与单相故障各有各的考法三相短路是考察暂态稳定最严酷的条件因为故障瞬间三相对称功率传输能力几乎降为零发电机输出电磁功率骤降转子加速最剧烈。所有PSS和SVC控制器的效果对比我都会先做一组三相接地短路实验观察1s内功角摆开多少、能否回到稳定。但实际电网中三相短路的概率远低于单相接地单相故障才是运行人员常年要处理的东西。为了更贴近工程实际我会再补一个单相接地故障场景对比两种故障下的稳定裕度差异。单相故障由于非故障相还能继续传输部分功率系统相对更容易稳定PSS和SVC的改善效果也相对温和但更能反映控制器在不极端工况下的日常表现。3.2 时序控制用脚本精确切断而不是手忙脚乱故障时序控制我用的是MATLAB脚本配合Simulink的断路器模块。首先给三相断路器模块设置外部控制输入再用一个Step时间序列信号或者直接在脚本里用sigbuilder生成控制逻辑。故障时刻设为1s故障持续0.1s在1.1s切除故障线路。如果要做多组工况对照我强烈建议写一个循环脚本而不是每次手动改Simulink里的模块参数。脚本核心逻辑大概是% 定义故障与切除时间 t_fault 1.0; % 故障起始时刻 t_clear 1.1; % 故障切除时刻 % 通过set_param修改断路器控制信号的时间序列 set_param([bdroot /Three-Phase Fault/Fault timing], Time, ... mat2str([0 t_fault t_clear 20])); set_param([bdroot /Three-Phase Fault/Fault timing], Before, ... mat2str([0 0 1 1])); set_param([bdroot /Three-Phase Fault/Fault timing], After, ... mat2str([0 1 0 0])); % 运行仿真 simOut sim(bdroot, StopTime, 20);这个思路的好处是整套对比实验中只有故障时刻和控制器增益参数在变化其余配置保持一致结果可比性很强。3.3 等面积法则理解稳定裕度的几何直觉很多教程把等面积法则放在公式推演里我更喜欢把它当作理解PSS和SVC贡献的几何工具。故障期间发电机电磁功率骤降功角从初始值开始加速增大这个阶段对应加速面积故障切除后系统功率传输能力恢复转子开始减速减速面积如果能够抵消加速面积系统就是暂态稳定的。PSS改变的是振荡过程中的阻尼转矩分量它不直接改变加速面积和减速面积的比值但对首摆后的每一次摆动都踩刹车让系统更快收敛。SVC的作用更直接故障期间向系统注入无功抬高关键母线电压等效于提高了故障切除后的功率传输极限增大了最大可能的减速面积。这也是为什么SVC对首摆稳定裕度改善明显、而PSS对后续振荡衰减贡献更大的根本原因。理解了这一点你在看后面章节的波形对比时就会非常清晰。4. PSS建模与整定给振荡踩刹车的正确姿势PSS是暂态稳定仿真里最容易看着简单、做起来翻车的模块。常有人直接在励磁系统上搭一个增益很大的反馈结果不但没阻尼振荡反而把系统搞得更糟。要调好PSS得先理解它到底在补偿什么。4.1 励磁高增益带来的负阻尼问题现代励磁系统为了维持机端电压恒定普遍采用高增益快速励磁。但快速励磁在电压环带宽内会引入一个不利的附加效应转子转速变化引起功角变化进而引起机端电压变化励磁系统响应后又反过来作用到电磁转矩上这个回路的等效阻尼在低频段往往是负的。换句话说励磁系统在按电压控制的同时悄悄把转子振荡的阻尼偷走了一部分。系统阻尼变成负值遇到扰动后振荡就会等幅甚至增幅发散。PSS的作用就是检测到转子转速或功率的振荡成分在励磁电压给定端迭加一个经过相位校正的附加信号产生的附加电磁转矩恰好补偿掉负阻尼把阻尼比拉回正值。4.2 输入信号、相位补偿与经典传递函数PSS的输入信号我试过转速偏差Δω、功率偏差ΔPe和频率偏差Δf三种。转速信号最常用因为它和转子运动方程直接对应阻尼转矩的物理意义最清晰。功率偏差信号在工程中也常用但要注意汽轮机等场景下的反调问题避免功率升高时误触发反向调节。如果要做更细致的对比可以考虑PSS2B双通道结构它同时利用转速和功率信息综合效果更稳但参数也更多不适合第一次上手。经典PSS传递函数由三个环节组成隔直环节washout、超前滞后环节、增益。隔直环节是个高通滤波器作用是把稳态时的PSS输出清零只让振荡信号通过超前滞后环节负责相位补偿把叠加到励磁参考端的信号调整到合适的相位增益则决定补偿深度。我最初用的一套参数是washout时间常数取2s超前滞后时间常数各取0.05~0.5s之间增益从5开始往上调。4.3 用扫频和波形观察逼近最优增益参数整定不能靠猜我的标准流程分三步。第一步在无PSS情况下对系统施加一个小扰动通过FFT或Prony分析识别出主导振荡频率2机5节点系统通常在0.8~2Hz之间。第二步在该频率下计算励磁系统加发电机GEP传递函数的相位滞后然后把超前滞后环节设置在相反方向使得在振荡频率点附近PSS附加转矩与Δω同相位。第三步从增益K3开始逐步增大每调一档就做一次三相短路仿真观察功角曲线和机端电压波形。一个很实用的判断基准增益偏小时振荡次数偏多但都收敛增益合适时第一次摆动后振荡基本上两三个周期内衰减到很小增益过大时端电压波形上会出现高频纹波甚至正常情况下就出现持续振荡。看到电压波形抖起来说明增益已经过头了退回到不抖的那个值再留一点裕度。注意在这套仿真里接入PSS后首先要确认的是1s故障前那段稳定运行期PSS输出应该恒为零。如果PSS在稳态时还有输出说明washout环节时间常数选得太大或输入信号里混入了直流分量这个必须优先排查因为故障前的稳态被破坏后后面所有故障波形都不可信。5. SVC的动态支撑从稳态调压到故障期电压支撑SVC在电力系统里不算新概念但建模仿真的细节不少人处理得不到位。尤其容易忽略的是SVC的暂态支撑能力与其控制回路的快速性直接相关参数慢了故障期间根本来不及输出无功。5.1 TCR加固定电容SVC的基本结构我搭建的SVC模型采用经典TCR加固定电容FC结构。TCR部分是一个晶闸管控制电抗器通过改变晶闸管触发角来连续调节等效电感吸收的无功FC提供固定的容性无功。两者并联后SVC对外呈现的等效导纳可以在容性与感性之间连续调节。触发角越接近90度TCR电感电流越小SVC对外越呈容性触发角越小电感电流越大对外等效越呈感性。把这个结构放进Simulink可以用库里的晶闸管模块和电感电容元件搭详细模型也可以做平均值模型——用一个受控无功源代替详细的晶闸管开关过程。对暂态稳定级别的仿真平均值模型足够而且仿真速度会快很多重点观察的是SVC注入到母线的无功功率和电压支撑效果而不是晶闸管开断的微观过程。5.2 电压调节器与斜率特性的参数设置SVC的电压调节逻辑本质上是一个闭环测量母线电压VSVC与参考电压Vref比较误差经过PI或比例调节后得到等效电纳指令Bref再经过一个一阶惯性环节模拟触发与控制延迟最终作用于SVC输出无功。调节器响应时间一般在50~100ms对应一阶惯性时间常数取0.02~0.05s比较合理。一个特别容易踩坑的参数是斜率特性。SVC的电压-电流特性不是一条完全垂直的线而是带有斜率droop表示电压每变化一个百分点SVC无功输出变化多少个百分点的无功电流。斜率太小SVC对电压硬支撑但容易与邻近发电机的自动电压调节器发生抢调斜率太大电压支撑能力就会变弱。工程上斜率一般取2%~5%我在2机5节点模型的中间母线节点用3%效果比较稳妥。SVC安装位置对暂态支撑效果影响极大。我做过对比实验把同样参数的SVC放在送端机端母线和放在中间传输母线故障期间电压最低点相差约0.1pu。道理不复杂故障造成电压跌落最严重的地方通常位于传输断面的电气中点SVC只有放在电压跌落最深处才能在故障切除后有效地把暂态功率传输极限拉上来。5.3 调制信号让SVC也参与振荡阻尼SVC如果只做电压调节对首摆稳定有用但对后续振荡的阻尼贡献非常有限。解决方法是引入附加阻尼调制信号——在电压调节器的参考电压上叠加一个与某些反映振荡状态的信号成正比的调制量比如两机之间的转速差或线路有功功率偏差。我在这套模型里取的是线路功率偏差ΔP经过一个隔直环节和一个增益Kmod后叠加入SVC的Vref输入。这里就出现一个有意思的协同问题SVC的调制信号和PSS的输入信号如果都取自同一类振荡量两者会不会互相抢功劳答案是只要控制带宽不重叠各司其职就没有问题。PSS作用在励磁系统上带宽通常在0.5~2Hz的机电振荡频段SVC电压环带宽比较低调制环节恰恰利用了这个带宽空隙。如果SVC调制增益取得过大在振荡频率附近和PSS的正阻尼叠加常常会因相位配合不当反而削弱阻尼。Kmod一般从5开始观察功角衰减速率不超过PSS增益的一半是一个比较保守但安全的经验值。6. 联合仿真结果对比与实操复盘前面该铺垫的原理和建模细节都讲完了这一节集中展示我怎么组织对比实验、怎么解读结果以及把这套模型从能跑做到可信的过程中反复遇到的那些问题。6.1 四种控制配置下的关键曲线对比我固定故障场景为1s时中间母线发生三相短路故障持续0.1s1.1s切除故障线路仿真总时长20s。控制配置分四组无附加控制、仅投入PSS、仅投入SVC、PSS与SVC同时投入。四组结果最直观的区别在功角差曲线上。无控制时功角差在第一次摆动后持续增大越过不稳定平衡点判为暂态失稳。仅投入SVC时首摆幅度明显收窄稳定性从失步恢复为临界稳定但后续还有几次衰减很慢的等幅摆动。仅投入PSS时首摆幅度跟无控制相比改善不大但第一个摆峰之后振荡衰减快得多波形呈现明显的收敛包络线。两者同时投入时既能看到首摆被SVC压住又能看到后续振荡被PSS快速衰减系统在5秒内基本上就恢复了平静。关键母线电压的对比更有意思。SVC投入后故障切除瞬间母线电压立即回到0.8pu以上仅PSS投入时稳态电压恢复速度几乎与无控制时一样PSS对电压恢复没有直接帮助。这个对照直观地说明了标题里PSS与SVC对系统……这句话的完整含义——两者的作用维度是不同的不能互相替代在工程设计中往往是搭配使用而不是二选一。6.2 PSS与SVC的交互检查与参数协调同时投入两种控制器的风险在于交互我踩过一次比较典型的坑PSS增益和SVC调制增益同时增大到一定程度后功角振荡频率附近出现了一个新的弱阻尼模式表现为故障后波形出现拍频效应收敛反而变慢。排查思路是这样先单独投入PSS确认它单独作用时阻尼比在5%以上再单独投入SVC确认单独作用时首摆和电压指标都达标最后同时投入如果发现综合结果不等于两者单独效果的叠加就要逐一检查两个控制器在同一频段内的相位。我最终把PSS增益从15降到10把SVC调制增益从12降到6两个控制器在振荡频段的总阻尼依然充足但拍频现象消失。这件事让我记住一个原则同频段内正阻尼不是越多越好两个控制器相叠加时相位裕度要留出来。6.3 新手翻车最多的五个细节最后把这套模型调试过程中最常见的故障现象和原因列出来你可以直接对照排查现象主要原因处理办法仿真一开始波形就剧烈振荡发电机初始功角/励磁电压初值填错用Powergui潮流工具求初值后回填故障时刻后波形突变但无法恢复故障切除后网络拓扑未更新检查断路器在1.1s是否真正打开、双回线是否保留电压恢复极慢但功角已稳定SVC调节器惯性时间常数过大将一阶惯性时间常数降到0.02~0.05sPSS投入后端电压持续抖动PSS增益过大进入边界振荡按0.7倍临界增益设置仿真速度极慢或出现代数环报错SVC详细晶闸管模型与网络形成刚性系统改用平均值模型或调整求解器为ode23tb并降低容差第五条的刚性问题也值得多说一句。如果坚持用详细晶闸管模型做SVCSimulink求解器很容易因为开关事件的频繁动作而陷入极小的步长20s的仿真可能跑上几十分钟甚至报错。平均值模型虽然在触发角暂态细节上有偏差但对暂态稳定层面的功角、电压、无功曲线完全足够仿真时间能缩短一个数量级。我后面所有参数对比实验都是在平均值模型上完成的。做这套2机5节点系统的暂态稳定性仿真我最大的体会是仿真的价值不在于把曲线画得多漂亮而在于你能不能从曲线里读出控制器在系统里究竟起到了什么作用。PSS把阻尼带回来SVC把电压撑住两者配合把稳定裕度和动态品质同时提上去。如果你现在正准备在自己的项目里搭类似模型建议第一步别急着加密控制器参数先把无控制时的故障场景跑通、把潮流初值调准、把故障时序理清楚。前三步做扎实了后面调PSS和SVC的参数会顺利得多。
返回列表