
所谓的控制首先分有反馈控制和无反馈控制,我们当然讨论的PID当然是有反馈控制了。所谓的有反馈控制无非是要根据被控量的情况参与运算来决定 *** 纵量的大小或者方向,那么到底如何根据被控两来决定 *** 纵量的大小呢,唉,这就有很多分类了,所谓的高级的控制方式也就是“高级”在这个节骨眼上,有什么“自适应控制、模糊控制、预测控制、神经网络控制、专家智能控制”等等(至于到底这些控制方式有什么优点,唉,我只用过PID,别的也说不清楚,去抄书的话也没有说服力,关键是也懒的去抄。那位老弟如果要作论文,可以在这里发挥一下,资料到处都是)。但是就目前而言,在工业控制领域尤其是控制系统的底层,PID控制算法仍然独霸鳌头,占领着80%左右的市场份额,当然,这里所说的PID控制算法不是侠义上的固定PID,现在不是讲究多学科融合吗?人们在PID控制规律中吸取了其他“高级”的控制规律的优点,出现了诸多的新颖的控制器如自校正PID、专家自适应PID、预估PID、模糊PID、神经网络PID、非线性 PID等新型PID控制器。至于所谓的变种的PID算法如什么“遇限削弱微分”微分先行,积分分离“bangbang+PID”等等,已经不算是什么高级的控制方式了作控制器的厂商大多都会或多等等或少的采取一些,至于是神经网络PID,模糊PID,自适应PID是如何实现的,我所知道的就是利用对应的控制算法,适时的调节PID的参数。还是举个例子吧。传统PID的算法公式是:
⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]
U(n)=⊿U(n)+U(n-1)
e(n) ,e(n-1), e(n-2)就是历史上的三个设定值跟过程值之间的偏差了。
这是一个增量式的PID算式(如果有谁不明白什么式增量是算式,呵呵,可能以后会提到,偶的写作水平有限,不会组织内容,再说我是想到哪,写道哪,呵呵,见凉)。
所谓的新型PID控制器,就是根据e(n)的不同,利用那些先进的控制规律来适当的调整Kp,Ki,Ke。至于怎么调整,呵呵,这就太罗嗦了,也不是这篇内容所该介绍的,(关键是我也不太清楚,呵呵,见笑),需要这些功能的大侠应该是我的前辈,还请指教哟。
好了,现在正式介绍一下所谓的PID各个参数吧。
所谓的PID大家在大学期间都应该学过,就是比例(P)、积分(I)、微分(D)。
比例控制:就是对偏差进行控制,偏差一旦产生,控制器立即就发生作用即调节控制输出,使被控量朝着减小偏差的方向变化,偏差减小的速度取决于比例系数Kp, Kp越大偏差减小的越快,但是很容易引起振荡,尤其是在迟滞环节比较大的情况下,Kp减小,发生振荡的可能性减小但是调节速度变慢。但单纯的比例控制存在静差不能消除的缺点。这里就需要积分控制。
积分控制:实质上就是对偏差累积进行控制,直至偏差为零。积分控制作用始终施加指向给定值的作用力,有利于消除静差,其效果不仅与偏差大小有关,而且还与偏差持续的时间有关。简单来说就是把偏差积累起来,一起算总帐。
微分控制:它能敏感出误差的变化趋势,可在误差信号出现之前就起到修正误差的作用,有利于提高输出响应的快速性,减小被控量的超调和增加系统的稳定性。但微分作用很容易放大高频噪声,降低系统的信噪比,从而使系统抑制干扰的能力下降。因此,在实际应用中,应慎用微分控制,尤其是当你开始作实验时,不防将微分控制项去掉,看看行不行,呵呵,不行啊?还是看看别的地方吧,肯定行的。
行了,这三个参数说明白了,再来说说怎么确定这几个参数的数值吧。这几个参数的确定比较先进的方式是自整定,但是如果是开始涉及这部分还是先不要讲了,按照经验值吧。估计大家用来控制温度比较多。大家按照这个规律来选吧。
Kp=100/P
Ki= kp*T/I
Kd= kp*D/T
分别介绍一下各个参数的意义:
T:计算周期,就是各多少时间计算一次
⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)],单位是秒。一般1秒或者0.5秒甚至5秒都行。
P:比例带
I:积分时间
D:微分时间
P、I、D跟kp,ki,kd有什么关系呢?
Kp=100/P,
Ki=kp*T/I
Kd=kp*D/T
然后就可以计算
⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]
算出来⊿U(n)之后再怎么办呢?怎么把这一个数据跟控制输出联系在一起呢?说道这里我们先说说PID控制方式大体都有那些?
其一为线形连续PID输出,也就是说,PID运算的结果以模拟电压,电流或者可控硅导通角的形式按比例输出。
其二为时间-比例PID输出,也就是说,事先定一个时间长度,T1,然后PID运算的结果就在控制周期内以ON-OFF的形式输出出来,比如你控制一个炉子的温度,用电热丝来加热,就可以控制电热丝的一个控制周期内通电占整个控制周期的比例来实现,电路上可以用继电器或者过零触发的方式来切断或者接通电热丝供电。
起三为位置比例PID,PID运算的结果主要是对应于调节阀的阀门开度。
再回到前面,我们以第二种控制方式为例,计算出⊿U(n)后,一般首先将其归一化,也就是说除以你所要控制的温度的量程。
⊿U(n)0_1=⊿U(n)/(hh-ll)
而时间比例PID输出对应的是“位置式PID运算”的结果
所以呢,我们要讲结果累积起来,
U(n)0_1+=⊿U(n)0_1
然后将次结果换算成对应于控制周期的占空比。来输出
PID控制原理和特点工程实际中,应用最为广泛调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制主要技术之一。当被控对象结构和参数不能完全掌握,或不到精确数学模型时,控制理论其它技术难以采用时,系统控制器结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象﹐或不能有效测量手段来获系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是系统误差,利用比例、积分、微分计算出控制量进行控制。
1、比例控制(P):
比例控制是最常用的控制手段之一,比方说我们控制一个加热器的恒温100度,当开始加热时,离目标温度相差比较远,这时我们通常会加大加热,使温度快速上升,当温度超过100度时,我们则关闭输出,通常我们会使用这样一个函数
e(t) = SP – y(t)-
u(t) = e(t)*P
SP——设定值
e(t)——误差值
y(t)——反馈值
u(t)——输出值
P——比例系数
滞后性不是很大的控制对象使用比例控制方式就可以满足控制要求,但很多被控对象中因为有滞后性。
也就是如果设定温度是200度,当采用比例方式控制时,如果P选择比较大,则会出现当温度达到200度输出为0后,温度仍然会止不住的向上爬升,比方说升至230度,当温度超过200度太多后又开始回落,尽管这时输出开始出力加热,但温度仍然会向下跌落一定的温度才会止跌回升,比方说降至170度,最后整个系统会稳定在一定的范围内进行振荡。
如果这个振荡的幅度是允许的比方说家用电器的控制,那则可以选用比例控制
2、比例积分控制(PI):
积分的存在是针对比例控制要不就是有差值要不就是振荡的这种特点提出的改进,它常与比例一块进行控制,也就是PI控制。
其公式有很多种,但大多差别不大,标准公式如下:
u(t) = Kp*e(t) + Ki∑e(t) +u0
u(t)——输出
Kp——比例放大系数
Ki——积分放大系数
e(t)——误差
u0——控制量基准值(基础偏差)
大家可以看到积分项是一个历史误差的累积值,如果光用比例控制时,我们知道要不就是达不到设定值要不就是振荡,在使用了积分项后就可以解决达不到设定值的静态误差问题,比方说一个控制中使用了PI控制后,如果存在静态误差,输出始终达不到设定值,这时积分项的误差累积值会越来越大,这个累积值乘上Ki后会在输出的比重中越占越多,使输出u(t)越来越大,最终达到消除静态误差的目的
PI两个结合使用的情况下,我们的调整方式如下:
1、先将I值设为0,将P值放至比较大,当出现稳定振荡时,我们再减小P值直到P值不振荡或者振荡很小为止(术语叫临界振荡状态),在有些情况下,我们还可以在些P值的基础上再加大一点。
2、加大I值,直到输出达到设定值为止。
3、等系统冷却后,再重上电,看看系统的超调是否过大,加热速度是否太慢。
通过上面的这个调试过程,我们可以看到P值主要可以用来调整系统的响应速度,但太大会增大超调量和稳定时间;而I值主要用来减小静态误差。
pid 算法
控制点目前包含三种比较简单的PID控制算法,分别是:增量式算法,位置式算法,微分先行。这三种是最简单的基本算法,各有其特点,一般能满足控制的大部份要求:
1、PID增量式算法
离散化公式(注:各符号含义如下):
u(t)----- 控制器的输出值。
e(t)----- 控制器输入与设定值之间的误差。
Kp------- 比例系数。
Ti------- 积分时间常数。
Td------- 微分时间常数。
T-------- 调节周期。
2、积分分离法
离散化公式:
Δu(t) = q0e(t) + q1e(t-1) + q2e(t-2)
当|e(t)|≤β时
q0 = Kp(1+T/Ti+Td/T)
q1 = -Kp(1+2Td/T)
q2 = Kp Td /T
当|e(t)|>β时
q0 = Kp(1+Td/T)
q1 = -Kp(1+2Td/T)
q2 = Kp Td /T
u(t) = u(t-1) + Δu(t)
注:各符号含义如下
u(t)----- 控制器的输出值。
e(t)----- 控制器输入与设定值之间的误差。
Kp------- 比例系数。
Ti------- 积分时间常数。
Td------- 微分时间常数。(有的地方用"Kd"表示)
T-------- 调节周期。
β------- 积分分离阈值
3、微分先行PID算法
离散化公式:
u(t)----- 控制器的输出值。
e(t)----- 控制器输入与设定值之间的误差。
Kp------- 比例系数。
Ti------- 积分时间常数。
Td------- 微分时间常数。(有的地方用"Kd"表示)
T-------- 调节周期。
β------- 积分分离阈值
PID控制:
因为PI系统中的I的存在会使整个控制系统的响应速度受到影响,为了解决这个问题,我们在控制中增加了D微分项,微分项主要用来解决系统的响应速度问题,其完整的公式如下:
u(t) = Kp*e(t) + Ki∑e(t) + Kd[e(t) – e(t-1)]+u0
在PID的调试过程中,我们应注意以下步骤:
1、 关闭I和D,也就是设为0.加大P,使其产生振荡;
2、 减小P,找到临界振荡点;
3、 加大I,使其达到目标值;
4、重新上电看超调、振荡和稳定时间是否吻合要求;
5、 针对超调和振荡的情况适当的增加一些微分项;
6、 注意所有调试均应在最大争载的情况下调试,这样才能保证调试完的结果可以在全工作范围内均有效;
PID控制器参数整定
PID控制器参数整定是控制系统设计核心内容。它是被控过程特性确定PID控制器比例系数、积分时间和微分时间大小。PID控制器参数整定方法很多,概括起来有两大类:一是理论计算整定法。它主依据系统数学模型,理论计算确定控制器参数。这种方法所到计算数据未必可以直接用,还必须工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接控制系统试验中进行,且方法简单、易于掌握,工程实际中被广泛采用。PID控制器参数工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是试验,然后工程经验公式对控制器参数进行整定。但采用哪一种方法所到控制器参数,都需要实际运行中进行最后调整与完善。现一般采用是临界比例法。利用该方法进行 PID控制器参数整定步骤如下:
(1)首先预选择一个足够短采样周期让系统工作;
(2)仅加入比例控制环节,直到系统对输入阶跃响应出现临界振荡,记下这时比例放大系数和临界振荡周期;
(3)一定控制度下公式计算到PID控制器参数。
No.1
PID算法简介
P指的是比例(Proportion),I指的是积分(Integral),D指的是微分(Differential)。在电机调速系统中,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。要想搞懂PID算法的原理,首先必须先明白P,I,D各自的含义及控制规律:
01
比例P:
比例项部分其实就是对预设值和反馈值差值的放大倍数。举个例子,假如原来电机两端的电压为U0,比例P为0.2,输入值是800,而反馈值是1000,那么输出到电机两端的电压应变为U0+0.2*(800-1000)。从而达到了调节速度的目的。显然比例P越大时,电机转速回归到输入值的速度将更快,及调节灵敏度就越高。从而,加大P值,可以减少从非稳态到稳态的时间。但是同时也可能造成电机转速在预设值附近振荡的情形,所以又引入积分I解决此问题。
02
积分I:
积分项部分其实就是对预设值和反馈值之间的差值在时间上进行累加。当差值不是很大时,为了不引起振荡。可以先让电机按原转速继续运行。当时要将这个差值用积分项累加。当这个和累加到一定值时,再一次性进行处理。从而避免了振荡现象的发生。可见,积分项的调节存在明显的滞后。而且I值越大,滞后效果越明显。
03
微分D:
微分项部分其实就是求电机转速的变化率。也就是前后两次差值的差而已。也就是说,微分项是根据差值变化的速率,提前给出一个相应的调节动作。可见微分项的调节是超前的。并且D值越大,超前作用越明显。可以在一定程度上缓冲振荡。比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。
对偏差信号进行比例、积分和微分运算变换后形成一种控制规律。“利用偏差,纠正偏差”。
No.2
参数调整一般规则
由各个参数的控制规律可知,比例P使反应变快,微分D使反应提前,积分I使反应滞后。在一定范围内,P,D值越大,调节的效果越好。各个参数的调节原则如下:
PID调试一般原则
a.在输出不振荡时,增大比例增益P。
b.在输出不振荡时,减小积分时间常数Ti。
c.输出不振荡时,增大微分时间常数Td。
No.3
参数调整一般步骤
由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。这就给使用者带来相当的麻烦,特别是对初学者。下面简单介绍一下调试PID参数的一般步骤:
确定比例增益
P确定比例增益P时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0,PID为纯比例调节。输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。
确定积分时间常数Ti
比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。
确定微分时间常数Td
微分时间常数Td一般不用设定,为0即可。若要设定,与确定P和Ti的方法相同,取不振荡时的30%。
04
联调
系统空载、带载联调,再对PID参数进行微调,直至满足要求。
No.4
总结
参数整定寻最佳,从大到小顺次查。先是比例后积分,最后再把微分加。曲线振荡很频繁,比例度盘要放大。曲线漂浮绕大弯,比例度盘往小扳。曲线偏离回复慢,积分时间往下降。曲线波动周期长,积分时间再加长。理想曲线两个波,调节过程高质量。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)