Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统

文章目录

  • 一.建立模型
  • 二. 增加控制器

一.建立模型

质量—弹簧—阻尼系统是最经典的机械系统了,在Multibody中建立质量—弹簧—阻尼系统其实只需要一个零件,通过一个移动关节与大地连接起来就行了,因为可以在关节里面设置弹性系数和阻尼。

能看到这篇文章的默认看完了我这一系列前面的文章,所以从这一篇开始会写的简略一些。

模型建立如下,包含一个Brick Solid和一个Prismatic Joint(移动关节)

Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第1张图片

双击打开Brick Solid,设置重物的属性。注意Inertia栏里面based on使用的基于Mass质量,指定质量为0.1kg。

Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第2张图片

然后双击打开Prismatic Joint,设置弹性系数和阻尼,以及弹簧原始长度、初始位置。如图所示,Equilibrium Position是平衡位置,Spring Stiffness是弹性系数,Damping Coefficient是阻尼系数。

Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第3张图片

最后双击Mechanism Configuration,把重力加速度改成-10,改它是为了方便我们计算。

Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第4张图片

这样连接之后实际上就是小重物块的初始位置为10cm,此时弹簧处于平衡位置,这样在重力的作用下重物会往下运动,然后就发生简谐振动,逐渐静止在新的平衡位置。新的平衡位置计算:重物0.1kg=1牛顿,1/20=0.05m=5cm,平衡时弹簧压缩量为5cm,所以弹簧长度为5cm,也就是重物的位置为5cm。

点击运行,看看示波器的数据。可以看到趋势和数据是对的。

Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第5张图片
虚拟样机的运动
Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第6张图片

二. 增加控制器

然后我们增加驱动力和控制器,实现对重物的位置控制。

首先修改Prismatic Joint,增加驱动力。
Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第7张图片

然后加入PID Controller,Simulink-PS converter,Sum模块,连线。期望输入设为一个常量和一个正弦信号,幅值都是0.2m,也就是弹簧被拉长10cm。我们首先把开关打到上面的常量输入,模拟阶跃响应。
Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第8张图片

运行一下,看看输出曲线,很明显不行,因为PID参数我们还没有改。
Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第9张图片

双击打开PID控制器,点击Turn,打开PID Turner。

Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第10张图片

调整参数并更新到PID控制器

Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第11张图片

看看曲线,可以到达位置了,速度飞起。
Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第12张图片

看看实际系统的运动(减慢了32倍,速度太快了。。。)

Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第13张图片
接下来看看把开关打到下面的正弦输入,看看输出曲线,也是完美跟踪的。
Simscape Multiby学习笔记6——Multibody仿真实例1——质量弹簧阻尼系统_第14张图片

你可能感兴趣的:(Matlab,动力学,仿真,运维开发)