两自由度(2-DOF) PID控制器包括对比例项和导数项的设定值加权。二自由度PID控制器能够快速抑制扰动,而不增加设定值跟踪的超调量。二自由度PID控制器也有助于减轻参考信号变化对控制信号的影响。
您可以使用专门的模型对象来表示PID控制器pid2
和pidstd2
.本课题描述了二自由度PID控制器在MATLAB中的表示®.有关PID控制器自动整定的信息,请参见PID控制器调优.
这个插图显示了一个典型的控制体系结构使用一个2-DOF PID控制器。
二自由度控制器输出(u)及其两个输入(r和y)可以用平行形式或标准形式表示。这两种形式在用于表示控制器的比例、积分和微分作用的参数上有所不同,如下表所示。
形式 | 公式 |
---|---|
平行(pid2 对象) |
在这种表示方法:
|
标准(pidstd2 对象) |
在这种表示方法:
|
使用方便应用程序的控制器表单。例如,如果你想用时间常数来表示积分器和导数作用,请使用标准形式。有关如何创建并行表单和标准表单控制器的示例,请参见pid2
和pidstd2
分别引用页面。
关于在离散时间中表示PID控制器的信息,请参见离散时间比例积分微分(PID)控制器.
二自由度PID控制器是一种二输入一输出控制器的形式C2(年代),如下图所示。从每个输入到输出的传递函数本身就是一个PID控制器。
每个组成部分Cr(年代),Cy(年代)是一个PID控制器,具有不同权重的比例和导数项。例如,在连续时间中,这些分量为:
你可以通过将PID控制器转换成一个双输入,一输出的传递函数来访问这些组件。例如,假设C2
是一个二自由度PID控制器,存储为pid2
对象。
C2tf =特遣部队(C2);Cr = C2tf (1);Cy = C2tf (2);
Cr(年代的第一个输入的传递函数C2
到输出。同样的,Cy(年代的第二个输入的传递函数C2
到输出。
假设G
是一个动态系统模型,如zpk
模型,代表工厂。建立闭环传递函数r来y.请注意,Cy(年代)循环具有正反馈,根据定义Cy(年代).
T = Cr *反馈(G, Cy, + 1)
另外,使用连接
命令直接用二自由度控制器建立等效闭环系统C2
.为此,设置InputName
和OutputName
的属性G
和C2
.
G.InputName =“u”;G.OutputName =“y”;C2。Inputname = {“r”,“y”};C2。OutputName =“u”;T =连接(G C2,“r”,“y”);
还有其他配置,你可以把一个2-DOF PID控制器分解成SISO组件。对于特定的选择C(年代),X(年代),下面的每一个配置都相当于2-DOF架构C2(年代).你可以获得C(年代),X(年代)对每个配置使用getComponents
命令。
在前馈配置中,将二自由度PID控制器分解为一个以误差信号为输入的常规SISO PID控制器和一个前馈控制器。
对于连续时间并联型二自由度PID控制器,其组成为:
使用以下方法访问这些组件getComponents
.
[C、X] = getComponents (C2,“前馈”);
下面的命令构造闭环系统r来y用于前馈配置。
T = G * (C + X) *反馈(1 G * C);
在反馈组态中,将二自由度PID控制器分解为常规SISO PID控制器和反馈控制器。
对于连续时间并联型二自由度PID控制器,其组成为:
使用以下方法访问这些组件getComponents
.
[C、X] = getComponents (C2,“反馈”);
下面的命令构造闭环系统r来y用于反馈配置。
T = G * C *反馈(1 G * (C + X));
在滤波器组态中,将二自由度PID控制器分解为常规SISO PID控制器和参考信号的预滤波器。
对于连续时间并联型二自由度PID控制器,其组成为:
过滤器X(年代)也可以表示为比率:- [Cr(年代)/Cy(年代)]。
下面的命令构造闭环系统r来y查看过滤器配置。
T = X *反馈(G * C, 1);
一个例子说明了2-DOF PID控制器分解成这些配置,见将二自由度PID控制器分解为单输入单输出单元.
上面所示的公式适用于连续时间并联型控制器。标准形式控制器和离散时间控制器可以分解成类似的构型。的getComponents
命令对所有2-DOF PID控制器对象都有效。
getComponents
|pid2
|pidstd2
|pidtune
|pidTuner