什么是PID?告诉你一个故事

什么是PID?

PID是“比例”,积分和衍生化的,它是一种非常常见的控制算法。

PID有107年的历史。

这不是一件非常神圣的事情,每个人都必须看到PID的实际应用。

例如,四轮驱动器,平衡汽车和汽车巡航控制,3D打印机上的温度控制器.

与此相似:当需要“稳定”某个物理量(例如保持平衡,稳定温度,速度等)时,PID将派上用场。对于与PID应用程序相关的文章,请单击以阅读:应用PID控件,让机器人学会骑自行车。

那么问题是:

例如,我想控制“快速热量”,并将一锅水的温度保持在50。为什么要使用微积分理论进行如此简单的任务?对于PID的原则,您还可以阅读本文:PID算法原理简介。

嵌入式物联网确实有很多东西需要学习。不要学习错误的路线和内容,这将导致缺乏薪水!

单击此处查找助手以0元来接收信息:添加微信接收信息

您必须在想:

这不是那么容易如果将其加热,如果它小于50度,并且如果它大于50度,它将被关闭。还不够吗?使用Arduino在几分钟内编写几行代码。

没错当要求不高时,您可以做到这一点!如果换句话说,您将知道问题是什么:

如果我的控制对象是汽车怎么办?

如果您希望汽车的速度将保持50公里/小时,您会敢做什么?

想象一下,如果汽车的巡航控制计算机在45公里/小时的特定时间内检测到速度。它立即命令引擎:加速!

什么是PID?告诉你一个故事

结果,发动机突然出现了100的全油门。嗡嗡作响后,汽车加速至60公里/小时。

目前,计算机发出了另一个命令:制动器!

结果,尖叫.哇.(乘客呕吐)

因此,在大多数情况下,使用“开关数量”来控制物理量似乎很简单而粗糙。有时,不可能保持稳定性。由于微控制器和传感器的速度不是无限快,因此收集和控制它们需要时间。

此外,控制对象具有惯性。例如,如果您拔下加热器,则其“松弛热”(即热惯性)也可能导致水温在短时间内继续升高。

目前,需要一种“算法”:

它可以将需要控制的物理数量带到目标附近。它可以“预见”此数量的变化趋势。它还可以消除由耗散散热,抗性等因素引起的静态错误。

因此,当时的数学家发明了这次是PID的持久算法——。

您应该已经知道P,I和D是三种不同的调节功能。它们可以单独使用(P,I,D),两个或两个(PI,PD)或三个一起使用(PID)。

这三个功能有什么区别?来宾,请不要担心,慢慢听我说

让我们首先讨论PID控制器的三个最基本参数:KP,KI,KD。

KP

P表示比例。它的功能是最明显的,其原理是最简单的。让我们首先谈谈:

需要控制的数量(例如水温)具有其当前的“电流值”,并且具有我们期望的“目标值”。

当两者之间的差异不大时,请让加热器“发光”加热。如果由于某种原因温度降低了很多,请“稍微有力地”加热器加热。如果当前温度远低于目标温度,请让加热器“打开全功率”,让水温度尽快到达最近的目标。这就是P所做的。与开关控制方法相比,这不是更温和而优雅吗?

当实际编写程序时,让偏差(目标减去电流)和调整设备的“调节力”一次建立一个函数,并且可以实现最基本的“比例”控制

什么是PID?告诉你一个故事

KP越大,调节效应的根本性就越大,KP越小,调节效应就会越保守。

如果您要制作平衡自行车并具有P的功能,您会发现平衡自行车在平衡角度附近的来回摇动很难稳定。

如果这已经达到这一点,则为——恭喜!离成功只有一小步

KD

d的作用得到了更好的理解,所以让我们先谈谈D,最后是我。

我们只是有P的效果。并不难发现只有P似乎无法站立,并且水温也可以摇摇欲坠地控制,好像整个系统并不特别稳定,并且总是“发抖”。

您想象一下春天:现在处于平衡位置。拉开它,放开。这时它将摇晃。由于电阻很小,因此它可能会振荡很长时间,然后才能恢复平衡位置。

想象一下:如果上图中显示的系统也被浸入水中,请将其拉起:在这种情况下,重悬于平衡位置的时间要短得多。

我们需要控制功能来使受控物理量的“变化速度”趋向于0,即类似于“阻尼”的效果。

因为,当它更接近目标时,P的控制效果相对较小。您越接近目标,柔和的效果。P的影响。许多内部或外部因素会导致控制量在较小的范围内摆动。

D的功能是使物理量的速度趋于0。只要数量具有速度,D将迫使它朝相反的方向迫使它,并尽力阻止变化。

KD参数越大,制动力将越强,与速度相反的方向。

如果它是平衡车,加上P和D的两个控制功能,如果适当调整了参数,则应该能够站起来欢呼。

等等,似乎有三个PID兄弟之一。 PD似乎可以保持物理量稳定,那么我还需要什么?

因为我们忽略了一个重要情况:

ki

什么是PID?告诉你一个故事

让我们以热水为例。如果有人将我们的加热装置带到一个非常寒冷的地方并开始开水。需要燃烧至50。

在P的作用下,水温慢慢上升。直到它上升到45,他发现了一件坏事:天气太冷,水的速度等于P。

我应该怎么办?

P兄弟这样想:我非常接近目标,我只需要轻轻地加热它即可。 D兄弟以这种方式思考:供暖和散热相等,温度不会波动,因此我似乎不必调整任何东西。

因此,水温将始终保持在45,永远不会达到50。

作为一个人,根据常识,我们知道应进一步提高加热力量。但是应该计算多少增加?

高级科学家想到的方法真的很聪明。

设置一个整体量。只要存在偏差,偏差就会不断整合(积累)并反映在调节力中。

这样,即使随着时间的流逝,只要不达到目标温度,就随着时间的流逝,45C和50C之间的差异不大。该系统将逐渐意识到目标温度尚未达到,现在该增加功率了!

达到目标温度后,假设温度不波动,则积分值不会再次变化。目前,供暖能力仍然等于散热功率。但是,温度稳定在50。

Ki的值越大,积分时间内乘法系数越大,并且积分效应越明显。

因此,I的功能是减少静态情况下的误差,并使受控的物理量尽可能接近目标值。

使用I:需要设置点限制时还有另一个问题。它可以防止整体组件的积累太大,并且在刚开始加热时难以控制。

用户评论


见朕骑妓的时刻

终于有人解释了PID!我一直听人说这个名词,却搞不懂它究竟是什么东西。这篇博文用故事的方式讲解,简直太棒啦!明白了什么是比例、积分,还有微调参数,这下我就能理解这玩意儿了!

    有13位网友表示赞同!


琴断朱弦

讲得真不错!终于有人把PID解释清楚了。作为一枚程序员,一直想知道这个到底是个啥东西,还好这篇文章用简单的语言讲清楚了。

    有9位网友表示赞同!


单身i

故事讲述的很生动形象,一下子就明白PID是什么啦!以前老是想找资料学习,结果各种资料都不懂不说还枯燥乏味。真希望所有技术文章都像这样通俗易懂!

    有18位网友表示赞同!


各自安好ぃ

这个例子还是太简单了,现实中PID的使用场景可是很多啊!如果能讲一些实际应用的案例,比如控制空调温度、自动驾驶系统之类的,那可就更进一步了。

    有11位网友表示赞同!


風景綫つ

故事很好理解,不过我觉得有些逻辑有点跳跃,比例、积分和微调参数的关系还需要更加详细解释下,不然会让人感到有点云里雾里。

    有8位网友表示赞同!


﹎℡默默的爱

这篇博文写的不错,总算明白了PID是控制系统中的一个调节器啊!以前只晓得它存在,却不知道它的具体作用是什么了。希望能继续写一些关于PID应用的详细讲解。

    有16位网友表示赞同!


那伤。眞美

讲得太浅了吧?对学习过高校自动控制课程的人来说这个故事没什么学习价值,如果想深入了解PID控制算法,还得多翻资料书看专业文献。

    有9位网友表示赞同!


予之欢颜

确实很有帮助!我现在正在学习工业自动化控制,正好需要了解这方面知识。这篇博文让我快速理解了PID的基本概念,后续打算再深入研究一下它的实际应用场景。

    有17位网友表示赞同!


雁過藍天

故事好通俗易懂,我一个小白也能看明白。希望以后能经常看到这样有趣的技术讲解!

    有10位网友表示赞同!


柠栀

我倒是觉得这个例子用的有点单调啊,控制系统还有很多其他的模型来描述PID,这篇博文似乎忽略了一些其他方面的内容呢?

    有12位网友表示赞同!


初阳

讲得确实不错,我之前学习过PID,但是感觉像被遗忘了一块儿一样,这篇文章很好的回忆起了知识点!以后还是应该多阅读一些技术文章巩固一下基础知识。

    有19位网友表示赞同!


陌然淺笑

个人觉得这个说法还是太概括性强了,并没有具体到哪些行业会用到PID控制器。比如工业自动化、自动驾驶等等都有使用 PID 的场景,希望下次写博文能详细介绍一下这些应用领域吧!

    有5位网友表示赞同!


看我发功喷飞你

这篇文章对我来说其实不算有太大指导意义,毕竟我是在学习自动控制领域的专业知识,对PID已经有了一些初步了解了。这篇博文的介绍还是比较基础的,建议作者可以写一些更深入的内容。

    有16位网友表示赞同!


晨与橙与城

故事虽然简单易懂,但是对于实际的算法实现还是一知半解的感觉呢?希望能看到文章进一步解读一下如何编程来实现PID控制

    有6位网友表示赞同!


伱德柔情是我的痛。

讲到微调参数时,没有说具体的调节方法,比如 Ziegler- Nichols 方法、Cohen-Coon 方法等等。希望作者能补充一些相关的调节方法介绍,更加完善这篇文章的讲解:

    有6位网友表示赞同!


该用户已上天

终于有人用通俗易懂的方式解释了PID!现在我开始对控制系统这件事有了一点兴趣了,希望能看到更多关于控

    有5位网友表示赞同!


命硬

我很赞同博文的观点!觉得PID确实很牛逼,一个简单的算法就能用来控制很多复杂的事物。以后有机会一定要亲自实践一下这个玩意儿!

    有12位网友表示赞同!


冷嘲热讽i

PID控制器在实际运用中,会受到很多因素的影响,比如环境噪声、系统非线性等等。这篇博文没有对此进行详细的探讨,希望作者能在这方面补充一些内容。

    有15位网友表示赞同!


敬情

看完这篇文章,我突然发现自己在很多领域都用到PID的概念!从家里的空调到汽车发动机都有它的身影,感觉以后要多留意身边科技的奇妙之处了!

    有13位网友表示赞同!


沐晴つ

其实用一个故事来解释PID就有点太简单化了哦。如果能结合一些公式和数学模型,那就更能让人深入理解这个概念。

    有18位网友表示赞同!


拥菢过后只剰凄凉

我还是觉得这篇文章比较浅显,对于对PID了解不太深的人来说可能会有帮助,但对于有一定基础的读者来说,内容略显单调。

    有19位网友表示赞同!

上一篇
下一篇

为您推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@zhutibaba.com

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

手机访问
手机扫一扫打开网站

手机扫一扫打开网站

返回顶部