PID算法的理解与学习


我对PID算法可以简单的总结如下一句话:P管现在,I管曾经发生的一切累计至今的影响,D根据现在的情况预测未来,及时把控。但是具体三个参数如何起作用还需要进一步学习和研究,同时深刻的理解也能够帮助我们在后期的参数调试中做到心中有数,不至于糊里糊涂。
首先针对PID,不得不提的就是其公式,具体如下:

在这里插入图片描述
离散化的公式可大致写成如下形式:
在这里插入图片描述
公式中有三项:比例项、积分项以及微分项。其具体的作用效果我们可以假设一种柴油机的转速控制进行理解。
**情景假设:**柴油机以怠速600r/min的速度行驶,现在接收到信号要加速到710r/min,由于柴油机的机械特性,每秒至多增加20r可以最好的保护机械,因此不能增加太快,所以在设置Kp参数时要针对最大的变化率进行大致的估算,本次暂且以710作为最大值。

1、仅适用P的算法

此时误差值最大为110;最大不能增加超过20,则可以将参数定位kp=20/110约为0.1818,为了好说明,暂定为0.1,则增加过程如下:

时间误差e比例项增加量这一秒末转速
011011611
1999.9620.9
289.18.91629.81
380.19(约为)8(约为)639
4717.1646.1
563,96.39652.49
657.515.75658.1

如上表所示:增加量随着比例系数以及误差大小进行调节,在趋近控制量的过程中越来越慢,并且有可能产生一定的静态误差,所谓的静态误差可以解释我当有风浪涌等外界条件影响时可能会产生一定的速度抵消,导致增加量和影响量相互抵消,转速增加上去了但是船速却并不会如设想的速度运行。

2、PI算法控制流程

此时加上了积分项,所谓的积分项由公式可知是将以前所有的误差项累计起来进行调节,现取Kp=0.1,
Ki=(20-11)/110=0.08181,暂时取0.01,也可用一个表格表示如下:

时间误差e比例项增加量积分项误差积累值积分项增加量这一秒末转速
0110111101.1612.1
197.99.79207.92.08623.97
286.038.6293.932.94635.51
374.497.4368.423.68646.59

由于计算较为复杂,现只计算以上四组数据,但依然能够明显的表现出来积分的作用:即在上升期的控制中,将以前的误差积累,一方面加快了调节进程,另一方面,即便产生静态误差,随着时间的积累,积分项也将积累的更大,此时即便比例项不在变化,但是积分项也会不断增大,直至继续增加至控制值。

3、PD算法的控制流程

对于PD,微分项涉及到两次误差之间的变化值,可以取0.001的微分项参数,继续表格进行说明;

时间误差e比例项增加量上一秒误差值误差变化量积分项增加量这一秒末转速
01101101100.11611.11
198.899.89110-11.11-0.01620.99
289.018.998.89-9.88-0.009629.881
380.1198.011989.01-8.891-0.009637.8839

由上表与前面的表格对比,可知转速增加较慢,而从数学的角度来说,在转速增加的过程中误差是一直减少的,于是误差的变化量是个负值,此时表现出阻碍转速增加的作用,当转速减少时,可知此时误差是个负数由于绝对值是减小的,因此误差变化量是正数,阻碍转数减小。相当于起到了一个前后平衡的作用,而不是一味向前。当然了,一位向前的参数如果调节的好也就不用前后平衡了。

4、PID参数的调整

从网上找了一下关于PID参数调节的方法,入门的话这个试凑法还是很不错的,如果过想继续深入学习,推荐https://max.book118.com/html/2017/0309/94802600.shtm,这位老师的文章我虽然只看了一部分,但是受益匪浅。
PID参数整定方法
在这里插入图片描述

5、总结

本篇文章致力于从PID的经典公式的底层运算原理来理解PID的工作过程,理解了最底层的PID原理后再去学习PID的相关知识则会事半功倍,例如增量式PID等,除此之外,上面数据是本人在学习过程中一步步手工计算得来的,不敢保证计算没有纰漏,如有错误,还请批评指针。求知如渴,虚心若愚,盼与诸君共进步!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值