1. MMC-HVDC系统概述与设计思路
模块化多电平换流器(MMC)在高压直流输电(HVDC)领域已经成为主流技术方案。这次我们要搭建的是一个20kV/10MW的双端直流输电系统,每相桥臂配置10个子模块。这种架构特别适合中压直流应用场景,比如海上风电并网、城市电网互联等。
为什么选择MMC结构?相比传统的两电平或三电平换流器,MMC具有几个显著优势:
- 输出电压波形质量好,谐波含量低
- 开关器件承受的电压应力小
- 模块化设计便于扩展和维护
- 故障容错能力强
系统设计的核心在于三级控制架构的协同工作:
- 系统级控制:维持直流母线电压稳定
- 换流站级控制:处理功率流动和环流抑制
- 阀级控制:实现子模块电容电压均衡
2. Simulink建模基础准备
2.1 关键参数计算
在搭建模型前,需要先确定几个关键参数:
-
子模块电容值:根据能量波动公式计算
code复制C = ΔE / (N·ΔV²) 其中ΔE为桥臂能量波动,N为子模块数,ΔV为允许的电容电压波动对于我们的10MW系统,计算得到每个子模块电容约8mF
-
IGBT选型:考虑20kV直流电压和10个子模块,每个子模块需承受2kV电压。选择3.3kV/1.5kA的IGBT模块较为合适
-
桥臂电感:用于限制故障电流和环流,一般取0.1-0.2pu
code复制Larm = 0.15 * Vdc / (ω·Irated) ≈ 5mH
2.2 Simulink基础模块搭建
在Simulink中创建新模型,建议按以下结构组织:
- 电源子系统:配置交流电网参数(通常设为10kV/50Hz)
- MMC换流器子系统:包含6个桥臂,每个桥臂10个子模块
- 控制子系统:分为系统级、站级和阀级控制
- 测量子系统:用于采集各种电气量
提示:使用Simulink的Library Browser中的Simscape Electrical组件可以快速搭建电力电子元件
3. 系统级控制实现
3.1 直流电压控制
系统级控制的核心是维持直流母线电压稳定。采用典型的双闭环控制结构:
- 外环:电压环,产生电流参考值
- 内环:电流环,生成调制信号
在Simulink中实现PI控制器时,需要注意:
matlab复制function Vdc_ref = SystemControl(P_actual, Vdc_actual)
% 参数设置
Kp = 0.5; Ki = 10;
Vdc_nominal = 20000; % 20kV
persistent integral;
if isempty(integral)
integral = 0;
end
% 抗饱和处理
if integral > 100
integral = 100;
elseif integral < -100
integral = -100;
end
error = 1.0 - Vdc_actual/Vdc_nominal;
integral = integral + error*0.0001; % 积分步长
Vdc_ref = Kp*error + Ki*integral;
end
3.2 功率控制
对于双端系统,通常一端采用定直流电压控制(整流站),另一端采用定有功功率控制(逆变站)。功率控制器的设计要点:
- 加入功率前馈提高动态响应
- 设置合理的功率限幅值
- 考虑直流电压下垂控制以提高系统稳定性
4. 换流站级控制策略
4.1 环流抑制技术
桥臂间环流主要是二倍频分量,会增大器件应力。采用零序电压注入法抑制:
- 计算桥臂电流平均值:
matlab复制icirc = (i_upper + i_lower)/2;
- 提取二倍频分量(100Hz):
matlab复制function icirc_2f = GoertzelFilter(icirc, f_base, harmonic)
% f_base: 基波频率(50Hz)
% harmonic: 谐波次数(2)
N = 100; % 采样点数
k = round(N * harmonic * f_base / f_sample);
w = 2*pi*k/N;
coeff = 2*cos(w);
% Goertzel算法实现
persistent s0, s1, s2;
for n = 1:length(icirc)
s0 = coeff*s1 - s2 + icirc(n);
s2 = s1;
s1 = s0;
end
icirc_2f = sqrt(s1^2 + s2^2 - s1*s2*coeff);
end
- 生成补偿电压并注入调制波
4.2 最近电平逼近调制(NLM)
NLM是MMC最常用的调制策略,实现步骤:
-
计算需要的输出电平数:
code复制n = round(Vref / Vcap)Vcap为子模块电容电压
-
根据排序结果选择投入的子模块
-
设置合理的电平切换阈值(建议0.95*Vcap)
5. 阀级控制实现
5.1 电容电压均衡控制
采用快速排序法实现电容电压均衡:
matlab复制function [sorted_SM, index] = QuickSort(cap_voltages)
[~, index] = sort(cap_voltages,'descend');
sorted_SM = cap_voltages(index);
end
实际应用中需要注意:
- 排序周期不宜过短(建议0.1ms)
- 加入滞环比较避免频繁切换
- 考虑冗余子模块的轮换策略
5.2 子模块投切逻辑
子模块的投入和切除需要遵循以下原则:
- 充电阶段:所有子模块旁路
- 正常运行:根据调制策略和排序结果投切
- 故障情况:快速旁路故障子模块
在Simulink中可以用Stateflow实现状态机控制。
6. 混合调制策略优化
6.1 SUPWM+NLM组合调制
将空间矢量PWM(SUPWM)与NLM结合,可以兼顾波形质量和开关损耗:
- 在低频区使用SUPWM
- 在高频区切换到NLM
- 过渡区采用混合模式
关键参数设置:
- 载波比设为3的倍数(如21)
- 调制比限制在0.9以下
- 设置平滑的过渡区域
6.2 谐波抑制技巧
通过以下方法可以进一步降低THD:
- 载波移相技术
- 特定谐波消除法(SHE)
- 优化开关角度
实测数据表明,SUPWM+NLM组合可以将THD控制在5%以内,而纯NLM方案通常在8-10%。
7. 仿真调试与问题排查
7.1 常见问题及解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 直流电压震荡 | 控制参数不当 | 调整PI参数,加入阻尼 |
| 环流过大 | 环流抑制失效 | 检查零序电压注入量 |
| 电容电压不均衡 | 排序周期过长 | 缩短排序间隔 |
| IGBT过压 | 吸收电路不当 | 重新计算RC参数 |
7.2 仿真技巧分享
- 使用Simulink的Solver Profiler分析计算瓶颈
- 对关键信号添加To Workspace模块便于后期分析
- 采用变步长求解器(ode23tb)提高仿真效率
- 合理设置仿真步长(建议1e-6s)
重要提示:首次仿真时建议先降低电压等级(如1kV)测试控制逻辑,确认无误后再提升到20kV
8. 实际工程注意事项
-
保护策略设计:
- 过流保护(>1.5倍额定)
- 过压保护(>1.2倍额定)
- 不平衡保护(相间差异>10%)
-
热管理考虑:
- IGBT模块散热设计
- 电容器的温度监测
- 桥臂电感的冷却
-
电磁兼容设计:
- 合理布局降低寄生参数
- 加入适当的滤波器
- 良好的接地系统
在实验室环境下搭建小功率原型系统时,建议:
- 使用现成的子模块功率堆
- 配备完善的安全保护措施
- 准备足够的测量设备(示波器、功率分析仪等)
9. 性能优化进阶技巧
-
模型预测控制(MPC)应用:
- 建立预测模型
- 设计代价函数
- 实时优化计算
-
人工智能辅助控制:
- 神经网络参数整定
- 强化学习优化策略
- 故障诊断算法
-
硬件在环(HIL)测试:
- RT-LAB平台搭建
- 实时性优化
- 接口设计
这些高级控制方法可以将系统性能提升10-20%,但实现复杂度也相应增加。建议在掌握基础控制策略后再尝试。