位置伺服机构的MPC控制器设计

这个例子说明如何使用来设计的位置伺服系统模型预测控制器MPC设计

系统模型

位置伺服机构由直流电动机、齿轮箱、弹性轴和负载组成。

表示该系统的微分方程是

ω ̇ 大号 = ķ Ť Ĵ 大号 θ 大号 θ 中号 ρ β 大号 Ĵ 大号 ω 大号 ω ̇ 中号 = ķ 中号 Ĵ 中号 V ķ 中号 ω 中号 [R β 中号 ω 中号 Ĵ 中号 + ķ Ť ρ Ĵ 中号 θ 大号 θ 中号 ρ

哪里,

  • V是施加的电压。

  • Ť是作用于负载的转矩。

  • ω 大号 = θ ̇ 大号 为负荷角速度。

  • ω 中号 = θ ̇ 中号 为电机轴角速度。

剩下的项是常数参数。

对于伺服机构模型参数不变

象征

值(国际标准单位)

定义

ķŤ

1280.2

抗扭刚度

ķ中号

10

电机常数

Ĵ中号

0.5

电机惯量

Ĵ大号

50Ĵ中号

负载惯性

ρ

20.

变速比

β中号

0.1

电动机粘性摩擦系数

β大号

25

载荷粘性摩擦系数

[R

20.

电枢电阻

如果你把状态变量定义为

X p = [ θ 大号 ω 大号 θ 中号 ω 中号 ] Ť

那么你可以模拟伺服机构作为LTI状态空间系统。

X ̇ p = [ 0 1 0 0 ķ Ť Ĵ 大号 β 大号 Ĵ 大号 ķ Ť ρ Ĵ 大号 0 0 0 0 1 ķ Ť ρ Ĵ 中号 0 ķ Ť ρ 2 Ĵ 中号 β 中号 + ķ 中号 2 [R Ĵ 中号 ] X p + [ 0 0 0 ķ 中号 [R Ĵ 中号 ] V θ 大号 = [ 1 0 0 0 ] X p Ť = [ ķ Ť 0 ķ Ť ρ 0 ] X p

控制器必须设置负载的角度位置,θ大号在通过调整所施加的电压期望值,V

然而,由于弹性轴具有有限的剪切强度,Ť必须保持在一定的范围内|Ť|≤78.5牛米。同时,电压源物理上限制了施加的电压在这个范围内|V|≤220伏

构建植物模型

指定模型常数。

Kt = 1280.2;%抗扭刚度公里= 10;%电机常数Jm = 0.5;%电机惯性Jl = 50 * Jm;%负载惯性N = 20;%齿轮传动比Bm = 0.1;%转子粘滞摩擦提单= 25;%负载粘滞摩擦R = 20;%电枢电阻

定义从模型公式得出的状态空间矩阵。

A = [0 1 0 0;-kt / JL -BL / JL的Kt /(N * JL)0;0 0 0 1;的Kt /(JM * N)0 -kt /(JM * N ^ 2) - (BM +公里^ 2 / R)/ JM];B = [0;0;0;公里/(R * JM)];C = [1 0 0 0;的Kt 0 -KT / N 0]; D = [0; 0];

创建一个状态空间模型。

植物= SS(A,B,C,d);

打开MPC Designer App

mpcDesigner

导入设备并定义信号配置

MPC设计,在MPC设计选项卡,选中MPC结构

在通过导入定义MPC结构对话框中,选择植物模型,并将植物I/O通道分配为以下信号类型:

  • 操纵变量 - 电压,V

  • 测量的输出 - 负载角位置,θ大号

  • 未测量输出-扭矩,Ť

点击定义和进口

MPC设计将指定的工厂导入数据浏览器。属性中还添加了以下内容数据浏览器

  • MPC1- 默认MPC控制器使用创建的作为它的内部模型。

  • scenario1- 默认仿真场景。这个模拟的结果显示在输入响应输出响应情节。

定义输入和输出通道属性

MPC设计选项卡,在结构体部分中,点击I / O属性

在输入输出通道规格对话框中,对于每个输入输出通道:

  • 指定一个有意义的的名字单元

  • 保持名义价值默认值为0

  • 指定一个比例因子对信号进行常态化。选择一个接近信号预测运行范围的值:

    通道名称 最小值 最大值 比例因子
    电压 -220 V 220伏 440
    θ -π弧度 π弧度 6.28
    转矩 -78.5纳米 78.5纳米 157

点击好吧更新信道特性和关闭对话框。

修改场景来模拟角位置阶跃响应

场景部分,编辑场景下拉列表中,选择scenario1修改默认模拟场景。

在“模拟场景”对话框中,指定a仿真时间10秒。

参考信号表中,保持第一个通道的默认配置。这些设置创建一个一步的变化1角度位置设定点a处的弧度时间1第二。

对于第二个输出,在信号下拉列表中,选择常数保持转矩设定在其标称值。

点击好吧

该应用程序运行的新方案设置和更新的模拟输入响应输出响应情节。

指定控制器采样时间和地平线

调优选项卡,在地平线部分中,指定一个样品时间0.1秒。

对于指定的采样时间,Ť小号的,并且期望的响应时间Ť[R= 2几秒钟,选择一个预测范围,p,比如:

Ť [R p Ť 小号

因此,指定预测范围20.

指定一个控制范围

当更新采样时间和水平值时,输入响应输出响应情节自动更新。输入电压和转矩值都超过了系统模型规范中定义的约束条件。

指定的约束

设计部分中,选择约束

在约束对话框中,在输入约束部分指定最小值马克斯操纵变量(MV)的电压值。

输出约束节中,指定最小值马克斯未测量输出(UO)的扭矩值。

有没有额外的限制,这是其他约束保留默认的最大值和最小值,分别

点击好吧

响应图更新以反映新的约束。在输入响应积,有在输入电压不希望的大的变化。

指定调整权重

设计部分中,选择权重

在权重对话框,在输入权重表,增加操纵变量率的重量

调谐重量对于被操作变量(MV)为0。该重量表示控制器可以允许输入电压到其约束范围内变化。增加率的重量限制的操作变量的大小变化。

由于控制目标是为了负荷的角度位置跟踪它的设定值,调整重量所测量的输出是1。没有给定值对于所施加的扭矩,因此,控制器可允许第二输出到它的限制范围内变化。因此,重量上的未测量输出(UO)为0,使得控制器可以忽略转矩设定值。

点击好吧

响应曲线更新,以反映增加的速度的重量。该输入响应与较小的电压变化平滑。

检查输出响应

输出响应情节,右键单击θ绘图区,并选择特征>峰值响应

峰值输出响应发生在3秒时,最大超调值为3%。由于参考信号的阶跃变化为1秒,因此控制器的峰值时间为2秒。

提高控制器响应时间

单击并拖动闭环性能滑块向右产生更多咄咄逼人的响应。滑块越向右拖动,控制器的响应就越快。选择一个滑块位置,使峰值响应发生在2.7秒。

最终控制峰值时间是1.7秒。减少过于激进的输入电压的变化的响应时间进一步结果。

生成并运行MATLAB脚本

分析部分中,单击出口控制器箭头

出口控制器,点击生成脚本

在生成MATLAB中®脚本对话框,勾选旁边scenario1

点击生成脚本

该应用程序导出一份植物模型,plant_C,到MATLAB工作空间,以及仿真输入和参考信号。

此外,应用程序在MATLAB编辑器中生成以下代码。

%%创建采样时间MPC控制器对象MPC1 = MPC(plant_C,0.1);%%指定预测范围mpc1.PredictionHorizo​​n = 20;%%指定控制范围mpc1。ControlHorizon = 5;%%用于输入和输出指定的标称值mpc1.Model.Nominal。U = 0;mpc1.Model.Nominal。Y = (0, 0);%%指定输入和输出的比例因子mpc1.MV(1).ScaleFactor = 440;mpc1.OV(1).ScaleFactor = 6.28;mpc1.OV(2).ScaleFactor = 157;指定MV和MV速率的约束条件mpc1.MV(1).Min = -220;mpc1.MV(1)最大= 220;指定OV的约束条件mpc1.OV(2)。最小值=-78.5; mpc1.OV(2).Max = 78.5;指定应用于权重的总体调整系数。的β= 1.2712;% %指定权重mpc1.Weights。MV = 0 *β;mpc1.Weights。中号V[Rate = 0.4/beta; mpc1.Weights.OV = [1 0]*beta; mpc1.Weights.ECR = 100000;指定模拟选项选项= mpcsimopt();options.RefLookAhead =“关闭”;选项。中号DLookAhead =“关闭”;选项。约束='上';options.OpenLoop =“关闭”;%%模拟运行sim(mpc1, 101, mpc1_RefSignal, mpc1_MDSignal, options);

在MATLAB窗口中编辑器选项卡,选中保存

完成保存对话框,然后单击保存

编辑器选项卡,单击运行

该脚本创建控制器,MPC1,并运行仿真场景。输入和输出响应与应用程序的模拟结果相匹配。

验证控制器性能金宝app

如果你有一个Simulink金宝app®模型的系统,您可以模拟您的控制器并验证其性能。金宝app仿真软件功能不支持金宝appMATLAB在线™

打开模型。

open_system (“mpc_motor”

这款机型采用了MPC控制器控制伺服机构装置的块。该伺服机构模型块已经被配置为使用从MATLAB工作区建立模型。

角的参考源块创建具有的频率的正弦参考信号0.4rad/sec和的振幅π

双击MPC控制器块。

在MPC控制器模块参数对话框,指定MPC控制器从MATLAB工作区。使用MPC1使用生成的脚本创建的控制器。

点击好吧

在MATLAB命令行中,指定一个力矩大小约束变量。

τ= 78.5;

模型使用这个值来约束限制扭矩输出范围的阴谋。

在Simuli金宝appnk模型窗口,单击运行模拟模型。

范围,输出响应,黄色,密切跟踪角度位置的设定值,蓝色,。

也可以看看

||

相关的话题