主要内容

调谐多回路控制系统

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

串级PID回路

串级控制通常用于实现具有快速干扰抑制的平滑跟踪。最简单的级联结构包括两个控制回路(内部和外部),如下图所示。在干扰传播到外环之前,内环通常比外环更快地抑制干扰。(MATLAB®Online不支持Simulink®。)金宝app金宝app

open_system (“rct_级联”)

工厂模型和带宽要求

在这个例子中,内环植物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,内环的带宽应大十倍,以充分抑制干扰。

用SYSTUNE整定PID控制器

当控制系统在Simulink中建模时,使用金宝app单反调谐器在Simulink Con金宝apptrol Design™中设置调优任务。列出可调块,标记信号Rd2作为感兴趣的输入,并标记信号y1y2作为测量开环传输和指定循环形状的位置。

ST0 = slTuner (“rct_级联”,{“C1”,“C2”});addPoint (ST0, {“r”,“d2”,“y1”,“y2”})

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

showTunable (ST0)
块1:rct_级联/C1=1 Kp+Ki*--s,Kp=0.1,Ki=0.1名称:并行形式的C1连续时间PI控制器。----------------------------------------块2:rct_级联/C2=1 Kp+Ki*--s,Kp=0.1,Ki=0.1名称:并行形式的C2连续时间PI控制器。

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

%外环路带宽=0.2s=tf('s'); Req1=TuningGoal.LoopShape(“y1”, 0.2 / s);在y1处测量的%环路传输要求1.名称=“外循环”;

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

%内环带宽=2Req2=TuningGoal.LoopShape(“y2”,2/s);%在y2处测量的环路传输Req2。机会=“y1”;%外部回路在y1处打开Req2。Name =“内循环”;

现在可以调整PID增益C1C2具有系统:

ST=系统(ST0,[Req1,Req2]);
Final: Soft = 0.859, Hard = -Inf, Iterations = 67

使用可显示查看调整后的PID增益。

可显示(ST)
块1:rct_-cascade/C1=1s Kp+Ki*-+Kd*--s Tf*s+1,Kp=0.0521,Ki=0.0186,Kd=0.0475,Tf=0.00659名称:并行形式的C1连续时间PIDF控制器。--------------------------------------块2:rct_-cascade/C2=1 Kp+Ki*--s,Kp=0.721,Ki=1.23名称:并行形式的C2连续时间PI控制器。

验证设计

最终值小于1,这意味着系统成功满足两个回路形状要求。通过检查调谐控制系统来确认这一点装货单具有可视目标

viewGoal ([Req1, Req2],圣)

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

%对step命令的响应H = getIOTransfer(圣,“r”,“y1”);clf、步骤(H, 30)、标题(“Step命令”)

%对阶跃扰动的响应H = getIOTransfer(圣,“d2”,“y1”);步骤(H, 30)、标题(“扰动步”)

一旦您对线性分析结果感到满意,请使用writeBlockValue将调优的PID增益写回Simulink块。金宝app然后,您可以在Simulink中进行更彻底的验证。金宝app

writeBlockValue(ST)

MATLAB中的等效工作流

如果没有控制系统的Simulink模型,可金宝app以使用工厂的LTI模型和control Design块执行相同的步骤,对可调元素建模。

图1:级联架构

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

C1 = tunablePID (“C1”,“pid”); C2=可调PID(“C2”,“π”);

然后使用“分析点”块标记回路开口位置y1y2

LS1=分析点(“y1”);LS2 = AnalysisPoint (“y2”);

最后,创建一个闭环模型T0通过关闭每个反馈回路来控制整个控制系统。结果是一个广义状态空间模型,取决于可调元素C1C2

InnerCL =反馈(LS2 * G2 * C2, 1);T0 =反馈(G1 * InnerCL * C1, LS1);T0。InputName =“r”; T0.OutputName=“y1”;

现在可以调整PID增益C1C2具有系统

T=系统(T0,[Req1,Req2]);
Final: Soft = 0.86, Hard = -Inf, Iterations = 136

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

%对step命令的响应H=getIOTransfer(T,“r”,“y1”);clf、步骤(H, 30)、标题(“Step命令”)

%对阶跃扰动的响应H=getIOTransfer(T,“y2”,“y1”);步骤(H, 30)、标题(“扰动步”)

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

L1 = getLoopTransfer (T)“y1”,-1);%交叉应在。2L2 = getLoopTransfer (T)“y2”, 1“y1”);%交叉点应该在2bodemag(L2,L1,{1e-2,1e2}),网格图例(“内循环”,“外循环”)

另见

(金宝appSimulink控制设计)|(金宝appSimulink控制设计)

相关的话题