牛头刨的运动分析.docx
《牛头刨的运动分析.docx》由会员分享,可在线阅读,更多相关《牛头刨的运动分析.docx(23页珍藏版)》请在冰点文库上搜索。
牛头刨的运动分析
机械原理课程设计说明书
课题:
牛头刨床设计
班级:
姓名:
学号:
指导教师:
成绩:
2009年10月23日
5、导杆机构的运动分析7
5.1机构的分解7
2.曲线图9
6.4牛头刨床的计算结果与曲线图14
1.计算结果14
2.曲线图15
课题:
牛头刨床机构分析
1、设计任务
牛头刨床是一种靠刀具的往复直线运动及工作台的间歇运动来完成工件的平面切削加工的机床。
图1为其参考示意图。
电动机经过减速传动装置(皮带和齿轮传动)带动执行机构(导杆机构和凸轮机构)完成刨刀的往复运动和间歇移动。
刨床工作时,刨头6由曲柄2带动右行,刨刀进行切削,称为工作行程。
在切削行程H中,前后各有一段0.05H的空刀距离,工作阻力F为常数;刨刀左行时,即为空回行程,此行程无工作阻力。
在刨刀空回行程时,凸轮8通过四杆机构带动棘轮机构,棘轮机构带动螺旋机构使工作台连同工件在垂直纸面方向上做一次进给运动,以便刨刀继续切削。
设计要求对导杆机构进行运动分析:
将导杆机构放在直角坐标系下,建立参数化的数学模型,编程分析出刨头6的位移、速度、加速度,画出运动曲线。
对导杆机构进行动态静力分析:
通过建立机构仿真模型,并给系统加力,编制程序,求得杆组分析法下和简易求法下得到的平衡力矩曲线,并求反力矢端曲线。
(a)机械系统示意图(b)刨头阻力曲线图
(c)执行机构运动简图
图1牛头刨床
2、设计参数
题号
1
2
3
4
5
6
7
8
9
10
导杆
机构
运动
分析
转速n2(r/min)
48
49
50
52
50
48
47
55
60
56
机架lO2O4(mm)
380
350
430
360
370
400
390
410
380
370
工作行程H(mm)
310
300
400
330
380
250
390
310
310
320
行程速比系数K
1.46
1.40
1.40
1.44
1.53
1.34
1.50
1.37
1.46
1.48
连杆与导杆之比lBC/lO4B
0.25
0.30
0.36
0.33
0.30
0.32
0.33
0.25
0.28
0.26
导杆
机构
动态
静力
分析
工作阻力Fmax(N)
4500
4600
3800
4000
4100
5200
4200
4000
6000
5500
导杆质量m4(kg)
20
20
22
20
22
24
26
28
26
22
滑块6质量m6(kg)
70
70
80
80
80
90
80
70
80
60
导杆4质心转动惯量Js4(kg·m2)
1.1
1.1
1.2
1.2
1.2
1.3
1.2
1.1
1.2
1.2
凸轮
机构
设计
从动件最大摆角ψmax
15°
15°
15°
15°
15°
15°
15°
15°
15°
15°
从动件杆长lO9D(mm)
125
135
130
122
123
124
126
128
130
132
许用压力角
40°
38°
42°
45°
43°
44°
41°
40°
42°
45°
推程运动角
75°
70°
65°
60°
70°
75°
65°
60°
72°
74°
远休止角
10°
10°
10°
10°
10°
10°
10°
10°
10°
10°
回程运动角
75°
70°
65°
60°
70°
75°
65°
60°
72°
74°
2.1设计要求:
电动机轴与曲柄轴2平行,刨刀刀刃E点与铰链点C的垂直距离为50mm,使用寿命10年,每日一班制工作,载荷有轻微冲击。
允许曲柄2转速偏差为±5%。
要求导杆机构的最大压力角应为最小值;凸轮机构的最大压力角应在许用值[α]之内,摆动从动件9的升、回程运动规律均为等加速等减速运动。
执行构件的传动效率按0.95计算,系统有过载保护。
按小批量生产规模设计。
3、机构的结构分析
对结构的关键点编号并对机构拆分杆组,如图2。
(6为滑枕质心,9为刨刀作用点)
4、主要设计计算过程
选择第5组数据
5,8点水平距离为0.15,垂直距离为0.05。
5,9点水平距离为0.4,垂直距离为0.05.
K=1.53,
θ=[180°*(K-1)/2(K+1)]=180°*(1.53-1)/2(1.53+1)≈19°,
由工作行程分析知,BH=H/2=0.38/2=0.190;
从而:
r34=BF=BH/sinθ=0.19/sin19°=0.584;
r12=OF*sinθ=0.37*sin19°=0.112;
r45=0.30*r34=0.30*0.584=0.175;
FD=[(r34+r45)cosθ+r34]/2=[(0.584+0.175)cos19°+0.584]/2=0.651;
以O点(1点)为坐标原点,F点(3点)坐标为(0,-0.37),D点(6点)坐标为(0,0.281)。
主动件初始角度β=-(180°-α),其中α=θ。
主动件角速度ω=n2*2π/60=50*2π/60=5.236rad/s。
其余参数直接在表中取得。
5、导杆机构的运动分析
5.1机构的分解
把机构分解为主动件及杆组。
本题可分解为主动件①,②③构件组成的RPR杆组及④⑤构件组成的RRP杆组。
5.2主动件的运动分析
1)调用bark函数求2点的运动参数。
形式参数
n1
n2
n3
k
r1
r2
gam
t
w
e
p
实值
1
2
0
1
r12
0.0
0.0
t
w
e
p
2)调用rprk函数求3点的运动参数。
形式参数
m
n1
n2
k1
k2
r1
r2
vr2
实值
1
3
2
3
2
0.0
&r2
&vr2
形式参数
ar2
t
w
e
p
vp
ap
实值
&ar2
t
w
e
p
vp
ap
3)调用bark函数求4点的运动参数
形式参数
n1
n2
n3
k
r1
r2
gam
t
w
e
p
实值
3
4
0
3
r34
0.0
0.0
t
w
e
p
4)调用rrpk函数求5点的运动参数。
形式参数
m
n1
n2
n3
k1
k2
k3
r1
r2
实值
1
4
6
5
4
5
6
r45
&r2
形式参数
vr2
ar2
t
w
e
p
vp
ap
实值
&vr2
&ar2
t
p
e
p
vp
ap
5.3牛头刨床的运动主程序
#include"stdio.h"
#include"graphics.h"/*图形库*/
#include"subk.c"/*运动子程序库*/
#include"draw.c"/*绘图子程序库*/
main()
{
staticdoublep[20][2],vp[20][2],ap[20][2],del;
staticdoublet[10],w[10],e[10],pdraw[370],vpdraw[370],apdraw[370];
/*创建数组用来储存数据*/
staticintic;
doubler34=0.584,r12=0.112,r45=0.175;/*定义变量,对三个杆件长度赋初值*/
doubler2,vr2,ar2;
doublepi=4.0*atan(1.0),dr=pi/180.0;
/*求pi和求弧度*/
inti;
FILE*fp;
e[1]=0.0;
w[1]=-5.236;
del=10.0;/*设定步长*/
p[3][1]=0;
p[3][2]=-0.37;
p[1][1]=0.0;
p[1][2]=0.0;
p[6][1]=0.0;
p[6][2]=0.281;/*定坐标系*/
printf("\nTheKinematicParametersofPoint5\n");
printf("NoHETA1S5V5A5\n");
printf("degmmmm/smm/(s*s)\n");
/*在屏幕上写表头*/
if((fp=fopen("file1","w"))==NULL)
{
printf("Can'topenthisfile.\n");
exit(0);
}/*建立并打开文件file1*/
fprintf(fp,"\nTheKinematicParametersofPoint5\n");
fprintf(fp,"NoTHETA1S5V5A5\n");
fprintf(fp,"degmm/sm/(s*s)\n");
ic=(int)(360.0/del);
for(i=0;i<=ic;i++)/*建立循环*/
{
t[1]=(i)*del*dr;
bark(1,2,0,1,r12,0.0,0.0,t,w,e,p,vp,ap);
rprk(1,3,2,3,2,0.0,&r2,&vr2,&ar2,t,w,e,p,vp,ap);
bark(3,4,0,3,r34,0.0,0.0,t,w,e,p,vp,ap);
rrpk(1,4,6,5,4,5,6,r45,&r2,&vr2,&ar2,t,w,e,p,vp,ap);
/*调用各运动分析子程序*/
printf("\n%2d%12.3f%12.3f%12.3f%12.3f",i+1,t[1]/dr,p[5][1],vp[5][1],ap[5][1]);
fprintf(fp,"\n%2d%12.3f%12.3f%12.3f%12.3f",i+1,t[1]/dr,p[5][1],vp[5][1],ap[5][1]);/*把结果写入屏幕和文件file1中*/
pdraw[i]=p[5][1];
vpdraw[i]=vp[5][1];
apdraw[i]=ap[5][1];
/*把运算结果传入以备使用*/
if((i%32)==0){getch();}/*屏幕慢32行停顿*/
}
fclose(fp);/*关闭文件file1*/
getch();
draw1(del,pdraw,vpdraw,apdraw,ic);/*调用绘图子程序*/
}
5.4牛头刨床的计算结果与曲线图
1.计算结果
TheKinematicParametersofPoint5
NoTHETA1S5V5A5
degmm/sm/(s*s)
10.0000.3180.200-3.025
220.0000.2980.381-2.432
340.0000.2680.524-1.870
460.0000.2290.629-1.270
580.0000.1850.694-0.661
6100.0000.1380.717-0.055
7120.0000.0900.7000.586
8140.0000.0460.6361.377
9160.0000.0070.5092.499
10180.000-0.0200.2924.112
11200.000-0.029-0.0476.061
12220.000-0.011-0.5057.456
13240.0000.039-0.9946.694
14260.0000.117-1.3112.164
15280.0000.205-1.230-4.463
16300.0000.274-0.807-7.286
17320.0000.312-0.356-5.868
18340.0000.324-0.031-4.020
19360.0000.3180.200-3.025
2.运动参数曲线图
图45点的运动参数
6、导杆机构的动态静力分析
6.1机构的分解
见图2,把机构分解为主动件及杆组。
本题可分解为主动件①,②③构件组成的RPR杆组及④⑤构件组成的RRP杆组。
6.2对主动件进行动态静力分析
1)调用bark函数求2点的运动参数。
形式参数
n1
n2
n3
k
r1
r2
gam
t
w
e
p
实值
1
2
0
1
r12
0.0
0.0
t
w
e
p
2)调用rprk函数求3点的运动参数。
形式参数
m
n1
n2
k1
k2
r1
r2
vr2
实值
1
3
2
3
2
0.0
&r2
&vr2
形式参数
ar2
t
w
e
p
vp
ap
实值
&ar2
t
w
e
p
vp
ap
3)调用bark函数求4点的运动参数
形式参数
n1
n2
n3
k
r1
r2
gam
t
w
e
p
实值
3
4
0
3
r34
0.0
0.0
t
w
e
p
4)调用rrpk函数求5点的运动参数。
形式参数
m
n1
n2
n3
k1
k2
k3
r1
r2
实值
1
4
6
5
4
5
6
r45
&r2
形式参数
vr2
ar2
t
w
e
p
vp
ap
实值
&vr2
&ar2
t
p
e
p
vp
ap
5)两次调用bark函数,求7,8,9点的运动参数。
7点的运动参数
形式参数
n1
n2
n3
k
r1
r2
gam
t
w
e
p
vp
ap
实值
3
0
7
3
0.0
r37
0.0
t
w
e
p
vp
ap
8点的运动参数
形式参数
n1
n2
n3
k
r1
r2
gam
t
w
e
p
vp
ap
实值
5
0
8
5
0.0
r58
gam8
t
w
e
p
vp
ap
9点的运动参数
形式参数
n1
n2
n3
k
r1
r2
gam
t
w
e
p
vp
ap
实值
5
0
9
5
0.0
r59
gam9
t
w
e
p
vp
ap
6)调用rrpf函数,计算4,5点的运动副反力。
形式参数
n1
n2
n3
ns1
ns2
nn1
nn2
nexf
k1
k2
实值
4
10
5
4
8
0
9
9
4
5
形式参数
p
vp
ap
t
w
e
fr
实值
p
vp
ap
t
w
e
e
7)调用rprf函数,计算2,3点的运动副反力。
形式参数
n1
n2
ns1
ns2
nn1
nn2
nexf
k1
k2
实值
3
2
7
2
4
0
0
3
2
形式参数
p
vp
ap
t
w
e
fr
fk
pk
实值
p
vp
ap
t
w
e
fr
fk
pk
8)调用barf函数,计算转动副1中的反力及应加于构件
上的平衡力矩tb。
形式参数
n1
ns1
nn1
k1
p
ap
e
fr
tb
实值
1
1
2
1
p
ap
e
fr
&tb
6.3动态静力分析程序
#include"graphics.h"/*图形库*/
#include"subk.c"/*运动分析子程序*/
#include"subf.c"/*静力分析子程序*/
#include"draw.c"/*绘图子程序*/
extf(p,vp,ap,t,w,e,nexf,fe)
doublep[20][2],vp[20][2],ap[20][2],t[10],w[10],e[10],fe[20][2];
intnexf;
{
fe[nexf][2]=0.0;
if(vp[nexf][1]>0&&p[nexf][1]*10000>=2090&&p[nexf][1]*10000<=5510)
/*外阻力作用范围*/
{
fe[nexf][1]=-4000.0;
}
elsefe[nexf][1]=0.0;
}/*工艺阻力子函数*/
main()/*主函数*/
{
staticdoublep[20][2],vp[20][2],ap[20][2],del;
staticdoublet[10],w[10],e[10],tbdraw[370],tb1draw[370];
staticdoublesita1[370],fr1draw[370],sita2[370],fr2draw[370],sita3[370],
fr3draw[370],fr3,bt3;
staticdoublefr[20][2],fe[20][2],fk[20][2],pk[20][2];
staticintic;
doubler12,r34,r37,r45,r58,r59,r210,gam8,gam9;
doubler2,vr2,ar2,r3,vr3,ar3;
doublefr1,bt1,fr2,bt2,we1,we2,we3,we4,we5,tb1,tb;/*定义变量*/
doublepi=4.0*atan(1.0),dr=pi/180.0;/*求pi和求弧度*/
inti;
FILE*fp;
char*m[]={"tb","tb1","fr1","","fr2"};
sm[1]=0.0;sm[2]=0.0;sm[3]=22.0;sm[4]=0.0;sm[5]=80.0;sj[3]=1.20;
r12=0.1205;r34=0.584;r37=0.292;r45=0.1749;r58=0.158;r59=0.403;
gam9=-atan(1/8);gam8=atan(1/3);
gam8=gam8*dr;gam9=gam9*dr;
t[5]=0.0;w[5]=0.0;e[5]=0.0;w[1]=(2*pi*50)/60;e[1]=0.0;/*赋初值*/
del=10.0;/*定步长*/
p[3][1]=0;
p[3][2]=-0.370;
p[1][1]=0.0;
p[1][2]=0.0;
p[6][1]=0.0;
p[6][2]=0.281;
/*定义坐标系,赋定铰链值*/
printf("\nTheKineto-staticAnalysisofNtbc\n");
printf("NOTHETA1FR1BT1FR4BT4TBTB1\n");
printf("(deg.)(N)(deg.)(N)(deg.)(N.m)(N.m)\n");
/*在屏幕上写表头*/
if((fp=fopen("file","w"))==NULL)
{
printf("Can'topenthisfile./n");
exit(0);
}
printf(fp,"\nTheKineto-staticAnalysisofNtbc\n");
printf(fp,"NOTHETA1FR1BT1FR4BT4TBTB1\n");
printf(fp,"(deg.)(N)(deg.)(N)(deg.)(N.m)(N.m)\n");
ic=(int)(360.0/del);
for(i=0;i<=ic;i++)
{
t[1]=(double)(i*del)*dr;
bark(1,2,0,1,r12,0.0,0.0,t,w,e,p,vp,ap);
rprk(1,3,2,3,2,0.0,&r2,&vr2,&ar2,t,w,e,p,vp,ap);
bark(3,4,0,3,r34,0.0,0.0,t,w,e,p,vp,ap);
rrpk(1,4,6,5,4,5,6,r45,&r2,&vr2,&ar2,t,w,e,p,vp,ap);
bark(3,0,7,3,0.0,r37,0.0,t,w,e,p,vp,ap);
bark(5,0,8,5,0.0,r58,gam8,t,w,e,p,vp,ap);
bark(5,0,9,5,0.0,r59,gam9,t,w,e,p,vp,ap);
/*调用运动分析子程序*/
rrpf(4,10,5,4,8,0,9,9,4,5,p,vp,ap,t,w,e,fr);
rprf(3,2,7,2,4,0,0,3,2,p,vp,ap,t,w,e,fr,fk,pk);
barf(1,1,2,1,p,ap,e,fr,&tb);
extf(p,vp,ap,t,w,e,9,fe);
/*调用静力分析子程序*/
fr1=sqrt(fr[1][1]*fr[1][1]+fr[1][2]*fr[1][2]);
bt1=atan2(fr[1][2],fr[1][1]);fr3=sqrt(fr[3][1]*fr[3][1]+fr[3][2]*fr[3][2]);
bt3=atan2(fr[3][2],fr[3][1]);
we1=-(ap[1][1]*vp[1][1]+(ap[1][2]+9.81)*vp[1][2])*sm[1]-e[1]*w[1]*sj[1];
we2=-(ap[2][1]*vp[2][1]+(ap[2][2]+9.81)*vp[2][2])*sm[2]-e[2]*w[2]*sj[2];
we3=-(ap[7][1]*vp[7][1]+(ap[7][2]+9.81)*vp[7][2])*sm[3]-e[3