这个例子展示了PI控制在长死区过程中的局限性,并说明了一种名为“Smith Predictor”的控制策略的好处。
这个例子的灵感来自于:
陈志强,“死区补偿控制器的鲁棒调谐程序”,控制工程实践,9,2001,第1195-1208页。
过程开环响应模型为一阶加死区时间,时间常数为40.2秒,延时为93.9秒:
s =特遣部队(“年代”);P = exp(-93.9*s) * 5.6/(40.2*s+1);P.InputName =“u”;P.OutputName =“y”;P
P =从输入u到输出y: 5.6 exp(-93.9*s) * ---------- 40.2 s + 1连续时间传递函数。
注意延迟是时间常数的两倍多。这个模型代表了许多化学过程。它的阶跃响应如下所示。
步骤(P)、网格在
比例积分(PI)控制是过程控制中常用的控制方法。相应的控制体系结构如下所示。
补偿器C是一个标准形式的PI控制器,具有两个调谐参数:比例增益Kp
积分时间“透明国际”
.我们使用PIDTUNE
命令设计PI控制器,开环带宽为0.006 rad/s:
Cpi = pidtune (P, pidstd (1, 1), 0.006);消费者价格指数
Cpi = 1 1 Kp *(1 + ---- *——)Ti s, Kp = 0.0501, Ti = 47.3标准形式的连续时间PI控制器
为了评估PI控制器的性能,关闭反馈回路并模拟参考信号的阶跃变化的响应ysp
输出干扰信号d
.由于反馈路径的延迟,需要进行转换P
或消费者价格指数
的状态空间表示党卫军
命令:
Tpi =反馈(P * Cpi, 1, 1, 1, 1);闭环模型[ysp;dTpi。InputName = {“ysp”' d '};步骤(Tpi)、网格在
闭环响应具有可接受的超调量,但有点迟缓(大约在600秒内稳定下来)。增加比例增益Kp会加快响应速度,但也会显著增加超调量,并迅速导致不稳定:
Kp3 = (0.06; 0.08; 0.1);尝试增加三个Kp值Ti3 = repmat (Cpi.Ti 3 1);% Ti保持不变C3 = pidstd (Kp3 Ti3);%对应三个PI控制器T3 =反馈(P * C3, 1);T3。InputName =“ysp”;步骤(T3)标题(增加Kp时的稳定性损失)
长死区时间严重限制了PI控制器的性能。这是因为PI控制器不知道死区时间,当实际输出时反应太“不耐烦”y
不符合期望的设定值ysp
.每个人在淋浴时都经历过类似的现象,水温需要很长时间来调整。在这种情况下,不耐烦通常会导致热水和冷水交替咒骂。一个更好的策略是等待温度设定的变化生效,然后再做进一步的调整。一旦我们知道了哪个旋钮设定的温度是我们最喜欢的,我们就能在淋浴发生反应的时间内获得合适的温度。这种“最优”控制策略是Smith Predictor方案背后的基本思想。
Smith Predictor控制结构如下图所示。
史密斯预测器使用一个内部模型全科医生
预测过程的无延迟响应yp(例如,给定的旋钮设置将提供的水温)。然后将这个预测yp与期望的设定值ysp进行比较,以决定需要哪些调整(控制u)。为了防止漂移和拒绝外部干扰,史密斯预测器还将实际过程输出与预测进行比较日元
这也考虑到了死时间。的差距dy = y-y1
通过滤波器F反馈,并对整体误差信号作出贡献e
.请注意,dy
等于感知到的温度失配后等着淋浴有反应。
部署Smith Predictor方案需要
一个模型全科医生
过程动力学和估计τ
进程死时间
适当的补偿器和滤波器动态设置(C
和F
)
基于流程模型,我们使用:
为F
,使用一个20秒时间常数的一阶滤波器来捕获低频干扰。
F = 1 / (20 * s + 1);F.InputName =“dy”;F.OutputName =“迪拜”;
为C
,我们重新设计了PI控制器与整体工厂看到的PI控制器,其中包括动力学从P
,全科医生
,F
和死时间。在史密斯预测器控制结构的帮助下,我们能够增加开环带宽,以实现更快的响应,并增加相位裕度,以减少超调。
%的过程P = exp(-93.9*s) * 5.6/(40.2*s+1);P.InputName =“u”;P.OutputName =“y0”;%预测模型Gp = 5.6 / (40.2 * s + 1);全科医生。InputName =“u”;全科医生。OutputName =“yp”;Dp = exp (-93.9 *);Dp。InputName =“yp”;Dp。OutputName =“日元”;%整体植物S1 = sumblk ('ym = yp + dp');S2 = sumblk ('dy = y0 - y1');工厂=连接(P, Gp, Dp, F, S1, S2,“u”,“ym”);%设计PI控制器,具有0.08 rad/s带宽和90度相位裕度选择= pidtuneOptions (“PhaseMargin”, 90);C = pidtune(植物、pidstd(1, 1), 0.08,选项);C.InputName =“e”;C.OutputName =“u”;C
C = 1 1 Kp *(1 + ---- *——)Ti s带有Kp = 0.574, Ti = 40.2的标准形式的连续时间PI控制器
为了比较两种设计的性能,首先推导出闭环传递函数ysp d
来y
用于Smith Predictor体系结构。为了方便连接所涉及的所有块,命名它们所有的输入和输出通道并让连接
做连接:
%从[y_sp,d]到y组装闭环模型Sum1 = sumblk ('e = ysp - yp - dp');Sum2 = sumblk ('y = y0 + d');Sum3 = sumblk ('dy = y - y1');T =连接(P, Gp, Dp, C、F Sum1, Sum2, Sum3, {“ysp”,' d '},“y”);
使用一步
比较Smith Predictor(蓝色)和PI控制器(红色):
步骤(T)“b”Tpi,“r——”网格)在传奇(“史密斯预测器”,比例积分控制器的)
史密斯预测器提供了更快的响应,没有超调。这种差异在频域也可见,通过绘制闭环波德响应ysp
来y
.请注意Smith Predictor的更高带宽。
波德(T (1, 1),“b”Tpi (1,1),“r——”1}、{1 e - 3)网格在传奇(“史密斯预测器”,比例积分控制器的)
在前面的分析中,内部模型
匹配流程模型P
完全正确。在实际情况中,内部模型只是真实过程动态的一个近似,因此理解Smith Predictor对过程动态和死时间的不确定性的鲁棒性是很重要的。
考虑两个代表过程参数不确定性范围的受扰植物模型:
P1 = exp(-90*s) * 5/(38*s+1);P2 = exp(-100*s) * 6/(42*s+1);波德(P, P1, P2),网格在标题(“标称和扰动过程模型”)
为了分析鲁棒性,将标称模型和扰动模型收集到一组过程模型中,重建PI和Smith Predictor设计的闭环传递函数,并模拟闭环响应:
植物=堆栈(1,P, P1, P2);%流程模型数组T1 =连接(植物、全科医生、Dp、C、F, Sum1, Sum2, Sum3, {“ysp”,' d '},“y”);%史密斯Tpi =反馈(植物* Cpi, 1, 1, 1, 1);%π步骤(T1,“b”Tpi,“r——”网格)在传奇(“史密斯预测器1”,比例积分控制器的)
两种设计都对模型不匹配很敏感,闭环Bode图证实了这一点:
波德(T1 (1, 1),“b”Tpi (1,1),“r——”网格)在传奇(“史密斯预测器1”,比例积分控制器的)
为了降低Smith Predictor对建模错误的敏感性,检查内圈和外圈的稳定裕度。内循环C
有开环传输C *的全科医生
因此,稳定性裕度由
利润(C * Gp)标题(“内循环的稳定裕度(C)”)
内环有舒适的增益和相位裕度,所以接下来关注外环。使用连接
导出开环传递函数l
从ysp
来dp
内环关闭时:
Sum1o = sumblk ('e = ysp - yp');%在dp处打开回路L =连接(P, Gp, Dp, C、F Sum1o, Sum2, Sum3, {“ysp”,' d '},“迪拜”);bodemag (L (1,1))
这个传递函数本质上是零,这是当过程和预测模型完全匹配时所期望的。为了深入了解外环的稳定边际,我们需要使用一个扰动过程模型,例如,P1
:
H =连接(植物(:,:2),Gp, Dp, C, Sum1o, Sum2, Sum3, {“ysp”,' d '},“dy”);H = H (1,1);%开环转移L = f * h;保证金(L)标题(“外环的稳定裕度(F)”网格)在;xlim([1依照1]);
增益曲线在0.04 rad/s附近有一个驼峰,这降低了增益裕度并增加了闭环阶跃响应中的驼峰。要解决这个问题,请选择一个过滤器F
更早、更迅速地完成:
F = (1 + 10 * s) / (1 + 100 * s);F.InputName =“dy”;F.OutputName =“迪拜”;
验证增益裕度在0.04 rad/s相位交叉点附近得到改善:
L = f * h;保证金(L)标题(“修正F外环的稳定裕度”网格)在;xlim([1依照1]);
最后,用改进后的滤波器模拟闭环响应:
T2 =连接(植物、全科医生、Dp、C、F, Sum1, Sum2, Sum3, {“ysp”,' d '},“y”);步骤(T2,“b”Tpi,“r——”网格)在传奇(《史密斯预测2》,比例积分控制器的)
改进的设计提供了更一致的性能,但牺牲了稍慢的标称响应。
的闭环传递函数的公式d
来y
说明。的最优选择F
是
在哪里τ
是内部模型的死时间。这种选择实现了完美的干扰抑制,不管之间的不匹配P
和全科医生
.不幸的是,这种“消极延迟”不是因果关系,也无法实施。摘要:
黄,H.-P。,et al., "A Modified Smith Predictor with an Approximate Inverse of Dead Time," AiChE Journal, 36 (1990), pp. 1025-1031
作者建议使用相位超前近似:
在哪里B
低通滤波器是否与内部模型具有相同的时间常数全科医生
.您可以测试该方案如下:
定义B(s)和F(s)
40 * s + B = 0.05 / (1);τ= totaldelay (Dp);F = (1 + B) / (1 + B * exp(τ* s));F.InputName =“dy”;F.OutputName =“迪拜”;
重新设计带带宽的PI控制器
工厂=连接(P, Gp, Dp, F, S1, S2,“u”,“ym”);C = pidtune(植物、pidstd (1, 1), 0.02, pidtuneOptions (“PhaseMargin”, 90));C.InputName =“e”;C.OutputName =“u”;C
C = 1 1 Kp *(1 + ---- *——)Ti s with Kp = 0.144, Ti = 40.1 standard形式的连续时间PI控制器
计算闭环模型T3
T3 =连接(植物、全科医生、Dp、C、F, Sum1, Sum2, Sum3, {“ysp”,' d '},“y”);
比较T3、T2和Tpi
步骤(T2,“b”T3,‘g’Tpi,“r——”网格)在传奇(《史密斯预测2》,“史密斯预测3 ',比例积分控制器的)
这个比较表明,我们最后的设计以较慢的设定值跟踪为代价,加快了抗扰能力。