PI控制器是工程上应用最广泛的控制方法,汽车控制也不例外,定速巡航、发电机转速控制等很多功能都需要使用PI控制器。今天聊一聊汽车软件开发过程中PI控制器抗积分饱和的使用心得。
PI控制器
PI控制器由比例调节和积分调节两部分组成。比例调节主要是根据偏差的大小成比例的调节输出,积分调节主要根据偏差进行积分累计来调节输出,直至消除稳态误差。PI控制器的表达式为:
u(t) = Kp*e(t) + Ki*∫e(t) dt
基于上述表达式,再考虑输出的限制(加一个饱和模块),PI控制器的simulink模型可表示为下图所示:
直流电机模型
为了试一下PI控制器效果,我们还需要一个被控对象模型,这里选择一个12V直流电机作为被控对象。直流电机的数学表达式为:
U=I*R+Ke*φ*w+L*dI/dt
Te=Kt*φ*I
Te-TL=J*dw/dt+B*w
基于上述表达式,直流电机的Simulink模型可表示为下图所示:
控制仿真结果
所以,把以上的控制器模型和直流电机模型组合起来,一个通过PI控制器控制电机转速的仿真模型可表示如下(PI控制器的饱和模块设置为0~12):
电机参数和PI控制器参数设置如下:
以上设置后,给定一个变化的电机目标转速,结果如下:
可以看出,第二次、第三次目标转速跟随不太理想,消除偏差的时间太长。什么原因呢?对比下比例和积分的控制输出如下:
可以看出,在第二次跟随控制前期(4~4.2s),比例和积分控制输出都急剧增大,努力提高电机电压来达到提速的目的,在跟随控制后期(4.2s以后),电机转速超过目标转速以后,比例控制输出可以迅速下降,但积分控制输出只能逐渐减小,导致消除稳态静差需要很长时间。
抗积分饱和PI控制器的控制仿真结果
我们在上面的PI控制器基础上增加抗饱和算法:当比例控制和积分控制输出超出约束的合理范围时(被控电机电压为0~12V,所以PI输出限制在0~12),主动停止积分计算,防止积分过大。具体如下图:
仿真结果如下:
可以看出,积分控制输出被限制在一个较低的数量级,当电机的转速超过目标转速以后,积分控制输出可以较快的减小,使得系统达到稳定的时间大大缩短。
关注微信公众号"新能源汽车控制",了解更多精彩内容。