转载自 https://www.cnblogs.com/steed/p/7808303.html

一、PID控制算法

  PID是比例、积分、微分的简称,PID控制的难点不是编程,而是控制器的参数整定。参数整定的关键是正确地理解各参数的物理意义,PID

控制的原理可以用人对炉温的手动控制来理解。阅读本文不需要高深的数学知识。

注:整个控制流程是PID控制器函数与被控对象的传递函数、一个负反馈结合完成的,在保证被控对象的传递函数与负反馈结合的闭环系统能够达

到稳态的前提下(可以采用阶跃信号实验来测试),在前面加上PID控制器,能够很好地实现快速、准确的调节系统,达到预期值。

PID的简介如下:

1.比例控制

  有经验的操作人员手动控制电加热炉的炉温,可以获得非常好的控制品质,PID控制与人工控制的控制策略有很多相似的地方。

  下面介绍操作人员怎样用比例控制的思想来手动控制电加热炉的炉温。假设用热电偶检测炉温,用数字仪表显示温度值。在控制过程中,操

作人员用眼睛读取炉温,并与炉温给定值比较,得到温度的误差值。然后用手操作电位器,调节加热的电流,使炉温保持在给定值附近。

   操作人员知道炉温稳定在给定值时电位器的大致位置(我们将它称为位置L),并根据当时的温度误差值调整控制加热电流的电位器的转角。炉

温小于给定值时,误差为正,在位置L的基础上顺时针增大电位器的转角,以增大加热的电流。炉温大于给定值时,误差为负,在位置L的基础上反

时针减小电位器的转角,并令转角与位置L的差值与误差成正比。上述控制策略就是比例控制,即PID控制器输出中的比例部分与误差成正比。

   闭环中存在着各种各样的延迟作用。例如调节电位器转角后,到温度上升到新的转角对应的稳态值时有较大的时间延迟。由于延迟因素的存在,

调节电位器转角后不能马上看到调节的效果,因此闭环控制系统调节困难的主要原因是系统中的延迟作用。

  比例控制的比例系数如果太小,即调节后的电位器转角与位置L的差值太小,调节的力度不够,使系统输出量变化缓慢,调节所需的总时间过长。

比例系数如果过大,即调节后电位器转角与位置L的差值过大,调节力度太强,将造成调节过头,甚至使温度忽高忽低,来回震荡。

  增大比例系数使系统反应灵敏,调节速度加快,并且可以减小稳态误差。但是比例系数过大会使超调量增大,振荡次数增加,调节时间加长,动

态性能变坏,比例系数太大甚至会使闭环系统不稳定。

  单纯的比例控制很难保证调节得恰到好处,完全消除误差。

2.积分控制

  PID控制器中的积分对应于图1中误差曲线 与坐标轴包围的面积(图中的灰色部分)。PID控制程序是周期性执行的,执行的周期称为采样周期。

计算机的程序用图1中各矩形面积之和来近似精确的积分,图中的TS就是采样周期。

图1  积分运算示意图

  每次PID运算时,在原来的积分值的基础上,增加一个与当前的误差值ev(n)成正比的微小部分。误差为负值时,积分的增量为负。

  手动调节温度时,积分控制相当于根据当时的误差值,周期性地微调电位器的角度,每次调节的角度增量值与当时的误差值成正比。温度低于

设定值时误差为正,积分项增大,使加热电流逐渐增大,反之积分项减小。因此只要误差不为零,控制器的输出就会因为积分作用而不断变化。积

分调节的“大方向”是正确的,积分项有减小误差的作用。一直要到系统处于稳定状态,这时误差恒为零,比例部分和微分部分均为零,积分部分

才不再变化,并且刚好等于稳态时需要的控制器的输出值,对应于上述温度控制系统中电位器转角的位置L。因此积分部分的作用是消除稳态误差,

提高控制精度,积分作用一般是必须的。

  PID控制器输出中的积分部分与误差的积分成正比。因为积分时间TI在积分项的分母中,TI越小,积分项变化的速度越快,积分作用越强。

3.PI控制

  控制器输出中的积分项与当前的误差值和过去历次误差值的累加值成正比,因此积分作用本身具有严重的滞后特性,对系统的稳定性不利。如

果积分项的系数设置得不好,其负面作用很难通过积分作用本身迅速地修正。而比例项没有延迟,只要误差一出现,比例部分就会立即起作用。因

此积分作用很少单独使用,它一般与比例和微分联合使用,组成PI或PID控制器。

  PI和PID控制器既克服了单纯的比例调节有稳态误差的缺点,又避免了单纯的积分调节响应慢、动态性能不好的缺点,因此被广泛使用。

  如果控制器有积分作用(例如采用PI或PID控制),积分能消除阶跃输入的稳态误差,这时可以将比例系数调得小一些。

  如果积分作用太强(即积分时间太小),相当于每次微调电位器的角度值过大,其累积的作用会使系统输出的动态性能变差,超调量增大,甚至

使系统不稳定。积分作用太弱(即积分时间太大),则消除稳态误差的速度太慢,积分时间的值应取得适中。

4.微分作用

  误差的微分就是误差的变化速率,误差变化越快,其微分绝对值越大。误差增大时,其微分为正;误差减小时,其微分为负。控制器输出量的微分

部分与误差的微分成正比,反映了被控量变化的趋势。

  有经验的操作人员在温度上升过快,但是尚未达到设定值时,根据温度变化的趋势,预感到温度将会超过设定值,出现超调。于是调节电位器的转

角,提前减小加热的电流。这相当于士兵射击远方的移动目标时,考虑到子弹运动的时间,需要一定的提前量一样。

图2   阶跃响应曲线

  图2中的c (∞)为被控量c (t)的稳态值或被控量的期望值,误差e(t) = c (∞) - c (t)。在图2中启动过程的上升阶段,当 时,被控量尚未超过其稳态值。

但是因为误差e(t)不断减小,误差的微分和控制器输出的微分部分为负值,减小了控制器的输出量,相当于提前给出了制动作用,以阻碍被控量的上升,

所以可以减少超调量。因此微分控制具有超前和预测的特性,在超调尚未出现之前,就能提前给出控制作用。

  闭环控制系统的振荡甚至不稳定的根本原因在于有较大的滞后因素。因为微分项能预测误差变化的趋势,这种“超前”的作用可以抵消滞后因素的影

响。适当的微分控制作用可以使超调量减小,增加系统的稳定性。

  对于有较大的滞后特性的被控对象,如果PI控制的效果不理想,可以考虑增加微分控制,以改善系统在调节过程中的动态特性。如果将微分时间设置

为0,微分部分将不起作用。

  微分时间与微分作用的强弱成正比,微分时间越大,微分作用越强。如果微分时间太大,在误差快速变化时,响应曲线上可能会出现“毛刺”。

  微分控制的缺点是对干扰噪声敏感,使系统抑制干扰的能力降低。为此可在微分部分增加惯性滤波环节。

5.采样周期

  PID控制程序是周期性执行的,执行的周期称为采样周期。采样周期越小,采样值越能反映模拟量的变化情况。但是太小会增加CPU的运算工作量,相

邻两次采样的差值几乎没有什么变化,将使PID控制器输出的微分部分接近为零,所以也不宜将采样周期取得过小。

  应保证在被控量迅速变化时(例如启动过程中的上升阶段),能有足够多的采样点数,不致因为采样点数过少而丢失被采集的模拟量中的重要信息。

  PID系统分为两类:模拟PID(一般由硬件组成,比如电子原件)和数字PID(通过AD/DA,结合数字编程来实现):

  模拟PID:

  数字PID:

  • 位置式:

  • 增量式:

  PID调节会遇到饱和的情况,一般有以下几种抑制的方法:

  • 遇限削弱积分法
  • 有效偏差法
  • 限位法

二、PID整定算法

PID手动整定

1.试凑法,试凑法就是人工选择PID参数,使控制系统响应达到预定要求,这种方法既简单又复杂,说简单是,如果你有经验和运气的话,

那么在SIMULINK中,可能很快就达到了目标,说难的是,在现场实战中,可能费了很大时间和精力来调整三个参数,也没有完成任务。

2.临界比例度法,临界比例度法就是仅在P作用下,调整比例度使系统等幅振荡,然后根据公式算出PID值,效果如图1所示,图中左半部分

是系统等幅振荡,右半部分是控制效果。

图1

3.衰减曲线法, 衰减曲线法 就是仅在P作用下,调整比例度使系统响应曲线以4:1或10:1比率衰减 ,然后根据公式算出PID值,效果如图2所

示,图中左半部分是系统衰减曲线 , 右半部分是控制效果。

图2

4.反应曲线法,反应曲线法就是在开环状态下,加阶跃信号,然后用一阶加纯滞后系统逼近原系统,然后根据由Z-N或C-C公式算出PID值,

效果如图3所示,图中左半部分是系统 响应曲线 , 右半部分是控制效果。图4是一个三阶系统,临界比例度法 求得的有关参数。

图3

图4

注:第1种方法,需要调整三个参数,第2-4种方法仅需调整一个参数,已经使问题大为简单,我们在这里用的是一维搜索算法,寻找合适的比

例度,但实际上在现场这仍然是一件费力费时话,无疑自动整定是更方便的方法。

PID自动整定

5.继电反馈法自整定

继电反馈法自整定 ,就是用一个继电器取代调节器,从而使系统强制振荡,然后根据振荡频率和幅值,计算出PID值,这个一种比较简单,也比

较靠谱的方法,应用比较广泛,由于现场存在有干扰,如用于实战,则需要重点考虑干扰问题, 如果继电器带有回滞,一定程度上可以克服干扰

影响,图5继电反馈法自整定效果。

图5

6.模式识别法

模式识别法是提取暂态过程中的一些特征向量,并据此不断修正PID值,模式识别法PID整定开始前,先要预整定,然后在预整定的基础上再进行

模式识别法 PID整定,本人做的模式识别法效果如图7所示,在预整定PID参数基本合适的情况下,经过3次整定就得到满意的效果,如图6所

示,否则整定次数将增加,如图7所示 ,模式识别法 颇像经验法,当然它是冠名为专家系统 ,而我玩的连“砖家系统”也算不上,勉强算个“本(笨)

人系统”吧。

图6

图7

7.自校正PID控制

自校正PID控制,实质上是一种极点配置法,就是通过调整PID控制器的结构和参数,使闭环系统的特征多项式变成预定的式子,这种PID控制表达式

离原本的PID表达式已经很远了,尽管冠名PID控制,图8是这种控制的效果,为实现自校正PID控制 ,需解丢番图方程。

图8

8.模糊自适应整定PID控制

自动整定好了是否就一劳永逸了呢?也不是,因为大部分的工业对象不是线性时不变(LTI)系统,负荷变化、设备老化等因素会使得对象特性发生变

化,此时,模糊自适应PID控制就有了用武之地,模糊自适应PID控制有点类似模式识别法PID整定,模式识别法PID整定需要预整定, 模糊自适应PID

控制需要有一个基础PID值,模式识别法PID整定根据专家规则调整PID值, 模糊自适应PID控制根据模糊规则调整PID值,模糊自适应整定PID控制的

效果如图9所示,被控对象是个大纯滞后系统。

图9

9.神经网络PID控制

如果,被控对象有强烈的非线性且有时变特性,那么.神经网络PID控制是合适的,  神经网络PID控制 的效果如图10所示,被控对象是个非线性时变系统。

图10

10.PID参数优化

模糊自适应PID控制和神经网络PID控制对时变,非线性和大纯滞后等系统有较好效果,但对特定的优化指标,如ISE,IAE,ITAE等无能为力,此时,就需

要用到最优化技术了,实际上很多时候,控制问题就是一个最优化问题,如最优控制,最小方差控制,预测控制,系统辨识等,神经网络实际上也是一

个优化的过程,PID参数优化,也是一个优化问题。优化一般来说,可以用传统的分析方法,也可以用群体智能算法,MATLAB中也有多个非线性寻优

函数,我们这里用了4中方法寻优,优化指标除了上面提到的3个外,还有工程上常用的4:1衰减,及特殊情况下有用的无超调控制,见图11-图15,图16

则是显示一个大纯滞后系统用PID控制效果,通常情况下,此时要用预估补偿控制或内模控制,但在这里我们看到PID控制仍然威力十足,控制效果相当

不错。

图11

图12

图13

图14

图15

PID控制及整定算法相关推荐

  1. SLAM导航机器人零基础实战系列:(四)差分底盘设计——5.底盘PID控制参数整定

    SLAM导航机器人零基础实战系列:(四)差分底盘设计--5.底盘PID控制参数整定 摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买 ...

  2. pid调节软件_(四)差分底盘设计——5.底盘PID控制参数整定

    运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为底盘包 ...

  3. 【openMV与机器视觉】四旋翼飞行控制背景下的PID控制与摄像头算法简介

    文章目录 声明 1.四旋翼飞行控制简介 2.飞行控制算法 2.1.接收机PWM生成 2.2.PID算法 位置PID 速度PID 3.摄像头算法 3.1.图像处理 3.2.霍夫曼变换 3.3.巡线算法 ...

  4. PID控制参数整定(调节方法)原理+图示+MATLAB调试

    序 首先最重要的是了解每个参数调节了系统响应的那些属性,通过观察响应从而调节参数改变属性. PID的作用概述: 1.P产生响应速度和力度,过小响应慢,过大会产生振荡,是I和D的基础. 2.I在有系统误 ...

  5. matlab里的pid参数调节,PID控制参数整定(调节方法)原理+图示+MATLAB调试

    序 首先最重要的是了解每个参数调节了系统响应的那些属性,通过观察响应从而调节参数改变属性. PID的作用概述: 1.P产生响应速度和力度,过小响应慢,过大会产生振荡,是I和D的基础. 2.I在有系统误 ...

  6. 【PID控制】几种调参方法的比较 (含计算代码)

    ⭐⭐几种整定方法总结(含参数计算代码)⭐⭐ PID 参数整定方法 临界比例度法 (Ziegle-Nichols算法 齐格勒尼科尔斯整定方法) 适用条件 主要原理 PID控制器类型的选择 开环阶跃响应曲 ...

  7. 双容水箱液位模糊PID控制系统设计与仿真(Matlab/Simulink)

    前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看.(点击跳转人工智能学习资料) 微信公众号:创享日记 发送:双容模糊 获取完整无水印报告+仿真源文件+ ...

  8. matlab simulink四旋翼无人机模糊PID控制姿态

    1.内容简介 略 532-可以交流.咨询.答疑 2.内容说明 四旋翼无人机控制灵活.安全性能较高,能够实现空中悬停.翻滚.任意角度横 向飞行,常常替代人们从事高空危险作业,给我们的生活与工作带来了很多 ...

  9. matlab数字pid控制仿真程序,基于MATLAB的数字PID控制器设计及仿真分析

    基于MATLAB的数字PID控制器设计及仿真分析 基于基于MATLABMATLAB的数字的数字PIDPID控制器设计及仿真分析控制器设计及仿真分析 摘摘 要要 PID控制作为历史最为悠久,生命力最强的 ...

最新文章

  1. 强化学习是针对优化数据的监督学习?
  2. Google提出新型学习范式「Deep Memory」,或将彻底改变机器学习领域
  3. Python find() 方法
  4. 软件项目管理0711:团队成员怕担责任
  5. 2019中韩版权研讨会举行 网络成版权保护主战场
  6. UE4打包后如何调试
  7. php 正则mac地址,正则表达式匹配MAC地址、邮箱地址、IP地址
  8. ssh隧道 mysql,如何通过SSH隧道连接MySQL
  9. c++多线程——简单线程池
  10. C#和C++中的float类型
  11. 搜狗微信文章爬取(下)
  12. 第十五周助教工作总结——NWNU李泓毅
  13. 小米和联想的“骁龙”之争,首发第一,友谊第二...
  14. 嵌入式平台ssh开发环境搭建
  15. Mac设置chrome浏览器跨域
  16. STM32F105 UC/OS-II (B OSStartHang)问题
  17. 计算机多出一个盘无法读,电脑有一个盘读不出来了
  18. Java Lambda 多级分组
  19. html表格固定行高_html怎么把表格大小固定
  20. 软件项目的可行性分析包括哪些方面?影响决策的关键因素又是什么?

热门文章

  1. 2017年计算机春季高考试题,山东省2017年春季高考数学试题(PDF版,含答案)
  2. 柳州高级中学2021年高考成绩查询,2021年柳州所有高中排名一览表
  3. 制作一个评选优秀老师和学生的系统,系统根据提示输入类别(老师或学生), 如果是老师则输入姓名和论文数,学生则输入姓名和考试成绩,输入若干人员信息后使用结束符完成输入,程序根据输入的数据列出优秀老师和优
  4. 2019python下半年考试报名时间_【2019下半年CATTI考试报名时间汇总】- 环球网校
  5. 妻子决定你未来事业的高度,男的看一看,女的学一学
  6. iOS使用dpkg删除包提示不存在
  7. 计算机连接投影仪后黑屏咋调试,解决办法:与投影机相连的笔记本电脑黑屏的原因和解决方法[图]...
  8. 嵌入式系统硬件组成-3.2
  9. 湍流退化图像复原如何使用matlab,一种基于相关最大性的湍流退化图像复原方法与流程...
  10. java毕业设计——基于java+JSP+MySQL的网上购书系统设计与实现(毕业论文+程序源码)——网上购书系统