调整多环控制系统

此示例演示如何联合调优级联架构的内部和外部循环systune命令。

级联PID回路

级联控制经常被用来实现快速抗干扰顺畅的跟踪。最简单的级联结构涉及如下面的框图所示的两个控制环(内和外)。内回路通常比外环更快它们传播到外循环之前拒绝干扰。(金宝appSimulink®的不M金宝appATLAB®在线支持。)

open_system ('rct_cascade'

工厂模型和带宽需求

在本例中,是内部循环工厂G2

$$ G_2(S)= \压裂{3} {S + 2} $$

和外环植物G1

$$ G_1(S)= \压裂{10} {(S + 1)^ 3} $$

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

我们使用在内部循环PI控制器,并在外环的PID控制器。外环必须具有至少0.2弧度/秒的带宽,并且所述内环的带宽应该是十倍充分扰动抑制大。

调整PID控制器与SYSTUNE

当控制系统在Simulink中建模,使用金宝appslTuner在Simulink控制设计金宝app™中设置调优任务的接口。列出可调块,标记信号[RD2作为关注的输入,和标记的信号Y1Y2因为位置在哪里测量开环传输和指定环的形状。

ST0 = slTuner ('rct_cascade',{'C1''C2'});addPoint (ST0, {'R''D2''Y1''Y2'})

您可以查询的当前值C1C2在Simuli金宝appnk模型使用showTunable。仿真结果表明,对于这些初始值,控制系统是不稳定的。金宝app

showTunable(ST0)
块1:rct_cascade / C1 = 1的Kp +的Ki * --- S采用的Kp = 0.1和Ki = 0.1名称:并联形式C1连续时间PI控制器。-----------------------------------块2:rct_cascade / 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);%环路传输测量在y1Req1.Name =“外循环”;

使用2 $ / S $为了使内部循环比外部循环快10倍(更高的带宽)。要约束内部循环传输,请通过指定确保打开外部循环Y1作为循环开口:

%内环路带宽= 2REQ2 = TuningGoal.LoopShape('Y2',2 / S);在Y2%环传递测量Req2。机会='Y1';%与Y1打开外环Req2。Name =“内循环”;

现在可以调优PID增益C1C2systune

ST = systune(ST0,[REQ1,REQ2]);
决赛:软= 0.86,硬= -Inf,迭代次数= 61

使用showTunable看到调整PID收益。

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

验证设计

最终值小于1,也就是说systune成功地满足了这两个环形的要求。通过检查调谐控制系统确认这STviewGoal

viewGoal ([Req1, Req2],圣)

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

%响应到步骤命令H = getIOTransfer(ST,'R''Y1');clf、步骤(H, 30)、标题(“步骤命令”

%响应到步骤扰动H = getIOTransfer(ST,'D2''Y1');步骤(H, 30)、标题(“步骤扰动”

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

writeBlockValue(ST)

MATLAB中的等效工作流程

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

图1:级联架构

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

C1 = tunablePID ('C1''的pid');C2 = tunablePID('C2'“π”);

然后使用“分析点”块标记环状开口位置Y1Y2

LS1 = AnalysisPoint('Y1');LS2 = AnalysisPoint ('Y2');

最后,创建一个闭环模型T0由封闭每个反馈回路的整体控制系统。其结果是一个广义状态空间模型取决于可调谐元件C1C2

InnerCL =反馈(LS2 * G2 * C2, 1);T0 =反馈(G1 * InnerCL * C1, LS1);T0。InputName ='R';T0.OutputName ='Y1';

现在可以调优PID增益C1C2systune

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

由于,使用前getIOTransfer计算和绘图的调谐响应的步骤命令r和步骤干扰进入的位置Y2

%响应到步骤命令H = getIOTransfer(T,'R''Y1');clf、步骤(H, 30)、标题(“步骤命令”

%响应到步骤扰动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}),网格图例(“内循环”“外循环”

也可以看看

|

相关的话题