您好,欢迎访问三七文档
PID的使用说明书一、PID的历史背景在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象﹐或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。二、PID的各自意义比例(P)控制比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-stateerror)。积分(I)控制在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(SystemwithSteady-stateError)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。微分(D)控制在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。三、PID的参数整定的方法PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作﹔(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期﹔(3)在一定的控制度下通过公式计算得到PID控制器的参数。PID参数的设定:是靠经验及工艺的熟悉,参考测量值跟踪与设定值曲线,从而调整P\I\D的大小。PID控制器参数的工程整定,各种调节系统中P.I.D参数经验数据以下可参照:温度T:P=20~60%,T=180~600s,D=3-180s压力P:P=30~70%,T=24~180s,液位L:P=20~80%,T=60~300s,流量L:P=40~100%,T=6~60s。书上的常用口诀:参数整定找最佳,从小到大顺序查先是比例后积分,最后再把微分加曲线振荡很频繁,比例度盘要放大曲线漂浮绕大湾,比例度盘往小扳曲线偏离回复慢,积分时间往下降曲线波动周期长,积分时间再加长曲线振荡频率快,先把微分降下来动差大来波动慢。微分时间应加长理想曲线两个波,前高后低4比1一看二调多分析,调节质量不会低下面以PID调节器为例,具体说明经验法的整定步骤:⑴让调节器参数积分系数S0=0,实际微分系数k=0,控制系统投入闭环运行,由小到大改变比例系数S1,让扰动信号作阶跃变化,观察控制过程,直到获得满意的控制过程为止。⑵取比例系数S1为当前的值乘以0.83,由小到大增加积分系数S0,同样让扰动信号作阶跃变化,直至求得满意的控制过程。(3)积分系数S0保持不变,改变比例系数S1,观察控制过程有无改善,如有改善则继续调整,直到满意为止。否则,将原比例系数S1增大一些,再调整积分系数S0,力求改善控制过程。如此反复试凑,直到找到满意的比例系数S1和积分系数S0为止。⑷引入适当的实际微分系数k和实际微分时间TD,此时可适当增大比例系数S1和积分系数S0。和前述步骤相同,微分时间的整定也需反复调整,直到控制过程满意为止。注意:仿真系统所采用的PID调节器与传统的工业PID调节器有所不同,各个参数之间相互隔离,互不影响,因而用其观察调节规律十分方便。PID参数是根据控制对象的惯量来确定的。大惯量如:大烘房的温度控制,一般P可在10以上,I=3-10,D=1左右。小惯量如:一个小电机带一水泵进行压力闭环控制,一般只用PI控制。P=1-10,I=0.1-1,D=0,这些要在现场调试时进行修正的。我提供一种增量式PID供大家参考△U(k)=Ae(k)-Be(k-1)+Ce(k-2)A=Kp(1+T/Ti+Td/T)B=Kp(1+2Td/T)C=KpTd/TT采样周期Td微分时间Ti积分时间用上面的算法可以构造自己的PID算法。U(K)=U(K-1)+△U(K)一般步骤a.确定比例增益P确定比例增益P时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0(具体见PID的参数设定说明),使PID为纯比例调节。输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。b.确定积分时间常数Ti比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。c.确定积分时间常数Td积分时间常数Td一般不用设定,为0即可。若要设定,与确定P和Ti的方法相同,取不振荡时的30%。d.系统空载、带载联调,再对PID参数进行微调,直至满足要求。四、PID控制算法:位置式控制算法。位置式PID控制算法描述为:u(k)=kpe(k)+kI+kD[e(k)-e(k-1)]。式中的:k=0,1,2------为采样序号;u(k)为第k次采集时刻的计算机输出值;e(k)为第k次采样时刻输入的偏差值;kp为比例系数;kI为积分系数;kD为微分系数。该算法的优点是原理简单、易于实现;缺点是每次均与先前状态有关,要对e(k)进行累加,运算工作量大,而且输出的u(k)对应的电机控制的PWM的值。增量式控制算法。增量式PID控制算法描述为:△u(k)=kp△e(k)+kI+kD[△e(k)-△e(k-1)]。该算法的优点是:由于计算机输出增量,误动作时影响小;当计算机发生故障时,由于输出通道或执行装置具有信号锁存作用,故仍能保持原值,控制增量△u(k)的确定仅与最近k次的采样值有关,易通过加权而获得较好的控制效果。其不足之处为:积分截断效应大、有静态误差、溢出的影响大。积分分离式控制算法。积分分离PID控制算法描述为:u(k)=kpe(k)+βkI+kD[e(k)-e(k-1)]。五、程序实例(以51)#include#include#include#defineucharunsignedchar#defineuintunsignedint#defineCOMMAND1XBYTE[0x9f00]#definePA1XBYTE[0x9f01]#definePB1XBYTE[0x9f02]#definePC1XBYTE[0x9f03]#defineTIMERL1XBYTE[0x9f04]#defineTIMERH1XBYTE[0x9f05]#defineCOMMAND2XBYTE[0xbf00]#definePA2XBYTE[0xbf01]#definePB2XBYTE[0xbf02]#definePC2XBYTE[0xbf03]#defineTIMERL2XBYTE[0xbf04]#defineTIMERH2XBYTE[0xbf05]voiddelay(){inti;for(i=5;i0;i--);}goahead(intx1,intx2){intj;inty1;inty2;if(abs(x1)10)PA2=0x0f;elseif(x10){PA2=0x02;if(x1100){x1=100;}}else{PA2=0x01;x1=abs(x1);if(x1100){x1=100;}}y1=100-x1;for(j=x1;j0;j--)delay();PA2=0x00;for(j=y1;j0;j--)delay();if(abs(x2)10)PA2=0x0f;elseif(x20){PA2=0x08;if(x2100){x2=100;}}else{PA2=0x04;x2=abs(x2);if(x2100){x2=100;}}for(j=x2;j0;j--)delay();PA2=0x00;for(j=y2;j0;j--)delay();}voidstop(){PA2=0xff;delay();}floatpid1(inte01,inte11,inte21){intA=2.45;floatB=3.5;floatC=1.25;intuk01=A*e01+B*e11+C*e21;return(uk01);}voidopentimer(){TIMERL1=0xff;TIMERH1=0xff;TIMERL2=0xff;TIMERH2=0xff;}uintclosetimer1(){uintn1=0xff-TIMERL1;COMMAND1=0x43;return(n1);}uintclosetimer2(){uintn2=0xff-TIMERL2;COMMAND2=0x43;return(n2);}voidsetup(){ACC=0;EA=0;PSW=0;COMMAND1=0xc3;COMMAND2=0xc3;}main(){inte01=0,e02=0;inte11=0,e12=0;inte21=0,e22=0;uintn1;uintm=0x84;floatinc1;inti=1;inta=40;intb=0;setup();while(1){opentimer();goahead(a,b);n1=closetimer1();e21=e11;e11=e01;e01=m-n1;inc1=pid1(e01,e11,e21);a=a+(int)inc1;}while(1)stop();}六、各自调节的作用1、比例环节:当KP加大时,可使系统动作灵敏,速度加快;当系统是稳定的情况下,系统的稳态误差将减小,却不能完全消除系统的稳态误差;当KP偏大时,系统振荡次数增多,调解时间加长;当KP太大时,系统会使系统动作变缓慢。增大比例系数P一般将加快系统的响应,在有静差的情况下有利于减小静差,但是过大的比例系数会使系
本文标题:PID的使用说明书
链接地址:https://www.777doc.com/doc-4305471 .html