前面的文章已经针对PID进行过分析:PID是比例、积分、微分的三种控制方式组合成的控制算法的称谓。
在使用PID算法进行控制的时候,难点往往都不是怎么样去用代码实现,而是PID控制器的参数整定。PID参数整定是非常关键的,这些参数的设置影响了PID控制算法的快速性、稳定性。所以正确地理解PID各参数的实际物理意义,对PID控制来说是非常重要的。
对PID的理解还是与锅炉加热系统的温度控制来加以说明。对锅炉而言,我们不考虑其他的控制功能和附加因素,就以控制温度稳定在我们期望值而言对PID控制算法进行剖析。
1. 比例控制起什么作用?
假设锅炉系统启动的时候,距离我们期望的温度500℃是有很大的差距的,这个时候就通过比例控制的方式加大调节力度,让温度快速变化到期望的温度。
这个时候的比例系数的选取就非常的重要:
比例系数如果太小,调节的力度不够,使系统输出量(温度值)变化缓慢,调节所需的总时间过长。
增大比例系数:可以使系统反应灵敏,调节速度加快,还可以减小稳态误差。但比例系数如果过大,调节力度太强,容易造成调节过头,严重的甚至使温度忽高忽低,来回震荡,超调量也会增大,这不是我们希望看到的。
所以,单纯的比例控制很难让确保调节的稳定,也难以做到完全消除误差。
2、积分控制起什么作用?
在控制系统中,输出量与设定值两者的差值就是控制的偏差,有偏差就说明输出量并未稳定在期望值上,需要继续调节。
以锅炉温度的调节来说,假如温度的调节是通过调节电位器实现的,积分控制就相等于是根据误差值去改变电位器的角度。如果输出的温度低于设定值,那偏差就为正,积分项是增大的,这个时候就要增大电位器的角度,使电流变大,温度升高。反之,如果输出的温度高于设定值,那偏差就为负,积分项是减小的,这个时候就要减小电位器的角度,使电流变小,温度降低。
总而言之,PID控制中,积分作用就是对偏差的累积,用于消除静差。积分累积效果可以参见下图。
但是积分作用它本身是有滞后的特性的。如果积分作用太强的话,相当于电位器的角度扭的太大了,超调容易增大;而积分作用太弱的话,消除静差的速度又很缓慢,对控制效果不够明显。
所以,积分的比例系数要选择合适,才能达到比较好的调节效果。
3、微分控制起什么作用?
在PID中,微分就是反映偏差的变化速率的。系统的偏差变化越快,那微分的绝对值就越大,反之绝对值越小。
当系统的偏差增大时,微分为正,偏差减小时,微分为负。系统的输出量的微分部分与偏差的微分成正比,是可以反映被控量的变化趋势的。
4、采样周期
PID控制算法中,一个很重要的时间参数 — 采样周期。
这个采样周期怎么理解呢?简单而言,PID控制算法是按照一定的周期执行的,那这个执行的周期就称为采样周期。
一般而言,采样周期越小,PID算法调控作用就越频繁,控制效果就会越迅速。反之,采样周期越大,PID调控作用就越滞后,控制效果就会变差。
那这么说的话,是不是只要采样周期越小就越好呢?答案肯定是否定的。因为现在很多的PID控制算法都是通过计算机程序实现的,如果采样周期太小的话,会增加计算机的CPU运算负担和工作量,而且一般相邻几次的采样不会有很大的偏差,变化也不会很大,所以采样周期也没必要太小。
5、PID的参数整定
PID参数的整定过程才是最重要的过程,一般的整定流程如下:
1)先只加P控制,通过调整P的参数,让变化较快,但是到达设定值之后的振荡幅度比较小即可。
2)然后加入I控制,这个时候适当减小P的参数值,一点点的增加I的参数,然后看输出效果。
3)P和I都设置后好,再一点点加D,这个时候可能P、I、D三个参数都需要调整,以求最后找到比较合适的参数。
总而言之,参见下面的步骤进行:
(1)P(比例):先调大后调小,观察输出的响应曲线。
如果响应过冲较大,再次适当减小 P 值,直到达到理想的响应。
(2)I(积分):先将 I 设为零,逐渐增加 I 值。
观察输出是否有稳定的偏差,如果有,则增大 I 值。
但是要注意,过大的 I 值可能导致系统不稳定,所以需要进行适度的试验和调整。
(3)D(微分):先将 D 设为零,逐渐增加 D 值。
观察输出是否有震荡或振荡的现象,如果有,则减小 D 值。
微分作用主要是抑制系统的过冲和震荡,但是过大的 D 值也可能导致系统不稳定。
对于这个PID参数的整定,我个人认为没什么一步到位的好方法,针对不同的系统,同样的控制算法,参数都不会一样的,还要根据实际的情况去调节。
下面有一个PID参数调节的顺口溜:
参数整定找最佳,从小到大顺序查。
先是比例后积分,最后再把微分加。
曲线振荡很频繁,比例度盘要放大。
曲线漂浮绕大湾,比例度盘往小扳。
曲线偏离回复慢,积分时间往下降。
曲线波动周期长,积分时间再加长。
曲线振荡频率快,先把微分降下来。
动差大来波动慢,微分时间应加长。
理想曲线两个波,前高后低4比1。
一看二调多分析,调节质量不会低 。
奉图一张: