1. 模块化多电平换流器(MMC)在柔性直流输电中的核心价值
柔性直流输电(HVDC Flexible)作为新一代输电技术,其核心设备模块化多电平换流器(Modular Multilevel Converter, MMC)正在彻底改变传统电力输送格局。与传统两电平或三电平换流器相比,MMC通过级联多个子模块(Sub-Module, SM)实现高压大容量电能转换,这种拓扑结构带来了三大革命性优势:
-
输出电压波形质量显著提升:单个子模块电容电压通常为1-2kV,通过精确控制投入的子模块数量,可输出接近理想正弦波的阶梯波形,无需额外滤波装置即可满足IEEE 519谐波标准。实测数据显示,采用200个子模块的MMC系统,输出电压THD可控制在1%以内。
-
器件应力大幅降低:每个IGBT仅需承受单个子模块电容电压,避免了传统拓扑中器件承受全部直流电压的情况。例如在±320kV系统中,传统换流器IGBT需耐受640kV以上电压,而MMC中单个IGBT仅需耐受2kV左右。
-
模块化设计带来极高可靠性:采用N+1冗余配置时,单个子模块故障可通过旁路机制隔离,系统可持续运行。2019年德国DolWin3项目实测表明,在5%子模块故障情况下,系统仍能维持95%的传输容量。
2. 双端MMC-HVDC系统架构解析
2.1 主电路拓扑设计要点
典型双端MMC-HVDC系统包含两座换流站和直流输电线路,每个换流站采用三相六桥臂结构。以±200kV/1000MW工程为例,其核心参数设计遵循以下原则:
-
子模块数量计算:考虑20%的过调制裕度,每相上下桥臂子模块数N需满足N×Vc ≥ 1.2×Vdc/2。若选用1.8kV电容电压,则N ≥ (200kV×1.2/2)/1.8kV ≈ 67,实际取70个子模块/桥臂。
-
电容值选择:根据能量波动原则,单个子模块电容C计算公式为:
code复制C = ΔE / (2×Vc²) 其中ΔE = (P/ω)×(1 - m²/8), m为调制比当系统额定功率P=1000MW,调制比m=0.9时,计算得C≈8mF。
-
桥臂电感设计:主要限制故障电流上升率,通常取值0.1-0.2pu。经验公式:
code复制Larm = (Vdc/2) / (2×di/dt)设允许电流上升率di/dt=1kA/ms,则Larm≈50mH。
2.2 Simulink建模关键步骤
在MATLAB/Simulink中搭建MMC-HVDC模型时,推荐采用分层建模方法:
-
子模块级建模:
- 半桥子模块包含两个IGBT(T1/T2)、两个反并联二极管(D1/D2)及直流电容
- 使用Simscape Electrical库中的理想开关器件,设置Ron=1mΩ, Roff=1MΩ
- 电容初始电压设为Vdc/N,启用电压平衡算法
-
桥臂级组装:
- 使用Simulink子系统封装70个子模块
- 添加均压电阻(通常1-10kΩ)模拟实际均压电路
- 插入桥臂电感(50mH)和等效电阻(0.1Ω)
-
系统级集成:
- 搭建三相六桥臂结构
- 配置载波移相PWM,相位差360°/(6×70)=0.857°
- 设置直流母线电容(100μF/km×100km=10mF)
关键提示:为提升仿真速度,可将子模块组封装为S-Function,运行效率可提升5-10倍。实测表明,200个子模块系统采用S-Function后,仿真时间从8小时缩短至45分钟。
3. 控制策略实现与参数整定
3.1 分层控制架构设计
MMC控制系统采用经典的三层结构,在Simulink中实现时需要特别注意各层采样时间的匹配:
-
上层控制(100ms周期):
- 功率调度模块:接收调度指令,计算有功/无功参考值
- 直流电压控制:采用PI调节器,Kp=0.5, Ki=10
- 实现策略:使用MATLAB Function块编写调度算法
-
中层控制(1ms周期):
- 环流抑制:基于dq变换的负序电流控制
- 电容电压平衡:采用排序法,每5ms更新一次投入顺序
- 关键参数:环流抑制PI参数Kp=0.1, Ki=1
-
底层控制(50μs周期):
- 脉宽调制:载波频率1050Hz(70模块×15Hz)
- 器件驱动:插入0.5μs死区时间
- 实现方式:使用Embedded Coder生成C代码
3.2 典型控制算法实现
3.2.1 最近电平逼近调制(NLM)
在Simulink中实现NLM算法的核心代码如下:
matlab复制function [S1, S2] = NLM(Vref, Vcap, N)
% Vref: 参考电压
% Vcap: 各子模块电容电压数组
% N: 需要投入的子模块数
[~, idx] = sort(Vcap); % 电压排序
S1 = zeros(size(Vcap));
S2 = zeros(size(Vcap));
if Vref > 0
S1(idx(1:N)) = 1; % 投入电压最低的N个子模块
else
S2(idx(end-N+1:end)) = 1; % 切除电压最高的N个子模块
end
end
3.2.2 电容电压平衡控制
电压平衡是MMC稳定运行的关键,推荐采用分组排序法:
- 将70个子模块分为7组,每组10个
- 每组独立排序,选择电压最低的1-2个投入
- 每5ms更新一次排序结果
- 加入滞环比较(±5%)防止频繁切换
4. 仿真分析与故障诊断
4.1 典型工况测试
在Simulink中设置以下测试场景验证系统性能:
-
启动过程:
- 预充电阶段(5s):直流电压缓慢升至50%
- 解锁控制(5.1s):逐步增加功率参考
- 关键观测点:桥臂电流冲击应小于1.2pu
-
功率反转:
- t=10s时功率指令从+1000MW变为-1000MW
- 检查直流电压波动应<5%,过渡时间<200ms
-
交流故障:
- t=15s时设置三相短路(0.1s持续时间)
- 验证直流断路器动作时间<5ms
4.2 常见问题排查指南
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 电容电压振荡 | 均压算法周期过长 | 将排序周期从10ms改为5ms |
| 桥臂电流畸变 | 环流抑制参数不当 | 调整dq轴PI参数至Kp=0.2, Ki=2 |
| 直流电压波动大 | 上层控制响应慢 | 减小电压环PI积分时间 |
| IGBT过热报警 | 死区时间不足 | 增加死区时间至1μs |
| 仿真速度极慢 | 子模块建模方式不当 | 改用S-Function或并行计算 |
5. 工程实践中的进阶技巧
5.1 实时仿真实现方案
对于需要硬件在环测试的场景,可采用以下方案:
- 使用Simulink Real-Time将控制器模型部署到Speedgoat目标机
- 通过OPC UA接口连接实际保护装置
- 设置固定步长50μs,启用多核并行计算
- 采用FMI标准实现与第三方软件(如RTDS)的联合仿真
5.2 代码生成优化
当需要将控制算法部署到实际DSP时:
- 使用Embedded Coder生成优化代码
- 启用Lookup Table替换复杂函数
- 设置单精度浮点运算(节省50%内存)
- 加入边界检查代码(防止数组越界)
实测数据显示,经过优化的代码在TI C2000系列DSP上运行时间可从500μs缩短至120μs。
