产品的系统架构和控制算法在此就不再做介绍了,可以参考第一篇文章。今天继续和大家分享调试过程中的踩坑。
踩坑11、LLC控制分段PI环参数
踩坑续(3)那篇文章中提到,LLC的控制算法分为PWM、PFM、PSM三种调制模式,具体内容大家可以参考该文章。
然我从LLC的增益控制曲线图中,在谐振频率f=f1的时候增益是为1的。f>f1的时候,增益大于1,f越高增益越低,在f2<f<f1时,增益是大于1的。那么问题就来了,如果电流环采用同一个PI环路,那么在f不同的时候,响应速度就会不一样,速度太慢了响应会增大,控制带宽不够,速度太快了,环路容易产生震荡,控制效果也会变差。
在受控对象中,不管是电流还是电压都会存在这个问题,但是我实测,电压环在不同工作频率下,PI环路参数的影响可以忽略不变(我想最主要原因还是因为输出电容容量比较大的原因,同时充电桩也是对电池进行充电,电压也不会发生突变)。实测电流环对PI参数影响就会比较大。《NBT 33001-2018 电动汽车非车载传导式充电机技术条件》标准中可以看到,电流纹波根据频率可以计算。标准我放附件了,需要的自取。
实际测试,我控制的输出电流纹波频率50Hz。按规范要求最大纹波电流应该≤6A,实测纹波电流在全范围内满足规范要求。直接上图:
再和大家分享下我软件里面控制所用的分段PI环路的KP/KI参数(参数仅供参考,kp、ki的值跟整个系统有很大关系,比如采样的滤波系数,控制频率,反馈参数等等)
if(llc.fre>fre_180k) //180K以下频率
{
if(llc.vout<=VOUT_SET360)
{
llc.iloop.kp = 100;
llc.iloop.ki = 5;
}
else if(llc.vout<=VOUT_SET_390)
{
llc.iloop.kp = 120;
llc.iloop.ki = 7;
}
else if(llc.vout<=VOUT_SET450)
{
llc.iloop.kp = 150;
llc.iloop.ki = 10;
}
else
{
llc.iloop.kp = 120;
llc.iloop.ki = 12;
}
}
else //180K以上频率
{
llc.iloop.kp = 80;
llc.iloop.ki = 4;
}
申明:由于本人水平一般,分享的知识有误,或者采用的方案不够好的,欢迎各路大神指正批评,给大家带来的不便,敬请谅解,本文观点仅供参考。