突然想对PID算法做一个总结;
常听到的一句话:PID是初始的量加上误差的比例积分微分就是PID控制了。根据这句话,我们得到如下公式:
那么误差的积分怎么算呢?
在离散情况下积分其实就是做累加,就是将你上次的误差加上这次的误差:
误差的微分呢?
在离散情况下,差分近似微分,,就是将你这次的误差减去上次的误差:
最后得到的就是最常见的就是这个公式了:
我们可以看出:
P是最简单粗暴的改变误差量;增大P使系统反应灵敏,调节速度加快,并且可以减小稳态误差。但是P过大会使超调量增大,振荡次数增加,调节时间加长,动态性能变坏,比例系数太大甚至会使闭环系统不稳定。使系统快速响应!
I是将误差累加起来,这里我们将实际中各种因素造成的稳态误差考虑进去,所以可以很好的消除稳态误差。积分作用太弱(即积分时间太大),则消除稳态误差的速度太慢;如果太强,则其累积的作用会使系统输出的动态性能变差,超调量增大。积分时间的值应取得适中。消除稳态误差!
D是对趋势的预测!有了预测,那么我们在控制时不会因为P的原因导致控制过程中的振荡,也就是调节的太猛了,过火了,来回飘。微分时间与微分作用的强弱成正比,如果微分时间太大,在误差快速变化时,响应曲线上可能会出现“毛刺”。减小调节振荡!
参考链接:
PID控制最通俗的解释与PID参数的整定方法
PID控制中P、I、D参数的作用是什么
一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)