P代表比例,I代表积分,D代表微分
PID控制理论公式:
-
e(t)作为 PID 控制的输入;
-
u(t)作为 PID 控制器的输出和被控对象的输入;
-
Kp 控制器的比例系数;
-
Ki控制器的积分时间,也称积分系数;
-
Kd控制器的微分时间,也称微分系数。
控制框架图:
大白话理解:
问题:我们有一辆车的车速从0加速到100KM/h并稳定,那我们应该怎么控制油门(输出PWM)?
答:PID算法
狠(p:比例)--尽快到达目标值
准(i:积分)--大限度的接近目标值
稳(d:微分)--控制目标值附近波动范围
1.P(比例)
P怎么实现?
1.p控速时,是一个循坏的过程
2.通过P可以输出PWM值,公式:P*(目标速度-当前速度)
这样一段P调速过程图:
假设p=2
pwm=2(100-120)=-40 不懂!
调试结果:最后波动越来越小,趋向于一个稳态状态,但是值得注意的是稳态值不等与目标值。
稳态值多少?
解:
P*(目标速度-稳态速度)=PWM(PWM刚好能够达成稳态速度)
假设V:PWM=1:1
则
2*(100-V)=V
200-2V=V
V=66.66
我们可以发现有一段稳态误差
2.I积分
I(积分怎么实现)?
1.每次循坏执行P运算时,会累加i运算的结果;
2.i基本算法:i*(误差1+误差2+......)
i的计算过程:i*((100-120)+(100-60)+(100-45)+...)
i的计算结果:超调并且会震荡
第N轮 i*(...+(100-96))=i*100
第N+1轮 i*(...+(100-96)+(100-98))=i*102
第N+2轮:i*(...+(100-96)+(100-98)+(100-99))=i*103
越接近目标值,I递增越大,理论上应该越小,可能导致超调
3.D微分
D(微分)怎么实现?
1.每次循坏执行P和I之后,都会累加一次D的运算结果
2.D的基本算法:D*(本次误差-上次误差)
D的计算过程:
D=(2-4)=-2D
D=(1-2)=-D
总结:当越接近目标值的时候,i越大,D可以越小,起到阻力的作用,最终结果:越接近目标值时,增加或减小的PWM幅度趋于放缓,以减小震缓