PID教程介绍本教程将向您展示了比例每个比例项(P)的特点,积分项(I)和微分项(D)控制,以及如何使用它们来获得所需的响应。在本教程中,我们会考虑以下单位反馈系统:Plant【被控对象】:被控制的系统Controller【控制器】:为被控对象提供刺激;目的是控制整个系统的行为三个控制系数PID控制器的传递函数如下所示:·Kp=比例控制参数·KI=积分控制参数·Kd=微分控制参数首先,让我们来看看如何在一个PID控制器的闭环使用上述系统的工作原理图。变量(e)代表误差,这里的误差是指输入值(R)和实际输出(Y)两者之差。这个错误信号(e)将发送到PID控制器,该控制器对这个错误信号同时计算导数和积分。刚刚过去信号(u)将等于比例控制参数(Kp)乘上误差,积分控制参数(Ki)乘上误差的积分,微分控制系数(Kd)乘上误差的微分。这个信号(u)将被发送到被控对象,新的输出(Y)将获得。这种新的输出(Y)将被送回传感器再次找到新的误差信号(e)。该控制器采用这个新的误差信号,并计算其微分及其积分了。这个过程将反复的进行。P,I和D控制器的属性比例控制参数(Kp)加快系统的响应速度,提高系统的调节精度,但从未消除稳态误差。一个积分控制参数(Ki)将消除残差,但它可能使瞬态响应差。一个微分控制参数(Kd)将改善系统的动态性能,减少了过冲,改善瞬态响应的影响。Kp,Kd,和Ki在闭环系统的影响总结如下表。请注意,这些关系不是固定不变的,因为Kp,Kd,和Ki是互相依赖。事实上,改变一个值可以改变其他两个效果。出于这个原因,该表帮您确定Ki,Kp和Kd值时作为参考。下面对PID做一个简单形象的介绍简单的控制模型:你控制一个人让他以PID控制的方式走100步后停下。1、P比例控制,就是让他走100步,他按照一定的步伐走到90几步(如98步)或100多步(如102步)就停了。说明:P比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-stateerror)。2、PI积分控制,就是他按照一定的步伐走到102步然后回头接着走,走到98步位置时,然后又回头向100步位置走。在100步位置处来回晃几次,最后停在100步的位置。说明:在积分I控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(SystemwithSteady-stateError)。为了消除稳态误差,在控制器中必须引入“积分项”积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。3、PD微分控制,就是他按照一定的步伐走到一百零几步后,再慢慢地向100步的位置靠近,如果最后能精确停在100步的位置,就是无静差控制;如果停在100步附近(如99步或101步位置),就是有静差控制。说明:在微分控制D中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳,其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例P”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势。这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例P+微分D(PD)控制器能改善系统在调节过程中的动态特性。带着上面的形象的说明通过例题让我们加深记忆!!例题假设我们有一个简单的质量,弹簧,阻尼器和问题,如下图。该系统的建模方程式(1)我们得到的建模方程(1)用拉普拉斯变换,得到位移X(s)和输入值F(s)的传递函数就变成其中·M=1kg·b=10N.s/m·k=20N/m·F(s)=1把这些值代入到传递函数这个例题的目的是向您展示Kp,Ki和Kd值如何有助于获得·快速的上升时间(Fastrisetime)·最小的过冲量(Minimumovershoot)·没有稳态误差(Nosteady-stateerror)开环阶跃响应让我们先来查看开环阶跃响应。创建一个新的M-文件,添加以下代码:1.num=1;2.den=[11020];3.plant=tf(num,den);4.step(plant)复制代码在MATLAB命令窗口中运行M-文件应该得到下面的图。该被控对象的传递函数的直流增益为1/20,所以0.05是一个单位阶跃输入输出的最终值。这相当于0.95稳态误差,确实相当大。此外,上升时间约为1秒,稳定时间约为1.5秒。让我们设计的控制器将减少上升时间,减少稳定时间,并消除了稳态误差。比例控制从上面的表格中,我们看到,比例控制参数(Kp)使上升时间缩短,增加了过冲,并减少了稳态误差。上述系统的闭环传递一个比例控制参数的功能是:比例控制参数(Kp)等于300,然后对M-文件进行如下修改:1.Kp=300;2.contr=Kp;3.sys_cl=feedback(contr*plant,1);4.t=0:0.01:2;5.step(sys_cl,t)复制代码运行在MATLAB命令窗口中的M-文件应提供下列情节。Note:TheMATLABfunctioncalledfeedbackwasusedtoobtainaclosed-looptransferfunctiondirectlyfromtheopen-looptransferfunction(insteadofcomputingclosed-looptransferfunctionbyhand).注意:MATLAB函数称为反馈是用来直接从开环传递函数获取闭环传递函数。(而不是用手工计算闭环传递函数)。上图显示,使用比例控制参数的减少了上升时间和稳态误差,但提高了过冲,并降低了小额的稳定时间。比例积分控制在进入一个PID控制去,让我们来看看在PI控制。从表中,我们看到积分控制参数(Ki)降低上升时间,但增加了超调和稳定时间,不过消除了稳态误差。对于给定的系统,使用PI控制的闭环传递函数为:让我们把Kp减小到等于30,并让Ki等70。创建一个新的M-文件,输入以下命令。1.Kp=30;2.Ki=70;3.contr=tf([KpKi],[10]);4.5.sys_cl=feedback(contr*plant,1);6.t=0:0.01:2;7.step(sys_cl,t)复制代码运行此命令窗口在MATLAB的M-文件,你应该得到以下的图片。我们降低了比例控制参数(Kp),因为积分控制参数对也对减少上升时间,增加了冲量和比例控制参数有相同效果(双重效果)。上述反应表明,积分控制器消除了稳态误差。比例微分控制现在,让我们看看在PD控制。从上面的表格中,我们看到,微分控制参数(Kd)降低了过冲量和稳定时间。此次与PD控制器给定的系统闭环传递函数为:让我们像第一次一样,让Kp等于300,Kd等于10。把下面的命令输入到m-文件并运行下面的命令在MATLAB命令窗口中。1.Kp=300;2.Kd=10;3.contr=tf([KdKp],1);4.5.sys_cl=feedback(contr*plant,1);6.t=0:0.01:2;7.step(sys_cl,t)复制代码此图表明,微分控制器既降低超调量和稳定时间,并对上升时间和稳态误差较小的影响。比例,积分,微分控制现在,让我们看看在一个PID控制器。此次与PID控制器的给定的系统闭环传递函数为:经过多次反复试验运行,Kp=350,Ki=300,和Kd=50提供所需的响应。为了确认,请输入以下命令,以一米文件并运行在命令窗口中。你应该得到以下步骤响应。1.Kp=350;2.Ki=300;3.Kd=50;4.contr=tf([KdKpKi],[10]);5.6.sys_cl=feedback(contr*plant,1);7.t=0:0.01:2;8.step(sys_cl,t)复制代码现在,我们已经获得了无过冲,快速上升时间,并没有稳态误差闭环系统。设计一个PID控制器的一般技巧当你要设计一个给定系统的PID控制器,请按照下面以获得所需的响应的步骤。1.获取一个开环反应并确定哪些需要改进2.添加比例控制以改善上升时间3.添加微分控制以改善冲量4.添加一个积分控制消除稳态误差5.调整每个Kp,Ki,和Kd直到您获得所需的整体反应。你总是可以参考本“PID教程”上显示的表,以找出哪个控制器控制什么特点。最后,请记住如果没有必要你并不需要在一个单一的系统中的把所有三个控制器(比例,微分和积分)都用上。例如,如果一个PI控制器提供足够好的反应(如上面的例子),那么你就不需要在系统上执行微分控制器。尽可能保持简单的控制器。书上的常用口诀:参数整定找最佳,从小到大顺序查先是比例后积分,最后再把微分加曲线振荡很频繁,比例度盘要放大曲线漂浮绕大湾,比例度盘往小扳曲线偏离回复慢,积分时间往下降曲线波动周期长,积分时间再加长曲线振荡频率快,先把微分降下来动差大来波动慢,微分时间应加长理想曲线两个波,前高后低4比1一看二调多分析,调节质量不会低