北航机电系统仿真实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程名称机电系统设计仿真实验

课程代码171703

机电系统设计和仿真

实验报告

学生姓名

学生学号

指导教师

院(系)名称

2XXX年XX月XX日

一、Simulink 自主实验—具有悬挂物的移动高架吊车

为了调整力F 作用下沿x 轴移动的质量为M 的高架吊车和挂在长缆绳上的块m 的

自由度,必须建立一个模型,块m 与垂直点成角θ振荡

图1 移动高架吊车模型

1、具有两个自由度的移动高架吊车模型

为此,使用如下定义的拉格朗日方程

''c p q

L E E d L L D

F dt q q q =-⎧

⎛⎫∂∂∂⎨-+= ⎪⎪∂∂∂⎝

⎭⎩ 其中:q

x(t)和θ(t)的自由度 D

由于摩擦而消耗的能量 F q

由自由度q 产生的力

E c 和E q

系统的动能和势能

1.1 系统移动时的动能

2

2221111

2222

c m m dx E M mV Mx mV dt ⎛⎫=+=+ ⎪⎝⎭

组件速度由下式决定:

()

2

22

2cos m V x l lx θ

θθ=++

于是

()22211

cos 22

c E M m x ml mlx θθθ=

+++ 1.2 系统的势能

cos p E mgl mgl θ=-

1.3 在q(t)= θ(t)自由度下的Lagrange 方程

如果D=0,则自由度相等,因此不考虑总摩擦损失

()()2

2211cos 1cos 22

L M m x ml mlx mgl θθθθ=

+++-- 根据自由度θ施加的力为零

0F θ=

2cos L

ml mlx θθθ

∂=+∂ 2

cos sin d L ml mlx mlx dt θθθθθ∂⎛⎫=+- ⎪∂⎝⎭

sin sin L

mlx mgl θθθθ

∂=--∂ 简化后给出第一Lagrange 方程

cos sin 0l x g θθθ++=

1.4 在q(t)=x(t)自由度下的Lagrange 方程

根据自由度x 给吊车施力:

()x F F t =

()cos L

M m x ml x

θθ∂=++∂ ()2

cos sin d L M m x ml ml dt x θθθθ∂⎛⎫=++- ⎪

∂⎝⎭

0L

x

∂=∂ 简化后给出Lagrange 第二方程

()()2cos sin M m x ml ml F t θθθθ++-=

1.5 操作点附近的线性模型

得到的模型是非线性的,且不同自由度下有不同的方程。如果只考虑在操作点θ0

=0附近只有很小的θ变化,可考虑如下的简化

cos 1

sin θθθ

=⎧⎨

=⎩ 另外,有

()

2cos sin cos d

dt

θθθθθθ-=

这就给出了如下的线性微分方程

()()

0M m x ml F t x l g θθθ⎧++=⎨

++=⎩

根据x(t)和θ(t)的微分系统给出

()()()()()()()11M m t g t F t

Ml Ml m x t g t F t M M

θθθ+⎧=--⎪⎪⎨

⎪=+⎪⎩ 2、系统的数学模型

对x(t)和θ(t)的微分系统方程组进行拉氏变换得

()()()()()221

()1()M m S s g s F s Ml Ml m S X s g s F s M M

θθθ+⎧=--⎪⎪⎨

⎪=+⎪⎩ 将M=10 kg ,m=5 kg ,l=1 m ,g=9.8≈10,F 0=1代入上式并进一步变换得

242()10()10150X s s F s s s +=+ 2()1()10150

s F s s q =-+ 3、利用Simulink 对系统进行仿真 3.1 系统开环过程仿真

打开一空白模型编辑窗口,根据该系统的数学模型,创建、设置、连接模块,如图2所示。

图2仿真模型结构图

由于在模型文件中使用了To file模块,输出结果已经保存到MATLAB工作空间当中,可以使用MATLAB命令来绘制结果,代码如下,结果如图4所示。

●>> load('D:\MATLAB7\out1')

>> plot(out(1,:),out(2,:))

>> grid on

>> title('X(t)-t');

>> xlabel('Time(sec)');

>> ylabel('Distance(m)');

◆>> load('D:\MATLAB7\out2')

>> plot(out(1,:),out(2,:))

>> grid on

>> title('θ(t)-t');

>> xlabel('时间(秒)');

>> ylabel('角度(弧度)');

运行仿真,结果如图3所示。

相关文档
最新文档