此示例显示了PI控制对于具有长时间的过程的PI控制的限制,并说明了称为“史密斯预测器”的控制策略的好处。
这个例子的灵感来自:
A. Ingimundarson和T. Hagglund,“死者补偿控制器的强大调整程序”,控制工程实践,9,2001,PP。1195-1208。
过程开环响应被建模为一阶加死胡日,使用40.2秒常数和93.9秒延迟:
s = tf(“年代”);p = exp(-93.9 * s)* 5.6 /(40.2 * s + 1);p.InputName =.'U';p.outputname =.'是';P
P =从输入u到输出y: 5.6 exp(-93.9*s) * ---------- 40.2 s + 1连续时间传递函数。
注意,延迟是时间常数的两倍以上。这个模型代表了许多化学过程。其阶跃响应如下所示。
步骤(P)、网格上
比例积分(PI)控制是过程控制中的常用技术。相应的控制架构如下所示。
补偿器C是一个标准形式的PI控制器,有两个调谐参数:比例增益kp.
和一个积分的时间TI.
.我们使用Pidtune.
命令设计一个开环带宽为0.006 rad/s的PI控制器:
CPI = PidTune(P,PIDSTD(1,1),0.006);CPI.
CPI = 1 1 kp *(1 + ---- * ---)Ti s,kp = 0.0501,Ti = 47.3连续时间PI控制器标准形式
为了评估PI控制器的性能,关闭反馈回路并模拟参考信号中的步骤变化的响应ysp.
输出扰动信号d
.由于反馈路径的延迟,有必要转换P
或者CPI.
的状态空间表示党卫军
命令:
TPI =反馈([P * CPI,1],1,1,1);%闭环模型[YSP; D] - > Y.tpi.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);%对应3个PI控制器T3 =反馈(P * C3, 1);T3。InputName ='ysp';步骤(t3)标题('增加kp时稳定性的损失')
PI控制器的性能受到长期死区时间的严重限制。这是因为当实际输出时,PI控制器没有了解死区时间并对“不耐烦”作出反应y
与期望的设定值不匹配ysp.
.每个人在淋浴时都经历过类似的现象,水温需要很长时间才能调整。在这种情况下,缺乏耐心通常会导致训斥和冰冷的水交替出现。一个更好的策略是等待温度设置的变化生效,然后再做进一步的调整。一旦我们知道了哪个旋钮设置提供了我们最喜欢的温度,我们就可以在淋浴反应的时间内得到合适的温度。这种“最优”控制策略是Smith Predictor方案背后的基本思想。
史密斯预测器控制结构如下图绘制。
史密斯预测器使用内部模型GP.
预测过程的无延迟响应yp(例如,一个给定的旋钮设置将提供什么水温)。然后,它将预测yp与期望的设定值ysp进行比较,以决定需要进行哪些调整(控制u)。为了防止漂移和拒绝外部干扰,Smith预测器还将实际过程输出与预测进行比较y1.
这已经把死时间考虑进去了。的差距dy = y-y1
通过滤波器F馈回并有助于整体误差信号e
.注意dy
等于感知到的温度不匹配后等待足够长的淋浴要做出反应。
部署Smith Predictor方案需要
一个模型GP.
过程动态和估计TAU
进程的死时间
补偿器和滤波器动力学的适当设置(C
和F
)
根据过程模型,我们使用:
为了F
,使用一阶滤波器,具有20秒常数的一阶滤波器来捕获低频干扰。
f = 1 /(20 * s + 1);f.InputName =.'DY';f.outputname ='DP';
为了C
,我们用PI控制器看到的整个工厂重新设计PI控制器,其中包括来自的动态P
,GP.
,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);gp.inputname ='U';gp.outputname =“yp”;dp = exp(-93.9 * s);dp.inputname =.“yp”;Dp。OutputName ='y1';%工厂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
对于史密斯预测者架构。为了便于连接所涉及的所有块的任务,请命名其所有输入和输出通道并让连接
布线:
%将闭环模型从[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'},'是');
使用步
将史密斯预测器(蓝色)与PI控制器(红色)进行比较:
步骤(t,“b”Tpi,'r--') 网格上传奇('史密斯预测器','PI控制器')
史密斯预测器提供了更快的响应,没有超调。差异也可见在频域通过绘制闭环波德响应ysp.
来y
.注意史密斯预测器的更高带宽。
BODE(T(1,1),“b”,TPI(1,1),'r--',{1e-3,1})网格上传奇('史密斯预测器','PI控制器')
在先前的分析中,内部模型
匹配过程模型P
完全正确。在实际情况下,内部模型只是真实过程动态的近似,所以了解Smith Predictor对于过程动态和死时间的不确定性的鲁棒性是很重要的。
考虑两种扰动植物模型,代表过程参数的不确定性范围:
p1 = exp(-90 * s)* 5 /(38 * s + 1);p2 = exp(-100 * s)* 6 /(42 * s + 1);BODE(P,P1,P2),网格上标题('标称和扰动的流程模型')
为了分析稳健性,将标称模型和扰动模型收集成一系列过程模型,重建PI和Smith Predictor设计的闭环传递函数,并模拟闭环响应:
植物=堆栈(1,P, P1, P2);%流程模型数组T1 = Connect(植物,GP,DP,C,F,SUM1,SUM2,SUM3,{'ysp','D'},'是');%史密斯Tpi =反馈(植物* Cpi, 1, 1, 1, 1);%pi.步骤(T1,“b”Tpi,'r--') 网格上传奇('史密斯预测器1','PI控制器')
这两种设计对模型不匹配敏感,如闭环凸编图所确认的:
BODE(T1(1,1),“b”,TPI(1,1),'r--') 网格上传奇('史密斯预测器1','PI控制器')
为了减少史密斯预测因子对建模误差的敏感性,检查内部和外环的稳定性边缘。内循环C
有开环传输C * GP.
因此,稳定裕度由
保证金(C * Gp)标题('内循环的稳定性边缘(c)')
内环有舒适的增益和相位裕度,所以接下来关注外环。使用连接
推导开环传递函数l
从ysp.
来dp
与内圈关闭:
Sum1o = sumblk ('e = ysp - yp');%打开dp的循环L = Connect(P,GP,DP,C,F,SUM1O,SUM2,SUM3,{'ysp','D'},'DP');bodemag (L (1,1))
该传递函数基本上为零,当过程和预测模型完全匹配时要预期。为了了解外循环的稳定性边距,我们需要使用一个扰动的过程模型,例如,P1.
:
H =连接(植物(:,:2),Gp, Dp, C, Sum1o, Sum2, Sum3, {'ysp','D'},'DY');h = h(1,1);%开环转移ysp -> dyl = f * h;保证金(L)标题('外环的稳定性边缘(f)') 网格上;XLIM([1E-2 1]);
该增益曲线有一个接近0.04 rad/s的驼峰,这降低了增益裕度,增加了闭环阶跃响应中的驼峰。要解决这个问题,请选择一个过滤器F
早期滚动,更快地滚动:
f =(1 + 10 * s)/(1 + 100 * s);f.InputName =.'DY';f.outputname ='DP';
验证增益裕度在0.04 rad/s相位交叉附近已经改善:
l = f * h;保证金(L)标题(“具有修改的F”的外循环的稳定性边缘) 网格上;XLIM([1E-2 1]);
最后,使用修改过滤器模拟闭环响应:
T2 = Connect(植物,GP,DP,C,F,SUM1,SUM2,SUM3,{'ysp','D'},'是');步骤(T2,“b”Tpi,'r--') 网格上传奇('史密斯预测器2','PI控制器')
改进的设计为牺牲了较慢的标称响应提供了更一致的性能。
用于闭环传输功能的公式d
来y
表明最佳选择F
是
在哪里TAU
是内部模型的死时间。这种选择实现了完美的干扰抑制,不管两者之间的不匹配P
和GP.
.不幸的是,这种“负延迟”不是因果关系,也不能实施。摘要:
黄,H.-P。,et al., "A Modified Smith Predictor with an Approximate Inverse of Dead Time," AiChE Journal, 36 (1990), pp. 1025-1031
作者建议使用阶段引线近似:
在哪里B
低通滤波器是否与内部模型具有相同的时间常数GP.
.您可以如下测试此计划:
定义b(s)和f(s)
B = 0.05 /(40 * S + 1);tau = totaldelay(dp);f =(1 + b)/(1 + b * exp(-tau * s));f.InputName =.'DY';f.outputname ='DP';
重新设计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, Kp = 0.144, Ti = 40.1标准形式的连续时间PI控制器
计算闭环模型T3
T3 = Connect(植物,GP,DP,C,F,SUM1,SUM2,SUM3,{'ysp','D'},'是');
将T3与T2和TPI进行比较
步骤(T2,“b”T3,'G'Tpi,'r--') 网格上传奇('史密斯预测器2','史密斯预测器3','PI控制器')
这种比较表明,我们的最后一个设计以较慢的设定点跟踪为代价速度速度速度。