1. MMC整流器系统架构解析
18子模块的MMC整流器拓扑结构如图所示,直流侧额定电压25.2kV,交流侧连接6.6kV电网。每个桥臂由9个子模块串联构成,采用半桥结构设计。系统关键参数计算如下:
- 子模块额定电压:U_sm = U_dc/N = 25.2kV/18 ≈ 1.4kV
- 调制比:m = U_ac/(U_dc/2) = 6.6kV/12.6kV ≈ 0.52
- 桥臂电感计算值:L_arm = 10mH(基于环流抑制需求)
关键设计要点:子模块电容容值选择需满足能量缓冲需求,本方案采用C_sm=8mF,确保电压波动率<2%
2. 双闭环控制策略实现
2.1 外环电压控制设计
外环PI控制器参数通过频域法整定:
matlab复制% 外环电压PI参数计算
BW_outer = 100; % 带宽100Hz
PM_outer = 60; % 相位裕度60度
Kp_outer = 2*pi*BW_outer*C_eq; % C_eq为等效电容
Ki_outer = Kp_outer*(BW_outer/tan(PM_outer*pi/180));
2.2 内环电流解耦控制
前馈解耦实现代码详解:
matlab复制function [Vd_ref, Vq_ref] = current_control(Id_ref, Iq_ref, Id, Iq, Vd, Vq)
% 参数定义
L = 10e-3; R = 0.1; ws = 2*pi*50;
% PI控制输出
Vd_pi = Kp_id*(Id_ref - Id) + Ki_id*integral(Id_ref - Id);
Vq_pi = Kp_iq*(Iq_ref - Iq) + Ki_iq*integral(Iq_ref - Iq);
% 前馈解耦项
ff_d = Vd - ws*L*Iq;
ff_q = Vq + ws*L*Id;
% 最终参考电压
Vd_ref = Vd_pi + ff_d;
Vq_ref = Vq_pi + ff_q;
end
调试技巧:解耦项极性验证可通过阶跃响应测试,正确解耦时dq轴电流应完全独立可控
3. 最近电平调制(NLM)实现
3.1 子模块投切算法
改进型排序算法实现:
matlab复制function [sm_state] = NLM_control(u_cap, U_ref, i_arm)
% 输入:u_cap-电容电压数组,U_ref-参考电压,i_arm-桥臂电流
persistent last_state;
% 电流方向判断
if i_arm >= 0
[~, idx] = sort(u_cap); % 升序排序
else
[~, idx] = sort(u_cap, 'descend'); % 降序排序
end
% 确定投入数量
n = round(U_ref/mean(u_cap)*length(u_cap));
n = max(0, min(length(u_cap), n)); % 限幅
% 生成状态向量
sm_state = zeros(size(u_cap));
sm_state(idx(1:n)) = 1;
% 防抖处理
if isempty(last_state)
last_state = sm_state;
else
change_idx = find(sm_state ~= last_state);
if ~isempty(change_idx)
% 添加最小脉宽限制
if all(abs(u_cap(change_idx) - U_ref) > 0.05*U_ref)
last_state = sm_state;
end
end
end
end
3.2 电容电压均衡策略
动态排序周期调整算法:
matlab复制function [sort_period] = dynamic_sort_period(u_ripple)
% 根据电压纹波自动调整排序周期
ripple_ratio = max(u_ripple)/mean(u_ripple);
if ripple_ratio < 0.01
sort_period = 0.2e-3; % 200us
elseif ripple_ratio < 0.02
sort_period = 0.1e-3; % 100us
else
sort_period = 0.05e-3; % 50us
end
end
4. 环流抑制技术实现
4.1 二倍频环流提取
改进型谐波检测方法:
matlab复制function [i_2f] = detect_circulating_current(i_upper, i_lower, t)
% 输入:上下桥臂电流,时间序列
fs = 1/(t(2)-t(1)); % 采样频率
f0 = 50; % 基频
% 构造复合信号
i_circ = (i_upper + i_lower)/2;
% 带通滤波设计
[b,a] = butter(4, [2*f0-10 2*f0+10]/(fs/2));
i_filt = filtfilt(b, a, i_circ);
% 正交锁相环
theta = 2*pi*2*f0*t;
i_alpha = i_filt .* cos(theta);
i_beta = i_filt .* sin(theta);
% 低通滤波提取直流分量
[b_lp,a_lp] = butter(2, 10/(fs/2));
I_d = filtfilt(b_lp, a_lp, i_alpha);
I_q = filtfilt(b_lp, a_lp, i_beta);
% 重构二倍频分量
i_2f = I_d.*cos(theta) + I_q.*sin(theta);
end
4.2 环流PI控制器设计
离散化实现代码:
matlab复制function [u_control] = circ_current_PI(i_2f, Ts)
% 离散PI控制器
persistent integrator;
if isempty(integrator)
integrator = 0;
end
Kp = 0.5;
Ki = 100;
error = -i_2f(end); % 负反馈
% 抗积分饱和处理
if abs(integrator) < 1e6
integrator = integrator + Ki*error*Ts;
end
u_control = Kp*error + integrator;
end
5. 系统性能优化技巧
5.1 动态参数调整策略
根据运行状态自动调节PI参数:
matlab复制function [Kp, Ki] = adaptive_PI(error, error_integral)
% 根据误差动态调整参数
error_abs = abs(error);
if error_abs > 0.1
Kp = 0.8;
Ki = 50;
elseif error_abs > 0.05
Kp = 0.5;
Ki = 30;
else
Kp = 0.3;
Ki = 20;
end
% 积分抗饱和
if abs(error_integral) > 1e4
Ki = 0.5*Ki;
end
end
5.2 实时性能监测
关键指标计算函数:
matlab复制function [metrics] = calculate_metrics(u_dc, i_ac, t)
% 直流电压纹波计算
u_ripple = (max(u_dc)-min(u_dc))/mean(u_dc);
% 电流THD分析
Y = fft(i_ac);
P = abs(Y).^2/length(Y);
P_fund = P(51); % 假设50Hz是基波
P_total = sum(P(1:end/2));
THD = sqrt((P_total-P_fund)/P_fund)*100;
% 功率计算
P = mean(u_dc.*i_ac);
Q = mean(u_dc.*imag(hilbert(i_ac)));
metrics = struct('THD', THD, 'ripple', u_ripple, 'P', P, 'Q', Q);
end
6. 典型问题排查指南
| 故障现象 | 可能原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| 直流电压振荡 | 外环PI参数不当 | 1. 检查电压环带宽 2. 观察阶跃响应波形 |
减小比例增益,增加积分时间 |
| 环流抑制失效 | 二倍频检测偏差 | 1. 验证锁相环精度 2. 检查带通滤波器参数 |
调整滤波器中心频率,校准PLL |
| 电容电压不均衡 | 排序周期过长 | 1. 测量排序执行时间 2. 检查电流方向标志 |
缩短排序周期,增加电流检测精度 |
| THD超标 | 调制策略失真 | 1. 分析频谱成分 2. 检查死区时间 |
优化NLM算法,调整死区补偿 |
7. 关键参数设计参考
-
子模块电容选择公式:
[
C_{sm} \geq \frac{P_{rated}}{2N \cdot f_{sw} \cdot \Delta U_{sm} \cdot U_{sm}}
]
其中(f_{sw})为等效开关频率,(\Delta U_{sm})允许电压波动率 -
桥臂电感设计准则:
[
L_{arm} = \frac{U_{dc}}{12N \cdot f_s \cdot \Delta i_{arm}}
]
通常取(\Delta i_{arm})为额定电流的20% -
环流抑制带宽:
控制带宽应满足:
[
BW_{circ} \geq 4 \cdot f_0
]
确保能有效抑制二倍频分量
实际调试中发现,当电网电压存在5%不平衡时,需要在环流控制器中加入负序补偿项,否则二倍频抑制效果会下降约30%。具体实现可在原有控制基础上增加:
matlab复制% 负序补偿项
i_neg = 0.5*(i_alpha - 1j*i_beta).*exp(-1j*4*pi*f0*t);
compensation = real(i_neg)*K_comp;
对于18子模块的系统,建议将冒泡排序的迭代次数限制在15次以内,可通过设置电压偏差阈值来提前终止排序过程。实测表明,当电容电压差异小于0.5%时,继续排序对性能提升无明显帮助,反而会增加计算负担。