1. 项目概述:ADRC在整流器控制中的独特价值
在电力电子领域,整流器的电流控制一直面临着多重挑战:电网电压波动、负载突变、系统参数时变等问题都会显著影响控制性能。传统PID控制器虽然结构简单,但在面对这些复合扰动时往往力不从心。我在某工业电源项目中就遇到过这样的案例——当产线设备突然启动导致负载阶跃变化时,常规PID控制的输出电流出现了超过15%的超调,直接影响了后端设备的正常运行。
自抗扰控制(ADRC)为解决这类问题提供了全新思路。其核心在于将系统内部动态和外部扰动统一视为"总扰动",通过扩张状态观测器(ESO)实时估计并补偿这些扰动。这种"先观测后补偿"的思想,使得控制器不再需要精确的系统模型就能获得良好的鲁棒性。特别在整流器这种强耦合、非线性的系统中,ADRC展现出了明显优于传统方法的抗干扰能力。
2. ADRC核心原理深度解析
2.1 总扰动观测的数学本质
ADRC的理论基础可以追溯到现代控制理论中的状态观测器概念,但其创新点在于将传统意义上的"状态观测"扩展为"总扰动观测"。以一个典型的二阶系统为例:
code复制ẍ = f(x,ẋ,w,t) + bu
其中f(·)代表系统的未知动态和外部扰动的总和。韩京清教授提出的关键洞见是:可以将这个总扰动f(·)视为一个新的状态变量x₃,从而将原系统扩展为:
code复制ẋ₁ = x₂
ẋ₂ = x₃ + bu
ẋ₃ = h(t)
这个看似简单的扩展,却使得我们能够用线性观测器来估计非线性扰动。ESO的设计就基于这个三阶系统:
code复制ẋ̂₁ = x̂₂ + β₁(y - x̂₁)
ẋ̂₂ = x̂₃ + β₂(y - x̂₁) + bu
ẋ̂₃ = β₃(y - x̂₁)
其中β₁、β₂、β₃是观测器增益。通过适当配置这些增益,ESO可以在有限时间内准确跟踪总扰动x₃。
2.2 整流器d轴电流的ADRC实现
在三相PWM整流器中,d轴电流的动态方程可以表示为:
code复制L(di_d/dt) = -Ri_d + ωLi_q + v_d - e_d
其中ωLi_q项体现了dq轴间的耦合。在ADRC框架下,我们可以将所有非理想因素(耦合项、电阻压降、电网电压波动等)统一视为总扰动f:
code复制di_d/dt = (v_d - e_d)/L + f
ESO的设计目标就是实时估计这个f值。在Simulink中,我们通常采用离散化实现。以欧拉离散化为例:
code复制f̂[k] = f̂[k-1] + β3·Ts·(i_d[k] - î_d[k])
î_d[k] = î_d[k-1] + Ts*(f̂[k-1] + b0·v_d[k-1]) + β1·Ts·(i_d[k] - î_d[k-1])
其中b0=1/L_nom是标称电感值的倒数。这种离散形式可以直接用Simulink中的Delay模块和加法器实现。
3. Simulink实现全流程
3.1 ESO模块构建要点
在Simulink中构建ESO时,需要特别注意数值稳定性问题。我的经验是:
- 采用Fixed-Step求解器,步长应与PWM周期保持一致(通常为开关频率的1/100~1/50)
- 对观测器输出添加饱和限制,防止积分 windup
- 使用Memory模块替代纯积分器,避免代数环问题
一个典型的ESO子系统结构如下:
code复制Input: i_d_meas, v_d
↓
[Gain b0] → [Sum] → [1/z] → [Sum] → î_d
↑ | ↑
[β1·(i_d-î_d)] [β3·(i_d-î_d)/z]
↓
f̂ (输出)
3.2 控制律设计与参数整定
ADRC的控制律通常采用简单的比例控制:
code复制v_d = (k_p·(i_d_ref - î_d) - f̂)/b0
参数整定遵循"带宽法":
- 先确定期望的闭环带宽ω_c:一般取开关频率的1/10~1/5
- 设置观测器带宽ω_o = 3~5ω_c
- 计算增益:
- k_p = ω_c
- β1 = 3ω_o, β2 = 3ω_o², β3 = ω_o³
在实际调试中,我习惯先用这个理论值,然后:
- 保持f̂=0,仅调k_p使系统稳定
- 逐步引入ESO,先调β1确保电流跟踪,再调β3优化扰动抑制
- 最后微调所有参数
4. 鲁棒性验证与工程实践
4.1 典型测试案例
在完成基本设计后,必须进行以下严格测试:
- 参数失配测试:将仿真中的电感值设为标称值的±30%,观察电流响应
- 负载阶跃测试:在0.1s内突然改变负载电流20%以上
- 电网扰动测试:加入10%的电网电压谐波或±15%的电压跌落
在某次现场调试中,我们就遇到电网电压含有5次谐波的情况。传统PI控制下THD达到8.2%,而ADRC方案将其降至3.1%。
4.2 工程部署注意事项
-
离散化效应:实际DSP实现时,需考虑计算延迟。我的经验是加入一个PWM周期的预测补偿:
code复制f̂_comp = f̂ + T_pwm·(β3·(i_d - î_d) + β2·(i_d_prev - î_d_prev)) -
量程处理:对f̂进行限幅,通常不超过额定电压的30%
-
启动策略:初始阶段逐步ramp up ESO输出,避免冲击
5. 性能优化进阶技巧
5.1 非线性ESO增强
标准线性ESO在极端扰动下可能估计不足。可以采用非线性函数增强:
code复制fal(e,α,δ) = { |e|^α sign(e), |e|>δ
{ e/δ^(1-α), |e|≤δ
将观测器改为:
code复制ẋ̂₃ = β₃·fal(y-x̂₁, α, δ)
典型参数α=0.5, δ=0.01。这种改进在应对整流器启动时的初始误差积累时特别有效。
5.2 多速率执行策略
在DSP资源有限时,可以采用:
- 电流环(含ESO):执行在PWM频率
- 观测器增益调整:执行在1/10 PWM频率
- 参数自适应:执行在工频周期
这种架构在某型号风电变流器上实测可将CPU占用率从78%降至45%。
6. 实测数据与对比分析
在某工业电源项目中获得的具体数据对比:
| 指标 | PI控制 | ADRC |
|---|---|---|
| 负载阶跃恢复时间 | 8.2ms | 3.5ms |
| 电感+30%时的THD | 6.8% | 2.1% |
| 电网电压跌落15%超调 | 12% | 4% |
| 温漂影响 | 明显 | 可忽略 |
这些数据充分证明了ADRC在整流器控制中的优势。特别是在温升导致电感变化20%的工况下,ADRC方案无需任何参数调整就能保持性能,而PI控制则需要在线辨识重新整定。
7. 常见问题排查指南
问题1:ESO输出出现高频振荡
- 检查离散化步长是否与PWM同步
- 降低β3增益,增加观测器阻尼
- 在f̂输出端加入一阶低通滤波
问题2:启动时电流过冲
- 采用软启动策略:前5个周期逐步放开f̂补偿量
- 初始阶段限制电流误差的积分速度
问题3:DSP运算溢出
- 对所有状态变量进行Q格式规范化
- 采用32位累加器处理观测器运算
- 对b0参数进行标幺化处理
经过多个项目的实践验证,这套ADRC方案特别适合以下场景:
- 工作环境温度变化大的场合(如冶金、光伏)
- 电网质量较差的偏远地区
- 对成本敏感的中低端变频器
- 需要免调试的OEM电源模块
在最近的一个电动汽车充电桩项目中,采用ADRC后即使在-30℃~65℃的环境温度范围内,整机效率波动控制在±0.8%以内,完全免除了传统方案需要的温度补偿电路。