调整多环控制系统

这个示例展示了如何使用。来联合优化级联架构的内部和外部循环Systune.命令。

级联PID环

级联控制通常用于通过快速扰动抑制来实现平滑的跟踪。最简单的级联架构涉及两个控制环(内部和外部),如下框图所示。内环通常比外环更快,以在传播到外环之前拒绝干扰。(金宝appSimulink®在Ma金宝apptlab®在线不支持。)

open_system ('rct_cascade'

工厂模型和带宽要求

在这个例子中,内环植物G2.

$$ g_2(s)= \ frac {3} {s + 2} $$

还有外环植物G1.

$$ g_1(s)= \ frac {10} {(s + 1)^ 3} $$

G2 = ZPK([], -  2,3);G1 = ZPK([],[ -  1 -1 -1],10);

我们在内环中使用PI控制器和外循环中的PID控制器。外部循环必须具有至少0.2 rad / s的带宽,并且内部环路带宽应该是足够的干扰抑制的10倍。

用SYSTUNE调整PID控制器

当控制系统在Simulink中建模时,使用金宝appSLTUNER.在Simulink Con金宝apptrol Design™中设置调优任务。列出可调块,标记信号R.D2作为感兴趣的输入,并标记信号y1.Y2.作为测量开环传输并指定环形形状的位置。

ST0 = slTuner ('rct_cascade', {'c1''c2'});addpoint(st0,{'r''d2''y1''y2'})

您可以查询当前值C1.C2.在Simuli金宝appnk模型中使用展示.通过对Simulink模型的仿真,证实了在这些初始值下控制系统是不稳定的。金宝app

展示(ST0)
框1:rct_cascade / c1 = 1 kp + ki * ---具有kp = 0.1,ki = 0.1名称:C1以并行形式的连续时间PI控制器。-------------------------------------------------- rct_cascade / c2 = 1 kp + ki * ---kp = 0.1,ki = 0.1名称:C2以并行形式的连续时间PI控制器。

接下来使用“LoopShape”要求来指定所需的内圈和外圈带宽。使用/ s $ 0.2美元作为外回路的目标回路形状,以增强增益交叉频率为0.2 rad/s的积分作用:

%外环带宽= 0.2s = tf(');req1 = tuninggoal.loopshape('y1', 0.2 / s);在y1处测量的%环路传输req1.name =“外循环”;

使用$ 2 / s $使内环比外环快十倍(更高的带宽)。要限制内环的传递,请确保通过指定打开外环y1.作为循环开放:

%内环带宽= 2req2 = tuninggoal.loopshape('y2',2 / s);在Y2测量%环路传输Req2。机会='y1';在Y1处打开外环的%Req2。Name =“内循环”;

现在可以调整PID增益C1.C2.Systune.

ST = SYTUNE(ST0,[REQ1,REQ2]);
Final:Soft = 0.86,硬= -Inf,迭代= 61

使用展示查看调谐的PID增益。

SkowtUnable(ST)
Block 1: rct_cascade/C1 = 1s Kp + Ki *——+ Kd * -------- s Tf*s+1, Kp = 0.052, Ki = 0.0187, Kd = 0.0471, Tf = 0.0124名称:C1 parallel form连续时间pid控制器----------------------------------- 块2:rct_cascade / C2 = 1 + Ki *——年代Kp = 0.721, Ki = 1.24名称:C2连续时间比例积分控制器并联形式。

验证设计

最终值小于1,这意味着Systune.成功符合循环形状要求。通过检查调谐控制系统确认这一点英石viewgoal.

viewGoal ([Req1, Req2],圣)

注意,内部和外部环路具有所需的增益交叉频率。为了进一步验证设计,绘制对阶跃命令r和阶跃干扰d2的调谐响应图:

%对步骤命令的响应h = getiotransfer(st,'r''y1');clf、步骤(H, 30)、标题('步骤命令'

对阶跃干扰的响应h = getiotransfer(st,'d2''y1');步骤(H, 30)、标题('step步'

满足线性分析结果,使用WrithblockValue.将调优的PID增益写回Simulink块。金宝app然后,您可以在Simulink中进行更彻底的验证。金宝app

writeblockvalue(st)

MATLAB中的等效工作流

如果您没有控制系统的Simulink模型,金宝app则可以使用工厂的LTI模型执行相同的步骤,并控制设计块以模拟可调元素。

图1:级联架构

首先建立可调PI和PID控制器的参数模型。

C1 = tunablePID ('c1''PID');C2 =调谐('c2'“π”);

然后使用“分析点”块标记循环打开位置y1.Y2.

ls1 =分析点('y1');LS2 = AnalysisPoint ('y2');

最后,创建闭环模型T0.通过关闭每个反馈回路来整体控制系统。结果是概括的状态空间模型,具体取决于可调元素C1.C2.

InnerCL =反馈(LS2 * G2 * C2, 1);T0 =反馈(G1 * InnerCL * C1, LS1);T0。InputName ='r';t0.outputname =.'y1';

现在可以调整PID增益C1.C2.Systune.

T = SYSTUNE(T0,[REQ1,REQ2]);
Final: Soft = 0.86, Hard = -Inf, Iterations = 125

如前所述,使用getiotransfer计算和绘制对阶跃命令r和进入该位置的阶跃扰动的调谐响应Y2.

%对步骤命令的响应h = getiotransfer(t,'r''y1');clf、步骤(H, 30)、标题('步骤命令'

对阶跃干扰的响应h = getiotransfer(t,'y2''y1');步骤(H, 30)、标题('step步'

您还可以绘制内环和外环的开环增益,以验证带宽要求。注意-1符号来计算负反馈开环传输:

l1 = getLooptransfer(t,'y1',-1);%交叉应在。2L2 = getLoopTransfer (T)'y2',-1,'y1');%交叉应该是2BodeMag(L2,L1,{1E-2,1E2}),网格传奇(“内循环”“外循环”

也可以看看

|

相关的话题