主要内容

pidtune

线性植物模型的PID调谐算法

句法

C = pidtune (sys、类型)
C = PidTune(SYS,C0)
C = pidtune (sys、类型、wc)
C = pidtune (sys, C0, wc)
C = pidtune (sys,…,选择)
[C,信息]= pidtune(…)

描述

C= pidtune(sys类型设计类型的PID控制器类型为植物sys.如果类型设定一个一自由度(1-DOF) PID控制器,然后对单元反馈回路设计控制器,如图所示:

如果类型指定双程度自由度(2-DOF)PID控制器,然后pidtune设计一个2-DOF控制器,如在此插图的反馈循环中:

pidtune调整PID控制器的参数C平衡性能(响应时间)和健壮性(稳定裕度)。

C= pidtune(sysC0.设计与控制器相同类型和形式的控制器C0..如果sysC0.离散时间模型,C有相同的离散积分器公式吗C0.

C= pidtune(sys类型wcC= pidtune(sysC0.wc指定目标值wc为开环响应的前0 dB增益交叉频率。

C= pidtune(sys、……选择使用其他调优选项,如目标阶段裕度。用pidtuneOptions.指定选项集选择

[C信息] = PidTune(...)返回数据结构信息,其中包含有关闭环稳定性,所选开环增益交叉频率和实际相位余量的信息。

输入参数

sys

对于单输入,动态系统模型对工厂进行控制器设计。sys可:

  • 任何类型的SISO动态系统模型,包括数字LTI模型和识别的型号。如果sys是可调的或不确定的模型,pidtune为当前或标称值设计一个控制器sys

  • 连续或离散时间模型。

  • 稳定的、不稳定的或整合的。然而,具有不稳定极点的被控对象在PID控制下可能是不稳定的。

  • 一种包含任何类型的时间延迟的模型。然而,在PID控制下,长时间延迟的装置可能无法获得足够的性能。

  • 一组植物模型。如果sys是一个数组,pidtune为阵列中的每个工厂设计一个单独的控制器。

如果植物具有不稳定的极点,并且sys是以下其中之一:

  • 一种FRD.模型

  • 一种党卫军模型具有内部时间延迟,不能转换为I / O延迟

你必须使用pidtuneOptions.指定电站中不稳定极点的数量(如果有的话)。

类型

控制器要设计的控制器类型,指定为字符向量。这个词控制器类型指控制器动作中出现的术语。例如,PI控制器只有一个比例项和一个积分项,而PIDF控制器包含比例项、积分器和滤波导数项。类型可以取下面总结的值。有关这些控制器类型的详细信息,请参见PID控制器类型进行调整

1-DOF控制器

  • 'P'——比例只

  • “我”——积分只

  • “π”-比例积分

  • “PD”-比例和导数

  • 'pdf'-比例和导数与一阶滤波器对导数项

  • “PID”-比例,积分,导数

  • 'pidf'-比例,积分,和导数与一阶滤波器对导数项

二自由度控制器

  • 'pi2'- 2-DOF成比例和积分

  • “PD2”- 2-DOF比例和导数

  • “PDF2”- 2-DOF比例和导数与导数项上的一阶滤波器

  • “PID2”- 2-DOF比例,积分,和导数

  • 'pidf2'- 2-DOF比例,积分,和导数与导数项上的一阶滤波器

有关2自由度PID控制器的更多信息,请参阅二自由度PID控制器

固定权值的二自由度控制器

  • “I-PD”- 2-DOF PIDB.= 0,C= 0.

  • “I-PDF”- 2-DOF PIDF与B.= 0,C= 0.

  • “ID-P”- 2-DOF PIDB.= 0,C= 1

  • 'IDF-P'- 2-DOF PIDF与B.= 0,C= 1

  • “πd的”- 2-DOF PIDB.= 1,C= 0.

  • “PI-DF”- 2-DOF PIDF与B.= 1,C= 0.

有关固定设定值2-DOF PID控制器的更详细信息,请参阅PID控制器类型进行调整

控制器形式

当你使用的时候类型输入,pidtune并行设计控制器(pidPID2.)的形式。使用输入C0.代替类型如果你想设计一个标准(pidstdpidstd2)的形式。

如果sys是带有样本时间的离散时间模型吗Tspidtune设计具有相同的离散时间控制器Ts.控制器有号文件用于整数和衍生动作的离散集成器公式。使用输入C0.代替类型如果你想设计一个有不同离散积分器公式的控制器。

有关PID控制器表单和公式的更多信息,请参阅:

C0.

对设计的PID控制器的整定特性,指定为一个pidpidstdPID2.,或pidstd2对象。如果你提供C0.pidtune

  • 控件所表示的类型的控制器C0.

  • 返回A.pid控制器,如果C0.是一个pid控制器。

  • 返回A.pidstd控制器,如果C0.是一个pidstd控制器。

  • 返回一个二自由度PID2.控制器,如果C0.是一个PID2.控制器。

  • 返回一个二自由度pidstd2控制器,如果C0.是一个pidstd2控制器。

  • 返回相同的控制器IformulaDformula值作为C0.,如果sys是一个离散时间系统。看看pidPID2.pidstd,pidstd2有关的更多信息的参考页IformulaDformula

wc

调谐开环响应的0 dB增益交叉频率的目标值。指定wc以弧度为单位/TimeUnit,在那里TimeUnit时间单位是sys.交叉频率wc大致设置控制带宽。闭环响应时间约为1 / wc

增加wc加快反应速度。减少wc提高稳定性。当你忽略wcpidtune自动选择一个值,基于植物动态,实现响应和稳定之间的平衡。

选择

选项集,指定其他调优选项pidtune设计算法,如目标相位保证金或设计焦点。用pidtuneOptions.创建选择

输出参数

C

控制器设计为sys.如果sys是一系列线性模型,pidtune为每个线性模型设计一个控制器,并返回一组PID控制器。

控制器形式:

  • 如果第二个参数为pidtune类型C是一个pidPID2.控制器。

  • 如果第二个参数为pidtuneC0.

    • C是一个pid控制器,如果C0.是一个pid对象。

    • C是一个pidstd控制器,如果C0.是一个pidstd对象。

    • C是一个PID2.控制器,如果C0.是一个PID2.对象。

    • C是一个pidstd2控制器,如果C0.是一个pidstd2对象。

控制器类型:

  • 如果第二个参数为pidtune类型C通常具有指定的类型。

  • 如果第二个参数为pidtuneC0.C一般具有相同的类型C0.

然而,在任何一种情况下,算法可以实现足够的性能和鲁棒性使用一个比指定的低阶控制器类型C0.pidtune返回A.C比指定的动作少。例如,C即使是PI控制器类型'pidf'

时间域:

  • C具有相同的时域为sys

  • 如果sys是离散时间模型,C样品时间和sys

  • 如果您指定C0.C有相同的IformulaDformula作为C0..如果不C0.指定,IformulaDformula前进欧拉.看看pidPID2.pidstd,pidstd2有关的更多信息的参考页IformulaDformula

如果您指定C0.C还可以获得模型属性,如InputName.OutputNameC0..有关模型属性的更多信息,请参阅每种类型的动态系统模型的参考页面。

信息

数据结构包含有关调谐PID回路的性能和鲁棒性的信息。等领域的信息是:

  • 稳定的-表示闭环稳定性的布尔值。稳定的当闭环稳定时为1,否则为0。

  • CrossoverFrequency- 开环系统的第一个DB交叉频率C*sys,在rad / TimeUnit,在那里TimeUnit时间单位是否在TimeUnit财产sys

  • PhaseMargin- 调谐PID循环的相位余量,以度为单位。

如果sys是一组植物模型,信息是一组数据结构,包含关于每个调优PID循环的信息。

例子

命令行PID控制器设计

这个例子展示了如何为工厂设计一个PID控制器,给出如下:

S. y S. = 1 S. + 1 3.

作为第一步,创建一个工厂的模型,并为它设计一个简单的PI控制器。

Sys = zpk([],[-1 -1],1);[C_pi,信息]= pidtune (sys,“π”
c PI = 1 Kp + Ki *—s with Kp = 1.14, Ki = 0.454连续时间PI控制器并行形式。
info =结构与字段:稳定:1交叉频率:0.5205相位margin: 60.0000

C_pi是一个pid表示PI控制器的控制器对象。等领域的信息表明调谐算法选择约0.52 rad / s的开环交叉频率。

检查受控系统的闭环步骤响应(参考跟踪)。

T_pi = feedback(C_pi*sys, 1);步骤(T_pi)

图中包含一个轴。轴包含一个类型为line的对象。该对象表示T\_pi。

为了提高响应时间,可以设置比结果更高的目标交叉频率pidtune自动选择,0.52。增加交叉频率到1.0。

[C_pi_fast,信息]= pidtune (sys,“π”, 1.0)
k_pi_fast = 1 Kp + Ki *——s with Kp = 2.83, Ki = 0.0495
info =结构与字段:Stable: 1 CrossoverFrequency: 1 phasemmargin: 43.9973

新控制器实现了更高的交叉频率,但以减少相位裕度为代价。

比较两种控制器的闭环阶跃响应。

t_pi_fast =反馈(c_pi_fast * sys,1);步骤(t_pi,t_pi_fast)轴([0 30 0 1.4])图例(“π”“π,快”

图中包含一个轴。坐标轴包含两个line类型的对象。这些对象代表PI, PI,快。

这种降低性能结果,因为PI控制器没有足够的自由度,以在1.0 rad / s的交叉频率下实现良好的相位余量。添加衍生操作提高了响应。

设计PIDF控制器GC目标交叉频率为1.0 rad/s。

[C_pidf_fast,信息]= pidtune (sys,'pidf', 1.0)
C_pidf_fast = 1 s Kp + Ki *—+ Kd * -------- s Tf*s+1 with Kp = 2.72, Ki = 0.985, Kd = 1.72, Tf = 0.00875连续时间PIDF控制器并行化。
info =结构与字段:稳定:1交叉频率:1分数:60.0000

信息领域显示控制器中的衍生作用允许调谐算法设计更具侵略性的控制器,该控制器实现了具有良好相位余量的目标交叉频率。

比较了快速PI和PIDF控制器的闭环阶跃响应和抗干扰性。

T_pidf_fast =反馈(C_pidf_fast * sys, 1);步骤(T_pi_fast T_pidf_fast);轴([0 30 0 1.4]);传奇(“π,快”“PIDF,快”);

图中包含一个轴。坐标轴包含两个line类型的对象。这些对象代表PI,快速,PIDF,快速。

你可以比较被控系统的输入(负载)干扰抑制与快速PI和PIDF控制器。为此,绘制从设备输入到设备输出的闭环传递函数的响应。

S_pi_fast =反馈(sys, C_pi_fast);S_pidf_fast =反馈(sys, C_pidf_fast);步骤(S_pi_fast S_pidf_fast);轴([0 50 0 0.4]);传奇(“π,快”“PIDF,快”);

图中包含一个轴。坐标轴包含两个line类型的对象。这些对象代表PI,快速,PIDF,快速。

该曲线表明PIDF控制器还提供更快的干扰抑制。

设计标准格式PID控制器

设计一个标准形式的PID控制器为工厂定义

S. y S. = 1 S. + 1 3.

要以标准形式设计控制器,请使用标准形式的控制器作为C0.参数pidtune

Sys = zpk([],[-1 -1],1);C0 = pidstd (1 1 1);C = PidTune(SYS,C0)
C = 1 1 Kp *(1 + ---- *—+ Td * s) Ti s with Kp = 2.18, Ti = 2.36, Td = 0.591标准形式连续时间PID控制器

指定积分器离散化方法

用指定的方法对积分器进行离散化设计一个离散时间PI控制器。

如果你的植物是离散时间,pidtune自动返回离散时间控制器使用默认的前欧拉积分方法。若要指定不同的集成方法,请使用pidpidstd创建一个离散时间控制器有所需的积分方法。

Sys = c2d(tf([1 1],[1 5 6]),0.1);C0 = pid (1, 1,“t”,0.1,'iformula'“BackwardEuler”);C = PidTune(SYS,C0)
C = TS * Z kp + ki * ------ z-1,带有kp = -0.518,ki = 10.4,ts = 0.1采样时间:0.1秒是并行形式的离散时间pi控制器。

使用C0.作为输入原因pidtune设计一个控制器C具有相同的形式、类型和离散化方法C0..显示出的积分项C使用后向欧拉集成方法。

指定一个梯形积分器并比较得到的控制器。

C0_tr = pid (1, 1,“t”,0.1,'iformula''梯形');Ctr = pidtune (sys C_tr)
Ctr = Ts*(z+1) Ki * -------- 2*(z-1) with Ki = 10.4, Ts = 0.1采样时间:0.1秒。

设计二自由度PID控制器

根据传递函数为被控对象设计一个二自由度PID控制器:

G S. = 1 S. 2 + 0. 5. S. + 0. 1

使用1.5 rad / s的目标带宽。

WC = 1.5;g = tf(1,[1 0.5 0.1]);c2 = pidtune(g,“PID2”wc)
C2 = 1u = Kp (b*r-y) + Ki——(r-y) + Kd*s (c*r-y) s with Kp = 1.26, Ki = 0.255, Kd = 1.38, b = 0.665, c = 0连续时间二自由度PID控制器并行化。

使用类型“PID2”原因pidtune生成一个二自由度控制器,表示为PID2.对象。显示确认了这个结果。显示器也显示了这一点pidtune调整所有控制器系数,包括设定值权重B.C,以平衡性能和健壮性。

提示

  • 默认情况下,pidtune类型输入返回A.pid控制器并行形式。要以标准形式设计控制器,请使用pidstd控制器作为输入参数C0..有关并行和标准控制器表单的更多信息,请参见pidpidstd参考页面。

  • 对于实时编辑器中的交互式PID调整,请参阅曲调PID控制器住编辑任务。此任务允许您交互设计PID控制器并自动生成MATLAB®现场脚本的代码。

算法

有关MathWorks的信息®PID整定算法,见PID调整算法

备择方案

参考文献

Åström,K. J.和Hägglund,T.先进的PID控制,研究三角园,NC:仪器、系统和自动化学会,2006。

介绍在R2010B.