其他
再论PID,PID其实很简单。。。
0、PID前言
类似于这种:需要将某一个物理量“保持稳定”的场合(比如维持平衡,稳定温度、转速等),PID都会派上大用场。
它可以将需要控制的物理量带到目标附近 它可以“预见”这个量的变化趋势 它也可以消除因为散热、阻力等因素造成的静态误差 ....
你应该已经知道了,P,I,D是三种不同的调节作用,既可以单独使用(P,I,D),也可以两个两个用(PI,PD),也可以三个一起用(PID)。
1、P
需要控制的量,比如水温,有它现在的『当前值』,也有我们期望的『目标值』。
KP越大,调节作用越激进,KP调小会让调节作用更保守。
要是你正在制作一个平衡车,有了KP的作用,你会发现,平衡车在平衡角度附近来回“狂抖”,比较难稳住。
2、D
刚才我们有了P的作用。你不难发现,只有P好像不能让平衡车站起来,水温也控制得晃晃悠悠,好像整个系统不是特别稳定,总是在“抖动”。
我们需要一个控制作用,让被控制的物理量的“变化速度”趋于0,即类似于“阻尼”的作用。
因为,当比较接近目标时,P的控制作用就比较小了。越接近目标,P的作用越温柔。有很多内在的或者外部的因素,使控制量发生小范围的摆动。D的作用就是让物理量的速度趋于0,
kD参数越大,向速度相反方向刹车的力道就越强。
如果是平衡小车,加上P和D两种控制作用,如果参数调节合适,它应该可以站起来了~欢呼吧
等等,PID三兄弟好想还有一位。看起来PD就可以让物理量保持稳定,那还要I干嘛?
3、i
在P的作用下,水温慢慢升高。直到升高到45℃时,他发现了一个不好的事情:天气太冷,水散热的速度,和P控制的加热的速度相等了。
这可怎么办?
P兄这样想:我和目标已经很近了,只需要轻轻加热就可以了。 D兄这样想:加热和散热相等,温度没有波动,我好像不用调整什么。
于是,水温永远地停留在45℃,永远到不了50℃。
作为一个人,根据常识,我们知道,应该进一步增加加热的功率。可是增加多少该如何计算呢?
猜你喜欢