PID控制的设计原理

分享到:
点击量: 208043

  在本教程中,我们将介绍一个简单而灵活的反馈补偿器的结构,比例 - 积分 - 微分(PID)控制器。我们将讨论每个PID参数的闭环动态的效果,并演示了如何使用PID控制器,提高了系统的性能。

  在本教程中所使用的主要MATLAB命令:TF,步骤,PID控制,反馈,pidtool,pidtune

  PID概述

  在本教程中,我们将考虑以下单位反馈系统:

  PID控制器的输出,等于到工厂的控制输入端,在所述时域是如下:

  (1)

  首先,让我们来看看如何PID控制器在一个闭环系统,利用上述原理图。变量()表示的跟踪误差,所需的输入值()和实际的输出()之间的差异。该误差信号()将被发送到PID控制器,控制器计算衍生物与此误差信号的积分。的控制信号()的植物是相等的比例增益()倍的误差大小加上积分增益()的时间积分的错误加微分增益()倍的衍生物的错误。

  该控制信号()被发送给植物,并得到新的输出()。新的输出(),然后反馈相比,参考查找新的误差信号()。控制器采用这个新的错误信号,并计算其衍生物及其整体再次,循环往复。

  PID控制器的传递函数,通过服用的拉普拉斯变换方程(1),被发现。

  (2)

  

  在MATLAB中直接使用的传递函数,例如,我们可以定义一个PID控制器:

  连续时间传​​递函数。

  或者,我们可以使用MATLAB的PID控制器对象来生成等效连续时间控制器如下:

  连续PID控制器并联构成。

  让转换的pid对象的传递函数地看到,它产生与上述相同的结果:

  连续时间传​​递函数。

  PID控制器的特点

  比例控制器()将减少上升时间的影响,并会减少,但不会消除稳态误差。一个不可分割的控制()将有消除稳态误差为一个常数或阶跃输入的效果,但它可能使瞬态响应变慢。 A衍生物的控制()将有增加了系统的稳定性,减少了过冲,和改进的瞬态响应的影响。

  每个控制器参数的影响和上的闭环系统的总结在下面的表中。

  CL响应上升时间过冲稳定时间SS ERROR

  KP减少增加小的变化减少

  文减少增加增加消除

  KD小变化减少减少不变

  请注意,这些相关性可能并不完全准确,因为,并且是彼此依赖。事实上,改变这些变量中的一个,可以改变其他两个的效果。出于这个原因,只应使用的表时,确定的值作为参考。

  PID控制*例题

  假设我们有一个简单的质量,弹簧和阻尼器的问题。是该系统的建模方程

  (3)

  以拉普拉斯变换的造型方程,我们得到

  (4)

  的位移和输入之间的传递函数,然后变成

  (5)

  F = 1 NPlug这些值代入上述的传递函数

  
(6)

  这个问题的目的是向您展示如何每个,并有助于获得

  快速上升时间

  *小的过冲

  无稳定状态errorOpen,环阶跃响应

  让我们先来查看的开环阶跃响应。创建一个新的m文件,并运行下面的代码:

  PID控制*工序(P)

  植物的传递函数的直流增益为1/20,所以0.05是单位阶跃输入的输出的*终值。这相当于稳态误差为0.95,的确是相当大的。此外,上升时间约为一秒,沉降时间为约1.5秒。让我们来设计一个控制器,这将减少上升时间,减少沉淀时间,并消除稳态误差。

  PID控制*比例控制

  从上面所示的表中,我们可以看到,比例控制器(Kp)的时间的上升时间,增加了超调量,和时间的稳态误差。

  上述系统与一个比例控制器的闭环传递函数是:

  (7)

  让的比例增益()等于300,和改变m文件如下:

  连续时间传​​递函数。

  上述图显示比例控制器的上升时间和稳态误差减少,增加了过冲,以及由少量的稳定时间下降。

  PID控制*比例微分控制

  现在,让我们来看看在PD控制。从上面所示的表中,我们可以看到,微分控制器(Kd值)的过冲和稳定时间的降低。与一个PD控制器的给定的系统的闭环传递函数是:

  (8)

  让我们像以前一样,让等于10等于300。在MATLAB命令窗口输入以下命令到一个m文件,并运行它。

  该图显示,微分控制器的过冲和稳定时间减少,并有一个小的上升时间和稳态误差的影响。

  PID控制*比例积分控制

  在进入PID控制之前,让我们来看看在PI控制。从表中,我们可以看到,积分控制器(KI),减少了上升时间,不但增加了超调量和稳定时间,并消除了稳态误差。对于给定的系统中,与PI控制的闭环传递函数是:

  (9)

  让我们减少至30,并让等于70。创建一个新的m文件,并输入以下命令。

  在MATLAB命令窗口中运行的m文件,与你应该得到下面的图形。我们已经减少了,因为集中控制器也减少的上升时间和增加了超调的比例控制器(双重效果)的比例增益(Kp)。上面的响应表明积分控制器消除稳态误差。

  PID控制*比例-积分-微分控制

  现在,让我们来看看在PID控制器。与PID控制器的给定的系统的闭环传递函数是:

  (10)

  经过多次试验和错误运行时,增益= 350 = 300 = 50提供了所希望的响应。要确认,一个m文件中输入以下命令,并在命令窗口中运行它。你应该得到以下步骤响应。

  现在,我们已经获得了闭环系统无超调,快速上升时间,且无稳态误差。

  设计一个PID控制器的一般提示

  当你正在设计一个PID控制器对于一个给定的系统,请按照下面所示的步骤,以获得所需的响应。

  1.获取一个开环反应,并确定需要改进

  2.添加比例的上升时间控制,得以提高

  3.衍生工具的控制,以提高过冲

  4.添加一个不可分割的控制,以消除稳态误差

  5.调整的Kp,Ki和Kd,直到你获得所需的整体响应。你总是可以参照到“PID教程”页所示的表格,找出控制有什么特点。

  *后,请记住,你并不需要落实到一个系统中的所有三个控制器(比例,微分,积分),如果没有必要的。例如,如果一个PI控制器提供了一个很好的足够的响应(如上面的例子),那么你并不需要实现一个微分控制系统。保持尽可能简单的控制器。

  自动PID调整

  MATLAB提供了用于自动地选择*佳PID增益,这使得上述不必要的试验和错误的过程的工具。您可以访问调整算法直接使用pidtune的,或通过一个漂亮的图形用户界面(GUI)pidtool。

  MATLAB自动调整算法选择PID增益,以平衡性能(响应时间,带宽)和鲁棒性(稳定裕度)。默认情况下,algorthm设计为60度的相位裕度。

  让我们来探讨这些自动化工具,先产生一个比例控制器的质量 - 弹簧 - 阻尼系统,通过输入下面的命令:

  pidtool(P,'p'的)

  pidtool GUI窗口,如下图所示,应该会出现。

  请注意,所示的阶跃响应是慢比用手我们设计的比例控制器。现在按一下按钮,在右上角的显示参数。正如预期的比例增益常数中,Kp,是低于我们所使用的一个中,Kp = 94.85 <300。

  现在,我们可以交互地调整控制器的参数,并立即得到的响应int他GUI窗口。请在下面的图所示,拖动时间滑块的resposne的权利0.14s。回应并indeeed加快,我们可以看到KP现在已接近手动值。我们还可以看到所有其他的系统性能和鲁棒性参数。请注意,相位裕度为60度时,默认为pidtool和一般的健壮性和性能的良好平衡。

  现在让我们尝试我们的系统PID控制器的设计。通过指定先前设计或(基线)控制器,C,作为**个参数,pidtool将设计的另一个PID控制器(而不是P或PI),并与自动化控制器与基线,将比较的系统响应。

  pidtool(P,C)
 

  我们看到在输出窗口中,自动控制器的响应速度较慢,表现出更多的超调较基线。现在选择的设计模式:扩展选项的顶部,从而揭示更多的调整参数。

  现在输入带宽:32弧度/秒和相位裕度:90度,以生成一个控制器在性能上的基准。请记住,更高的带宽(0 dB的交叉开环),更快的上升时间,且有较高的相位裕量减少超调,提高了系统的稳定性。

  *后,我们注意到,我们可以生成相同的控制器使用的命令线工具pidtune的,,而不是GUI的pidtool