PID 控制器
2023-07-25 17:51
王建硕
2023-07-25 17:51
订阅此专栏
收藏此文章

我大学是学自动化的。而自动控制的最基本的控制方法是 PID 控制。

P 是比例 Proportional
I 是积分 Integral

D 是微分 Derivative

也就是把误差的比例积分,还有微分,按照不同的系数加和以后,作为控制量输出。就这三个这么简单的 1940 年发明的系统,用到了今天,依然有 95% 的控制系统使用这个小东西做核心的控制。

比例

控制的本质是用误差作为输入,来调整系统的输出。洗澡的时候,水太热了,我们就知道把热水阀门调小一点;冷了,调大一些。我们都知道,水太热了,就要多拧一些,如果冷的不多,就少拧一些。如果不按照比例反馈,反馈过多了,就容易产生震荡,水一会儿烫死人一会儿冻死人。

根据现在的输出和期待的输出之间的误差来调解系统的行为(阀门),就是很简单的一个比例控制器。(比比例控制器更简单粗暴的是开关控制,就像很久以前的空调就是这样,都没有用到比例,就是热了就开冷空调,冷了就关掉,但是使得房间里面的空气总是一会儿高一会儿低的。)

积分

比例控制器一般来说够用了,但是需要更加精细的时候还是差一点。比如说,我想把汽车控制在 60 公里 / 小时,低于这个速度就加油门。但是如果在一个长上坡上怎么办?估计汽车到了 55 公里 / 小时,就会一直稳定在这个速度,因为只有有这个 5 公里 / 小时的误差,汽车才能持续给油门和上坡对抗。这个误差叫做「稳态误差」。但是,控制工程师就不高兴了,能不能消除这个误差呢?

积分控制器就是把这个误差在时间上不断累积,就算 5 公里 / 小时的误差再小,随着时间的积累,也足够产生一个很大的反馈。所以加了一个积分的反馈,最终的速度就可以精确的控制在设定的 60 公里 / 小时。

微分

又来需求了。如果汽车以 60 公里 / 小时运行,忽然前面遇到了一只鸭子过马路,需要在 50 米以内把车速降到 0 公里 / 小时。用前面两个控制器肯定也是可以的,只要车速比 0 高,比例控制器就一直踩刹车,积分控制器也不断的加力踩刹车,总归可以停下来。但是反应速度不够快,不够灵敏。这个时候就需要微分控制器了。如果忽然把目标速度降到 0 公里 / 小时,这个从 60 到 0 的突变,就是一个很快的变化值。这个短时间里面迅速的变化,是可以用很大的微分表达的,这个时候如果控制器对于控制信号的变化速度也考虑进去,就会施加一个很大的刹车力,车子就尽快停下来了。‍‍‍‍‍‍‍‍

总结来看,比例控制器看的是现在,积分控制器看的是过去,微分控制器预测的是未来。把现在的差异,和过去的累积,和对未来的判断都考虑在一起,才是我们应该采取的反应。

也就是说,我们要看误差的大小,误差越大,需要做的调整越大;同时也要看误差在时间上的积累,再小的问题,在非常时间上积累也会变成大问题,也需要用比较大的精力解决掉;同时还要看趋势,如果一个问题出现可以看到未来会带来很大的问题,即使当下和过去都没有带来什么问题,也需要打起精神应对。

人做决策,有时候也是这么一套逻辑。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

注:我把控制图和公式藏在最后面,以免吓到大家。但其实是非常简单的公式,就是调整一下 Kp,Ki,Kd 三个数字就调整了整个控制系统。

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

王建硕
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开