6分钟,带你理解PID算法中的比例控制,积分控制,微分控制的含义


u(t) = K_{p}\times e(t)+K_{i}\times\int_{0}^{t}e(t)dt+K_{d}\times\frac{de(t)}{dt}

因为PID 是一个闭环控制器,还需要采用实际值作为闭环的反馈

运行过程:
0)采集电机实际转速值 400 rpm
1)输入转速目标值 1000 rpm
2)比较采集值和目标值,求出差值
3)差值作为 PID 控制器的输入,经过 p/i/d 三个控制器的计算,得到控制器的输出
4)电机驱动根据输出值发出相应的 PWM 波
5)控制电机转动

e (t)为差值,即实际转速与目标转速的差值
只用小p的转速曲线

现象:随着 Kp系数的增加,转速曲线的波动越来越陡峭,波峰也越来越高
存在两个问题
1)转速波动:转速调节的初始阶段,电机存在一段上下波动阶段
在实际应用场景中往往是不可接受的
2)稳态误差:在 p 控制器控制下,电机的稳态转速始终与目标转速存在误差
由 P(t)=Kp*[n(目标)-n(实际)],当实际转速等于目标转速时,即偏差消失后,则 p 的输出为 0,因此稳态转速永远不能等于目标转速
> p(t) 为 0 了,意味着控制电机的 PWM 占空比为 0,此时电机还要克服摩擦等各种阻力转速就会下降,不可能维持在目标转速
在实际情况下,随着Kp系数的增加,偏差会逐渐缩小,但始终无法消除
> 因为偏差越来越小,Kp 系数 不变的话,那最终 p 输出的控制量就会越来越小,所以始终会存在这个稳态偏差

针对问题 1 的转速波动,可通过引入 d 来解决

其中 de (t) 表示在 d (t) 时间内前一次差值和后一次差值之间的差值
小p+小d的转速曲线

d 如阻尼器,转速远离目标值时阻止远离,转速靠近目标值时阻止靠近,以更快到达稳态转速
针对问题 2 的稳态误差,可通过引入 i 来解决

其中e(t)的积分表示所有差值的累加和与时间的乘积


只要转速没有稳定在目标转速上,i 就会发挥作用,使其减少差值,靠近目标转速
由于这种调节,控制对象会在多次调节后使稳态转速稳定在目标转速附近

p(t)->快
i (t)->准
d(t)->稳

讨论区辑选:

