这个例子展示了如何使用PID调谐器工具设计一个具有良好抗干扰性能的PI控制器。实例还说明了如何设计一个ISA-PID控制器,既能有效抑制干扰,又能有效跟踪参考。
植物模型是
G = zpk(-5,[-1 -2 -3 -4],6,“OutputDelay”1);G.InputName =“u”;G.OutputName =“y”;
使用以下命令启动PID调谐器,为G工厂设计一个并行形式的PI控制器。
pidtool (G,“π”)
PID调谐器自动设计一个初始PI控制器。点击“显示参数”按钮,显示控制器增益和性能指标。
对于步骤参考跟踪,沉降时间约为12秒,超调量约为6.3%,这在本例中是可以接受的。
假设在设备输入端发生阶跃扰动,PI控制器的主要目的是快速抑制该扰动。在本节的其余部分,我们将展示如何设计PI控制器,以更好地抑制PID调谐器中的扰动。我们也期望参考跟踪性能随着干扰抑制性能的提高而降低。
由于低频扰动的衰减与积分增益Ki成反比,使积分增益最大化是获得具有良好抗干扰性能的PI控制器的有用启发式方法。有关背景,请参阅Karl Astrom等人,“高级PID控制”,第4章“控制器设计”,2006年,ISA协会。
点击添加绘图和选择输入干扰抑制绘制输入扰动的阶跃响应。峰值偏差约为1,在9秒左右稳定在0.1以内。
平铺图以显示参考跟踪和输入扰动响应。向右移动响应时间滑块以增加响应速度(开环带宽)。气益于中控制器参数表先增大后减小,最大值出现在0.3处。当Ki为0.3时,峰值偏差减小到0.9(提高了约10%),并在约6.7秒内稳定在0.1以下(提高了约25%)。
由于我们增加了带宽,步长参考跟踪响应变得更加振荡。此外,超额超过15%,这通常是不可接受的。这种在参考跟踪和干扰抑制之间的性能权衡通常存在,因为单个PID控制器无法同时满足这两个设计目标。
点击出口将设计好的PI控制器导出到MATLAB Workspace中。控制器由一个PID对象表示,在下一节中,您需要用它来创建一个ISA-PID控制器。
控件也可以在MATLAB工作区中手动创建相同的PI控制器pid命令。在这个命令中,您可以直接指定从PID调谐器的参数表中获得的Kp和Ki增益。
C = pid(0.64362,0.30314);C.InputName =“e”;C.OutputName =“u”;C
C = 1 Kp + Ki *——s, Kp = 0.644, Ki = 0.303连续时间PI控制器并联形式。
要使PI控制器在参考跟踪和干扰抑制方面都表现良好,一个简单的解决方案是将其升级为ISA-PID控制器。它通过提供额外的调优参数来改进引用跟踪响应b这允许独立控制参考信号对比例动作的影响。
在上面的ISA-PID结构中,有一个反馈控制器C和一个前馈滤波器f。在这个例子中,C是一个并行形式的常规PI控制器,可以用PID对象表示:
F是一个预过滤器,包括从C加上设定值权重获得的Kp和Ki增益b:
因此ISA-PID控制器有两个输入(r和y)和一个输出(u)。
置位点重量b是0到1之间的实数。当它减小时,参考跟踪响应中的超调量减小。在这个例子中,b选择为0.7。
B = 0.7;下面的代码从F和C构造一个ISA-PIDF = tf([b*C;Kp C.Ki]、[C。Kp C.Ki]);F.InputName =“r”;F.OutputName =佛罗里达大学的;Sum = sumblk(“e”,佛罗里达大学的,“y”,“+ -”);ISAPID = connect(C,F,Sum,{“r”,“y”},“u”);特遣部队(ISAPID)
ans =从输入" r "输出" u ": 0.4505 s ^ 2 + 0.5153 + 0.1428 ------------------------------ ^ 2 + 0.471年代从输入" y "输出" u ": -0.6436 - 0.3031 ------------------ 连续时间传递函数。
采用ISA-PID控制器的参考跟踪响应由于设定值权重的影响,超调量大大减少b减少过度。
采用PI控制器进行参考跟踪的闭环系统sys1 = feedback(G*C,1);采用ISA-PID控制器的闭环系统sys2 = connect(ISAPID,G,{“r”,“u”},“y”);%比较回答步骤(sys1,的r -sys2 (1)“b”。);传奇(“显示”,“位置”,“东南”)标题(“参考跟踪”)
由于设定值权重,干扰抑制响应是相同的b只影响引用跟踪。
采用PI控制器抑制干扰的闭环系统sys1 = feedback(G,C);%比较回答步骤(sys1,的r -sys2 (2)“b”。);传奇(“PID”,“ISA-PID”);标题(“抗干扰”)