PID控制学习–原理(一)

PID控制学习–原理(一)目录一、PID控制原理与程序流程1、过程控制2、PID调节各个单元的作用二、数字PID控制器1、模拟PID控制规律的离散化2、数字PID控制器的差分方程3、常见的控制方式4、PID算法的两种形式三、PID算法的程序流程1、增量型PID算法的程序流程2、位置型PID控制的程序流程3、程序流程四、标准PID算法的改进1、微分项的改进2、微分线…

大家好,又见面了,我是你们的朋友全栈君。

目录

一、PID控制原理与程序流程

1、过程控制

2、PID调节各个单元的作用

二、数字PID控制器

1、模拟PID控制规律的离散化

2、数字PID控制器的差分方程

3、常见的控制方式

4、PID算法的两种形式

三、PID算法的程序流程

1、增量型PID算法的程序流程

2、位置型PID控制的程序流程

3、程序流程

四、标准PID算法的改进

1、微分项的改进

2、微分线性和输入滤波

3、积分项的改进

4、消除积分不灵敏区


 

一、PID控制原理与程序流程

1、过程控制

对生产过程某一或某些物理参数进行自动控制。

模拟控制系统:

PID控制学习--原理(一)

               图1-1 基本模拟反馈控制回路

被控量的值由传感器或变送器来检测,这个值与给定值进行比较,得到偏差,模拟调节器按照一定控制规律使操作变量变化,以使偏差趋近于零,其输出通过执行器作用于过程。

微机过程控制系统:

PID控制学习--原理(一)

           图1-2 微机过程控制系统原理图

以微型计算机作为控制器,控制规律的实现,是通过软件来完成的。改变控制规律,只要改变相应的程序即可。

模拟PID调节器:

PID控制学习--原理(一)

                        图1 模拟PID控制系统原理框图

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

(1)、PID调节器的微分方程

  PID控制学习--原理(一)

式中 e(t) = r(t) – c(t)

(2)、PID调节器的传输函数

PID控制学习--原理(一)   

2、PID调节各个单元的作用

(1)、比例单元P:即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减小偏差。

(2)、积分单元I:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数TI,TI越大,积分作用越弱,反之则越强。

(3)、微分单元D:能反应偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。

二、数字PID控制器

1、模拟PID控制规律的离散化

                 表1 模拟形式与离散化形式

PID控制学习--原理(一)

2、数字PID控制器的差分方程

PID控制学习--原理(一)

式中  PID控制学习--原理(一)                    称为比例项

           PID控制学习--原理(一)              称为积分项

       PID控制学习--原理(一) 称为微分项

3、常见的控制方式

PID控制学习--原理(一)

4、PID算法的两种形式

(1)、位置型控制

PID控制学习--原理(一)

PID控制学习--原理(一)

           图3 位置型PID控制流程图

(2)、增量型控制

PID控制学习--原理(一)

PID控制学习--原理(一)

           图4 增量型PID控制流程图 

例:设有一温度控制系统,温度测量范围是0~600℃,温度采用PID控制,控制指标为450±2℃。已知比例系数Kp=4,积分时间Ti=60s,微分时间Td=5s,采样周期T=5s。当测量值c(n)=448,c(n-1)=449,c(n-2)=442时,计算增量输出PID控制学习--原理(一)

。若u(n-1)=1860,计算第n次阀位输出u(n)。

      PID控制学习--原理(一)

 

三、PID算法的程序流程

1、增量型PID算法的程序流程

增量型PID算法的算式:

PID控制学习--原理(一)

2、位置型PID控制的程序流程

PID控制学习--原理(一)

位置型PID算法的程序流程只需在增量型PID算法的程序流程基础上增加一次加运算PID控制学习--原理(一)

3、程序流程

PID控制学习--原理(一)

      图5 增量型PID算法和位置型PID算法程序流程

四、标准PID算法的改进

1、微分项的改进

(1)、不完全微分型PID控制算法

PID控制学习--原理(一)

                          图6 不完全微分型PID控制算法 

(2)完全微分和不完全微分作用的区别

PID控制学习--原理(一)

                     图7  完全微分与不完全微分的区别 

(3)、不完全微分型PID算法的差分方程

PID控制学习--原理(一)

PID控制学习--原理(一)

2、微分线性和输入滤波

(1)、微分先行

微分先行是把对偏差的微分改为对被控量的微分,这样,在给定值变化时,不会

产生输出的大幅度变化。而且由于被控量一般不会突变,即使给定值已发生改变,

被控量也是缓慢变化的,从而不致引起微分项的突变。微分项的输出增量为

PID控制学习--原理(一)

(2)、输入滤波

输入滤波就是在计算微分项时,不是直接应用当前时刻的误差e(n),而是采用滤

波值e(n),即用过去和当前四个采样时刻的误差的平均值,再通过加权求和形式

近似构成微分项

PID控制学习--原理(一)

3、积分项的改进

抗积分饱和

积分作用虽能消除控制系统的静差,但它也有一个副作用,即会引起积分饱和。在偏差始终存在的情况下,造成积分过量。当偏差方向改变后,需经过一段时间后,输出u(n)才脱离饱和区。这样就造成调节滞后,使系统出现明显的超调,恶化调节品质。这种由积分项引起的过积分作用称为积分饱和现象。

克服积分饱和的方法:

(1)、积分限幅法

积分限幅法的基本思想是当积分项输出达到输出限幅值时,即停止积分项的计算,这时积分项的输出取上一时刻的积分值。其算法流程如图5-2-4所示。

(2)、积分分离法

积分分离法的基本思想是在偏差大时不进行积分,仅当偏差的绝对值小于一预定的门限值ε时才进行积分累积。这样既防止了偏差大时有过大的控制量,也避免了过积分现象。其算法流程如图5-2-5

PID控制学习--原理(一)                    PID控制学习--原理(一)

    图8 积分限幅法程序流程                          图9 积分分离法程序流程

 

(3)、变速积分法

变速积分法的基本思想是在偏差较大时积分慢一些,而在偏差较小时积分快一些,以尽快消除静差。即用代替积分项中的

PID控制学习--原理(一)

4、消除积分不灵敏区

积分不灵敏区产生的原因

           PID控制学习--原理(一)     

当计算机的运行字长较短,采样周期T也短,而积分时间TI又较长时,容易出现小于字长的精度而丢数,此积分作用消失,这就称为积分不灵敏区。

PID控制学习--原理(一)

PID控制学习--原理(一)

 

欢迎关注我的公众号:

                     编程技术与生活(ID:hw_cchang)

PID控制学习--原理(一)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136864.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 批处理 注释_批处理文件注释语句

    批处理 注释_批处理文件注释语句rem为注释命令,用来给程序加上注释,该命令后的内容不被执行,但是能够回显。::也可以起到和rem一样的注释效果,但是有两点需要注意:1.任何以:开头的字符行,在批处理中都被视作标号,而直接忽略其后所有的内容。一个有效的标号在冒号后紧跟一个以字母或数字开头的字符串,它能够被goto命令所识别。如果冒号后面跟的是非数字字母的特殊符号,则被视为无效标号,goto命令无法识别这类标号,从而起到注…

    2022年10月23日
  • pycharm激活码2022【2021.8最新】

    (pycharm激活码2022)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlS32PGH0SQB-eyJsaWNlbnNlSWQi…

  • vue项目引入外部原生js文件_php引入文件的四个方法

    vue项目引入外部原生js文件_php引入文件的四个方法在开发Vue项目的时候,有时需要使用一些非ES6格式的没有export的js库,可以有如下方法实现:1.在index.html页面使用script标签引入当然也可以使用cdn的地址。这样引入后的内容是全局的,可以在所有地方使用。<!DOCTYPEhtml><html> <head> <title>Map</title> <metacharset=”utf-8″> <meta

  • pygame安装(超级详细)

    pygame安装(超级详细)安装时是需要设置python环境变量的,下载python的时候底下有个小框框(没有默认选中)AddPython3.7toPATH需要选择的,如果没有选择的话,需要自己设置,我一般比较懒,卸载了python重新下载的,让下载器自动设置。然后是python版本问题有人疑问这是64位还是32位,看那个[64bit]是64位,至于后面的on32是在windows上使用的意思,在Linux上…

  • UVA11294-Wedding(2-SAT)

    UVA11294-Wedding(2-SAT)

  • java压缩/解压war包

    java压缩/解压war包packagecom.kingsoft.unwar;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号