PID算法的数字化

​   PID算法的表达式:
P(t)=Kp[e(t)+1TI∫e(t)dt+TDde(t)dt](1)P(t)=K_p[e(t)+\frac{1}{T_I}\int{e(t)dt}+T_D\frac{de(t)}{dt}]\tag{1} P(t)=Kp​[e(t)+TI​1​∫e(t)dt+TD​dtde(t)​](1)
​   P(t)P(t)P(t)为调节器的输出信号;e(t)e(t)e(t)为调节器的偏差信号,它等于给定值与测量值之差;KPK_PKP​为调节器的比例系数;TIT_ITI​为调节器的积分时间;TDT_DTD​为调节器的微分时间。

​   由于计算机控制是一种采样控制,它只能根据采样时刻的偏差来计算控制量。所以 必须对上述公式进行离散化:
∫1ne(t)dt=∑j=0nE(j)Δt=T∑j=0nE(j)(2)\int_1^n{e(t)dt}=\sum_{j=0}^{n}{E(j)\Delta{t}}=T\sum_{j=0}^{n}{E(j)}\tag{2} ∫1n​e(t)dt=j=0∑n​E(j)Δt=Tj=0∑n​E(j)(2)

de(t)dt≈E(k)−E(k−1)Δt=E(k)−E(k−1)T(3)\frac{de(t)}{dt}\approx\frac{E(k)-E(k-1)}{\Delta{t}}=\frac{E(k)-E(k-1)}{T}\tag{3} dtde(t)​≈ΔtE(k)−E(k−1)​=TE(k)−E(k−1)​(3)

​   将(2)和(3)代入(1)中得到:
P(k)=Kp{E(k)+TTI∑j=0kE(j)+TDT[E(k)−E(k−1)]}P(k)=K_p\{E(k)+\frac{T}{T_I}\sum_{j=0}^{k}{E(j)}+\frac{T_D}{T}[E(k)-E(k-1)]\} P(k)=Kp​{E(k)+TI​T​j=0∑k​E(j)+TTD​​[E(k)−E(k−1)]}
​   式中,T=ΔtT=\Delta{t}T=Δt为采样周期,必须使TTT足够小,才能保证系统有一定的精度。

一、位置型PID

​   在位置控制算式中,不仅需要对E(j)E(j)E(j)进行累加,而且计算机的任何故障都会引起P(k)P(k)P(k)大幅度变化。

​   第k次采样时PID的输出表达式:
P(k)=KpE(k)+KI∑j=0kE(j)+KD[E(k)−E(k−1)](4)P(k)=K_pE(k)+K_I\sum_{j=0}^{k}{E(j)}+K_D[E(k)-E(k-1)]\tag{4} P(k)=Kp​E(k)+KI​j=0∑k​E(j)+KD​[E(k)−E(k−1)](4)
​   为程序设计时更加方便,设比例输出:
PP(k)=KPE(k)(5)P_P(k)=K_PE(k)\tag{5} PP​(k)=KP​E(k)(5)
​   积分项输出:
PI(k)=KI∑j=0kE(j)=KIE(k)+PI(k−1)(6)P_I(k)=K_I\sum_{j=0}^{k}{E(j)}=K_IE(k)+P_I(k-1)\tag{6} PI​(k)=KI​j=0∑k​E(j)=KI​E(k)+PI​(k−1)(6)
​   微分项输出:
PD(k)=KD[E(k)−E(k−1)](7)P_D(k)=K_D[E(k)-E(k-1)]\tag{7} PD​(k)=KD​[E(k)−E(k−1)](7)
​   简写得到离散化的位置型PID编程公式:
P(k)=PP(k)+PI(k)+PD(k)(8)P(k)=P_P(k)+P_I(k)+P_D(k)\tag{8} P(k)=PP​(k)+PI​(k)+PD​(k)(8)

二、增量型PID

​   增量型PID优点:1、由于计算机输出的是增量,所以误动作影响小,必要时可用逻辑判断的方法去掉;2、不产生积分失控。劣势:1、积分截断效应大,有静态误差;2、溢出的影响大。

​   增量型PID公式为:
ΔP(k)=Kp[E(k)−E(k−1)]+KIE(k)+KD[E(k)−2E(k−1)+E(k−2)](9)\Delta{P(k)}=K_p[E(k)-E(k-1)]+K_IE(k)+K_D[E(k)-2E(k-1)+E(k-2)]\tag{9} ΔP(k)=Kp​[E(k)−E(k−1)]+KI​E(k)+KD​[E(k)−2E(k−1)+E(k−2)](9)
​   比例项:
ΔPP(k)=KP[E(k)−E(k−1)](10)\Delta{P_P(k)}=K_P[E(k)-E(k-1)]\tag{10} ΔPP​(k)=KP​[E(k)−E(k−1)](10)
​   积分项:
ΔPI(k)=KIE(k)(11)\Delta{P_I(k)}=K_IE(k)\tag{11} ΔPI​(k)=KI​E(k)(11)
​   微分项:
ΔPD(k)=KD[E(k)−2E(k−1)+E(k−2)](12)\Delta{P_D(k)}=K_D[E(k)-2E(k-1)+E(k-2)]\tag{12} ΔPD​(k)=KD​[E(k)−2E(k−1)+E(k−2)](12)
​   简写得到增量型PID公式:
ΔP(k)=ΔPP(k)+ΔPI(k)+ΔPD(k)(13)\Delta{P(k)}=\Delta{P_P(k)}+\Delta{P_I(k)}+\Delta{P_D(k)}\tag{13} ΔP(k)=ΔPP​(k)+ΔPI​(k)+ΔPD​(k)(13)

PID算法的数字离散化相关推荐

  1. 针对初学者的PID算法教程,以及趣味总结

    关注+星标公众号,不错过精彩内容 来源 | 技成培训 PID的数学模型 在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般 ...

  2. PID控制算法实践应用(一):PID算法的离散化

    目录 前言 一.PID连续系统离散化 二.总结 前言 上一节中,论述了PID算法的基本形式,并对其控制过程的实现有了一个简要的说明,通过上一节的总结,基本已经可以明白PID控制的过程.这一节中先继续上 ...

  3. PID算法搞不懂?看这篇文章。

    大家好,我是张巧龙,网上关于PID算法的文章很多,但是感觉有必要自己再进行一次总结,抽丝剥茧地重新认识了一下PID: 1 前言 2 开环控制 3 闭环控制 4 PID 4.1 系统架构 4.2 理论基 ...

  4. 电子设计竞赛(4)-常用的两种PID算法

    公众号关注 "大鱼机器人" 设为 "星标",重磅干货,第一时间送达! 1. 什么是PID PID 控制器以各种形式使用超过了 1 世纪,广泛应用在机械设备.气动 ...

  5. 用Excel教会你PID算法

    01.引入PID 电机控制 这样是没有反馈的,也就是说我们完全相信输入的数字,且是理想化的模型,比如输入占空比为50%的25Kz的PWM,车轮速度为1m/s,实际产品中会受到各种这样的影响,比如地面阻 ...

  6. PID算法的基础知识

    PID的含义 控制系统通常根据有没有反馈会分为开环系统和闭环系统,PID是一个闭环控制算法.因此要实现PID算法,必须在硬件上具有闭环控制,就是得有反馈.比如控制一个电机的转速,就得有一个测量转速的传 ...

  7. PID算法入门与C语言代码实现

    PID算法的入门理解以及C代码实现 在结束了自控原理的学习后,了解到PID算法是一种万能算法,在课设中也是经常使用到的一种算法,所以想具体的来进行以下总结与学习,如果有错漏的地方,欢迎大家共同来探讨与 ...

  8. PID控制器开发笔记之一:PID算法原理及基本实现

           在自动控制中,PID及其衍生出来的算法是应用最广的算法之一.各个做自动控制的厂家基本都有会实现这一经典算法.我们在做项目的过程中,也时常会遇到类似的需求,所以就想实现这一算法以适用于 ...

  9. 在 FPGA 上快速构建 PID 算法

    在 FPGA 上快速构建 PID 算法 副标题:优秀的IC/FPGA开源项目(四)-使用HLS构建PID算法 <优秀的IC/FPGA开源项目>是新开的系列,旨在介绍单一项目,会比<优 ...

最新文章

  1. sql server 数据库备份方案
  2. 使用mysql-proxy 快速实现mysql 集群 读写分离
  3. [译]2019年修炼前端开发者之路
  4. 使用docker安装的mysql如何让其他机器访问
  5. mastercam2017安装教程
  6. poj1182(食物链)续
  7. 插入节点insertBefore()
  8. python如何保持数据类型不变_python 可变和不可变数据类型、格式化输出和基础运算符...
  9. mysql for update缺点_有关mysql的for update以及 死锁问题
  10. layer模态窗简单使用
  11. verilog之状态机的结构
  12. 【图像增强】基于matlab GUI暗通道图像去雾【含Matlab源码 740期】
  13. prinect pdf toolbox 2021中文版
  14. c#明华rf读卡器_:C# 实现明华读卡器(2)
  15. java 调查问卷_java学习调查问卷
  16. 【QT】QT从零入门教程(八):图像灰度化
  17. 生命计算机在线,抖音死亡计算器寿命计算器在线测试入口 使用生命年龄计算器...
  18. 2022全年PMP考证时间表(预估)收藏版
  19. 高等数学 - 对弧长的积分
  20. easyBCD修改系统启动项

热门文章

  1. 【数据结构】【期末复习】知识点总结
  2. PCB设计容易出错的地方都有哪些?
  3. 最优二叉树(哈夫曼树)
  4. 多元正态分布最大似然估计
  5. L3-009 长城 (30分):几何数学
  6. VR工地安全教育三维仿真软件提高作业人员生命财产安全
  7. 0x80070003系统找不到指定路径_Win7系统安装MySQL之后找不到指定文件与服务如何解决?...
  8. 在Android.mk文件中进行文件拷贝
  9. centos7网络配置没有ens33文件
  10. 什么是BlackICE?