控制教程 —— 介绍篇:10.基于Simscape为火车系统建模

在之前控制教程 —— 介绍篇:8.基于Simulink为火车系统建模部分已经通过数学模型的方式对火车系统进行了建模和仿真,本教程将使用Simscape工具箱进行物理建模。
在Simscape库中提供了非常多物理模块,可以构建复杂的多状态模型,却无需像前面介绍的那样需要应用牛顿第二定律等物理原理来构建数学模型,回顾一下之前的火车系统。
在这里插入图片描述

物理配置

正如之前描述的那样,火车头和车厢的质量分别由M1M2表示,火车头和车厢采用刚度为k的联轴器连接,牵引力F表示火车头提供的拉力,而mu代表滚动摩擦力。
在这里插入图片描述
该系统的参数如下:

  • M1 火车头质量 1kg
  • M2 车厢质量 0.5 kg
  • k 弹簧常数 1 N/m
  • mu 摩擦系数 0.02 s/m
  • F 火车头牵引力 1 N
  • g 重力加速度 9.8 m/s^2

通过在MATLAB命令窗口中输入ssc_new来打开新的Simscape模型。如下所示
在这里插入图片描述
该模型的各模块是:

  • 求解配置器模块
  • PS-Simulink和Simulink-PS模块(显示为双箭头/双三角形)
  • 连接到PS-Simulink的示波器模块

PS-Simulink和Simulink-PS模块定义了Simulink的输入输出和Simscape的输入输出之间的转换。

创建Simscape模型

要创建Simscape模型,需要向窗口中添加许多模块:

  • 2个 Mass 模块(分别命名为 M1M2)
  • 1个 Translational Spring 模块(命名为spring)
  • 1个 Mechanical Translational Reference 模块
  • 2个 Translational Damper 模块(分别命名为M1 frictionM2 friction)

将本教程开始的参数值分配给每个模块,在这种情况下,我们使用平移阻尼器来模拟系统中的滚动摩擦。具体来说,我们将每个模块的阻尼系数指定为摩擦系数乘以法向力(mu*mass*g)。如果我们需要更复杂的摩擦模型,则可以改用平移摩擦模块,如图所示连接各个模块,并将Scope命名为Velocity
在这里插入图片描述
现在添加以下模块到窗口中

  • 1个 Ideal Force Source 模块(命名为Force Source)
  • 1个 Signal Generator 模块(命名为Force Input)
  • 1个 Translational Motion Sensor 模块

在信号发生器中,将波形选择为square,幅度设置为-1,频率设置为0.001,单位选择为Hertz。按下CTRL-E,然后从弹出的窗口中将Type选择为Variable-stepSovler选择为auto,同时将Stop time配置为1000
在这里插入图片描述

仿真结果

运行仿真(按下CTRL-T或按下绿色运行按钮),然后打开Scope观察速度的输出。牵引力为两个过程,一个为正,一个为负。可以看出当施加正作用力时,发动机开始前进,然后再施加负作用力后的一段时间内,火车朝相反的方向运动。速度的输出与控制教程 —— 介绍篇:8.基于Simulink为火车系统建模中描述的结果完全一致。
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章