
做柔性直流输电仿真这几年说实话能完整跑通一套三端VSC-HVDC模型并不容易。网上能下到的MATLAB模型大多是两端背靠背的真正把三端分布式接入、各换流站控制策略都搭出来的资料掰着手指头都能数过来。我最近正好用MATLAB/Simulink把一套300kV等级的三端柔性直流输电模型完整搭建并验证了一遍从换流站主电路参数到控制系统都是自己手搓的这篇就把整个从零搭建的过程捋一遍。搞电力系统仿真、研究多端直流控制策略或者写学位论文需要一套可运行模型的朋友这篇应该能帮上忙。先说明一下标题里的柔型其实就是柔性的笔误柔性直流输电即VSC-HVDC是基于电压源换流器Voltage Source Converter的直流输电技术核心器件是IGBT这类全控型电力电子器件目前已经大规模用在海上风电送出、非同步电网互联、城市供电等场景。三端系统是多端直流MTDC里最简形态但控制策略的复杂程度已经比两端系统上了一个台阶非常适合用来学习和验证多端协调控制的思路。1. 三端VSC-HVDC整体方案为什么是三端怎么定拓扑1.1 多端柔性直流输电解决的实际问题传统两端HVDC只能实现点对点输电相当于一条固定的输电线两头都钉死了。但如果想建立一个直流网络让三个甚至更多交流系统互联、功率按需分配两端结构就不够用了。多端柔性直流输电的核心价值就在这多个换流站共享一条直流母线或直流网络每个站都可以根据需要选择整流或逆变工况功率可以双向流动潮流可控性比传统交流网络强很多。拿新能源并网场景来说海上风电场、陆上光伏基地和城市负荷中心通常分散在不同位置如果用两端直流需要给每一对电源-负荷单独拉一条直流线路线路利用率低、成本高。三端及以上结构可以通过一个直流电网把多个电源和负荷集约起来某个电源出力波动时其他站自动补偿功率差额这正是VSC-HVDC相对传统直流最大的优势。从仿真研究的角度三端模型是验证多端控制策略的最小可行系统。两套换流站的控制逻辑基本是单端控制的简单组合很难暴露直流电压协调的问题五端系统又太复杂尤其是参数整定和故障分析工作量大到容易把人劝退。三端刚好卡在中间既能覆盖主从控制、电压裕度控制、下垂控制这些主流多端策略又不会让模型复杂到没法调试所以我最终确定用三端结构作为仿真研究对象。1.2 三端拓扑结构与控制模式分配三端直流系统的拓扑主要有两种辐射状T型和环网型。辐射状结构简单从主换流站引出两条直流线路分别连接两个从站直流网络呈Y形适合海上风电送出这类一个主站连接多个电源/负荷的场景。环网型则是三个站两两互联形成闭环可靠性更高但对直流线路保护要求也更高。我搭的这套模型选择了辐射状拓扑站1作为主站相当于整个直流网络的电压支撑点站2和站3作为从站分别通过直流线路接到主站的直流母线。为什么选辐射状原因很实际一是线路模型数量少仿真速度更快二是控制逻辑清晰主从关系一目了然方便逐站调试三是从站之间的功率交换都通过主站母线中转动态行为更接近实际工程中的海上风电送出与陆上电网互联场景。控制模式分配方面三端系统不能所有站都定功率必须至少有一个站来稳定直流电压承担系统的功率差额。我采用的方案是站1采用定直流电压控制和定无功功率控制负责维持直流母线电压在300kV附近同时保持与交流系统的无功交换为零站2和站3采用定有功功率控制和定无功功率控制按照给定的功率指令传输功率。这套配置就是典型的主从控制策略主站扛电压、从站调功率实现简单物理意义清晰。1.3 为什么首选主从控制而不是全站下垂控制确定控制策略时我认真比较过主从控制、电压裕度控制和下垂控制三种方案。下垂控制模拟同步发电机的频率下垂特性让所有换流站都参与直流电压调节功率分配按照预设的下垂系数进行。这种方法可靠性高某个站退出运行后其他站能自动分担功率但问题也很明显下垂系数选取不好很容易造成功率分配不均直流电压偏差也偏大而且多站同时调压时动态过程复杂调试成本高。电压裕度控制是主从控制的增强版主站失去调压能力后从站通过检测到直流电压越限而切换为定电压控制。这个逻辑在三端系统里需要精心设计切换阈值和迟滞环节否则可能出现两个站反复争抢电压控制的切换振荡。我在模型验证阶段最终选择了纯粹的主从控制原因很简单先确保仿真模型能稳定跑起来再考虑高级控制策略。主从控制只有站1参与电压调整控制逻辑简单PI参数整定直观非常适合作为三端VSC-HVDC基准模型的控制方案。模型跑稳定之后我再在站2上增加电压裕度切换逻辑这样既能保证整体模型可靠又能扩展研究价值。2. 主电路参数怎么定换流器、电容、线路一个都不能少2.1 换流器拓扑与调制方式选型VSC-HVDC的换流器拓扑主要有两电平VSC、三电平NPC和模块化多电平换流器MMC。MMC是目前工程应用的主流但它的子模块数量大、电容均压控制复杂在MATLAB里建模计算量非常大仿真速度慢对初学者不太友好。两电平VSC结构最简单控制方式直观计算速度快特别适合作为三端控制策略研究的载体。我搭建的模型选用两电平VSC每个换流站由6个桥臂IGBT/二极管开关对组成用Simulink里的Universal Bridge模块实现内部选择IGBT/Diode类型即可。调制方式选择了正弦脉宽调制SPWM载波频率设定为2.25kHz。SPWM的原理其实很好理解把正弦调制波和三角载波做比较调制波大于载波时输出高电平小于时输出低电平这样就在桥臂输出端得到一系列等幅不等宽的脉冲脉冲宽度按正弦规律变化经过滤波后就能还原出接近正弦的电压波形。选SPWM而不是空间矢量调制SVPWM主要考虑到SVPWM在Simulink里需要自己写扇区判断和矢量作用时间计算代码量不小而SPWM直接用Discrete PWM Generator模块就能生成搭模型效率高很多。2.2 关键参数计算与标幺制参数设计是整个模型搭建里最容易被忽视但最关键的一环。我按一套典型的300kV/300MVA等级三端系统来设计具体参数可以按实际研究目标调整但设计逻辑是通用的。额定直流电压U_dc取300kV额定容量S_N取300MW。交流侧通过换流变压器接入220kV交流电网变压器阀侧线电压有效值取190kV这样在调制比m约0.9时能充分利用直流电压留有一定调节裕度。为什么不是随便取对SPWM两电平VSC直流电压和交流线电压之间存在约束关系U_dc要大于2倍交流相电压峰值否则调制比超过1输出电压波形会进入过调制区谐波显著增大。反过来U_dc选择过高会浪费IGBT的耐压能力。按190kV线电压计算相电压有效值约110kV峰值约155kVU_dc/2150kV调制比约0.97接近但不超过线性调制区上限这个值很合理。换流电抗器是VSC和交流系统之间的桥梁作用是滤波和功率传输。它的取值通常用标幺值表示。以190kV、300MVA为基准基准阻抗Z_BU²/S190²/300≈120.3Ω基准电感L_BZ_B/(2πf)120.3/314.16≈0.383H。换流电抗标幺值一般取0.1-0.15pu换算下来实际电感约38-57mH我取50mH对应的标幺值约0.13pu。换流电抗太大功率传输能力和响应速度受限太小则交流侧谐波电流大而且短路时冲击电流更严重。等效电阻R取1.5Ω主要由电抗器绕组损耗构成标幺值约0.012pu。直流侧电容的作用是稳定直流电压、缓冲瞬时功率不平衡。直流电容的取值和系统暂态能量需求有关。工程上一般按直流电压波动不超过额定值5%来设计。我取每个换流站直流电容100μF三站合计300μF对应的时间常数τR_load·C/2其中R_loadU_dc²/P_N300²/300300Ωτ300×100e-6/215ms这个时间常数比控制系统响应时间大很多能有效平抑直流电压动态波动。2.3 直流线路与交流系统等效模型直流线路在Simulink里可以用集中参数π型模型模拟。我设定的拓扑是站1到站2线路长度100km站1到站3线路长度150km。架空线路每公里参数取R0.015Ω/km、L0.8mH/km、C0.015μF/km这样100km线路的总参数为R1.5Ω、L80mH、C1.5μF。如果研究的是电缆线路参数差异会比较大尤其是电容会显著增大约0.2μF/km以上对直流电压动态特性影响明显需要单独设置。交流系统等效采用三相电压源串联短路阻抗的方式短路比SCR取5。SCR是衡量交流系统强弱的指标等于交流系统短路容量与换流站额定容量的比值。SCR5属于较强系统电压支撑能力强有利于仿真稳定。如果研究弱电网下的VSC-HVDC特性可以把SCR降到2-3但需要相应增加交流电压控制策略否则系统容易振荡。这种交流系统等效方法在Simulink中实现起来非常简单用Three-Phase Source模块串联RL阻抗即可且能准确反映交流系统对换流站控制动态的影响。下表汇总了三个换流站的主要参数方便整体对照参数站1主站站2从站站3从站额定容量300MW150MW150MW直流电压额定300kV300kV300kV换流电抗器50mH/1.5Ω50mH/1.5Ω50mH/1.5Ω直流电容100μF50μF50μF控制模式定U_dc/定Q0定P/定Q0定P/定Q0初始功率指令—100MW80MW直流电容从站容量减半后容值减半这个细节很多人容易忽略但它在站间功率快速变化时对直流电压动态影响很大建议按站容量比例配置。3. 控制系统设计从外环PI到多端协调3.1 内环dq解耦电流控制的核心逻辑VSC-HVDC控制系统分为外环和内环两层外环生成电流参考值内环通过电流控制器产生调制电压信号最终由PWM生成触发脉冲。内环电流控制是整个系统的底盘它控制的是换流器与交流系统之间交换的电流在旋转坐标系下的d轴分量和q轴分量。经过Park变换后三相交流量变成直流量PI控制器才能实现无静差跟踪这就是为什么所有VSC控制都要做dq变换。但在dq坐标系下d轴和q轴电流之间存在耦合项ωL·i_d和ωL·i_q。如果不做解耦处理调节有功功率时无功会跟着波动调节无功时有功会跟着波动两个回路互相干扰系统动态特性很差。这就像空调的温控和风速两个旋钮没有独立调节功能调温度会影响风速调风速又影响温度用起来非常难受。内环解耦控制通过前馈补偿把这两个耦合项消掉让d轴电流和q轴电流各自独立控制。具体来说内环控制方程可以写成u_d -(Kp Ki/s)(i_d_ref - i_d) ωL·i_q e_d u_q -(Kp Ki/s)(i_q_ref - i_q) - ωL·i_d e_q其中e_d、e_q是交流母线电压的dq分量这里作为前馈补偿项引入可以加快动态响应并减小稳态误差。最后生成的u_d和u_q经过反Park变换得到三相调制电压参考值交给SPWM模块生成驱动脉冲。在Simulink里这一步可以直接用PI ControllerDiscrete、乘法器、加法器搭出来注意把ωL·i_q和ωL·i_d这两项的符号别搞反我调试时因为符号问题浪费过两天时间。3.2 外环控制定电压、定功率与PI参数整定外环的作用是根据控制目标生成内环的电流指令。定直流电压控制站的外环是一个电压PI控制器输入直流电压参考值和实际值的偏差输出d轴电流参考值i_d_ref。电压偏差为正说明直流电压偏高此时应减小i_d_ref让换流器吸收更多有功功率作为逆变侧运行或减少注入作为整流侧运行从而把电压拉回额定值。定有功功率控制站的外环输入功率参考值和实测值的偏差输出i_d_ref定无功功率控制的原理类似输出i_q_ref。外环PI参数的整定是整套系统调试中最耗时、最容易卡住的地方。我的经验是采用带宽分级的方法内环电流环带宽取300Hz左右外环电压/功率环带宽取内环的1/5到1/10也就是30-60Hz。这样内外环在频域上拉开了距离外环动态不会激发内环的谐振系统更稳定。如果你在Simulink的离散控制器里设置采样时间内环采样周期50μs外环100μs也能达到类似效果。实际参数上内环PI可以先从Kp10、Ki200起步跑起来后观察d轴电流阶跃响应的超调量和调节时间。如果电流振荡幅度大说明Kp偏大往下调如果电流跟踪慢、误差持续存在说明Ki不够适当往上加。外环PI相对保守一些初始Kp2、Ki50然后观察直流电压在功率扰动下的恢复过程。记住一个原则内环要快且稳外环要慢且准内外环带宽差5倍以上一般不会有大问题。3.3 多端协调主从控制的具体实现三端系统里的主从控制所有控制逻辑都在单站层面真正体现多端特色的是直流电压与功率平衡之间的关系。站1采用定直流电压控制相当于整个直流系统的锚点站2和站3注入的功率不等于流出时差额会反映在直流电容充放电上表现为直流电压变化。站1检测到电压偏差后通过电压PI迅速调整自己传输的功率直到整个直流网络重新达到功率平衡直流电压恢复到300kV。这个过程的物理图像可以这样理解直流网络就像一个水池各站注入的功率像进水流出的功率像出水。如果出水小于进水水位直流电压上涨反之水位下降。站1的定电压控制就像自动调节水阀出水多了就自动开大闸门进水多了就自动关小闸门始终保持水位稳定。站2和站3不关心水池水位只按自己的计划进水和出水。在Simulink中实现主从控制关键在于站1的电压控制器输出要正确接到内环电流参考值上且保证电压控制的方向正确。比如某个时刻站2、站3总输送功率为180MW均按整流方向向直流网络注入功率站1要维持电压稳定就必须以逆变方向输出差不多180MW到交流电网。这个功率自然会通过电压PI调节得到不需要人为干预但前提是站1的额定容量足够覆盖这个功率差额否则电压PI饱和直流电压失控这一点在容量配置时就要考虑到位。4. Simulink建模流程与仿真调试实录4.1 模型搭建步骤详解搭建环境我用的是MATLAB R2022b需要安装Simscape Electrical工具箱早期版本叫SimPowerSystems。整个模型搭建思路是先建单站、再复制扩展、最后联调。搭建顺序如下第一步新建Simulink模型打开Simscape Electrical库拖入Three-Phase Source、Three-Phase Transformer、Three-Phase Series RLC Branch、Universal Bridge、DC Bus Capacitor、Series RLC Branch等模块。交流系统用220kV三相电压源串联等效阻抗实现变压器变比设置220kV/190kV连接方式D1/Yg。第二步搭建换流阀部分。Universal Bridge选择IGBT/Diode桥臂数为3测量输出勾选电压和电流信号。直流侧并联一个直流电容正负极上接电压测量模块。换流器交流侧接50mH换流电抗器再接到变压器阀侧。第三步搭建控制系统。控制系统需要采集的三相电压和电流信号通过Voltage Measurement和Current Measurement模块引出再用Three-Phase PLL模块锁定交流相角。采样到的信号用Goto/From模块引到控制子系统里避免线缆交叉影响模型整洁度。在控制子系统中依次完成Clark/Park变换、外环PI、内环PI、反Park变换最终得到三相调制波信号送入Discrete PWM Generator2-level bridge模块输出六路触发脉冲接到Universal Bridge的脉冲输入端。第四步把单站模型打包成子系统复制三份分别设置不同的控制模式。站1的直流侧为整个三端网络的直流母线节点站2、站3通过直流线路模块连接到母线。直流线路用Series RLC Branch或者专门的PI Section Line模块按前面计算的参数设置。第五步设置整体仿真参数。求解器选ode23tb相对误差1e-4仿真最大步长1e-5s仿真时长3-5s。控制子系统里的离散PI模块采样时间设为100μs。4.2 从空载到三站并联的调试顺序模型搭完后最忌讳直接满负荷仿真大概率是一发散就干瞪眼。我的调试顺序是单站空载—双站互联—三站并联每一步都验证清楚了再往下走。单站空载调试时先把直流电容初始电压设为300kV相当于预先充好电交流和直流侧都空载运行观察PLL锁定情况、直流电压是否稳定。这一步主要验证控制系统的方向性有没有问题比如PWM触发脉冲是否正确驱动IGBT通断、Park变换的角度是否同步。如果直流电压掉得很快或者出现剧烈振荡先排查PWM调制波频率和载波频率设置再看PLL是否在额定频率上稳定锁定。双站互联时把站1和站2通过直流线路连接站1定电压站2定功率功率指令先设一个小值如30MW跑起来看直流电压波动情况。如果直流电压稳住了逐步把功率指令加大到100MW确认功率传输方向正确。接着把站2的功率指令设为负值验证潮流反向流动能力这是VSC-HVDC相比传统LCC-HVDC的核心优势在VSC-HVDC中换流站逆变和整流工况切换只需要改变电流方向参考值不需要改接线也不存在换相失败问题。三站并联时把站3接入网络分别给定功率指令观察三个站的功率分配和直流电压动态。重点关注功率突变时站1的电压PI响应是否及时直流电压是否在允许偏差范围内。如果功率阶跃后直流电压收敛太慢适当增大站1电压外环的比例系数如果电压波形有持续振荡则减小比例系数、增大积分时间常数保证电压环带宽在内环带宽的1/5以下。4.3 典型工况仿真结果与波形解读模型调通后我做了几个典型工况验证这里把关键结果记录下来供参考。工况一站2有功功率从100MW阶跃到150MW整流方向。仿真显示站2的实际功率在约0.1s内跟踪到新指令超调量小于5%直流电压在阶跃瞬间从300kV跌落到约296kV随后在站1电压控制作用下约0.5s内恢复到300kV附近。这个过程中站1的传输功率自动从原来的180MW增加到230MW左右说明主站的功率差额补偿功能正常。工况二站3功率指令从80MW反转为-60MW即从整流工况切换到逆变工况。VSC-HVDC的潮流反转其实就是改变有功功率参考值符号实际功率波形在0.15s左右完成平滑过渡直流电压波动幅度约±1.5%。如果换成传统LCC-HVDC潮流反转需要改变电压极性整个换流站都要切换运行状态动态过程复杂得多。这是VSC技术路线最大的工程优势仿真里能非常直观地看到。工况三站2功率在2s时突然从100MW升到160MW同时在站3设置一个30MW的功率波动。直流电压在扰动初期有约6kV的瞬时偏差经过约0.8s后恢复到±0.5%范围内。这个结果说明三端系统在内外环参数匹配合理的情况下可以抵抗一定程度的功率扰动。如果后续研究需要更小的电压偏差可以适当增加直流电容容值或者采用带前馈的电压控制器。5. 常见问题与排查技巧实录5.1 仿真发散、报错与步长设置问题仿真运行中经常遇到的是发散问题典型表现是仿真到某个时刻直接报错或者波形突然出现巨大数值。原因主要有三类一是PI参数设置不合理控制器输出过大导致系统不稳定二是仿真步长过大无法捕捉PWM开关瞬间的快速暂态三是模型本身存在代数环尤其是电流测量值直接参与控制计算时容易出现。排查思路也是这样依次检查。先看PI参数输出是否有饱和限幅我在内环输出端加了±1.2倍的限幅避免控制器输出超过调制比范围再看仿真步长离散PWM载波频率2.25kHz一个载波周期约444μs为了准确模拟PWM波形最大步长必须小于载波周期的1/20。我最终把最大步长设到10μs同时在控制器模块里把采样时间设为50μs这样既保证精度又不至于太慢。如果出现代数环报错检查一下是否在电压/电流测量模块后面直接经过了纯比例环节再参与控制计算如果存在这种情况可以在测量信号后串联一个Memory模块或者一阶惯性环节打破代数环但要注意这个额外环节的惯性不能太大否则会把控制带宽拉低影响动态响应速度。5.2 PLL锁相和dq解耦的坑PLL是三端VSC-HVDC控制系统里非常容易出现问题的环节。PLL的作用是实时跟踪交流母线电压的相位VSC-HVDC的控制系统是基于dq坐标系的Park变换需要准确的相位角如果PLL锁相角度有偏差d轴和q轴上的分量就会串味有功控制通道和无功控制通道互相干扰功率波形出现低频振荡。我在调试时遇到的一个典型问题是三相电压测量信号经过滤波后幅值和相位偏移导致PLL锁定角度有偏差系统工况一变就出现功率振荡。排查后发现是测量信号经过了低通滤波器滤波器在滤除谐波的同时带来了相位延迟。解决办法是PLL的输入直接取未经滤波的瞬时三相电压同时在PLL模块内部设置合理的带宽参数让PLL的自然频率在15-30Hz阻尼比0.707左右这样锁定速度和过滤能力都能兼顾。dq解耦的坑主要在符号上。很多人在搭建解耦前馈项时会把ωL·i_q的符号弄反导致解耦变成了耦合结果是有功电流和无功电流互相激励系统发散。验证解耦是否正确的一个简单方法是给一个纯d轴电流阶跃i_q_ref保持0观察q轴电流响应如果q轴电流始终在0附近且没有明显波动说明解耦正常如果q轴电流跟着d轴一起跳变就要检查解耦项的符号了。5.3 参数配置与数据设置的注意事项最后一个坑是参数配置的细节问题这类问题最隐蔽排查起来最费时间。第一个容易出问题的地方是Park变换的等幅值/等功率变换约定。不同教材和不同模块里的Park变换位置可能采用不同系数2/3还是√(2/3)如果混用控制系统的增益会整体偏差功率测量值和实际功率对不上。建议全套系统统一用等幅值变换系数2/3且在模型中做好注释。第二个是直流电容初始电压。我建议在仿真开始前把直流电容初始电压设置为300kV否则仿真启动瞬间直流电容从0充电会产生巨大的冲击电流可能触发保护逻辑或导致数值发散。在Simulink中双击电容模块在Initial voltage里直接填入300e3即可。第三个是各站功率正方向的定义这是三个站联调时最容易乱套的地方。我定义功率从交流系统流向直流系统为正即整流方向为正站2和站3在初始工况中按功率指令为正值运行站1通过电压控制自动承担平衡功率。如果发现某站功率波形整体反相先检查电流测量方向的定义再检查控制系统中功率计算的公式。功率正方向不一致导致的功率震荡问题我遇到过多次最后靠给每个站的功率测量值做一个极性标注才彻底解决。还有一个实用技巧是Simulink里做批量参数调整很方便三站共用一套控制子系统时把PI参数放到模型工作区Model Workspace的变量里这样可以在不同站中分别引用不同的变量例如站1的Kp定义为Kp_voltage站2和站3的功率环参数定义为Kp_power调试时不用每次都打开子系统改参数直接在命令窗口或参数对话框里改变量值即可实时生效效率提升很大。我个人在实际操作中有个体会三端VSC-HVDC模型的调试难点往往不在某一个站的控制器设计而在三站联动时的协调配合。解决这个问题最有效的方法就是前面反复强调的调试顺序——先把单站调稳再双站互联验证功率流向最后三站并联。这套模型后续还可以沿两个方向扩展一是把两电平VSC替换成MMC研究子模块均压和环流抑制二是在主从控制基础上加下垂控制让所有站共同参与直流电压调节模拟更接近实际工程的场景。等这两个方向都跑通了我对多端直流系统的理解会再上一个台阶。