1. 为什么需要PI+重复控制策略?
在电力电子系统中,谐波污染一直是影响电能质量的关键问题。传统PI控制器虽然结构简单、易于实现,但在处理周期性扰动时存在固有局限——它只能对直流信号实现无静差跟踪,对于周期性交流信号则无能为力。这就好比用直尺测量曲线长度,工具本身决定了精度的上限。
重复控制(Repetitive Control)的引入正是为了解决这一痛点。其核心思想来源于内模原理:在控制器内部植入外部信号的动力学模型,就能实现对该类信号的完美跟踪。具体到谐波抑制场景,重复控制器通过在控制回路中嵌入一个周期延迟环节,形成对基波周期整数倍频率谐波的无限增益,理论上可以实现对任意次谐波的完全消除。
但纯重复控制也有其短板:动态响应慢(需要至少一个基波周期才能建立稳态)、对频率波动敏感。这时PI控制的快速动态特性恰好形成互补。两者的结合就像赛车手与领航员的配合——PI控制负责快速响应系统突变(相当于赛车手处理紧急状况),重复控制专注消除稳态误差(如同领航员确保路线精准)。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 有源滤波器的核心架构设计
2.1 主电路拓扑选择
在实际工程中,三相三线制电压型PWM变流器是最常用的APF拓扑结构。其核心部件包括:
- 直流侧电容:储能元件,电压通常维持在700-800V(针对380V电网)
- IGBT全桥模块:采用SPWM或SVPWM调制方式
- LCL滤波器:相比单L滤波器,能更好抑制开关频率附近的谐波
关键参数设计经验:
- 直流侧电压Udc ≥ 2.34×电网线电压(留足调制比裕量)
- 交流侧电感L ≈ (0.1-0.15)p.u.(标幺值)
- 阻尼电阻R ≈ 1/3×谐振阻抗(抑制LCL谐振)
2.2 控制系统的分层架构
完整的控制系统通常分为三层:
- 谐波检测层:采用瞬时无功功率理论(p-q理论)或同步参考坐标系法(SRF)提取谐波
- 电流跟踪层:PI+重复控制的组合策略在此发挥作用
- PWM调制层:根据控制器输出生成驱动信号
特别值得注意的是,在Simulink建模时,这三个层次的时间尺度差异需要仔细处理。建议采用多速率采样:
- 谐波检测:20kHz(与开关频率一致)
- 电流控制:10kHz(足够带宽)
- 重复控制更新:1kHz(降低计算负担)
3. PI+重复控制的联合实现细节
3.1 重复控制器的离散化实现
在数字控制系统中,连续域的重复控制器需要转换为离散形式。其z域传递函数为:
G_rc(z) = k_r · z^(-N) / (1 - z^(-N))
其中N = T_s/T_p(采样周期与基波周期的比值)。实际建模时要注意:
- 当N不是整数时,需要采用分数延迟补偿
- 为防止初始阶段的脉冲冲击,建议添加渐入环节:
matlab复制% Simulink中的渐入实现 if t < 0.1 k_rc = t/0.1; else k_rc = 1; end
3.2 PI参数的整定技巧
采用"先内环后外环"的整定顺序:
- 先整定电流内环PI:按照典型I型系统设计
- Kp = L·ω_c(ω_c取1/10开关频率)
- Ki = R·ω_c
- 再整定重复控制增益k_r:通过奈奎斯特判据确定稳定裕度
- 初始值取0.5-0.8
- 通过扫频测试验证相位裕度>45°
实测小技巧:在Simulink中用"PID Tuner"工具快速获取基础参数后,再手动微调Ki使THD最小化。常见误区是过度追求快速性导致高频振荡——此时应适当降低Kp,增加重复控制的权重。
4. Simulink建模的关键技术点
4.1 模型分块构建建议
建议将完整系统划分为以下子系统:
- 电网与负载模块:
- 使用Three-Phase Programmable Voltage Source模拟电网电压
- 非线性负载采用三相整流桥+RL负载组合
- APF主电路模块:
- IGBT采用Universal Bridge模块
- 启用Detailed switching选项提高精度
- 控制算法模块:
- 用MATLAB Function块实现重复控制算法
- 使用Delay模块实现周期延迟
重要提示:在配置求解器时,建议选择ode23tb(刚性方程求解器),最大步长设为开关周期的1/20。曾遇到因求解器选择不当导致PWM脉冲丢失的案例,这个设置能有效避免数值振荡。
4.2 谐波分析的正确方法
许多初学者直接使用Powergui的FFT工具,但要注意:
- 必须等待系统进入稳态(建议仿真时长>0.3s)
- 设置正确的基频(50/60Hz)
- 采用Hanning窗减少频谱泄漏
更专业的做法是在MATLAB后处理中添加:
matlab复制[thd_db, harm_freq] = thd(ia, fs, fund_freq);
semilogx(harm_freq, thd_db); % 绘制谐波分布曲线
5. 实测问题排查指南
5.1 常见异常现象与对策
| 现象描述 | 可能原因 | 解决方案 |
|---|---|---|
| 直流电压振荡 | 电容值过小或PI参数不当 | 增大电容值,调整电压环PI |
| 高频电流毛刺 | LCL谐振未充分阻尼 | 加入虚拟电阻或无源阻尼 |
| THD不达标 | 重复控制增益过小 | 逐步增大k_r并观察稳定性 |
| 启动冲击电流 | 预充电电路缺失 | 添加软启动逻辑 |
5.2 稳定性验证方法
推荐采用"三步验证法":
- 开环扫频:用Frequency Response Analyzer验证幅值裕度>6dB
- 阶跃测试:观察超调量<30%,调节时间<5ms
- 负载突变测试:THD波动范围<2%
一个实用技巧:在Simulink中插入Band-Limited White Noise模块模拟电网扰动,测试控制器的鲁棒性。正常情况下THD变化不应超过基准值的20%。
