在高压大功率电力电子领域,模块化多电平变换器(Modular Multilevel Converter, MMC)因其出色的扩展性和输出波形质量,已成为柔性直流输电、大功率电机驱动等应用的首选拓扑。我第一次接触MMC是在研究生阶段的HVDC仿真项目中,当时就被它像搭积木一样的模块化设计所吸引。
MMC的核心在于其子模块(Sub-Module, SM)的级联结构。每个子模块本质上是一个可控的电压源,通过串联组合可以产生高质量的多电平输出波形。与传统两电平或三电平变换器相比,MMC最显著的优势是:
最近电平调制(Nearest Level Modulation, NLM)是MMC最常用的调制策略之一。与PWM调制不同,NLM通过选择最接近参考电压的电平数来实现调制,其核心思想可以理解为"四舍五入"的量化过程。这种调制方式特别适合电平数较多的场景(通常>10),因为:
在Matlab/Simulink环境下搭建MMC的NLM仿真模型,我们需要重点关注三个层面的建模:
在Simulink中构建MMC模型,我推荐采用半桥子模块(Half-Bridge Sub-Module)作为基础单元,虽然原文提到使用H桥,但实际工程中半桥结构更为常见,因其器件数量少、控制简单。每个子模块包含:
子模块的Simulink实现有几个关键技巧:
一个典型的子模块控制函数如下(改进自原文代码):
matlab复制function [g1, g2, v_sm] = HB_Control(v_ref, v_cap, mode)
% 输入:
% v_ref - 参考电压
% v_cap - 电容实测电压
% mode - 工作模式(1=正常,0=旁路)
% 输出:
% g1,g2 - IGBT驱动信号
% v_sm - 子模块输出电压
if mode == 0 % 旁路模式
g1 = 0; g2 = 1; v_sm = 0;
else
if v_ref > 0
g1 = (v_cap >= v_ref); % 电容电压足够时投入
g2 = ~g1;
v_sm = g1 * v_cap;
else
g1 = 0; g2 = 1; % 负电压时下管导通
v_sm = 0;
end
end
end
子模块电容的设计直接影响MMC的性能,需要重点考虑:
在仿真中观察电容电压波形时,建议:
原文给出的NLM函数已经体现了核心思想,但可以进一步优化:
matlab复制function [n, delta] = NLM_Advanced(v_ref, N_levels, v_dc)
% 增强版NLM算法
% 输入:
% v_ref - 归一化参考电压[-1,1]
% N_levels - 单边电平数
% v_dc - 当前直流母线电压(用于动态限幅)
% 输出:
% n - 需要投入的子模块数
% delta - 量化误差
max_level = floor(v_dc * N_levels); % 动态计算最大电平
quantized = round(v_ref * N_levels);
n = max(min(quantized, max_level), -max_level);
delta = v_ref - n/N_levels; % 用于后续谐波补偿
end
改进点包括:
原文提到THD从8.2%降到3.7%的三次谐波注入,这是MMC常用的谐波优化手段。具体实现:
matlab复制% 三次谐波注入
v_ref = v_sine + 0.15*sin(3*theta); % 注入比例15%
v_ref = v_ref / max(abs(v_ref)); % 归一化
注意事项:
其他谐波优化方法:
一个完整的MMC相单元包含:
在Simulink中建议分层建模:
code复制MMC_Phase/
├── Upper_Arm/
│ ├── SM_1...SM_N
│ └── Arm_Controller
├── Lower_Arm/
│ ├── SM_1...SM_N
│ └── Arm_Controller
├── Circulating_Control
└── Voltage_Balancing
原文提到的ode23tb求解器确实能提升速度,其他关键技巧:
基于10kV/1MW系统示例:
| 参数 | 值 | 说明 |
|---|---|---|
| 子模块数N | 10 | 每臂10个,输出21电平 |
| 直流电压 | 10kV | 子模块额定1kV |
| 电容值 | 5mF | 按5%纹波设计 |
| 桥臂电感 | 100mH | 抑制环流 |
| 开关频率 | 1-2kHz | NLM实际频率更低 |
| 负载电阻 | 10Ω | 1MW功率等级 |
现象:各子模块电容电压发散
解决方法:
现象:输出波形顶部/底部削波
排查步骤:
对策:
当硬件结果与仿真不符时:
完成基础模型后,可进一步研究:
我在最近一个海上风电项目中,将NLM与模型预测控制结合,在保持低开关损耗的同时,THD进一步降低到2.1%。关键是在预测时域内优化子模块的投入顺序,这需要更复杂的控制算法,但效果显著。