1. 模块化多电平换流器(MMC)基础与仿真概述
模块化多电平换流器(Modular Multilevel Converter, MMC)作为高压直流输电(HVDC)领域的革命性拓扑结构,其核心价值在于通过子模块(Sub-Module, SM)的级联组合实现高压大功率电能变换。本次仿真基于Plecs平台搭建AC3.3kV/DC6kV的MMC系统,子模块数N=6,重点验证载波移相调制(Carrier Phase-Shifted PWM, CPS-PWM)在少子模块场景下的技术优势。
MMC的典型拓扑包含三相六桥臂,每相由上下两个桥臂构成,每个桥臂串联N个子模块。本案例中:
- 交流侧线电压:3.3kV(相电压峰值约2.7kV)
- 直流母线电压:6kV
- 子模块电容电压设计值:1000V(Vdc/N=6000V/6)
- 载波频率:500Hz(基波50Hz的10倍)
关键设计考量:当子模块数量较少时(N≤10),传统最近电平逼近调制(NLM)会产生显著的阶梯状谐波,而CPS-PWM通过相位交错技术提升等效开关频率,可有效改善输出波形质量。
2. 控制系统架构设计与实现
2.1 双闭环控制策略解析
电压外环-电流内环的双闭环结构是MMC控制的经典方案,其核心在于:
-
电压外环:通过PI调节器跟踪直流电压指令
- 输入:直流电压参考值Vdc_ref与实际值Vdc的偏差
- 输出:d轴电流参考值Id_ref(维持直流电压稳定)
- 参数整定原则:带宽通常设为基频的1/10~1/5(本案例取5Hz)
-
电流内环:实现dq轴电流解耦控制
- 前馈解耦项:-ωL·Iq和+ωL·Id(ω为电网角频率)
- 比例谐振(PR)控制器:针对交流分量提供高增益
- 动态响应指标:上升时间<5ms,超调<10%
python复制# 伪代码示例:双闭环控制核心逻辑
def outer_voltage_loop():
error_vdc = vdc_ref - vdc_actual
id_ref = kp_v * error_vdc + ki_v * integrate(error_vdc)
return id_ref
def inner_current_loop(id_ref, iq_ref=0):
vd = kp_i*(id_ref - id_actual) + ki_i*integrate(id_ref - id_actual) - ωL*iq_actual
vq = kp_i*(iq_ref - iq_actual) + ki_i*integrate(iq_ref - iq_actual) + ωL*id_actual
return vd, vq
2.2 电容电压均衡控制实现
子模块电容电压均衡是MMC稳定运行的前提,本方案采用基于排序的主动均压策略:
-
电压采样与排序:
- 每1ms测量各子模块电容电压
- 按电压值对桥臂内子模块进行升序/降序排列(投入时选电压最低,切除时选电压最高)
-
动态调整逻辑:
- 上桥臂:iarm>0时投入低压模块,iarm<0时切除高压模块
- 下桥臂:iarm<0时投入低压模块,iarm>0时切除高压模块
matlab复制% 均压算法示例(上桥臂)
[~, idx] = sort(cap_voltages, 'ascend');
if i_arm > 0
insert_module(idx(1)); % 投入最低电压模块
else
remove_module(idx(end)); % 切除最高电压模块
end
实测技巧:在Plecs中可通过"Sort"模块配合"Selector"实现硬件在环(HIL)级别的快速排序,避免软件排序带来的延迟。
3. 载波移相调制关键技术
3.1 CPS-PWM原理与优势
传统PWM在少子模块MMC中面临的主要问题:
- 等效开关频率低(=载波频率)
- 谐波集中在载波频率整数倍附近
- 需要高开关频率才能满足THD要求
CPS-PWM的创新点:
- 相位交错:N个子模块的三角载波依次偏移Tc/N(Tc=1/fc)
- 等效开关频率提升:N×fc(本案例6×500Hz=3kHz)
- 谐波频谱优化:低次谐波相互抵消,能量向高频段转移

3.2 Plecs中的实现步骤
-
载波生成配置:
- 创建6个Phase-Shifted Carrier信号
- 相位偏移量:0°, 60°, 120°, 180°, 240°, 300°
- 幅值:1(归一化),频率:500Hz
-
调制波处理:
- 正负半周分别调制(采用Unipolar调制)
- 添加1/4周期延时补偿控制延迟
-
PWM比较逻辑:
python复制# 伪代码:载波移相PWM生成
for i in range(6):
if modulation_wave > carriers[i]:
submodule[i].insert()
else:
submodule[i].bypass()
3.3 实测波形对比
| 调制方式 | THD(相电压) | 开关损耗 | 控制复杂度 |
|---|---|---|---|
| NLM | 8.2% | 低 | 简单 |
| CPS-PWM | 3.7% | 中 | 中等 |
注意事项:当N>10时,CPS-PWM的开关损耗优势下降,建议改用NLM与CPS-PWM的混合调制策略。
4. 电网同步与抗干扰设计
4.1 DSOGI-PLL工作原理
双二阶广义积分锁相环(DSOGI-PLL)的核心创新:
-
正交信号生成:通过二阶广义积分器(SOGI)产生滞后90°的虚拟信号
- 传递函数:H(s) = ω₀s / (s² + ω₀s + ω₀²)
- 品质因数Q值:典型取√2(兼顾响应速度与滤波效果)
-
正序分量提取:
- 对αβ坐标系信号进行Park变换
- 低通滤波(LPF)消除负序分量和谐波

4.2 不平衡电网下的参数整定
当电网电压含10%负序分量和5%谐波时:
- SOGI带宽:设为基频的2倍(100Hz)以快速跟踪频率波动
- PLL PI参数:
- kp = 2ξωn (ξ=0.707, ωn=2π×50rad/s)
- ki = ωn²
- 滤波时间常数:取20ms(对应50Hz截止频率)
c复制// DSOGI-PLL核心代码片段(基于C语言描述)
void SOGI_Update(float input, float w0, float *out1, float *out2) {
static float x1 = 0, x2 = 0;
float dx1 = w0*(input - x1) - w0*x2;
float dx2 = w0*x1;
x1 += dx1 * Ts;
x2 += dx2 * Ts;
*out1 = x1; // 同相输出
*out2 = x2; // 正交输出
}
5. 仿真问题排查实录
5.1 常见异常现象分析
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 电容电压振荡 | 均压控制响应过慢 | 增大排序频率至10kHz |
| 输出电压畸变 | 载波相位未对齐 | 检查PWM触发边沿同步信号 |
| 直流电压波动大 | 外环PI参数不合理 | 减小kp并增加积分时间常数 |
| 电网电流THD超标 | DSOGI带宽设置过低 | 调整Q值至1.5并重试 |
5.2 Plecs仿真加速技巧
-
模型离散化:
- 采用固定步长(建议50μs)
- 使用Tustin离散化方法(双线性变换)
-
并行计算设置:
- 启用多核求解器(Solver→Parallel computing)
- 对MMC各相采用分布式计算
-
数据记录优化:
- 仅保存关键节点波形(如相电压、桥臂电流)
- 使用Decimation降低存储数据量
实测对比:采用上述优化后,6子模块MMC的仿真速度可从实时1:15提升至1:3(即仿真1秒仅需3秒计算时间)。