在电力电子领域,车载充电机(OBC)前级电路的控制性能直接影响整个系统的效率和可靠性。传统PID控制虽然结构简单,但在面对非线性负载扰动、参数摄动等复杂工况时往往力不从心。我最近在某个新能源车企的OBC开发项目中,就遇到了输入电压突变导致前级Boost电路振荡的棘手问题。经过多轮方案对比,最终采用自抗扰控制(ADRC)技术,通过Simulink仿真验证取得了突破性进展。
ADRC的核心思想源自韩京清教授提出的"总扰动估计补偿"理念。与传统PID不同,它通过扩张状态观测器(ESO)实时估计系统内外扰动,并在控制律中进行动态补偿。这种主动抗扰特性特别适合OBC前级这种强非线性、多扰动的应用场景。实测数据显示,在相同输入电压阶跃条件下,ADRC的恢复时间比传统PID缩短了62%,超调量降低至原来的1/3。
典型OBC前级采用Boost拓扑结构,主要完成三项关键功能:
其状态空间方程可表示为:
code复制diL/dt = (vin - (1-d)*vout)/L
dvout/dt = ((1-d)*iL - iout)/C
其中d为占空比,L、C分别为电感电容值。这个看似简单的模型在实际运行中面临多重挑战:
在初始方案中,我们采用电压外环+电流内环的双环PID控制。当输入电压从220V突降至150V时,系统出现明显振荡,持续约50ms才恢复稳定。通过伯德图分析发现:
更关键的是,PID控制本质上属于"误差驱动"机制,只能在扰动产生响应后才开始调节,这种被动特性在快速变化的车载环境中成为性能瓶颈。
ADRC由三大核心组件构成:
其创新性在于将未知扰动扩张为新的状态变量,通过ESO进行动态观测并补偿。以二阶系统为例,ESO的数学模型为:
code复制ẋ1 = x2 + β1(y-x1)
ẋ2 = x3 + β2(y-x1) + b0*u
ẋ3 = β3(y-x1)
其中x3就是估计的总扰动,包含模型不确定性、外部干扰等所有非理想因素。
在Simulink中搭建ADRC控制器时,有几个关键参数需要特别注意:
matlab复制beta1 = 3*omega_o;
beta2 = 3*omega_o^2;
beta3 = omega_o^3;
通常取ωo=(3~5)*ωc(ωc为控制系统带宽)
matlab复制kp = omega_c^2;
kd = 2*omega_c;
其中ωc根据动态响应要求选择,典型值在100~500rad/s
matlab复制b0 = Vout/(L*D) % D为标称占空比
实际建模时,我推荐采用MATLAB Function模块实现核心算法,而非直接使用Simulink基础模块搭接。这样可以更灵活地处理非线性运算,也便于代码生成。一个典型的实现框架如下:
matlab复制function u = ADRC_Controller(y_ref, y, h)
persistent x1 x2 x3;
if isempty(x1)
x1 = 0; x2 = 0; x3 = 0;
end
% TD跟踪微分器
v1 = v1 + h*v2;
v2 = v2 + h*fhan(v1-y_ref, v2, r, h);
% ESO观测器
e = y - x1;
x1 = x1 + h*(x2 + beta1*e);
x2 = x2 + h*(x3 + beta2*e + b0*u);
x3 = x3 + h*beta3*e;
% NLSEF非线性组合
e1 = v1 - x1;
e2 = v2 - x2;
u0 = kp*fal(e1,alpha1,delta) + kd*fal(e2,alpha2,delta);
% 扰动补偿
u = (u0 - x3)/b0;
end
在Simulink中设置以下测试场景验证性能:
对比PID与ADRC的仿真波形可见:
经过多次调试,总结出ADRC参数整定的"三步法":
matlab复制omega_c = 2*pi*(0.1/t_r) % t_r为期望上升时间
matlab复制omega_o = (3~5)*omega_c
ESO带宽越高,扰动估计越快速,但需注意测量噪声放大问题
重要提示:实际调试时应先开环运行ESO,确认扰动估计的准确度后再闭环。我曾遇到因b0取值偏差导致系统发散的情况,后来通过注入阶跃信号进行b0标定解决了问题。
将Simulink模型移植到DSP时,发现两个关键问题:
c复制// 优化后的fal函数实现
int16_t fal(int16_t e, float alpha, int16_t delta) {
int32_t abs_e = abs(e);
if(abs_e > delta) {
return (int16_t)(powf(abs_e, alpha) * ((e>0)?1:-1));
}
return (int16_t)(e / powf(delta, 1-alpha));
}
在实车测试中,发现以下改进点:
最终实测数据显示,在-40℃~85℃环境温度范围内,输出电压纹波始终小于1%,完全满足ISO 21498标准要求。
当前方案还可进一步扩展:
在最近参与的800V平台项目中,我们尝试将ADRC与SiC器件特性相结合,使系统效率再提升1.2个百分点。这让我深刻体会到,先进控制算法与新器件的协同创新,才是推动电力电子发展的双引擎。