PID算法的基础知识

PID的含义

控制系统通常根据有没有反馈会分为开环系统闭环系统,PID是一个闭环控制算法。因此要实现PID算法,必须在硬件上具有闭环控制,就是得有反馈。比如控制一个电机的转速,就得有一个测量转速的传感器,并将结果反馈到控制路线上。
PID三个部分分别为:

  • P:比例环节
  • I:积分环节
  • D:微分环节

所以PID是比例(P)、积分(I)、微分(D)控制算法。但并不是必须同时具备这三种算法,也可以是PD,PI,甚至只有P算法控制。
我以前对于闭环控制的一个最朴素的想法就只有P控制,将当前结果反馈回来,再与目标相减,为正的话,就减速,为负的话就加速。现在知道这只是最简单的闭环控制算法。

PID算法可以自动对控制系统进行准确且迅速的校正,因此被广泛地应用于工业控制系统。(而且在工业控制系统中,常常是PID算法一招吃遍天下)

开环控制

首先来看开环控制系统,如下图所示,小人蒙着眼,需要走到虚线旗帜所表示的目标位置,由于缺少反馈(眼睛可以感知当前距离和位置,由于眼睛被蒙上没有反馈,所以这也是一个开环系统),最终小人会较大概率偏离预期的目标,可能会运行到途中实线旗帜所表示的位置。
PID算法的基础知识_第1张图片
开环系统的整体结构如下所示;
在这里插入图片描述

  • Input:告诉小人目标距离的直线位置(10米);
  • Controller:小人大脑中计算出到达目标所需要走多少步;
  • Process:双腿作为执行机构,输出了相应的步数,但是最终仍然偏离了目标;

看来没有反馈的存在,很难准确到达目标位置。

闭环控制

所以为了准确到达目标位置,这里就需要引入反馈,具体如下图所示;
PID算法的基础知识_第2张图片
在这里继续举个不怎么恰当的比喻;小人重获光明之后,基本可以看到目标位置了;

  • 第一步 Input:告诉小人目标距离的直线位置(10米);
  • 第二步 Controller:小人大脑中计算出到达目标所需要走多少步;
  • 第三步 Process:双腿作为执行机构,输出了相应的步数,但是最终仍然偏离了目标;
  • 第四步 Feedback: 通过视觉获取到目前已经前进的距离,(比如前进了2米,那么还有8米的偏差);
  • 第五步 err:根据偏差重新计算所需要的步数,然后重复上述四个步骤,最终小人达到最终的目标位置。

PID系统架构

虽然在反馈系统下,小人最终到达目标位置,但是现在又来了新的任务,就是又快又准地到达目标位置。所以这里小人开始采用PID Controller,只要适当调整P,I和D的参数,就可以到达目标位置,具体如下图所示;
PID算法的基础知识_第3张图片
小人为了最短时间内到达目标位置,进行了不断的尝试,分别出现了以下几种情况:

  • 跑得太快,最终导致冲过了目标位置还得往回跑;
  • 跑得太慢,最终导致到达目标位置所用时间太长;

经过不断的尝试,终于找到了最佳的方式,其过程大概如下图所示;
PID算法的基础知识_第4张图片
这里依然举一个不是很恰当的比喻;

  • 第一步:得到与目标位置的距离偏差(比如最开始是 10米,后面会逐渐变小);
  • 第二步:根据误差,预估需要多少速度,如何估算呢,看下面几步;

P(比例)

比例控制规律P:采用P控制规律能较快地克服扰动的影响,它的优点在于输出值较快,但不能很好稳定在一个理想的数值,不良的结果是虽较能有效的克服扰动的影响,但有余差出现。它适用于控制通道滞后较小、负荷变化不大、控制要求不高、被控参数允许在一定范围内有余差的场合。如:金彪公用工程部下设的水泵房冷、热水池水位控制;油泵房中间油罐油位控制等。
P比例则是给定一个速度的大致范围,满足下面这个公式:
在这里插入图片描述

  • Kp——比例系数
  • e(t)——偏差

说明其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。
比例作用相当于某一时刻的偏差(err)与比例系数Kp的乘积,具体如下所示
PID算法的基础知识_第5张图片
绿色线为上述例子中从初始位置到目标位置的距离变化; 红色线为上述例子中从初始位置到目标位置的偏差变化,两者为互补的关系;

I(积分)

I(积分)则是误差在一定时间内的和,满足以下公式;
在这里插入图片描述

  • Ki——积分系数
  • e(t)——偏差

在积分控制中,控制器的输出与输入误差信号的积分正比关系。
对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入"积分项"。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到接近于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后几乎无稳态误差。
如下图所示:
PID算法的基础知识_第6张图片
红色曲线阴影部分面积即为积分作用的结果,其不断累积的误差,最终乘以积分系数Ki就得到了积分部分的输出;

D(微分)

微分是误差变化曲线某处的导数,或者说是某一点的斜率。所以在微分控制中,控制器的**输出与输入误差信号的微分(即误差的变化率)**成正比关系。
在这里插入图片描述

  • Kd——微分系数
  • e(t)——偏差

自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用, 其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化"超前",即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入 “比例"项往往是不够的,比例项的作用仅是放大误差的幅值,而需要增加的是"微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。
PID算法的基础知识_第7张图片
从图中可知,当偏差变化过快,微分环节会输出较大的负数,作为抑制输出继续上升,从而抑制过冲。

比例、积分好微分的比较

比例,反应系统的基本(当前)偏差e(t),系数大,可以加快调节,减小误差,但过大的比例使系统稳定性下降,甚至造成系统不稳定;
积分,反应系统的累计偏差,使系统消除稳态误差,提高无差度,因为有误差,积分调节就进行,直至无误差;
微分,反映系统偏差信号的变化率e(t)-e(t-1),具有预见性,能预见偏差变化的趋势,产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除,因此可以改善系统的动态性能。但是微分对噪声干扰有放大作用,加强微分对系统抗干扰不利。
积分和微分都不能单独起作用,必须与比例控制配合
比例积分控制规律(PI):在工程中比例积分控制规律是应用最广泛的一种控制规律。积分能在比例的基础上消除余差,它适用于控制通道滞后较小、负荷变化不大、被控参数不允许有余差的场合。如:在主线窑头重油换向室中F1401到F1419号枪的重油流量控制系统;油泵房供油管流量控制系统;退火窑各区温度调节系统等。
比例微分控制规律(PD):微分具有超前作用,对于具有容量滞后的控制通道,引入微分参与控制,在微分项设置得当的情况下,对于提高系统的动态性能指标,有着显著效果。因此,对于控制通道的时间常数或容量滞后较大的场合,为了提高系统的稳定性,减小动态偏差等可选用比例微分控制规律。如:加热型温度控制、成分控制。需要说明一点,对于那些纯滞后较大的区域里,微分项是无能为力,而在测量信号有噪声或周期性振动的系统,则也不宜采用微分控制。如:大窑玻璃液位的控制。
比例积分微分控制规律(PID):PID控制规律是一种较理想的控制规律,它在比例的基础上引入积分,可以消除余差,再加入微分作用,又能提高系统的稳定性。它适用于控制通道时间常数或容量滞后较大、控制要求较高的场合。如温度控制、成分控制等。
PID算法的基础知识_第8张图片
鉴于D规律的作用,我们还必须了解时间滞后的概念,时间滞后包括容量滞后与纯滞后。
其中容量滞后通常又包括:测量滞后和传送滞后。测量滞后是检测元件在检测时需要建立一种平衡,如热电偶、热电阻、压力等响应较慢产生的一种滞后。而传送滞后则是在传感器、变送器、执行机构等设备产生的一种控制滞后。
纯滞后是相对与测量滞后的,在工业上,大多的纯滞后是由于物料传输所致,如:大窑玻璃液位,在投料机动作到核子液位仪检测需要很长的一段时间。

比例系数Kp、积分系数Ki、微分系数Kd对系统的影响

综上,Kp、Ki、Kd,分别增加其中一项参数会对系统造成的影响总结如下表所示。
PID算法的基础知识_第9张图片

理论基础

上面扯了这么多,无非是为了初步理解PID在负反馈系统中的调节作用,下面开始推导一下算法实现的具体过程;PID控制器的系统框图如下所示;

PID算法的基础知识_第10张图片
因此不难得出输入e(t)和输出u(t)的关系:
在这里插入图片描述
Kp是比例增益; Ki是积分增益; Kd是微分增益。

离散化

PID算法-增量(详细)
在数字系统中进行PID算法控制,需要对上述算法进行离散化;假设系统采样时间为△t 则将输入e(t)序列化得到:
在这里插入图片描述
将输出u(t)序列化得到:
在这里插入图片描述
比例项:
在这里插入图片描述
积分项:
在这里插入图片描述
微分项:
在这里插入图片描述
所以最终可以得到下式,记为(1),也就是网上所说的位置式PID:
在这里插入图片描述
u(k)为实际输出,位置式 PID 需每次计算 u(k) 的实际值,并将 0时刻到 k时刻的所有状态值存储。可见,实现该式内存占用庞大,当计算机出现故障时会引起控制量的大幅度震动,从而可能带来不必要的损失。
将式(1)再做一下简化:
在这里插入图片描述
最终得到增量式PID的离散公式如下:
在这里插入图片描述
△u(k)为相邻两次采样间隔内控制量的差,这样,从前一时刻开始,当前的控制量就只与e(k -1) 、e(k -2)和e(k)有关。在计算机上实现控制时,也仅需将上述三个数据存储,便可得出控制器输出值。与此同时,其不会累积偏差,避免引起积分饱和。因此,增量式在实际情况中应用较为广泛。

PID算法流程

Kp,Ki,Kd三个参数的设定是PID控制算法的关键问题。一般说来编程时只能设定他们的大概数值,并在系统运行时通过反复调试来确定最佳值。因此调试阶段程序须得能随时修改和记忆这三个参数。
参数的自整定:在某些应用场合,比如通用仪表行业,系统的工作对象是不确定的,不同的对象就得采用不同的参数值,没法为用户设定参数,就引入参数自整定的概念。实质就是在首次使用时,通过N次测量为新的工作对象寻找一套参数,并记忆下来作为以后工作的依据。
PID算法的基础知识_第11张图片
总之,控制规律的选用要根据过程特性和工艺要求来选取,决不是说PID控制规律在任何情况下都具有较好的控制性能,不分场合都采用是不明智的。如果这样做,只会给其它工作增加复杂性,并给参数整定带来困难。当采用PID控制器还达不到工艺要求,则需要考虑其它的控制方案。如串级控制、前馈控制、大滞后控制等。

你可能感兴趣的:(算法,自动化控制,控制器,算法)