0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是PID?PID算法的P、I、D部分的作用和解释

CHANBAEK 来源:嵌入式之入坑笔记 作者:嵌入式之入坑笔记 2023-08-22 11:01 次阅读

PID控制算法是自动控制中的一个非常典型且重要的算法,可以明确的说,对于学自动控制的朋友来说,不懂PID控制,那就等于没真正的学过自动控制。

PID的应用其实在我们的生活中是很普遍的,它不止浮现于算法介绍的文献中,在生活中也是应用广泛的、比如我们日常使用的恒温热水器、液位稳定系统,以及平衡车,无人机的飞行姿态、飞行速度的控制等等。甚至更加高端的领域如自动驾驶等都会涉及到PID的使用。

说到这里,那我们就得要思考几个问题:什么是PID?为什么需要使用 PID?什么情况下可以使用PID呢?

那我们先举个例子:比如恒温热水壶大家应该都熟悉吧,我想让热水壶里面的水可以保持在一个恒定的温度,那么就需要先将热水壶里面的水先加热到目标温度的位置附近。到达这个水温之后就一直保持在这个温度,当水温低了可以自动调节它升高到目标温度,当水温高了又能降低到目标温度。这个过程的实现就需要依靠一种调节算法来实现,而pid算法就能实现这样的操作。

1、什么是 PID 呢?

PID算法是一种闭环控制算法,它由比例(proportional)、积分(integral)、微分(derivative)三部分控制算法单元组成,是一种常见的用于保持目标参数或者目标对象稳定的控制算法。理论说的有点拗口,下面会一步一步解释的。

首先,我们先来理解一下过程控制的思路。下面是一个简单的闭环控制系统的框图:

图片

上图中,被控变量是我们希望通过这个控制系统进行控制的对象,而给定值是我们设定给系统的输入参数,希望通过整个控制系统的作用,在给定值的情况下被控对象达到我们预期的目标。这是我们理想中要得到的效果。

所以,上图中的调节器部分就是我们为了被控变量达到我们预设的目标值,而又能稳定的维持要采用的控制器(算法),而PID就是其中的一种算法。

上图中将调节器的部分改动一下,改为PID控制器,就变成如下的框图:

图片

框图中 e(t) 和 u(t) 的关系式如下:

图片将上面的传递函数展开,如下:

图片然后:

图片图片由此可得:

图片

因此,上面的公式中:

Kp:比例时间系数;
Ki:积分时间系数;
Kd:微分时间系数;
e(t):误差
t:时间

上面的式子中,把公式进行拆解,可以得到三种控制算法,每一种都可以单独使用,如下:

图片

从上面也可以看的出来,PID算法其实就是三个算法的组合,从数学的角度来看也就是三部分算法作用之后的的代数和!

总结:PID 调节器是一种线性调节器,它将给定值 r(t)与实际输出值 c(t)的偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进行控制。

2、PID算法的 P、I、D 部分的作用和解释

(1)P - 比例的作用

比例P的作用:能够即时成比例的反映控制系统的偏差信号e(t),一旦有偏差的产生,调节器能立即产生作用 减少偏差

这是什么意思呢?是不是不好理解?

简单点说:比例部分其实就是对系统设定值和输出值的偏差的放大倍数。

举个例子:

如果有一个电机的两端电压为U,系统采用P控制,P=0.4,设定的目标值是800,而现在的反馈值实际是1000,那么此时输出到电机两端的电压应该变为 U+0.4*(800-1000),以此来实现调节电机速度的目的。

由此也可以看的出来,P越大,电机转速回归到输入值的速度就越快,反应就越迅速,即调节的 灵敏度就越高

但是,P也不是越大越好,虽然P大的时候调节的灵敏度会变高,但是也容易导致调节之后的目标值在预设值的附近振荡,使系统稳定性下降,会造成系统不稳定。

(2)I - 积分的左右

针对上面提到的振荡的问题,引入积分是可以解决的。

积分的目的其实就是对预设值和反馈值之间的偏差在时间上进行累加,从而消除系统的稳态误差,提高系统的无差度。总而言之,只要系统还存在误差,那么积分环节就会进行调节,直到系统没有误差为止。

但是,积分作用也不是越强越好,积分的作用过强的话,会导致系统的调节效果出现滞后。

总的来说,积分环节的作用就是反应系统的累计偏差,使系统消除稳态误差,提高无差度,只要有误差的存在,积分调节就会进行,直至无误差;

(3)D - 微分的作用

还是接着上面的电机的转速来说明,微分的存在其实就是反映电机转速的变化率,能够通过之前误差的变化预测电机转速的误差变化的趋势,具有超前调节的作用,并且D越大,超前预测的作用越明显。

简单来说,微分的存在是为了预测偏差的变化趋势,产生超前的控制作用,在偏差没有形成之前,就通过微分的调节左右消除偏差,改善系统的动态性能。

关于PID的知识就先简单讲这么一点点,后期再继续学习补充。

下面是我在网上找到的一个关于PID的调节的一个演示,很生动的说明了PID调节过程中P、I、D三个控制参数作用到系统的调节效果,方便大家理解PID,如下:

图片

从上面的动图可以看出:

1、Kp越大,越能快速接近目标值1.0
2、只调整Kp可能会存在稳定误差
3、加入Ki可以减小稳定误差,但同时也使得系统震荡加剧
4、加入Ki加快了整体的响应速度
5、加入Kd可以减小震荡,但也降低了响应速度(可以通过观察图像什么时间t首次碰到目标1.0)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15235

    浏览量

    171206
  • PID
    PID
    +关注

    关注

    35

    文章

    1446

    浏览量

    83814
  • 自动控制
    +关注

    关注

    10

    文章

    649

    浏览量

    43697
  • PID控制
    +关注

    关注

    10

    文章

    442

    浏览量

    39703
  • 控制算法
    +关注

    关注

    4

    文章

    156

    浏览量

    21495
收藏 人收藏

    评论

    相关推荐

    形象解释PID算法+PID算法源代码

    了,但水位有时会高多了。他又在要求水面位置上面一点将水凿一孔,再接一根管子到下面的备用桶里这样多出的水会从上面的孔里漏出来。这个水漏出的快慢就称为微分时间。大学时代做机器人时用的PID算法源代码
    发表于 01-14 19:47

    怎么学习使用PID算法PID都是如何设置的?

    刚开始学STM32,接触到了PID算法,但是我对这个算法的概念还不是非常的清晰,这个算法是怎么应用到程序里面的,而且P
    发表于 06-07 13:10

    PID控制算法【精】

    。 2.PID是比例(P)、积分(I)、微分(D)控制算法但并不是必须同时具备这三种算法,也可以
    发表于 12-28 23:01

    干货分享!PID控制算法精华总结!

    也将以转速控制为例。   2,PID是比例(P)、积分(I)、微分(D)控制算法。但并不是必须同时具备这三种
    发表于 01-26 17:51

    用c语言实现的pid算法

    ,*pid; int process_point, set_point,dead_band; float p_gain, i_gain, d_gain, integral_val,ne
    发表于 07-02 06:27

    pid部分理论知识

    所谓的pid分别是三个英文单词的第一个字母:比例(P:proportional),积分(I:integral),微分(D:derivative)。file:///C:/Users/AD
    发表于 02-14 06:36

    PID算法的愚见分享!

    PID算法的愚见PID算法名字中的三个字母其实是此算法的三个核心系数:​ P: 比例系数​
    发表于 07-24 02:23

    收藏干货 PID算法实现

    系数.Ti:控制器的积分时间,也称积分系数.Td:控制器的微分时间,也称微分系数.P – 比例部分比例环节的作用是对偏差瞬间作出反应。偏差一旦产生控制器立即产生控制作用, 使控制量向减
    发表于 06-22 11:37

    PID算法学习笔记分享

    一些有趣的小故事来看,前几天自学的时候有看到一个讲小明给水桶装水的故事挺有趣,也比较直观,可以去搜一下看看。话说回来,什么是PID。其实就是一种控制算,P表示比例,I表示积分,D表示微
    发表于 01-14 06:50

    PID系数的理解

    文章目录一.PID控制算法1.什么是PID2.PID系数的理解Ⅰ.比例(P部分Ⅱ.积分(I
    发表于 01-14 08:17

    什么是PID控制算法呢?PID控制算法有何作用

    什么是PID控制算法呢?PID控制算法有何作用PID控制
    发表于 02-25 07:36

    PID算法原理介绍

    已经知道了,PID是三种不同的调节作用,既可以单独使用(PI
    发表于 12-30 09:35

    PID控制中PID参数的作用是什么?

    PID控制中有PID三个参数,只有明白这三个参数的含义和作用才能完成控制器PID参数整定,让
    发表于 06-20 06:50

    pid算法_什么是pid算法

    PID控制器是一种最优控制。本文讲述了增量式PID算法原理与数字PID算法原理与数字PID
    发表于 01-01 11:58 1.1w次阅读
    <b class='flag-5'>pid</b><b class='flag-5'>算法</b>_什么是<b class='flag-5'>pid</b><b class='flag-5'>算法</b>

    PID控制最通俗的解释PID参数的整定方法

    PID控制最通俗的解释PID参数的整定方法
    发表于 01-04 14:47 40次下载