【PID学习笔记10】PID公式分析

news2024/11/25 2:53:14

写在前面

前面已经将控制系统的基础知识点过了一遍,从本节开始,将正式学习PID控制的相关知识,将会从基本的PID公式概念解释,再基于matlab仿真介绍十几种数字式PID的基本概念。本文重点讲解PID的经典公式。

一、连续与离散的概念

  • 连续就是时间和数值上是连续不间断的,在图形表示上是一条平滑的曲线。
  • 离散就是采用时间采样的方式使得时间上离散;并且量化数值,使得数值是离散的。
  • 图形化表示如下:

请添加图片描述

  • 信号算式表示如下表:
运算连续表示运算离散表示
积分 ∫ 0 t x ( t ) d t \int_0^t x(t)dt 0tx(t)dt求和 ∑ n = 0 N x ( n ) \displaystyle \sum_{n=0}^N x(n) n=0Nx(n)
求导 d x ( t ) d t \frac{dx(t)}{dt} dtdx(t)变化率 x ( n ) − x ( n − 1 ) Δ t \frac{x(n)-x(n-1)}{\Delta t} Δtx(n)x(n1)

二、PID公式分析

  • 公式1:
    u ( t ) = k p ( e + 1 T i ∫ 0 t e d t + T d d e d t ) u(t)=k_p(e+\frac{1}{T_i}\int_0^t edt+T_d\frac{de}{dt}) u(t)=kp(e+Ti10tedt+Tddtde)
    其中 k p k_p kp 为比例系数, T i T_i Ti 为积分时间常数, T d T_d Td 为微分时间常数。

请添加图片描述

上图是前面我们学过的闭环控制系统框图,我们看到图中标记的这个u(t)是控制器的输出,也就是控制器环节与执行器之间的信号量。公式中有一个熟悉的参数 e e e,这是误差,也是图中控制系统中的 E E E(等于期望输出减去实际输出)。

公式分成三部分相加,第一部分主要是误差变量,第二部分主要是一个从 0 0 0 t t t 对误差 e e e 的积分运算,第三部分主要是对误差 e e e 求导。

k p k_p kp是比例系数, T i T_i Ti 是积分时间, T d T_d Td 是微分时间,这三个参数也是PID里要调的三个参数,这三个参数在实际 PID 实现中,如单片机实现、matlab、simulink仿真中都是经过化简后直接调节 K p K_p Kp K i K_i Ki K d K_d Kd这三个参数。

  • 将公式1转化成常用的形式如下,分为连续形式和离散形式
  • 连续形式的常用PID公式:

u ( t ) = k p e + k i ∫ 0 t e d t + k d d e d t u(t)=k_p e+k_i\int_0^t edt+k_d\frac{de}{dt} u(t)=kpe+ki0tedt+kddtde

  • 离散形式的常用PID公式:

u ( t ) = k p e i + k i ∑ i = 0 N e i + k d e i − e i − 1 Δ t u(t)=k_p e_i+k_i \displaystyle \sum_{i=0}^N e_i+k_d \frac{e_i-e_{i-1}}{\Delta t} u(t)=kpei+kii=0Nei+kdΔteiei1

  • 这样,闭环控制系统框图可以转化为:

请添加图片描述

三、PID控制器各校正环节的作用

  • 比例环节:
    • 成比例地反映控制系统的偏差信号 e ( t ) e(t) e(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差。
  • 积分环节:
    • 主要用于消除静态误差,提高系统的无差度。积分作用的强弱取决于积分时间常数 T T T, T T T 越大,积分作用越弱,反之则越强。
  • 微分环节:
    • 反映偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。

四、以无人机高度控制的实例进一步解释公式

(1)Proportional比例控制
纯比例控制下:
请添加图片描述

  • 对照前面的PID公式,按下图中的高度值计算。
    在这里插入图片描述

我们来看第一幅图,假如我们要让无人机悬停在 10 10 10米的高度,设为 h = 10 h=10 h=10,而此时,它的高度是 2 2 2米,设为 h 0 = 2 h0=2 h0=2。那就有 e = h − h 0 = 8 e=h-h0=8 e=hh0=8米的误差,假设Kp等于0.5,则比例环节 K p ∗ e = 0.5 ∗ 8 = 4 K_p* e=0.5*8=4 Kpe=0.58=4米,比例控制就是每次调节高度是误差的 K p K_p Kp倍,第一次调节后,无人机上升了4米。

第二幅图,此时无人机的高度,设为 h 1 = 2 + 4 = 6 h1=2+4=6 h1=2+4=6米,也就是最初未调节前无人机的高度 2 2 2米,再加上第1次调节的高度 4 4 4米,现在是 6 6 6米。那我们看现在的误差是多少,现在的误差是设定高度 10 10 10米减去现在高度 6 6 6米,即 e = h − h 1 = 10 − 6 = 4 e=h-h1=10-6=4 e=hh1=106=4米。再乘以 K p K_p Kp,即 K p ∗ e = 0.5 ∗ 4 = 2 Kp*e=0.5*4=2 Kpe=0.54=2米,目前还有两米误差,依次进行下去,随着误差的减小,每次调节上升的量也逐渐减小,但最终会接近 10 10 10米的目标高度,这个过程就是比例控制。

可以看到比例系数 K p K_p Kp越大,系统反应越快,无人机可以更快的靠近目标,但比例控制也有天生的弱点,在实际过程中有着各种各样的干扰,比如无人机到达 8 8 8米后,有持续的风将无人机向下吹,每次正好往下吹 1 1 1米,而比例控制往上升的高度误差 2 2 2乘以系数 0.5 0.5 0.5,也正好是 1 1 1米,这样的话,这个无人机就会悬停在这个高度,无法达到指定高度,这就是静态误差(也叫稳态误差)。也就是说虽然较大的比例系数能让系统快速到达目标值附近,但 K p K_p Kp调的再大,也避免不了与目标值存在稳态误差,这就需要引入积分控制。

  • P作用下的阶跃响应

在这里插入图片描述

(2)Integral积分控制

在比例控制上,引入积分控制。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

积分控制是对过去所有的误差求和,在离散的情况下,就是做累加,无人机经过两次控制,第一次误差是 8 8 8米,第二次误差是 4 4 4米,那么它的累积误差就是 12 12 12米,如果积分系数是 0.1 0.1 0.1,那即便此时向下吹的高度和比例控制上升的高度效果抵消,积分控制还是可以让无人机往上吹 1.2 1.2 1.2米,这样就可以逐渐达到目标高度。

对于这个控制过程加入合适的积分控制系数后,被控量就能既快速又精准的到到目标值。但是,这样的控制仍然不完美,至少在一些对偏差控制要求比较严格的场合,仍然是一次失败的调节,因为这个控制曲线的超调量太大。如果这个曲线是汽车自动驾驶情况下方向盘的控制曲线,这么大的过冲,对于乘客来说,肯定是一场精心动魄的体验。

我们再回到无人的例子,我们经过三次控制累积误差已经从 12 12 12变成 12.8 12.8 12.8,乘以积分系数 K i K_i Ki等于 1.28 1.28 1.28,而此时无人机距离目标高度只有 0.8 0.8 0.8米,直接飞上去,就出现了过冲现象,此时就该微分控制出场了。

  • PI作用下的阶跃响应
    在这里插入图片描述

(3)Derivative微分控制

在这里插入图片描述

微分控制就是通过当前时刻与前一时刻误差量的差值,对未来做预测,如果差值为正,就认为误差在逐渐变大,需要加大控制强度,使误差降下来,如果误差为负,则误差在逐渐变小,控制强度可以小一点,让目标平稳缓和的到达指定值,这样我们给 K d K_d Kd一个合适的值,就可以让无人机平稳达到 10 10 10米的高度。

  • PID作用下的阶跃响应

在这里插入图片描述

从阶跃函数可以看出,系统超调量得到有效控制,最终得到了我们期望的一个曲线。

五、PID参数比较

在这里插入图片描述


本节完

特别说明:文中如有编辑错误,感谢指出,会及时更新。本文的实例是之前学习阶段看的一个视频,感觉很有代表性,就分享在这里,如有侵权,请私信我删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1312134.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Tableau进阶--Tableau数据故事慧(20)解构Tableau的绘图逻辑

官网介绍 官网连接如下: https://www.tableau.com/zh-cn tableau的产品包括如下: 参考:https://zhuanlan.zhihu.com/p/341882097 Tableau是功能强大、灵活且安全些很高的端到端的数据分析平台,它提供了从数据准备、连接、分析、协作到查阅…

【MATLAB】数据拟合第10期-二阶多项式的局部加权回归拟合算法

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 二阶多项式局部加权回归拟合算法是一种用于回归分析的方法,主要通过局部加权线性回归模型来实现。以下是对二阶多项式局部加权回归拟合算法的介绍: 局部加权线性回…

C# OpenCvSharp DNN 部署YOLOV6目标检测

目录 效果 模型信息 项目 代码 下载 C# OpenCvSharp DNN 部署YOLOV6目标检测 效果 模型信息 Inputs ------------------------- name:image_arrays tensor:Float[1, 3, 640, 640] -------------------------------------------------------------…

搭建个人智能家居 开篇(搭建Home Assistant)

搭建个人智能家居 开篇(搭建Home Assistant) 前言Home Assistant搭建Home AssistantUbuntu系统搭建Windows系统搭建VM安装方法VirtualBox安装方法: 配置Home Assistant控制页面 前言 随着科技的进步、发展,物联网给我们的生活带来…

Axure的安装及界面基本功能介绍

目录 一. Axure概述 二. Axure安装 2.1 安装包下载 2.2 安装步骤 三. Axure功能介绍​ 3.1 工具栏介绍 3.1.1 复制,剪切及粘贴 3.1.2 选择模式和连接 3.1.3 插入形状 3.1.4 点(编辑控点) 3.1.5 置顶和置底 3.1.6 组合和取消组合 …

双向无线功率传输系统MATLAB仿真

微❤关注“电气仔推送”获得资料(专享优惠) 模型简介: 初级侧转换器通过双向 AC/DC 转换器从电网获取电力,并由直流线电压 Vin 供电,而拾波侧被视为连接到 EV,并由连接到任一存储的单独直流源 Vout 表示或…

express 下搞一个 websocket 长连接

安装模块 npm i express npm i express-ws 新建文件app.js 先安排源码 监听端口 7777 var express require(express) var app express() require(express-ws)(app)var port 7777 var clientObject {} app.ws(/, (client, req) > {// 连接var key req.socket.re…

TypeScript【枚举、联合类型函数_基础、函数_参数说明 、类的概念、类的创建】(二)-全面详解(学习总结---从入门到深化)

文章目录 枚举 联合类型 函数_基础 函数_参数说明 类的概念 类的创建 枚举 枚举(Enum)类型用于取值被限定在一定范围内的场景,比如一周只能有七天,颜色限定为红绿蓝等 枚举例子 枚举使用 enum 关键字来定义 enum Days {…

locust 压测 websocket

* 安装 python 3.8 https://www.python.org/ py --version * 安装 locust pip install locust2.5.1 -i http://pypi.douban.com/simple/ pip install locust2.5.1 -i https://pypi.mirrors.ustc.edu.cn/simple/ locust -V 备注:-i 是切换下载源 * 安装依赖 pip ins…

一篇文章讲透TCP/IP协议

1 OSI 7层参考模型 2 实操连接百度 nc连接百度2次,使用命令netstat -natp查看就会重新连接一次百度 请求百度 3 三次握手、socket 应用层协议控制长连接和短连接 应用层协议->传输控制层(TCP UDP)->TCP( 面向连接&am…

超声波清洗机应该怎样使用?清洁能力强超声波清洗机推荐

其实超声波清洗机使用方法非常简单,只需要将清洁物品放进超声波清洗机内,加入水打开开关即可开始使用,不需要太复杂操作就可以开启清洗,等待个数分钟就可以得到一个干干净净的物品被清洗完毕!可见现在科技进步&#xf…

在Node.js中MongoDB更新数据的方法

本文主要介绍在Node.js中MongoDB更新数据的方法。 目录 Node.js中MongoDB更新数据使用原生 MongoDB 驱动程序更新数据使用 Mongoose 更新数据 Node.js中MongoDB更新数据 在Node.js中,可以使用原生的 MongoDB 驱动程序或者使用 Mongoose 来更新 MongoDB 数据。 下面…

Redis设计与实现之字典

目录 一、字典 1、 字典的应用 实现数据库键空间 用作Hash类型键的其中一种底层实现 2、字典的实现 哈希表实现 哈希算法 3、创建新字典 4、添加键值对到字典 5、添加新元素到空白字典 6、添加新键值对时发生碰撞处理 7、添加新键值对时触发了 rehash操作 Note:什么…

SpringIOC之FilterType

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

MySQL事务与MVCC详解

前置概念之事务 在开始MVCC的讨论之前,我们必须了解一些关于事务的概念。 什么是事务 现在我们开发的一个功能需要进行操作多张表,假如我们遇到以下几种情况: 某个逻辑报错数据库连接中断某台服务器突然宕机… 这时候我们数据库执行的操作可能才到一…

从零开始搭建企业管理系统(七):RBAC 之用户管理

RBAC 之用户管理 创建表(Entity)用户表角色表权限表用户角色表关系注解ManyToMany 角色权限表 接口开发UserControllerUserServiceUserServiceImplUserRepository 问题解决update 更新问题懒加载问题JSON 循环依赖问题 根据上一小结对表的设计&#xff0…

2020年AMC8数学竞赛真题的典型考点和详细解析

从战争中学习战争。 对于2024年1月19日的AMC8竞赛,如何备考和冲刺取得更好的成绩?六分成长建议通过反复刷真题,来掌握AMC8的出题方式、考点和解题思路,并且对自己前期的学习查漏补缺,这是最快的方式。 如何提高刷真题…

5G边缘网关如何助力打造隧道巡检机器人

我国已建成全世界里程最长的公路网、铁路网,是国民经济发展与国家现代化的重要支撑。我国幅员辽阔,地理环境复杂,公路/铁路的延伸也伴随着许多隧道的建设,由于隧道所穿越山体的地质条件复杂,对于隧道的监测、管理与养护…

HarmonyOS保存应用数据

数据管理 1 概述 在移动互联网蓬勃发展的今天,移动应用给我们生活带来了极大的便利,这些便利的本质在于数据的互联互通。因此在应用的开发中数据存储占据了非常重要的位置,HarmonyOS应用开发也不例外。 本文将为您介绍HarmonyOS提供的数据管…

Excel公式逆天了--使用公式修改其他单元格格式

想必连VBA小白都知道,VBA编程中有两种过程:Sub和Function(有时称为UDF,User Defined Function),二者最明显的区别在于Function可以提供返回值,并且在Excel公式可以调用Function。 多数VBA图书都…