快捷搜索: 王者荣耀 脱发

从公式和波形上理解PID

概述

看完大佬们对PID通俗易懂的解释之后,感觉自己又行了,但又感觉还差点意思。为什么呢?PID怎么说也是个控制算法,光理解个概念还不行,好歹得从公式、波形上再分析一下。

前言

本篇主角

这里用一个电机转速控制系统的matlab仿真波形来分析,需要控制转速稳定在85r/min。

    P控制

显然,P控制有两个缺点:

缺点 原因 震动较大 Kp过大,用力过猛 有静差,稳定后达不到85r/min P的提速效果与各种干扰的阻碍效果平衡了

为了弥补这两个缺点,依次加入I控制和D控制

    PI控制

图中,红蓝色阴影面积是对误差的积分,公式表明系统多了一个输出量,且输出量慢慢增加。红色面积肯定比蓝色多,所以稳定后依旧会有输出量,而这个输出量刚好用来抵抗干扰,所以能做到无静差。

作用 原因 消除静差 始终存在一个额外输出量来抵抗干扰

另外,I控制因为是对误差的积分,输出是一个逐渐增加的过程,单独使用响应时间会很长,所以需要结合P控制。

    PID控制

D控制是对误差的微分,也就是误差变化率((e[k]-e[k-1])/T),在系统中像是起到了缓冲作用。 怎么个缓冲法呢? 对于提速阶段,电机从0加速到85后由于惯性飙的更高(比如90),而在0-90的加速过程中,误差(目标值-实际值)始终是在减小的,其微分就是负的,所以对正超调就有抑制作用。同理,从90到85也会有惯性(比如80),此时误差是在增大的,微分就是正的,对负超调有抑制作用。这样减小超调,让系统稳定地更快。 对于突变负载的情况,如果突减负载,速度瞬间提高,误差瞬间减小,其微分就是负的,输出就减弱,从而降低速度;突增负载速度降低,误差增大,微分符号为正,输出就增加,速度增加,提高了系统稳定性。 所以D控制对误差的微分并不是始终为负值的。

作用 原因 减小超调、响应加快、但抗干扰性变差 对输出的增减都有一定的阻力作用 应对突变、稳定性提高 误差突变使误差变化率极高,D控制就能起到较大的调整作用

总结

以上是本小白目前对PID的理解,当然我知道我肯定会回来再改的。。。

经验分享 程序员 微信小程序 职场和发展