主要内容

二自由度PID控制器

二自由度(2-DOF) PID控制器包括比例和导数项的设定值加权。二自由度PID控制器能够快速抑制扰动,且不显著增加设定值跟踪的超调量。2-DOF PID控制器还可用于减轻参考信号变化对控制信号的影响。

您可以使用专用的模型对象表示PID控制器pid2而且pidstd2.本课题介绍了二自由度PID控制器在MATLAB中的表示方法®.有关自动PID控制器整定的信息,请参见PID控制器整定

连续时间2自由度PID控制器表示

本图显示了使用2自由度PID控制器的典型控制结构。

2-DOF控制器输出(u)及其两个输入(r而且y)可以用平行形式或标准形式表示。这两种形式在用于表示控制器的比例、积分和导数动作的参数上有所不同,如下表所示。

形式 公式
平行(pid2对象)

u K p b r y + K 年代 r y + K d 年代 T f 年代 + 1 c r y

在这种表示中:

  • Kp比例增益

  • K积分器增益

  • Kd导数增益

  • Tf导数滤波时间

  • b=设定值权重的比例项

  • c=导数项上的设定值权重

标准(pidstd2对象)

u K p b r y + 1 T 年代 r y + T d 年代 T d N 年代 + 1 c r y

在这种表示中:

  • Kp比例增益

  • T积分器时间

  • Td导数时间

  • N=导数滤波除数

  • b=设定值权重的比例项

  • c=导数项上的设定值权重

使用对应用程序方便的控制器表单。例如,如果你想用时间常数来表示积分器和导数的作用,使用标准形式。有关如何创建并行形式和标准形式控制器的示例,请参见pid2而且pidstd2分别是参考页。

有关在离散时间表示PID控制器的信息,请参见离散时间比例积分微分(PID)控制器

二自由度控制体系结构

2-DOF PID控制器是一种双输入,一输出的控制器形式C2年代),如下图所示。从每个输入到输出的传递函数本身就是一个PID控制器。

每个组成部分Cr年代),Cy年代)是一个PID控制器,在比例项和导数项上具有不同的权重。例如,在连续时间中,这些分量由:

C r 年代 b K p + K 年代 + c K d 年代 T f 年代 + 1 C y 年代 K p + K 年代 + K d 年代 T f 年代 + 1

您可以通过将PID控制器转换为双输入一输出传递函数来访问这些组件。例如,假设C2是一个2-DOF PID控制器,存储为pid2对象。

C2tf = tf(C2);Cr = C2tf(1);Cy = C2tf(2);

Cr年代的第一个输入的传递函数C2到输出。同样的,Cy年代的第二个输入的传递函数C2到输出。

假设G是动态系统模型,例如zpk模型,代表植物。构建闭环传递函数ry.注意Cy年代)循环具有正反馈,由的定义Cy年代).

T = Cr*反馈(G,Cy,+1)

或者,使用连接命令直接用2-DOF控制器构建等效闭环系统C2.要这样做,请设置InputName而且OutputName的属性G而且C2

G.InputName =“u”;G.OutputName =“y”;C2。Inputname = {“r”“y”};C2。OutputName =“u”;T = connect(G,C2,“r”“y”);

在其他配置中,您可以将2-DOF PID控制器分解为SISO组件。对于特定的选择C年代),X年代),下面的每一个配置都等价于2-DOF结构C2年代).你可以获得C年代),X年代)为每个这些配置使用getComponents命令。

前馈

在前馈组态中,将二自由度PID控制器分解为以误差信号为输入的常规SISO PID控制器和前馈控制器。

对于一个连续时间、并联形式的2自由度PID控制器,其分量为:

C 年代 K p + K 年代 + K d 年代 T f 年代 + 1 X 年代 b 1 K p + c 1 K d 年代 T f 年代 + 1

使用以下命令访问这些组件getComponents

[C,X] = getComponents(C2,'前馈');

下面的命令从构造闭环系统ry对于前馈结构。

T = G*(C+X)*反馈(1,G*C);

反馈

在反馈配置中,将二自由度PID控制器分解为常规SISO PID控制器和反馈控制器。

对于一个连续时间、并联形式的2自由度PID控制器,其分量为:

C 年代 b K p + K 年代 + c K d 年代 T f 年代 + 1 X 年代 1 b K p + 1 c K d 年代 T f 年代 + 1

使用以下命令访问这些组件getComponents

[C,X] = getComponents(C2,'反馈');

下面的命令从构造闭环系统ry对于反馈配置。

T = G*C*反馈(1,G*(C+X));

过滤器

在滤波器组态中,将二自由度PID控制器分解为常规SISO PID控制器和参考信号的预滤波器。

对于一个连续时间、并联形式的2自由度PID控制器,其分量为:

C 年代 K p + K 年代 + K d 年代 T f 年代 + 1 X 年代 b K p T f + c K d 年代 2 + b K p + K T f 年代 + K K p T f + K d 年代 2 + K p + K T f 年代 + K

过滤器X年代)亦可表示为:- [Cr年代)/Cy年代)]。

下面的命令从构造闭环系统ry对于过滤器配置。

T = X*反馈(G*C,1);

有关说明将2-DOF PID控制器分解为这些配置的示例,请参见将2-DOF PID控制器分解为SISO组件

上面的公式适用于连续时间、并行形式的控制器。标准形式的控制器和离散时间的控制器可以分解成类似的配置。的getComponents命令适用于所有2-DOF PID控制器对象。

另请参阅

||||

相关的例子

更多关于