【控制专栏】

您所在的位置:网站首页 描述电路图的基本概念 【控制专栏】

【控制专栏】

2024-06-03 02:10| 来源: 网络整理| 查看: 265

1.什么是PID?

PID由P(proportional)比例、I(integral)积分、D(derivative)微分三部分组成,是一种基本的控制规律/算法(控制器),同时可以根据不同的需要构成比例P控制器、比例-积分PI控制器、比例-微分PD控制器等。它被广泛应用于各类控制系统的调节与校正中,并且能够实现大多数的系统稳态、动态性能需求。

在不加入控制器前,系统的控制框图为(懒得用软件画了,手画代替):

加入PID控制器后,系统的控制框图变为:

图中E(s)为系统输出与参考输入之差,即误差,误差在经过PID控制器的作用后,得到控制器输出量,即为被控对象的输入量,对于这些基本概念,可参考如下链接中所述。

【控制专栏】—第1节 控制的基本概念(反馈、闭环控制、开环控制、控制输入、参考输入、控制器等)_控系统的参考输入-CSDN博客经过PID控制器的校正后,便可以得到令我们满意的控制系统特性与输出响应。

其中,PID控制器的输出u(t)可以表示为:

u(t)=K_{P}[e(t)+\frac{1}{T_{I}}\int_{0}^{t}e(t)dt+T_{D}\frac{de(t)}{dt}]=K_{P}e(t)+{K_{I}}\int_{0}^{t}e(t)dt+K_{D}\frac{de(t)}{dt}(连续系统下)

式中KP为比例系数,TI为积分时间常数,TD为微分时间常数,KI则为积分系数,KD为微分系数。很明显有积分时间常数越大,积分系数越小,积分作用越弱;微分时间常数越大,微分系数越大,积分作用则越强。经过拉氏变换后表示为:

U(s)=(K_{P}+K_{I}\frac{1}{s}+K_{D}s)E(s)

在离散系统下同理有PID控制规律为:

u_{k}=K_{P}e_{k}+K_{I}\sum_{j=0}^{k}e_{j}+K_{D}(e_{k}-e_{k-1})

从表达式得出:比例控制是对“当前”误差的作用,积分控制是对“过去”所累积误差的作用,微分控制则是通过对误差变化率的引入,对“未来”误差进行作用,以上三种作用将会在下文中附加例子详细解释。

2.为什么需要PID控制?

其实1中已经说明了PID控制器的作用,那就是对误差进行调控,从而保证系统输出是我们所期望的。但为什么需要对误差进行过去,现在和将来的控制呢,直接差多少补多少不就好了吗?

举个通俗的例子,如果你想烧一壶80℃的水,而它当前的温度是20℃,即输出与参考输入误差为60,那么被控对象,也就是烧水器就应该以提升60℃为目标输出功率,烧到我们的目标值80℃就可以关火了。我们控制烧水器的输出功率,这就相当于仅仅只有一个比例控制器,如果水温过低,温差变大,比例控制器输出就会变大,反之亦然。但是现实是:当我们由当前误差经过比例控制器设定了目标输出功率后,需要一定的上升时间才能够到达指定功率,同时在关火后,大功率烧水器存在余热还会使水温继续升高,也就是存在着系统的响应延时,等价于原系统传递函数G(s)中的惯性环节等,这会使得系统过冲、震荡或存在持续误差(如图1所示,二阶振荡传递函数模拟延时现象)而无法得到期望输出,且动态性能差。这时就需要引入PID控制器,对误差进行宏观调控,包括了对当前的误差,误差的累积项以及误差变化率的预测整体分析,通俗解释就是:(什么是PID?讲个故事,秒懂! - 知乎 (zhihu.com))

它可以将需要控制的物理量带到目标附近(比例)它可以“预见”这个量的变化趋势(微分)它也可以消除因为散热、阻力等因素造成的静态误差(积分)

每一项的具体作用将分别进行分析。

3.(P)比例控制

仅有比例项的控制器表达式为u(t)=K_{P}e(t),即对当前系统前向通路增加了“增益”,而不影响相位,增益也就是对误差的“调控力度”,如烧水的例子中,烧水的功率(火的旺盛程度)就是比例控制器的调控力度。以原传函G(s)=\frac{1}{s^{2}+2s+1},输入为单位阶跃函数为例,分别取比例系数KP=1,2,5,10,得到系统输出如下图所示。

从图中分析得出:增加比例系数KP,能够加快系统响应速度,同时减小稳态误差,使输出不断接近期望值。但若为了接近期望值而取较大的比例系数,如50,虽然此时稳态误差减小了,但会引起系统在平衡位置附近的超调和震荡(如图),导致动态性能变差,甚至会使系统不稳定。

尽管在大的比例系数下能够减小稳态误差,但单比例控制会使稳态误差永远存在,证明如下:

K_{P}E(s)G(s)=Y(s),且E(s)=R(s)-Y(s),即E(s)=\frac{R(s)}{1+K_{P}G(s)},则稳态误差\lim_{t\to\infty }e_{ss}=\lim_{s\to0}sE(s)=\lim_{s\to0}\frac{sR(s)}{1+K_{P}G(s)},单位阶跃输入R(s)=1/s,即

\lim_{t\to\infty }e_{ss}=\lim_{s\to0}\frac{1}{​{1+K_{P}G(s)}}

对于原系统传递函数G(s),其分母最高次数n大于等于分子最高次数m,因此e_{ss}永远大于0,即单比例控制永远存在稳态误差。

再举一个更直观的例子:假如单比例控制不存在稳态误差,那么在系统输出值=目标值的情况下,系统当前误差为0,相应的控制器输出就为0,那此时系统输出值必然也无法保持在目标值下了,因此稳态误差是一定存在的,以维持控制器输出值与误差的平衡状态。

由于单比例控制器存在上述控制问题,因此其通常不会单独使用,从而引入了积分和微分控制器。

4.(I)积分控制

积分,就是无限求和,对误差来说就是误差的不断累积。对于一个自动控制系统,当它进入稳态后,若一直存在误差,即该系统为有差系统,并且比例项的作用已经无法消除当前误差,此时引入积分项,在累积的作用下,即使保持不变的稳态误差也会随着累加而不断增大,这样即便稳态误差很小,积累后也会逐渐增大而推动控制器进行误差的补偿,从而达到消除稳态误差的作用。

再举一个池塘放水的例子(若只放而不累计,则输入1L,输出1L,即系统的前向通路传递函数为1,在单位反馈下系统传函为G(s)=1/2),现实是池子里的水会一直累积,那么假设我们希望池子里有100L的水,但目前只有10L,则当前误差就是90L,假设增益为0.5(可以是系统增益,也可能是控制器增益系数),那么会在放出45L的水来减小这个误差,此时池子里的水已经有55L了,误差为45L,那么会再次输出22.5L来减小误差,10→55→77.5→...则水会无限接近于100L,也就是我们的目标值,如图所示。

这便是一个累积,即积分的过程,积分作用为u(t)={K_{I}}\int_{0}^{t}e(t)dt,拉氏变换即为1/s,则此时系统的传递函数变为了G(s)=\frac{0.5}{0.5+s},经过类似分析后可以证明实现了对稳态误差的消除。换个思路理解:积分作用引入了一个开环极点,即提高了控制系统的型别,因此具有减小或消除稳态误差的作用,但引入极点的同时,由Bode图可以直观反映得出积分作用引入了90°的相位滞后,因此对系统的稳定性不利,并且随着积分系数的增大甚至可能造成震荡以及积分饱和等现象。另外,在系统接近目标值的过程中,积分项仍然会因为累积而不断增大,因此可能会存在超调的现象,并且在单独使用积分控制器时,其对于系统快速变化的输入响应会过度敏感,从而引起震荡,因此不宜单独使用积分控制器,通常需要配合其他控制器一起使用。

5.(PI)比例-积分控制

 将比例和积分作用相加,即构成了比例-积分控制器,作用为u(t)=K_{P}e(t)+{K_{I}}\int_{0}^{t}e(t)dt,经过拉氏变换后控制器的传递函数为K_{P}+K_{I}\frac{1}{s},则E(s)=\frac{sR(s)}{K_{P}G(s)s+K_{I}G(s)+s},在单位阶跃输入下,

\lim_{t\to\infty }e_{ss}=\lim_{s\to0}\frac{s}{​{sK_{P}G(s)}+K_{I}G(s)+s}

稳态误差无限趋于0。以3中传函G(s)=\frac{1}{s^{2}+2s+1}为例,KP取2,增加积分环节,KI取1,所得系统阶跃响应如图所示。

PI控制器传函为K_{P}+K_{I}\frac{1}{s}=\frac{K_{P}s+K_{I}}{s},相当于给系统增加了一个位于原点的开环极点以及一个位于负实部的开环零点。开环极点提高了系统的型别,起到消除或减小稳态误差的作用;开环零点则是使系统相位超前,有利于提高系统的稳定性与响应速度(增加闭环零点,会使系统超调量增大,但对系统阻尼比无影响;增加开环零点,对闭环零极点皆有影响)。PI控制器主要用来改善系统的稳态性能。

6.(PD)比例-微分控制

对误差信号的微分,即为求误差的变化率,只有当误差随时间变化(即变化率不为0)时,微分项才会起作用。微分可以理解为“阻尼”,在误差减小过程中,如果这个减小的过程越来越快(一般是在比例或积分项起作用下),那么误差的变化率是增大的,此时便“预测”之后的误差变化也会加大,则需要微分项起作用,去抑制这种由于比例或积分项引起过大的变化率,从而减小系统未来可能会发生的超调与过冲;如果误差变化率较小,则微分项起作用也较小。同时在系统输出接近目标值时,误差变化率会逐渐减小,微分项也会逐渐减小对震荡的抑制作用。但注意不能使用单独的微分控制,原因是(仍以单位阶跃输入为例)

\lim_{t\to\infty }e_{ss}=\lim_{s\to0}\frac{1}{1+K_{D}sG(s)}

稳态误差恒为1,即稳态误差恒为输入,这是不可以的。以3中传函G(s)=\frac{1}{s^{2}+2s+1}为例,KP取2,增加微分环节,KD取1,所得系统阶跃响应如图所示。

微分作用可以增大系统的阻尼,减小系统的超调量并增加稳定性,同时由于其对误差变化率的积极响应,使得其对输入的瞬时变化更加敏感,因此会使响应的上升时间减小,快速性提高。而对于PD控制器,相当于为系统增加了一个负实部的开环零点,使系统相位超前,相角裕度提高,有利于改善系统的动态性能。但由于其对(高频)噪声有放大作用(参考s的Bode图,如图,高频段赋值为正,放大了噪声的作用),因此会使系统的抗干扰性下降。

对微分环节放大高频噪声的另一种理解:例如某高频噪声,表达式为\sin 1000t,则对该噪声微分后为1000\cos 1000t,微分后直接将噪声幅值放大了1000倍,因此也证实了微分作用对高频噪声的放大。

7.(PID)比例-积分-微分控制

PID控制规律则是三种作用的组合,也就是1中所表示的控制器输出为:

u(t)=K_{P}e(t)+{K_{I}}\int_{0}^{t}e(t)dt+K_{D}\frac{de(t)}{dt}

表现在控制框图中即为:

PID控制器是集成了比例-积分-微分作用的实用控制器,通过三个参数的调整使得PID controller能够解决绝大多数的控制问题。仍然以3中传函G(s)=\frac{1}{s^{2}+2s+1}为例,KP取2,增加微分环节,KD取1,增加积分环节,KI取1,搭建的MATLAB/Simulink框图以及所得系统阶跃响应如图所示。(大家在simulink中可以直接用PID模块仿真,而不用自己搭建PID独立模块再相加!)

当然这只是随机取的三个系数值,但也仍然能看出各部分的控制作用,如果对三个参数的选取再进行研究的话,那么就能够得出我们所期望的动态和稳态特性。

附上这个动画,就能够更加清晰地看出各部分的作用了,即简言之为:比例控制器减小稳态误差,加快响应速度;积分控制器消除稳态误差,改善稳态性能;微分控制器减小超调量以及震荡,改善动态性能。

关于如何调节PID控制器的三个参数以及更多内容,将在以后的文章中呈现!欢迎关注点赞收藏!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3