首页 > 其他分享 >有关 PID 控制的入门理论知识

有关 PID 控制的入门理论知识

时间:2023-05-28 23:00:49浏览次数:45  
标签:误差 入门 偏差 积分 PID 算法 理论知识 调节

 

有关 PID 控制的入门理论知识_控制系统

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

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

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

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

1、什么是 PID 呢?

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

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

有关 PID 控制的入门理论知识_控制算法_02

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

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

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

有关 PID 控制的入门理论知识_控制算法_03

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

有关 PID 控制的入门理论知识_控制系统_04

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

有关 PID 控制的入门理论知识_控制系统_05

然后:

有关 PID 控制的入门理论知识_控制算法_06

有关 PID 控制的入门理论知识_控制系统_07

由此可得:

有关 PID 控制的入门理论知识_控制系统_08

因此,上面的公式中:

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

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

有关 PID 控制的入门理论知识_控制系统_09

从上面也可以看的出来,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,如下:

有关 PID 控制的入门理论知识_控制系统_10

从上面的动图可以看出:

1、Kp越大,越能快速接近目标值1.0
2、只调整Kp可能会存在稳定误差
3、加入Ki可以减小稳定误差,但同时也使得系统震荡加剧
4、加入Ki加快了整体的响应速度
5、加入Kd可以减小震荡,但也降低了响应速度(可以通过观察图像什么时间t首次碰到目标1.0)



标签:误差,入门,偏差,积分,PID,算法,理论知识,调节
From: https://blog.51cto.com/wangjunlv/6366699

相关文章

  • Spring Data JPA 入门
    注解说明@Entity(name="")类注解,用来注解该类是一个实体类并用来和数据库中的表建立关联关系。其中name表示该表的名称@Table(name="")类注解,跟@Entity(name="")作用一致@Id属性注解,该注解表明该属性字段是一个主键,该属性必须具备,不可缺少@GeneratedValue(strategy=......
  • 《HTML入门笔记2》
    HTML常用标签分别有:a标签、img标签、table标签、form标签、input标签等。a标签(特别常用)a标签即超级链接,又叫超链接。一个网站通常由多个页面构成,进入网站时首先看到的就是其首页,如果想从首页跳转至其他页面,就需要在首页相应的位置添加超级链接。a标签其基本语法格式如......
  • 电赛控制类PID算法实现
    一、什么是PID学过自动控制原理的对PID并不陌生,PID控制是对偏差信号e(t)进行比例、积分和微分运算变换后形成的一种控制规律。PID算法的一般形式:PID控制系统原理框图二、PID离散化对PID连续系统离散化,从而方便在处理器上实现,PID离散表示形式:离散化后最终得到位置式PI......
  • WPF 入门笔记 - 02 - 布局综合应用
    本篇博文对接上篇末尾处WPF常用布局控件的综合应用,为痕迹g布局控件介绍课后作业的一个思路方法。前言首先来谈一谈布局原则:WPF窗口只能包含一个元素(Window元素属于内容控件,内容控件只允许有一个子元素),所以我们得在窗口中放置一个容器,才能使我们的窗口放置更多的内容。所以......
  • 五分钟了解Redis入门安装
    一、Redis是什么二、下载简单一点直接打开GitHub,下载.mis 三、安装 一直下一步,到这里更换你想要的路径,然后勾上自动添加环境变量,就不用手动添加  安装好的目录文件 四、启动点击redis-cli.exe 这个就是默认默认的端口号 五、配置文件cmd打开配置账号密六......
  • Web Component入门
    前言在我们现在的前端开发中,组件化早已成为主流。Vue、React、Angular等前端框架都贯彻着「组件化」的概念,而这一切「组件化」都是「高内聚、低耦合」思想下的产物。就当下而言,使用这些框架也会给我们带来一系列问题,例如:一个前端团队一半的项目用的Vue技术栈,一半的项目用的React......
  • 图像入门3
    图像识别30.序章​ 从本章起,我们的OpenCV将会插入一段美好而虚空的幻想故事……请各位勇士进入幻境,开始你们的学习之旅。1.大纲1、处理OpenCV中鼠标事件2、学习以鼠标作为画笔,如cv.setMouseCallback()函数2.使用鼠标作为画笔1)鼠标回调函数​ 在遥远的圣彼得堡,住着一......
  • TS 从入门到深度掌握,晋级TypeScript高手
    TS从入门到深度掌握,晋级TypeScript高手download:3wzxit666comRN从0到1系统精讲Part1:环境搭建ReactNative是一种基于React的开源框架,可以用JavaScript来编写原生移动应用程序。本文将详细介绍如何从零开始学习和使用ReactNative。安装必要软件首先,我们需要安装Node.js和npm......
  • WPF入门教程系列二十六——DataGrid使用示例(3)
    WPF入门教程系列目录WPF入门教程系列二——Application介绍WPF入门教程系列三——Application介绍(续)WPF入门教程系列四——Dispatcher介绍WPF入门教程系列五——Window介绍WPF入门教程系列十一——依赖属性(一)WPF入门教程系列十五——WPF中的数据绑定(一) 五、DataGr......
  • k8s-Pod调度策略(入门攻略)
    首先在k8s中,k8s会根据每个work节点的配置,负载差异,自动生成优选函数,根据优选函数,当master节点分配下来任务时,将pod分配带最适合运行的node节点上。之外我们技术人员还有以下三种方式去影响我们的pod调度,node节点调度器亲和性调度污点容忍度区别和实例操作一.node节点调度是最直接的......