欢迎光临散文网 会员登陆 & 注册

PID算法中积分项I的作用介绍和实验研究

2023-02-06 13:12 作者:O老师讲32  | 我要投稿

        在前面的比例项输出实验中,当Kp = 0.8时的结果如图1所示.

图1 Kp = 0.8时的结果

        可以看到,稳定后的温度在58.7°C附近,没有达到目标温度60°,此时出现的这种差值我们叫稳态误差。那有没有一种办法能够让它稳定后达到60°呢?有,就是将误差的积累转为输出,叠加到比例项上,一起参与对PWM的有效时间进行控制。

        我们举一个简单的例子来说明。假设稳定后的温度为58°,比目标温度少2°。我们将这个2°进行累加,每500ms累加一次,则有 2+2+2+2+.....,该累加项叠加到比例项,使得输出为

out = Kp*2+ Ki *(2+ 2 + 2 +....)       (1) 

        式(1)中,Ki为积分系数。

        由式(1)可以看到,当误差积累到一定程度后,out将会是一个比较大的值,有效加热时间增加,温度会重新慢慢提升,并到达60°C处。

        而当温度超过60°后,由于设定值-测量值为负,所以比例项和积分项都为负,out的输出为0,系统不对加热块进行加热,加热块温度下降。这样反复加热散热,最终使得温度被稳定在目标温度处。

        我们将这种差值进行累加并和比例项一起影响输出PID算法的输出out,可以使得系统能够比较好地稳定于目标温度处。这种累加就是数学上的积分,将该积分离散后叠加上比例项的结果如式(2)所示。

out = Kp*E(k)+ Ki *(E(k=1) + E(k = 2) + E(k = 3) +....)   (2) 

        其中,E(k)为目标值 - 第k次的测量值。

        下面我们设置Ki = 0.004,Kp仍然取0.8,然后看一下实验结果。实验结果如图2所示。

图2 增加积分项后的实验结果

        由图2可以看到,增加积分项后,稳态误差被消除了。但是,由于整个过程都使用了积分,所以导致超调严重,而且振荡1个多小时才达到稳定。所以在使用积分的时候一定要注意,一定要根据具体的情况来使用积分项。比如先使用Kp调整使得稳态误差比较小,然后再根据稳态误差来确定何时使用积分。

        下面我们再来看一个实验,就是在目标温度 - 测量温度在±5°时才使用积分的情况,结果如图3所示。

图3 对积分进行限制时的结果

        可以看到,使用积分限制后,超调大大减小,到达稳定的时间也大大缩短。

 

关于PID介绍的更多内容,我们将在近期正点原子平台的第三期教学给大家分享。在这一期的教学中,我们将推出自整定方法和PID模糊控制,关于PID的模糊控制,应该是全网第一个实战的项目,结果非常理想。

 

如果大家有兴趣,可以关注公众号:   O老师讲32 

或者直接扫码添加



PID算法中积分项I的作用介绍和实验研究的评论 (共 条)

分享到微博请遵守国家法律