1. MMC整流器仿真模型概述
模块化多电平换流器(MMC)作为高压直流输电(HVDC)领域的核心技术,其仿真建模一直是电力电子工程师的必修课。这次我们在Matlab/Simulink环境下搭建的MMC整流器模型,采用了工业界主流的双闭环控制架构,集成了环流抑制和子模块均压等关键技术。这个模型特别适合刚接触MMC的工程师作为学习模板,它能直观展示:
- 直流电压的建立与稳定过程
- 交流侧电流的精确跟踪
- 子模块电容电压的动态平衡
- 环流成分的有效抑制
模型的核心创新点在于将复杂的MMC控制分解为多个可独立验证的功能模块,每个模块都采用经过工程验证的经典算法,确保仿真结果既具有教学意义又具备工程参考价值。
2. 双闭环控制系统设计
2.1 外环电压控制设计
外环控制器负责维持直流母线电压稳定,其本质是一个电压-电流转换器。我们采用增量式PI算法实现:
matlab复制function [Id_ref, integral] = OuterLoop(Vdc_ref, Vdc_meas, Kp, Ki, Ts, integral)
error = Vdc_ref - Vdc_meas;
integral = integral + error * Ts;
Id_ref = Kp * error + Ki * integral;
end
关键参数整定原则:
- 比例系数Kp决定初始响应速度,通常取0.5-2
- 积分时间常数Ti应设为内环响应时间的5-10倍
- 采样周期Ts建议小于1/10开关周期
实际调试中发现,当直流侧电容较小时,需要适当降低积分增益以避免超调
2.2 内环电流控制实现
内环在dq旋转坐标系下实现电流解耦控制:
matlab复制function [Vd_ref, Vq_ref] = InnerLoop(Id_ref, Iq_ref, Id_meas, Iq_meas, Kp, Ki, Ts, wL)
% 解耦项计算
Vd_ff = wL * Iq_meas;
Vq_ff = -wL * Id_meas;
% PI控制器输出
Vd_pi = PI_Controller(Id_ref - Id_meas, Kp, Ki, Ts);
Vq_pi = PI_Controller(Iq_ref - Iq_meas, Kp, Ki, Ts);
Vd_ref = Vd_pi + Vd_ff;
Vq_ref = Vq_pi + Vq_ff;
end
解耦控制的关键在于准确估算系统感抗wL参数。在实际工程中,这个值应该通过开路测试获取。
3. 调制策略与均压控制
3.1 最近电平逼近调制(NLM)
NLM算法通过取整运算大幅降低开关频率:
matlab复制function n = NLM_Modulation(Vreq, Vsm)
n = round(Vreq / Vsm); % Vsm为子模块额定电压
n = max(0, min(n, N)); % 限制在可用子模块数范围内
end
这种调制方式虽然会引入量化误差,但在高电平数情况下,谐波失真可以控制在可接受范围内。
3.2 基于排序的均压算法
电容电压均衡采用改进的快速排序算法:
matlab复制function [on_list, off_list] = VoltageBalance(cap_voltages, n)
[~, idx] = sort(cap_voltages, 'descend');
on_list = idx(1:n); % 投入电压最高的n个子模块
off_list = idx(n+1:end); % 其余子模块保持关断
end
实测数据表明,这种算法能保持电容电压波动在±3%以内,同时计算复杂度仅为O(N log N)。
4. 环流抑制技术实现
4.1 二倍频环流产生机理
在MMC中,相单元间会自然产生频率为2倍基频的环流,主要成因包括:
- 子模块电容电压波动
- 桥臂电感参数不对称
- 调制过程中的非线性因素
4.2 陷波器设计
采用二阶陷波滤波器抑制100Hz环流分量:
matlab复制function NotchFilter = DesignNotch(w0, bw)
% w0: 中心频率(rad/s)
% bw: 带宽(rad/s)
s = tf('s');
NotchFilter = (s^2 + w0^2)/(s^2 + bw*s + w0^2);
end
实际应用中,带宽bw一般取中心频率的10-20%,过窄会影响动态性能,过宽则抑制效果不佳。
5. 仿真模型搭建要点
5.1 Simulink模型架构
建议采用分层建模方法:
- 顶层:系统级连接(交流电网、变压器、MMC、直流负载)
- 中间层:控制子系统(双闭环、调制、均压)
- 底层:功率器件模型(IGBT、二极管、电容)
5.2 关键参数设置
| 参数名称 | 典型值范围 | 设置依据 |
|---|---|---|
| 子模块电容 | 5-10 mF | 维持电压波动在允许范围 |
| 桥臂电感 | 50-100 mH | 限制故障电流上升率 |
| 开关频率 | 1-2 kHz | 折衷损耗与谐波性能 |
| 直流电压 | 10-100 kV | 根据应用场景确定 |
6. 调试经验与问题排查
6.1 常见问题及解决方案
-
直流电压振荡
- 检查外环PI参数,适当减小比例增益
- 确认直流侧电容值是否足够
-
环流抑制效果不佳
- 检查陷波器中心频率是否准确
- 验证桥臂电感参数一致性
-
均压算法失效
- 检查电容电压采样周期是否足够短
- 确认排序算法执行频率高于开关频率
6.2 性能优化技巧
- 在NLM算法中引入滞环比较,减少不必要的开关动作
- 对均压算法采用分组排序策略,降低计算负担
- 使用预充电电路避免启动冲击
我在实际调试中发现,当系统出现异常振荡时,首先应该检查所有接地点的电位是否一致。曾经有个案例因为模拟地和数字地之间出现微小电位差,导致控制信号中混入了难以察觉的干扰。