平面六杆机构的运动分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机械原理大作业(一)平面六杆机构的运动分析
班级:
学号:
姓名:
同组者:
完成时间:
一.题目
1.1 说明
如图所示为一片面六杆机构各构件尺寸如表格1所示,又知原动件1以等角速度ω=1rad/s沿逆时针方向回转,试求各从动件的角位移、角加速度以及E点的位移、速度及加速度的变化情况。1.2 数据
组号L1L2L’2L3L4L5L6 x G y G
1-A 26.5 105.6 65.0 67.5 87.5 34.4 25.0 600 153.5 41.7
表格1 条件数据
1.3 要求
三人一组,编程计算出原动件从0~360º时(计算点数N=36)所要求各运动变量的大小,并绘制运动线图及点的轨迹曲线。
二.解题步骤
由封闭图形ABCD 可得:
由封闭图形AGFECD 可得
于是有:
1122331122433sin sin sin 1cos cos sin 2l l l l l l l θθθθθθ+=--------+=+-----
/1122225566/1122225566cos cos sin cos cos 153.53
sin sin cos sin sin 41.74l l l l l l l l l l θθθθθθθθθθ+++=+----+-+=+-----
对以上1到4导可得-
222333111222333111
/
55566611122222/55566611122222cos cos cos sin sin sin sin sin sin (sin cos )cos cos cos (cos sin )
l l l l l l l l l l l l l l l l θωθωθωθωθωθωθωθωθωωθθθωθωθωωθθ-+=-=--=----=--+
写做矩阵形式:
22
332233'22225566'2222
5566cos cos 00sin sin 00cos sin 0sin sin sin cos 0cos cos l l l l l l l l l l l l θθθθθθθθθθθθ-⎡⎤⎢⎥⎢⎥⎢⎥-+-⎢⎥
+-⎣⎦ 2113111511611cos sin sin cos l l l l ωθωθωωθωθ⎡⎤⎡⎤
⎢⎥⎢⎥-⎢⎥⎢⎥=⎢⎥⎢⎥
-⎢⎥⎢⎥
⎢⎥⎢⎥⎣⎦⎣⎦
对上述矩阵求导可得:
22
33222333'222255665'
2222
55666cos cos 00sin sin 00sin cos 0sin sin cos sin 0cos cos l l l l l l l l l l l l θθαθθαθθθθαθθθθα-⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥+-⎣⎦⎣⎦22233112222331
1231/222225566115/
222225566116sin sin 00cos cos cos 00sin cos sin 0cos cos cos sin cos 0sin sin sin l l l l l l l l l l l l l l l l θθθωθθθωωθθθθθωθθθθθω-⎡⎤⎡
⎤⎡⎤⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥=-
⎢⎥
⎢⎥⎢⎥+--⎢⎥⎢⎥⎢⎥-+--⎢⎥⎣⎦⎣⎦⎣⎦
E 点横坐标及对应的速度和加速度:
/112222
/111222222
22
2/
/
11
111122222222222
cos cos sin sin sin cos cos sin cos sin sin cos ex ex xe l l l
v
l l l a l l l l l l θθθθωθωθωωθαθωθαθωθθα=++=--+=-----+
E 点纵坐标及对应的速度和加速度:
/112222
/111222222
22
11
11112222222//22222
sin sin cos cos cos sin sin cos sin cos cos sin ey ey e e e ye l l l v l l l a l l l l l l s v a θθθθωθωθωωθαθωθαθωθθα=+-=++=-+-++
+===
三.计算程序框图
四.源程序
1.#include "stdlib.h"
#include "math.h"
#include "stdio.h"
int agaus(a,b,n)
int n;
double a[],b[];
{ int *js,l,k,i,j,is,p,q;
double d,t;
js=malloc(n*sizeof(int));
l=1;
for (k=0;k<=n-2;k++)
{ d=0.0;
for (i=k;i<=n-1;i++)
for (j=k;j<=n-1;j++)
{ t=fabs(a[i*n+j]);
if (t>d) { d=t; js[k]=j; is=i;}
}
if (d+1.0==1.0) l=0;
else
{ if (js[k]!=k)
for (i=0;i<=n-1;i++)
{ p=i*n+k; q=i*n+js[k];
t=a[p]; a[p]=a[q]; a[q]=t;
}
if (is!=k)
{ for (j=k;j<=n-1;j++)
{ p=k*n+j; q=is*n+j;
t=a[p]; a[p]=a[q]; a[q]=t;
}
t=b[k]; b[k]=b[is]; b[is]=t;
}