一、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

图16

PID控制及整定算法的更多相关文章

  1. SLAM+语音机器人DIY系列:(四)差分底盘设计——5.底盘PID控制参数整定

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

  2. 模糊控制——(3)模糊自适应整定PID控制

    1.原理 这种控制必须精确地确定对象模型,首先将操作人员(专家)长期实践积累的经验知识用控制规则模型化,然后运用推理便可对PID参数实现最佳调整. 自适应模糊PID控制器以误差e和误差变化ec作为输入 ...

  3. PID控制最通俗的解释与PID参数的整定方法

    转自->这里 PID是比例.积分.微分的简称,PID控制的难点不是编程,而是控制器的参数整定.参数整定的关键是正确地理解各参数的物理意义,PID控制的原理可以用人对炉温的手动控制来理解.阅读本文 ...

  4. STM32L476应用开发之七:流量的PID控制

    在气体分析仪使用过程中,为了力求分析结果的准确性,一般要求通过的气体流量尽可能的稳定.为了保证流量控制的稳定,我们采用PID调节来控制气路阀门的开度. 1.硬件设计 我们采用的流量计为气体质量流量计, ...

  5. 经典PID控制及应用体会总结

    经典PID控制及应用体会总结 PID控制原理 PID是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制方案: 重点关注相关算法是如何对偏差进行处理的: PID控制器各校正环节 ...

  6. STM32—PID控制在直流电机中的应用

    文章目录 一.PID控制算法 1.什么是PID 2.PID系数的理解 Ⅰ.比例(P)部分 Ⅱ.积分(I)部分 Ⅲ.微分(D)部分 3.PID的数字化处理 二.位置闭环控制 三.速度闭环控制 一.PID ...

  7. 两轮自平衡小车双闭环PID控制设计

                                                                                            两轮自平衡小车的研究意义 ...

  8. 数字式PID控制的应用总结

    PID控制是一个二阶线性闭环控制器,通过调整比例.积分和微分三项参数,使得大多数的工业控制系统获得良好的闭环控制性能.PID控制优点:a. 技术成熟,b. 易被人们熟悉和掌握,c. 不需要建立数学模型 ...

  9. PID控制学习笔记(二)

    不管是基本的PID控制还是变形的PID控制算法,其核心都是对输入信号(设定值信号.测量信号或者偏差信号等)做基本的比例.积分.微分运算,最终提供给被控过程良好的调节信号. 在过程控制仪表,特别是在数字 ...

随机推荐

  1. Tensorflow官方文档中文版——第二章(瞎奖杯写)

    包含如下几个部分: 1.面向机器学习初学者的 MNIST 初级教程 2.面向机器学习专家的 MNIST 高级教程 3.TensorFlow 使用指南 4.卷积神经网络 5.单词的向量表示(word e ...

  2. SAP文件夹的判断与创建

    [转自 http://blog.csdn.net/saphome/article/details/6956918] SAP文件夹存在的判断与创建 2010-08-29 20:15 相关函数:WS_QU ...

  3. 3.08课·········switch case及if else嵌套(日期格式)

    switch case switch (n) { : break; : break; . . . case n: break; } 1.switch case必须与break一同使用,每一个case后 ...

  4. java程序实现Unicode码和中文互相转换

      根据前一篇的补充问题http://blog.csdn.net/fancylovejava/article/details/10142391 有了前一篇文章的了解,大概了解了unicode编码格式了 ...

  5. 深入理解ES6之迭代器与生成器

    迭代器 迭代器 iterator,在 Javascript 中,迭代器是一个对象(也可称作为迭代器对象),它提供了一个 next() 方法,用来返回迭代序列中的下一项. next 方法的定义,next ...

  6. Docker DNS

    从 Docker 1.10 版本开始,docker daemon 实现了一个内嵌的 DNS server,使容器可以直接通过“容器名”通信. 方法很简单,只要在启动时用 --name 为容器命名并且连 ...

  7. sdut oj 操作系统实验--SSTF磁盘调度算法【操作系统算法】

    操作系统实验--SSTF磁盘调度算法 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 磁盘调度在多道程序设计的计算机系统中,各个进 ...

  8. redis主从架构及redis集群

    https://redis.io/topics/cluster-spec Redis Cluster does not support multiple databases like the stan ...

  9. 剑指offer之 数值的整数次方

    问题描述:实现函数double power(double base,int exponent),求base的exponent次方.不能使用库函数,同时不需要考虑大数问题. package Proble ...

  10. 解析XML(2)

    在输入法非中文状态下使用ctrl+shift+f可以使文档换行.