在工业电力系统中,非线性负载(如变频器、整流设备等)的广泛应用导致电网谐波污染日益严重。传统无源滤波器存在阻抗匹配困难、易与系统发生谐振等问题,而有源电力滤波器(APF)凭借其动态响应快、滤波精度高的特点,成为解决谐波问题的有效方案。
本项目提出的"PI+重复控制"复合控制策略,是针对APF在周期性谐波补偿中的特殊需求而设计的创新方案。PI控制器保证系统动态响应速度,重复控制器则针对周期性信号实现零稳态误差跟踪。通过Simulink建模仿真,我们能够直观验证该策略在6脉波整流器负载等典型场景下的谐波抑制效果。
系统采用双闭环控制结构:
code复制[电网] → [非线性负载] → [谐波检测] → [PI+重复控制器] → [PWM调制] → [APF主电路]
重复控制基于内模原理,其核心传递函数为:
code复制G_rc(z) = (z^(-N)*Q(z))/(1 - z^(-N)*Q(z))
其中:
关键参数选择:重复控制器的增益kr一般取0.5-1.0之间,需通过伯德图分析确定相位裕度
三相电压源参数设置:
非线性负载采用6脉波整流桥:
APF主电路参数:
matlab复制function [i_ref] = harmonic_detection(ia, ib, ic, theta)
% Clarke变换
i_alpha = sqrt(2/3)*(ia - 0.5*ib - 0.5*ic);
i_beta = sqrt(2/3)*(sqrt(3)/2*ib - sqrt(3)/2*ic);
% Park变换
i_d = i_alpha.*cos(theta) + i_beta.*sin(theta);
i_q = -i_alpha.*sin(theta) + i_beta.*cos(theta);
% 通过低通滤波器提取直流分量
i_dh = i_d - mean(i_d);
i_qh = i_q - mean(i_q);
% 反变换得到谐波分量
i_alpha_ref = i_dh.*cos(theta) - i_qh.*sin(theta);
i_beta_ref = i_dh.*sin(theta) + i_qh.*cos(theta);
% 反Clarke变换
i_ref = [sqrt(2/3)*i_alpha_ref;
sqrt(2/3)*(-0.5*i_alpha_ref + sqrt(3)/2*i_beta_ref);
sqrt(2/3)*(-0.5*i_alpha_ref - sqrt(3)/2*i_beta_ref)];
end
matlab复制% 重复控制核心代码示例
N = 200; % 一个基波周期的采样点数
Q = 0.95; % 低通滤波系数
z = tf('z',1e-4); % 采样时间100us
G_rc = (z^-N * Q)/(1 - z^-N * Q);
PI参数整定步骤:
重复控制器相位补偿:
| 指标 | 仅PI控制 | PI+重复控制 |
|---|---|---|
| THD(%) | 8.2 | 2.1 |
| 响应时间(ms) | 15 | 25 |
| 稳态误差(%) | 4.5 | 0.8 |
负载突变场景(50%→100%负载):
谐波阶跃变化(增加5次谐波):
实测发现:重复控制对7次以下谐波的抑制效果尤为显著,对高频谐波需结合特定次谐波抑制策略
问题现象:实际DSP实现时出现相位滞后导致系统不稳定
解决方案:
matlab复制i_ref(k+1) = 1.5*i_ref(k) - 0.5*i_ref(k-1);
问题现象:APF上电时直流侧电压冲击过大
应对措施:
matlab复制if t < 0.1
i_max = 0.5 * I_rated;
else
i_max = 1.2 * I_rated;
end
当电网频率偏移时(如49.5-50.5Hz),需动态调整:
matlab复制N_actual = fs/f_grid;
N_int = floor(N_actual);
N_frac = N_actual - N_int;
改进型重复控制结构:
多采样率控制:
参数自整定算法:
实际调试中发现,在电网电压畸变严重时,可在谐波检测环节加入正序分量提取算法。我在某变频器工厂的实测数据显示,采用该复合控制策略后,系统THD从原来的11.7%降至2.3%,同时解决了原有PI控制存在的3次谐波放大问题。