四端柔性直流输电Simulink仿真:MMC建模、协调控制与调参实战

发布时间:2026/10/9 7:42:35
四端柔性直流输电Simulink仿真:MMC建模、协调控制与调参实战
最近在梳理四端柔性直流输电系统的仿真模型时我发现很多同学拿到题目后的第一反应是直接打开 Simulink 开始搭电路结果不是模型跑不动就是波形发散到天上去。这里面的核心问题不在于 Simulink 操作本身而在于对“四端网络”和“四端换流器控制”这两个概念没有建立起系统级的认知框架。这篇文章我把整个建模思路、控制策略搭配、无功补偿逻辑以及调参过程中真正踩过的坑完整写出来希望能帮正在做柔性直流输电方向仿真的人少走一段弯路。这个系统说白了就是在一个直流网络里接入四座换流站它们之间通过直流线路连成一个环网或辐射状网络彼此既要维持直流电压稳定又要按调度需求交换有功功率同时还得兼顾交流侧的无功补偿。比起常规的两端直流输电四端系统在控制自由度、功率分配方式以及故障响应机制上完全不是一个量级。这篇内容会把 MMC 换流器建模、四端协调控制策略、无功补偿控制回路和仿真工况设计一块儿讲透适合正在做柔性直流输电、直流配电网或者微电网仿真的研究生和工程师参考。1. 四端柔性直流输电的系统构成与仿真需求拆解1.1 四端网络拓扑形态与换流站角色分工在动手搭建 Simulink 模型之前先要把四端系统的“骨架”想清楚。四端柔性直流输电系统在拓扑上常见两种形态一种是四个换流站通过直流线路接成环网另一种是辐射状结构比如一个主站带三个从站。环网结构可靠性高线路利用率好但控制复杂度跟着上去了辐射状结构逻辑简单、潮流走向清晰适合做基础控制策略验证。换流站的角色分工是整个系统的关键。四端系统里必须有一个换流站承担“直流电压锚点”的职责大家通常叫它定直流电压站。这个站的作用是平衡整个直流网络的功率差额——当其他站注入或抽出的功率发生变化时直流电压会跟着波动定电压站通过调整自身有功输出来把电压拉回额定值。剩下三个站可以按调度需求设定有功功率参考值或者其中一个采用下垂控制来分担电压支撑能力。以我这次的建模对象为例四端系统包含一个主换流站站1、两个整流/逆变潮流站站2、站3以及一个专门验证无功补偿功能的换流站站4。站1采用定直流电压加定无功功率控制站2和站3采用定有功功率加定无功功率控制站4根据验证目标可以切换为定无功功率或定交流电压控制模式。这样一站一个角色模型跑起来后谁在干什么一目了然后期排查问题也方便。1.2 换流器技术选型MMC 还是两电平 VSC四端柔性直流输电系统的换流器主流选择是模块化多电平换流器MMC这也是实际工程中柔性直流工程的标配。MMC 的好处是输出波形质量高、开关频率低、故障穿越能力强。但代价是仿真模型极其庞大——一个 MMC 换流站动辄几十上百个子模块四端系统搭出来就是几百个 IGBT 器件Simulink 跑一次仿真可能要几十分钟甚至更久。这里有一个非常现实的取舍问题。如果你是做控制策略研究的仿真重点在系统级响应和协调控制逻辑上那么完全可以在 Simulink 里用平均值模型来替换 MMC 详细开关模型。平均值模型把 MMC 简化成一个受控电压源加受控电流源反映的是外部电气特性不考虑内部的子模块投切过程。它虽然不能用来研究谐波特性和子模块均压控制这样的问题但系统级控制策略的验证完全够用仿真速度快了几个数量级调 PI 参数的时候尤其省时间。如果你需要在四端系统里展示 MMC 内部子模块电容电压均衡算法和环流抑制效果那就得用详细开关模型。这种情况下建议用 Simulink 自带的“MMC”模块库它已经内置了载波移相调制和最近电平逼近两种调制方式还可以直接设置子模块电容值、桥臂电感和子模块数量。但要注意四端系统加上 MMC 详细模型后计算量非常可观我在实测中发现 50 微秒的固定步长下四端 MMC 模型仿真 5 秒要跑接近二十分钟这时候建议把仿真步长适当放大到 100 微秒波形精度损失在可接受范围内。1.3 建模之前必做的参数摸底清单四端系统建模最容易犯的错误是“边建边找参数”结果到最后参数之间互相矛盾。好的做法是在打开 Simulink 之前先把下面这张清单填完后面所有模块参数都从这张表里取数参数类别具体项目示例取值交流系统交流电压等级 / 频率 / 短路比110 kV / 50 Hz / 短路比5换流变额定容量 / 变比 / 漏抗300 MVA / 110/35 kV / 0.1 puMMC 换流器子模块数量 / 电容值 / 桥臂电抗单臂50个 / 8 mF / 80 mH直流网络直流额定电压 / 线路电阻电感 / 接地方式±50 kV / 0.01 Ω/km 1 mH/km控制器采样频率 / 电流环带宽 / 电压环带宽1 kHz采样 / 200 Hz电流环 / 20 Hz电压环运行工况各站有功命令 / 无功命令 / 故障预设站1:0 MW, 站2:50 MW, 站3:-40 MW把这些参数确定以后模型搭建就变成了填模块参数的体力活。这里面最重要的一个约束是直流电压等级和交流电压的匹配关系。以 MMC 为例直流侧电压必须能够支撑每个桥臂所有子模块串联之后的电容电压之和。常规设计原则是每个子模块电容额定电压取 1.6 到 2 kV如果直流母线是 ±50 kV即直流极间电压 100 kV那每个桥臂需要约 50 个可用子模块才能满足耐压要求。把这一层逻辑想清楚后面计算电容值、桥臂电抗时才有抓手。2. 四端换流器控制的核心逻辑从双闭环到协调配合2.1 dq 旋转坐标系下的电流解耦控制无论几端系统单座换流站的核心控制都离不开 dq 旋转坐标系下的电流内环解耦。基本原理是把三相交流电流通过 Park 变换映射到 d 轴和 q 轴其中 d 轴电流控制有功功率q 轴电流控制无功功率。但由于 d 轴和 q 轴之间存在交叉耦合项如果不加解耦补偿调 d 轴电流会引起 q 轴电流波动所以控制器里必须加入解耦前馈项。具体到 Simulink 里的实现电流内环的 PI 控制器输出的是 d 轴和 q 轴电压指令在叠加解耦项时需要用交流侧电感的感抗值。这里有一个容易被忽视的问题如果换流器经过变压器接入交流电网解耦项中用的电感应该是换流变漏抗加上桥臂电抗折算到交流侧的总电感值而不是只看桥臂电抗。我在第一次建模时就漏算了变压器漏抗电流环响应速度正确但稳态时 d 轴和 q 轴电压指令出现了固定偏差后来把变压器的短路阻抗加进去才解决问题。电流内环PI参数整定也不难工程上常用“带宽法”来做初值。假设期望电流环带宽是 200 Hz那么 PI 控制器的比例系数取电感总值乘以带宽角频率积分系数取电阻值乘以带宽角频率。这里电阻值是交流侧等效电阻一般很小所以积分系数也小。用这个公式算出来的初值不需要怎么调整就能保证电流环稳定实测效果相当不错。控制器的离散化也是一个绕不开的环节。Simulink 里实现 dq 解耦控制通常有两种方式直接用 Continuous 传递函数模块搭连续域控制或者用 Z-domain 离散控制器。我建议在四端系统里全部使用离散控制器并且所有站使用同一个采样步长。原因是连续控制器在高频开关模型下容易产生代数环仿真速度慢且数值稳定性差。离散控制器的采样频率这里取了 1 kHz和实际工程中的控制器频率一致后续如果要做硬件在环也能直接平移过去。2.2 四端协调的上层控制谁定电压、谁定功率四端系统的协调控制策略是整个仿真的灵魂。在当前主流工程实践里最常见的组合是“主从控制”和“下垂控制”两种。主从控制的思路很清晰——指定一个站做直流电压站其余站做定功率站。电压站自动吸收所有功率差额保证直流电压稳定。这种控制方式实现简单、动态响应好在系统功率变化不大时表现非常好。但弱点也明显如果电压站因故障退出整个系统就失去了电压参考点直流母线电压会失控其他站也就跟着完蛋。下垂控制则让每个站都承担一小部分电压调节任务。每个站的有功功率参考值不是固定不变的而是根据直流电压偏差做下垂调整直流电压高就自动多吸收有功直流电压低就自动多注入有功。这样即使某个站退出运行剩下的站还能通过各自的电压功率下垂特性共同维持系统稳定可靠性更高。实际四端系统里可以做混合策略——站1作为主电压站采用定直流电压控制同时站4启用直流电压下垂控制作为后备。当直流电压偏差超过阈值时站4的下垂控制开始生效分担部分功率平衡压力。这样既能保证正常工况下的快速电压响应又能规避单一电压站故障导致全系统崩溃的风险仿真结果也验证了这种混合策略的有效性。2.3 无功补偿控制回路定无功与定交流电压两种模式的实现无功补偿是四端系统仿真中经常被忽略的部分很多人把它简化成“q 轴参考值设成 0”就完事了。但在实际工程里无功补偿控制恰恰是换流站并网能力的重要体现尤其是在交流侧电压波动时换流站可以通过无功调节来支撑接入点电压。无功控制有两种实现模式。第一种是定无功功率控制直接给 q 轴电流内环一个无功参考值就是。这个实现最简单但它只能保证换流站与交流电网交换的无功功率恒定并不能主动去调节交流电压。第二种是定交流电压控制q 轴电流参考值由交流电压外环的PI控制器输出决定。交流电压实测值和参考值存在偏差时控制器通过调整 q 轴电流改变无功交换量直到电压恢复。这才是真正意义上的“无功补偿控制”。在四端系统里做无功补偿验证我建议把其中一站的交流电压额定值设得比电网实际电压稍低一点比如仿真交流电网电压有 3% 的跌落看看定电压控制的无功补偿站能否通过输出容性无功把电压抬回来。这个工况非常能说明问题比单纯看无功功率波形直观得多。无独有偶交流电压外环的PI参数整定逻辑和电流环不一样。电压环带宽不能设计太高因为无功补偿响应太敏感会让交流电压震荡。我按照 20 Hz 的带宽来设计电压外环 PI 初值实测下来响应速度适中没有因为电压环和电流环之间的时间尺度重叠而产生振荡。3. Simulink 建模实操MMC 模型、主电路与控制环路的搭建顺序3.1 用 Simulink 库搭建 MMC 换流站的两种路径四端系统的 Simulink 模型搭建第一步是把“厂站”做出来。如果选 MMC 详细开关模型可以在 Simulink 库的 “Power Electronics / Modular Multilevel Converter” 下直接找到 MMC 模型按提示配置子模块数量、电容值、桥臂电感和调制方式。这个模型库支持单端和双端两种结构对于四端系统只需把四个MMC独立搭起来再通过直流线路互联即可。如果选平均值模型搭建方式更轻量——用受控电压源替代 MMC 的交流侧输出用受控电流源模拟直流侧电流。平均值模型的控制输入量是调制波幅值和相位模型内部直接通过功率平衡关系计算出直流侧电流完全不用管子模块投切。在四端系统里我实际采用的方案是站1、站2、站3 用平均值模型站4 用详细 MMC 模型。这样既能保证系统级控制策略验证的完整性又能在站4上展示 MMC 内部特性计算量也可以接受。无论选择哪种方式交流侧都必须接上换流变压器。变压器对象在 Simulink 里建议用 “Three-Phase Transformer (Two Windings)” 模块注意设置饱和特性为 “Saturable”正常运行时不进入饱和区但故障仿真时能正确反映变压器过激磁引起的谐波电流。如果省略饱和设置故障工况下仿真结果会偏离实际。3.2 直流线路与接地方式四端环网的连接细化四端直流网络的线路模型不需要做得过于精细用集中参数的 π 型线路就能满足控制策略验证需求。Simulink 里有现成的 “PI Section Line” 模块设置线路长度、每公里电阻、电感和电容后直接拖进模型。这里要注意的是π 型线路模块的电容参数必须保留否则直流电压中会缺少线路电容的缓冲效应功率阶跃时电压过冲明显变大。接地方式是容易踩坑的重灾区。双极 MMC 柔直系统的直流侧接地方式有直流侧电容接地、换流变阀侧星形电抗器接地等方式。在 Simulink 仿真里如果没有合适的接地参考点仿真会出现直流电压悬浮模型直接报错或者波形漂移。走访检查时发现很多人的“波形老是飘”其实就是接地问题。我的模型里采用每个换流站直流侧正负母线之间跨接两个等值串联电容电容中点接地。这样既给出了直流电位的参考点也模拟了直流侧的分布电容故障仿真时有足够真实的暂态响应。这个接地方式对应的电容值按经验取每个站 MMC 等效电容的 5 到 10 倍以降低接地电容对系统动态特性的影响。3.3 PI 控制器的离散化实现与初始化四端系统里总共有四座换流站每座站有电流环 PI、功率外环 PI或电压外环 PI算下来控制器数量轻松超过 10 个。逐个在 Simulink 模型里鼠标拖拽搭建效率太低而且改参数极其痛苦。我这里强烈建议用 MATLAB 脚本批量初始化这些 PI 控制器的参数通过模型工作空间统一管理。做法是在模型里使用gains和PIController_Discrete模块时所有参数项都填变量名比如Kp_current_d、Ki_current_d、Kp_voltage_dc。然后在模型的 PreLoadFcn 回调里写一个初始化脚本统一计算四座站的所有控制器参数。这样做的好处是调参数的时候只需要改脚本顶部的带宽列表不用一个一个去双击模块改参数而且整个系统的控制参数逻辑一目了然。PI 控制器的离散化需要特别注意积分器的初始值。换流站启动时电流环的积分器初始值应设为 0但功率外环的积分器初始值不能简单设 0。比如定功率站的功率外环输出是电流参考值启动时功率参考值不为零外环积分器若从 0 开始会导致启动阶段出现很大的电流冲击。正确做法是将功率外环积分器初值设为与当前实际功率对应的电流值或者让功率参考值在启动时通过斜坡函数逐渐过渡。4. 仿真工况设计与结果分析从平静启动到故障冲击4.1 工况一系统平稳启动与稳态特性验证四端系统仿真的第一个工况是空载或轻载启动。四个换流站同时解锁会产生较大的冲击电流所以启动阶段控制策略要做时序设计。以我这个模型为例启动顺序为先启动定直流电压站站1让它工作在不控整流或预充电模式建立直流母线电压直流电压达到额定值后再依次解锁站2、站3、站4并在解锁后通过斜坡函数加载功率指令。这个启动时序的作用是把启动过程拆成“电压建立”和“功率加载”两个阶段。第一阶段只有站1工作电流很小直流电容平稳充电第二阶段各站逐步加载功率指令换流器内部的电流冲击被控制在最小范围。实际波形中直流母线电压从 0 开始上升约 0.3 秒后到达额定电压各站功率指令在 0.5 秒开始斜坡加载1 秒后进入稳态。直流电压稳态波动控制在正负 1% 以内满足柔性直流系统的运行要求。这个工况最值得看的指标是各站交流电流的谐波含量和直流电流的平稳性。详细 MMC 模型的站4输出电流 THD 应该在 1% 以下如果谐波偏大优先检查调制方式和子模块电容电压均衡控制是否正常工作。4.2 工况二功率阶跃下四端协调响应第二个工况是正向验证四端协调控制的典型试验站3的有功功率指令在 1.5 秒时从 -40 MW 阶跃到 -20 MW也就是逆变功率减半。这个阶跃会打破原来的功率平衡直流电压会瞬间升高因为直流网络里多余的能量会充向直流电容。看波形会出现什么现象阶跃瞬间直流电压先上升站1的定电压控制检测到电压偏差后自动减少自身吸收的有功功率把电压拉回额定值。站2是定功率站有功功率保持不变。整个调整过程大概在 0.2 到 0.3 秒内完成直流电压动态偏差不超过 5%。这就是主从控制策略的正确响应逻辑。功率阶跃的仿真结果还能用来验证控制器参数是否合理。如果直流电压恢复过程中有明显的超调或振荡说明电压外环 PI 参数带宽偏高或者站1的功率响应能力受限需要重新整定。如果恢复时间过长则可能需要适当加大电压外环带宽。4.3 工况三无功补偿控制与交流电压支撑效果验证这个工况专门针对标题里的“无功补偿控制”来设计。在系统运行到 2 秒时交流电网电压突然跌落 5%持续 1 秒后恢复。正常情况下定无功功率控制的换流站不会对电压跌落做出反应因为它的无功指令没有改变。而采用定交流电压控制的站4会自动增加容性无功输出试图把交流电压支撑起来。这次仿真的预期波形是电压跌落期间站4的无功功率自动从 0 向容性增大输出约几十兆乏的容性无功接入点电压从跌落值回升约 2 到 3 个百分点。这个提升幅度与无功补偿容量、交流系统短路比直接相关短路比越小同样的无功补偿量能抬升的电压幅度越大。从控制层面看外环电压控制器在这个工况里承担全部调节任务它通过感知电压偏差输出合适的 q 轴电流参考值再由电流内环精准执行。这个级联过程就是“外环定电压、内环定电流”的标准结构如果无功响应波形出现振荡多半是电压外环 PI 参数整定过激进。4.4 工况四直流侧单极故障的穿越与恢复最后一个工况加一个硬核测试直流线路发生单极接地故障。在四端系统里做故障仿真的难点在于故障位置的设置和故障时序的配合。这里我在站2到站3的直流线路正极设置一个经过渡电阻的接地故障故障起始时间 3 秒持续时间 0.1 秒后切除。故障发生后直流正极母线电压瞬间跌落定电压站为了维持功率平衡会大幅提升出力但受电流限幅约束能提供的故障电流有限。此时非故障站的直流电压、有功功率都会出现不同程度的波动。故障切除后系统能否恢复稳定运行取决于控制策略的响应速度和直流电压的恢复能力。如果模型采用平均值MMC模型故障暂态过程比较简单如果用详细 MMC 模型还要关注子模块过流和电容电压波动情况仿真时间也会明显变长。故障仿真的重点不是为了看“轰轰烈烈”的波形而是验证控制层在极端工况下的自我保护逻辑——比如电流限幅器是否起作用、直流电压保护阈值是否设计合理、故障切除后换流站能否自动恢复功率传输。5. 调参与避坑备忘录四端系统仿真最容易翻车的几件事5.1 代数环和仿真步长决定模型跑不跑得动的关键搭建四端控制系统时“代数环”是 Simulink 里最经典的暗坑。原因在于控制器的电压前馈项和电流测量值之间存在环路控制器输出电压指令指令经 PWM 调制后影响换流器输出电压换流器输出电流又反馈回控制器。如果调制环节没有延迟这个环路就是代数环。解决代数环的方法有两个一是在控制器的输出或测量通道上增加单位延迟Unit Delay人为打断环路的代数约束二是把求解器设置为离散模式并选择合适的离散步长让所有模块按时间步进计算从根上规避代数环。我的实际做法是后者——把整个模型切成电气域和离散控制域两套求解器。电气域用固定步长ode3或ode4步长 50 到 100 微秒控制域作为离散模块直接参与求解。这种“混合仿真”方式稳定性和兼容性都很好。关于求解器步长再啰嗦一句详细 MMC 模型建议 50 微秒左右平均值模型可以放宽到 100 到 200 微秒。如果你把步长放到 500 微秒以上电气暂态过程会被严重滤波器化高频分量直接被抹平控制策略的动态特性就看不出来了。5.2 电流限幅器与积分器防饱和控制系统稳定性的底线四端系统发生功率大幅阶跃时电流内环可能瞬间饱和。如果不加电流限幅器PI 控制器会输出极大的电压指令导致换流器过调制波形严重畸变甚至仿真发散。所以每个站的电流内环输出必须串联饱和限幅模块限幅值按照换流器额定电流的 1.1 倍设置。但光限幅还不够PI 控制器自身还会遇到“积分器输出饱和”的问题——控制器饱和后积分项一直积分当系统恢复正常时积分器还停在极端值上导致响应延迟和超调这就是经典的“windup”现象。解决windup需要在 Simulink 里给 PI 控制器加反计算限积分功能。我的做法是用带反算限幅的离散 PI 模块内部实现了积分清零逻辑如果手写 PI 结构需要用Integrator Limited模块配上限幅并把积分器输出直接反馈回输入端做条件复位。这个细节在四端系统里尤其重要因为一个站的积分器饱和会影响直流电压导致其他站跟着波动连锁反应非常麻烦。5.3 MMC 详细模型的子模块初始化与载波移相设置如果你的四端系统里包含了详细 MMC 模型初始化阶段有一个非常容易被忽视的细节——子模块电容预充电。实际工程里MMC 启动前所有子模块电容电压是零直接解锁换流器会造成很大的冲击电流。仿真里更现实的做法是让换流器先运行在“闭锁不控整流”状态通过交流侧向电容充电等电容电压达到额定值后再解锁正常调制。Simulink 的 MMC 库支持直接设置子模块电容初始电压所以我建议在启动阶段做一个“母线预充电”的模拟先用稳态分析计算出各子模块电容的理论平衡电压在模型初始化时直接把这些值赋给电容L系列模块的初始状态参数省去不控整流阶段的仿真时间。载波移相角也值得检查一下。Simulink 库会自动为 N 个子模块生成相位差为 360/N 度的载波但如果你的子模块数量比较多比如单臂50个载波频率设置过高会导致仿真时间猛增。我做过一个实验载波频率从 500 Hz 提高到 2 kHz仿真时间增加了近三倍而仿真结果的差异仅在谐波细节层面系统级响应几乎没有区别。所以在四端系统里MMC 子模块载波频率建议控制在 500 Hz 到 1 kHz 之间既能保证波形质量又不至于让仿真慢到没法调参。5.4 参数一致性与坐标基准统一四端联调时最容易忽略的全局约束四个换流站独立搭建时各自的控制都能跑通但互联成四端系统后常常出现“单站一切正常、联调直接炸裂”的情况。我复盘过这类问题根因基本都是参数一致性和坐标基准不统一。坐标基准不统一尤其隐蔽。每个换流站都有自己的 dq 旋转坐标系但四站互联后各站的交流电流方向、变压器连接组别比如 Ynd11 和 Ynd1的相位偏移会让 Park 变换的初始角度发生偏差。如果锁相环PLL在不同站的参考角度初始值没有设置好就会导致有功和无功解耦失效表现为功率指令正确但实际波形里无功分量持续震荡。我的处理办法是给每个站的 PLL 都设置相同的初始相位角度并且在变压器的连接组别设置里统一采用相同的接线方式避免各站之间出现固定的角度差。参数一致性则是常见的“五毛钱问题”——四个站的交流侧电感、变压器漏抗、电流环带宽必须统一到同一个标幺值基值体系下。如果一个站用有名值整定 PI 参数另一个站用标幺值整定联调时电流环响应速度完全不同系统动态特性必然乱套。我建议所有控制参数全部采用标幺值域计算基准值取各站自己的额定容量和额定电压然后在控制器模块内部换算成有名值。这样四站参数可以在同一个逻辑框架下维护联调时只需要调整各站的基准值而不需要重算 PI。6. 从单站到四端我的一点实测体会如果你是从零开始做这个仿真我最诚恳的建议是不要一上来就搭四端。先把单端 MMC 的整流控制跑通再扩展成两端系统做功率反转实验最后再升级成四端网络。每一级扩展只需要解决新增的“互动问题”比如两端系统新增的是功率反转时的直流电压稳定性四端系统新增的则是多站协调和故障工况下的功率重新分配。我见过太多人直接搭四端系统结果波形出了问题根本定位不到是哪一站报的错最后只能推倒重来。在 Simulink 里做四端柔性直流输电系统仿真本质上是用模型来复现一个多变量强耦合的工业系统。它的价值不仅在于交出几个好看的波形图更在于让你亲自动手验证控制理论里那些“纸上谈兵”的逻辑——比如定电压站到底是怎么把多余的能量吃掉的无功补偿对电压支撑的极限在哪里一个站掉线之后剩余三站能不能继续维持运行。这些体会只有亲手搭过完整模型才能真正理解。最后分享一个实际调参技巧四端系统跑一次完整仿真可能要好几分钟所以调 PI 参数时千万不要直接在原模型上反复改参数跑仿真。利用 MATLAB 脚本批量初始化参数配合parsim并行仿真可以同时测试多组 PI 参数组合一次跑完再对比波形效率能提升好几倍。对于四端这样的高维系统这个技巧能帮你省下大量等待仿真跑完的时间。