具有参数变化的直流电机参考跟踪

本示例展示如何从 Simulink® 模型生成表示控制系统被控对象变化的 LTI 模型数组。该模型数组用于 Control System Designer 中进行控制设计。

直流电机模型

在电枢控制的直流电机中,施加的电压 Va 控制轴的角速度 ω\omegaω。直流电机的简化模型如下所示。

直流电机模型

打开直流电机的 Simulink 模型。

mdl = ‘scdDCMotor’;
open_system(mdl)

Simulink 模型

执行批量线性化

控制器的目标是实现对参考角速度阶跃变化的跟踪。

对于本示例,电机的物理常数为:

  • R = 2.0 +/- 10% 欧姆
  • L = 0.5 亨利
  • Km = 0.1 转矩常数
  • Kb = 0.1 反电动势常数
  • Kf = 0.2 Nms
  • J = 0.02 +/- .01 kg m^2

请注意,参数 R 和 J 被指定为一系列值。

要设计一个适用于所有物理参数值的控制器,请通过对这些值进行采样来创建一组具有代表性的被控对象。

对于参数 R 和 J,使用它们的标称值、最小值和最大值。

R = [2,1.8,2.2];
J = [.02,.03,.01];

要创建被控对象模型的 LTI 数组,请对直流电机被控对象进行批量线性化。对于 R 和 J 采样值的每种组合,线性化 Simulink 模型。为此,在控制器块的输出处指定一个线性化输入点,并在负载块的输出处(如模型中所示)指定一个带环路开路的线性化输出点。

获取模型中指定的线性化分析点。

io = getlinio(mdl);

改变被控对象参数 R 和 J。

[R_grid,J_grid] = ndgrid(R,J);
params(1).Name = ‘R’;
params(1).Value = R_grid;
params(2).Name = ‘J’;
params(2).Value = J_grid;

对每个参数值组合线性化模型。

sys = linearize(mdl,io,params);

打开 Control System Designer

打开 Control System Designer,并导入被控对象模型数组。使用以下命令。

controlSystemDesigner(sys)

使用 Control System Designer,您可以为标称被控对象模型设计控制器,同时可视化其对其他被控对象模型的影响,如下所示。

Control System Designer 界面

根轨迹编辑器显示标称模型的根轨迹以及其他被控对象模型相关的闭环极点位置。

伯德图编辑器同时显示标称模型响应和其他被控对象模型的响应。

要查看所有被控对象模型的阶跃响应,请右键单击 阶跃响应 图并选择 多模型显示 > 单独响应。阶跃响应表明,对于任何被控对象模型都未实现参考跟踪。

设计控制器

使用 Control System Designer 中的工具,为参考跟踪设计以下补偿器。

C(s)=1.19(s+2.1)s C(s) = 1.19 \frac{(s+2.1)}{s} C(s)=1.19s(s+2.1)

设计结果如下所示。闭环阶跃响应表明,对于被控对象集中定义的所有模型,都实现了零稳态误差的参考跟踪目标。但是,如果需要零超调量的要求,则并非所有响应都能满足此要求。

控制器设计结果

导出设计并在 Simulink 模型中验证

要将设计好的控制器导出到 MATLAB® 工作区,请单击 导出。在导出模型对话框中,选择 C,然后单击 导出。将控制器参数写入 Simulink 模型。

[Cnum,Cden] = tfdata(C,‘v’);
hws = get_param(mdl, ‘modelworkspace’);
assignin(hws,‘Cnum’,Cnum)
assignin(hws,‘Cden’,Cden)

更多信息

有关使用 Control System Designer 多模型功能的更多信息,请参阅多模型控制设计。

另请参阅

Control System Designer

相关主题

  • Control System Designer 调优方法
  • 使用响应图分析设计

版权标注与来源说明

本文译文对应的原文内容,均来源于 MathWorks 官方网站(https://www.mathworks.com/)及官方帮助中心,原文版权均独家归属MathWorks 公司所有。

译文系基于原文进行的非官方翻译,仅为方便个人学习、理解MathWorks相关产品(含MATLAB等)的功能、操作及技术细节而制作,不代表MathWorks公司官方立场,也不构成官方翻译版本。

建议使用者优先查阅官方原文。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐