机械原理课程设计示例:自动打印机

机械原理创新设计

自动打印机

一、总功能及设计参数

自动打印机的功能是将输入的产品包装盒打印上某种标记,然后输出。 自动打印机的设计参数

二、功能分解

主要有两个过程,一是将包装盒传输到某个位置,打印上标记后将其输出,要求实现间歇传动。二是在包装盒上打印标记。 三、机构选型

对于包装盒的输送和输出,选用皮带传动,间歇传动有不完全齿轮实现。对包装盒的打印过程先有凸轮实现运动形式的转换再由连杆机构实现打印过程。 四、运动循环图

运动循环时间T=1s。

五、总体方案设计

电动机的转速为1500r/min,由蜗杆蜗轮将转速降为60r/min,偏心轮O2实现杆L1的上下运动,O4上的不完全齿轮实现皮带上的工作台的间歇运动。 六、尺寸确定

蜗杆的头数为2,蜗轮的齿数是50,m=2。Ro2=40mm,O1O2=20mm。O1到皮带的距离是64.34mm。O1,O3、O4上的齿轮是齿数为26,m=2的标准齿轮。O4上的不完全齿轮的齿数为6,m=4。滚子的半径为10mm。L1=300,L2=135mm,L3=L4=90mm,L5=128mm。

七、运动分析

编写程序对O2、L1、L2、L3L4、L5组成的机构进行运动分析。主程序如下:

#include

void bark(n1,n2,n3,k,r1,r2,gam,t,w,e,p,vp,ap) int n1,n2,n3,k; double r1,r2,gam;

double p[20][2],vp[20][2],ap[20][2];

double t[10],w[10],e[10];

{

double rx2,ry2,rx3,ry3; if(n2!=0) {

rx2=r1*cos(t[k]); ry2=r1*sin(t[k]);

p[n2][1]=p[n1][1]+rx2; p[n2][2]=p[n1][2]+ry2;

vp[n2][1]=vp[n1][1]-ry2*w[k]; vp[n2][2]=vp[n1][2]+rx2*w[k];

ap[n2][1]=ap[n1][1]-ry2*e[k]-rx2*w[k]*w[k]; ap[n2][2]=ap[n1][2]+rx2*e[k]-ry2*w[k]*w[k]; } if(n3!=0) {

rx3=r2*cos(t[k]+gam); ry3=r2*sin(t[k]+gam); p[n3][1]=p[n1][1]+rx3; p[n3][2]=p[n1][2]+ry3;

vp[n3][1]=vp[n1][1]-ry3*w[k]; vp[n3][2]=vp[n1][2]+rx3*w[k];

ap[n3][1]=ap[n1][1]-ry3*e[k]-rx3*w[k]*w[k]; ap[n3][2]=ap[n1][2]+rx3*e[k]-ry3*w[k]*w[k]; } }

/****************rrpk********************************************/ void rrpk(m,n1,n2,n3,k1,k2,k3,r1,r2,vr2,ar2,t,w,e,p,vp,ap) int m,n1,n2,n3,k1,k2,k3; double r1,*r2,*vr2,*ar2;

double p[20][2],vp[20][2],ap[20][2]; double t[10],w[10],e[10]; {

double dx12,dy12,dx31,dy31,dx32,dy32; double ssq,phi,ep,u,fp,cb,sb,ct,st,q,ev,fv,ea,fa; t[k2]=t[k3];

dx12=p[n1][1]-p[n2][1]; dy12=p[n1][2]-p[n2][2]; ssq=dx12*dx12+dy12*dy12; phi=atan2(dy12,dx12);

ep=sqrt(ssq)*cos(phi-t[k3]); u=sqrt(ssq)*sin(phi-t[k3]); if((r1-fabs(u))

printf(

} else {

fp=sqrt(r1*r1-u*u); if(m>0) { *r2=ep+fp; } else { *r2=ep-fp; } cb=cos(t[k3]); sb=sin(t[k3]);

p[n3][1]=p[n2][1]+(*r2)*cb; p[n3][2]=p[n2][2]+(*r2)*sb; dx31=p[n3][1]-p[n1][1]; dy31=p[n3][2]-p[n1][2]; dx32=p[n3][1]-p[n2][1]; dy32=p[n3][2]-p[n2][2]; t[k1]=atan2(dy31,dx31); ct=cos(t[k1]); st=sin(t[k1]);

q=dy31*sb+dx31*cb;

ev=vp[n2][1]-vp[n1][1]-(*r2)*w[k3]*sb; fv=vp[n2][2]-vp[n1][2]+(*r2)*w[k3]*cb; w[k1]=(-ev*sb+fv*cb)/q; *vr2=-(ev*dx31+fv*dy31)/q; vp[n3][1]=vp[n1][1]-r1*w[k1]*st; vp[n3][2]=vp[n1][2]+r1*w[k1]*ct;

ea=ap[n2][1]-ap[n1][1]+w[k1]*w[k1]*dx31-w[k3]*w[k3]*(*r2)*cb; ea=ea-2.0*w[k3]*(*vr2)*sb-e[k3]*dy32;

fa=ap[n2][2]-ap[n1][2]+w[k1]*w[k1]*dy31-w[k3]*w[k3]*(*r2)*sb; fa=fa+2.0*w[k3]*(*vr2)*cb-e[k3]*dx32; e[k1]=(-ea*sb+fa*cb)/q; *ar2=-(ea*dx31+fa*dy31)/q;

ap[n3][1]=ap[n1][1]-r1*w[k1]*w[k1]*ct-r1*e[k1]*st; ap[n3][2]=ap[n1][2]-r1*w[k1]*w[k1]*st+r1*e[k1]*ct; w[k2]=w[k3]; e[k2]=e[k3]; } }

/***************rprk*******************************************/ void rprk(m,n1,n2,k1,k2,r1,r2,vr2,ar2,t,w,e,p,vp,ap)

int m,n1,n2,k1,k2;

double r1,*r2,*vr2,*ar2;

double p[20][2],vp[20][2],ap[20][2]; double t[10],w[10],e[10]; {

double dx21,dy21,test,phi,alpha,ct,st,q,vx21,vy21,ea,fa; dx21=p[n2][1]-p[n1][1]; dy21=p[n2][2]-p[n1][2];

test=dx21*dx21+dy21*dy21-r1*r1; if(test

printf(

*r2=sqrt(test);

phi=atan2(dy21,dx21); alpha=atan(r1/(*r2)); if(m>0) {

t[k1]=phi+alpha; } else {

t[k1]=phi-alpha; } t[k2]=t[k1]; ct=cos(t[k1]); st=sin(t[k1]);

q=dx21*ct+dy21*st;

vx21=vp[n2][1]-vp[n1][1]; vy21=vp[n2][2]-vp[n1][2]; w[k1]=(vy21*ct-vx21*st)/q; w[k2]=w[k1];

*vr2=(vy21*dy21+vx21*dx21)/q;

ea=ap[n2][1]-ap[n1][1]+w[k1]*w[k1]*dx21+2.0*w[k1]*(*vr2)*st; fa=ap[n2][2]-ap[n1][2]+w[k1]*w[k1]*dy21-2.0*w[k1]*(*vr2)*ct; e[k1]=-(ea*st-fa*ct)/q; e[k2]=e[k1];

*ar2=(ea*dx21+fa*dy21)/q; } }

static double p[20][3],vp[20][3],ap[20][3],del,t[10],w[10],e[10];

static int ic;

double r12,r23,r45,r56,r67,l1,l2; double pi,dr;

double r2,vr2,ar2; int i,m; main() {

FILE *fp;

pi=3.1415926; dr=pi/(180.0);

r12=20; r23=40; r45=135; r56=90; r67=90; l1=300; l2=128; p[1][1]=0.0; p[1][2]=0.0;

p[5][1]=-135.0; p[5][2]=334.64; p[8][1]=-265.0; p[8][2]=334.64; t[1]=0.0; w[1]=2*pi; e[1]=0.0; t[9]=90.0*dr; w[9]=0.0; e[9]=0.0; t[8]=-90.0*dr; w[8]=0.0; e[8]=0.0; del=10.0;

printf(

printf(

fprintf(fp,

t[1]=i*del*dr;

bark(1,2,0,1,r12,0.0,0.0,t,w,e,p,vp,ap); /*调用单级杆件运动分析子程序*/

rrpk(1,2,1,3,2,3,9,r23,&r2,&vr2,&ar2,t,w,e,p,vp,ap); /*调用rrp杆件运动分析子程序*/

p[3][2]+=l1;

rprk(1,5,3,4,5,0.0,&r2,&vr2,&ar2,t,w,e,p,vp,ap); /*调用rpr杆件运动分析子程序*/ t[5]+=pi;

bark(5,6,0,5,r56,0.0,0.0,t,w,e,p,vp,ap);

rrpk(1,6,8,7,7,8,8,r67,&r2,&vr2,&ar2,t,w,e,p,vp,ap); p[7][2]-=l2;

printf(

fprintf(fp,

}

fclose(fp); getch(); }

得到如下数据:

NO THETAI S7 V7 A7 deg

1 0.000 2 10.000 3 20.000 4 30.000 5 40.000 6 50.000 7 60.000 8 70.000 9 80.000 10 90.000 11 100.000 12 110.000 13 120.000 14 130.000 15 140.000 16 150.000 17 160.000 18 170.000 19 180.000 20 190.000 21 200.000 22 210.000 23 220.000 24 230.000 25 240.000 26 250.000 27 260.000 28 270.000 29 280.000 30 290.000 31 300.000 32 310.000 33 320.000 mm 135.010 mm/s -83.775 -89.418 -90.947 -87.804 -80.078 -68.389 -53.647 -36.802 -18.692 0.000 18.692 36.802 53.647 68.389 80.078 87.804 90.947 89.418 83.775 75.107 64.714 53.767 43.088 33.110 23.950 15.521 7.623 0.000 -7.623 -15.521 -23.950 -33.110 -43.088 mm/s/s -265.212 -134.303 27.645 198.017 354.381 481.583 574.046 633.740 666.134 676.270 666.134 633.740 574.046 481.583 354.381 198.017 27.645 -134.303 -265.212 -350.903 -390.247 -392.974 -373.340 -344.448 -315.640 -292.468 -277.766 -272.757 -277.766 -292.468 -315.640 -344.448 -373.340

126.017 123.603 121.087 118.594 116.252 114.182 112.481 111.221 110.448 110.188 110.448 111.221 112.481 114.182 116.252 118.594 121.087 123.603 126.017 128.229 130.173 131.819 133.163 134.220 135.010 135.557 135.877 135.983 135.877 135.557 134.220 133.163

34 330.000 131.819 -53.767 -392.974 35 340.000 130.173 -64.714 -390.247 36 350.000 128.229 -75.107 -350.903 37 360.000 126.017 -83.775 -265.212

可知打印装置的最低位置为距O1 110.188mm,最高位置为135.983mm。 工作台每次移动的距离为6*4*3.14=75.36mm,于是便可实现工作台每秒钟移动75.36mm打印一个包装盒的功能。

机械原理创新设计

自动打印机

一、总功能及设计参数

自动打印机的功能是将输入的产品包装盒打印上某种标记,然后输出。 自动打印机的设计参数

二、功能分解

主要有两个过程,一是将包装盒传输到某个位置,打印上标记后将其输出,要求实现间歇传动。二是在包装盒上打印标记。 三、机构选型

对于包装盒的输送和输出,选用皮带传动,间歇传动有不完全齿轮实现。对包装盒的打印过程先有凸轮实现运动形式的转换再由连杆机构实现打印过程。 四、运动循环图

运动循环时间T=1s。

五、总体方案设计

电动机的转速为1500r/min,由蜗杆蜗轮将转速降为60r/min,偏心轮O2实现杆L1的上下运动,O4上的不完全齿轮实现皮带上的工作台的间歇运动。 六、尺寸确定

蜗杆的头数为2,蜗轮的齿数是50,m=2。Ro2=40mm,O1O2=20mm。O1到皮带的距离是64.34mm。O1,O3、O4上的齿轮是齿数为26,m=2的标准齿轮。O4上的不完全齿轮的齿数为6,m=4。滚子的半径为10mm。L1=300,L2=135mm,L3=L4=90mm,L5=128mm。

七、运动分析

编写程序对O2、L1、L2、L3L4、L5组成的机构进行运动分析。主程序如下:

#include

void bark(n1,n2,n3,k,r1,r2,gam,t,w,e,p,vp,ap) int n1,n2,n3,k; double r1,r2,gam;

double p[20][2],vp[20][2],ap[20][2];

double t[10],w[10],e[10];

{

double rx2,ry2,rx3,ry3; if(n2!=0) {

rx2=r1*cos(t[k]); ry2=r1*sin(t[k]);

p[n2][1]=p[n1][1]+rx2; p[n2][2]=p[n1][2]+ry2;

vp[n2][1]=vp[n1][1]-ry2*w[k]; vp[n2][2]=vp[n1][2]+rx2*w[k];

ap[n2][1]=ap[n1][1]-ry2*e[k]-rx2*w[k]*w[k]; ap[n2][2]=ap[n1][2]+rx2*e[k]-ry2*w[k]*w[k]; } if(n3!=0) {

rx3=r2*cos(t[k]+gam); ry3=r2*sin(t[k]+gam); p[n3][1]=p[n1][1]+rx3; p[n3][2]=p[n1][2]+ry3;

vp[n3][1]=vp[n1][1]-ry3*w[k]; vp[n3][2]=vp[n1][2]+rx3*w[k];

ap[n3][1]=ap[n1][1]-ry3*e[k]-rx3*w[k]*w[k]; ap[n3][2]=ap[n1][2]+rx3*e[k]-ry3*w[k]*w[k]; } }

/****************rrpk********************************************/ void rrpk(m,n1,n2,n3,k1,k2,k3,r1,r2,vr2,ar2,t,w,e,p,vp,ap) int m,n1,n2,n3,k1,k2,k3; double r1,*r2,*vr2,*ar2;

double p[20][2],vp[20][2],ap[20][2]; double t[10],w[10],e[10]; {

double dx12,dy12,dx31,dy31,dx32,dy32; double ssq,phi,ep,u,fp,cb,sb,ct,st,q,ev,fv,ea,fa; t[k2]=t[k3];

dx12=p[n1][1]-p[n2][1]; dy12=p[n1][2]-p[n2][2]; ssq=dx12*dx12+dy12*dy12; phi=atan2(dy12,dx12);

ep=sqrt(ssq)*cos(phi-t[k3]); u=sqrt(ssq)*sin(phi-t[k3]); if((r1-fabs(u))

printf(

} else {

fp=sqrt(r1*r1-u*u); if(m>0) { *r2=ep+fp; } else { *r2=ep-fp; } cb=cos(t[k3]); sb=sin(t[k3]);

p[n3][1]=p[n2][1]+(*r2)*cb; p[n3][2]=p[n2][2]+(*r2)*sb; dx31=p[n3][1]-p[n1][1]; dy31=p[n3][2]-p[n1][2]; dx32=p[n3][1]-p[n2][1]; dy32=p[n3][2]-p[n2][2]; t[k1]=atan2(dy31,dx31); ct=cos(t[k1]); st=sin(t[k1]);

q=dy31*sb+dx31*cb;

ev=vp[n2][1]-vp[n1][1]-(*r2)*w[k3]*sb; fv=vp[n2][2]-vp[n1][2]+(*r2)*w[k3]*cb; w[k1]=(-ev*sb+fv*cb)/q; *vr2=-(ev*dx31+fv*dy31)/q; vp[n3][1]=vp[n1][1]-r1*w[k1]*st; vp[n3][2]=vp[n1][2]+r1*w[k1]*ct;

ea=ap[n2][1]-ap[n1][1]+w[k1]*w[k1]*dx31-w[k3]*w[k3]*(*r2)*cb; ea=ea-2.0*w[k3]*(*vr2)*sb-e[k3]*dy32;

fa=ap[n2][2]-ap[n1][2]+w[k1]*w[k1]*dy31-w[k3]*w[k3]*(*r2)*sb; fa=fa+2.0*w[k3]*(*vr2)*cb-e[k3]*dx32; e[k1]=(-ea*sb+fa*cb)/q; *ar2=-(ea*dx31+fa*dy31)/q;

ap[n3][1]=ap[n1][1]-r1*w[k1]*w[k1]*ct-r1*e[k1]*st; ap[n3][2]=ap[n1][2]-r1*w[k1]*w[k1]*st+r1*e[k1]*ct; w[k2]=w[k3]; e[k2]=e[k3]; } }

/***************rprk*******************************************/ void rprk(m,n1,n2,k1,k2,r1,r2,vr2,ar2,t,w,e,p,vp,ap)

int m,n1,n2,k1,k2;

double r1,*r2,*vr2,*ar2;

double p[20][2],vp[20][2],ap[20][2]; double t[10],w[10],e[10]; {

double dx21,dy21,test,phi,alpha,ct,st,q,vx21,vy21,ea,fa; dx21=p[n2][1]-p[n1][1]; dy21=p[n2][2]-p[n1][2];

test=dx21*dx21+dy21*dy21-r1*r1; if(test

printf(

*r2=sqrt(test);

phi=atan2(dy21,dx21); alpha=atan(r1/(*r2)); if(m>0) {

t[k1]=phi+alpha; } else {

t[k1]=phi-alpha; } t[k2]=t[k1]; ct=cos(t[k1]); st=sin(t[k1]);

q=dx21*ct+dy21*st;

vx21=vp[n2][1]-vp[n1][1]; vy21=vp[n2][2]-vp[n1][2]; w[k1]=(vy21*ct-vx21*st)/q; w[k2]=w[k1];

*vr2=(vy21*dy21+vx21*dx21)/q;

ea=ap[n2][1]-ap[n1][1]+w[k1]*w[k1]*dx21+2.0*w[k1]*(*vr2)*st; fa=ap[n2][2]-ap[n1][2]+w[k1]*w[k1]*dy21-2.0*w[k1]*(*vr2)*ct; e[k1]=-(ea*st-fa*ct)/q; e[k2]=e[k1];

*ar2=(ea*dx21+fa*dy21)/q; } }

static double p[20][3],vp[20][3],ap[20][3],del,t[10],w[10],e[10];

static int ic;

double r12,r23,r45,r56,r67,l1,l2; double pi,dr;

double r2,vr2,ar2; int i,m; main() {

FILE *fp;

pi=3.1415926; dr=pi/(180.0);

r12=20; r23=40; r45=135; r56=90; r67=90; l1=300; l2=128; p[1][1]=0.0; p[1][2]=0.0;

p[5][1]=-135.0; p[5][2]=334.64; p[8][1]=-265.0; p[8][2]=334.64; t[1]=0.0; w[1]=2*pi; e[1]=0.0; t[9]=90.0*dr; w[9]=0.0; e[9]=0.0; t[8]=-90.0*dr; w[8]=0.0; e[8]=0.0; del=10.0;

printf(

printf(

fprintf(fp,

t[1]=i*del*dr;

bark(1,2,0,1,r12,0.0,0.0,t,w,e,p,vp,ap); /*调用单级杆件运动分析子程序*/

rrpk(1,2,1,3,2,3,9,r23,&r2,&vr2,&ar2,t,w,e,p,vp,ap); /*调用rrp杆件运动分析子程序*/

p[3][2]+=l1;

rprk(1,5,3,4,5,0.0,&r2,&vr2,&ar2,t,w,e,p,vp,ap); /*调用rpr杆件运动分析子程序*/ t[5]+=pi;

bark(5,6,0,5,r56,0.0,0.0,t,w,e,p,vp,ap);

rrpk(1,6,8,7,7,8,8,r67,&r2,&vr2,&ar2,t,w,e,p,vp,ap); p[7][2]-=l2;

printf(

fprintf(fp,

}

fclose(fp); getch(); }

得到如下数据:

NO THETAI S7 V7 A7 deg

1 0.000 2 10.000 3 20.000 4 30.000 5 40.000 6 50.000 7 60.000 8 70.000 9 80.000 10 90.000 11 100.000 12 110.000 13 120.000 14 130.000 15 140.000 16 150.000 17 160.000 18 170.000 19 180.000 20 190.000 21 200.000 22 210.000 23 220.000 24 230.000 25 240.000 26 250.000 27 260.000 28 270.000 29 280.000 30 290.000 31 300.000 32 310.000 33 320.000 mm 135.010 mm/s -83.775 -89.418 -90.947 -87.804 -80.078 -68.389 -53.647 -36.802 -18.692 0.000 18.692 36.802 53.647 68.389 80.078 87.804 90.947 89.418 83.775 75.107 64.714 53.767 43.088 33.110 23.950 15.521 7.623 0.000 -7.623 -15.521 -23.950 -33.110 -43.088 mm/s/s -265.212 -134.303 27.645 198.017 354.381 481.583 574.046 633.740 666.134 676.270 666.134 633.740 574.046 481.583 354.381 198.017 27.645 -134.303 -265.212 -350.903 -390.247 -392.974 -373.340 -344.448 -315.640 -292.468 -277.766 -272.757 -277.766 -292.468 -315.640 -344.448 -373.340

126.017 123.603 121.087 118.594 116.252 114.182 112.481 111.221 110.448 110.188 110.448 111.221 112.481 114.182 116.252 118.594 121.087 123.603 126.017 128.229 130.173 131.819 133.163 134.220 135.010 135.557 135.877 135.983 135.877 135.557 134.220 133.163

34 330.000 131.819 -53.767 -392.974 35 340.000 130.173 -64.714 -390.247 36 350.000 128.229 -75.107 -350.903 37 360.000 126.017 -83.775 -265.212

可知打印装置的最低位置为距O1 110.188mm,最高位置为135.983mm。 工作台每次移动的距离为6*4*3.14=75.36mm,于是便可实现工作台每秒钟移动75.36mm打印一个包装盒的功能。


相关文章

  • 机械原理课程设计-自动盖章机
  • 机械原理课程设计 说明书 设计题目 :自动盖章机 学 院 :汽车学院 专 业 :车辆工程 班 级 : 设 计 者 : 指导教师 : 2013年7月5日 目录 一. 设计题目与任务 .............................. ...查看


  • 济南大学实验室介绍
  • CAD 实验室 CAD 实验室承担全院所有的上机实践课程,涉及课程学习.课程设计和毕业设计等多个教学环节,是 Solid Works 中国有限公司在山东设立的首家 Solid Works 授权教育基地及 CSWA 考试中心. 实验室设三个分 ...查看


  • 凸轮机构动态测试实验台在机械原理综合实验教学中的应用
  • 摘要:在<机械原理>课程教学中,对凸轮机构注重图解法设计凸轮廓线方法的讲授,而凸轮机构在满足从动件运动规律要求的同时,必须满足机构动态测试的要求.本文引入凸轮机构动态测试实验台作为<机械原理>综合实验的平台,使学生着 ...查看


  • 3D打印创新实验室建设方案
  • 3D打印创新实验室 解决方案 快速制造国家工程研究中心 教育部快速成型工程中心 西安交通大学 北京3D打印研究院 云上动力(北京)数字科技有限公司 2015年 方案概述---整体解决方案的十大优势特点 1. 雄厚的技术实力:整体解决方案是由 ...查看


  • 机械原理课程设计设计计算说明书(格式及示例)
  • 机械原理课程设计 设计计算说明书 设计题目:麦秸打包机机构及传动装置设计 设 计 者: 潘月楠 学 号: 20100265 专业班级:机械工程及自动化 6 班 指导教师: 柴晓艳 完成日期: 2012 年 12 月 22 日 天津理工大学机 ...查看


  • 线切割机床步进电机的PLC控制
  • 辽 宁 工 业 大 学 题目: 线切割机床步进电机的PLC 控制 院(系): 专业班级: 学 号: 学生姓名: 指导教师: (签字) 起止时间: 2013.12 本科生课程设计(论文) 课程设计(论文)任务及评语 院(系):电气工程学院 教 ...查看


  • 机电一体化产品设计
  • 机 电 一 体 化 产 品 设 计 院系:机电工程学院 班级:机制自动化10-01 学号:5410020101@@ 姓名:邹@@@ 打印机 打印机是一种典型的机电一体化产品.打印机由机械部件.电子部件以及相应软件的共同配合完成文字及图形的打 ...查看


  • 供电技术教学大纲模板
  • <供配电技术>课程教学大纲 课程编号: 一.课程说明 1. 课程类别 学科专业类课程 2. 适应专业及课程性质 电子科学技术与应用专业 选修 电气工程及其自动化专业 必修 3. 课程目的 通过本课程的学习,使学生对工业企业供配电 ...查看


  • 14电气模拟电路课程设计题目及要求(全)
  • 附件1: 贺州学院课程考核试卷(课程设计) (2014--2015学年第2学期) 课程名称:电子技术课程设计 开课单位:机械与电子工程学院 考核年级.专业:2014级电气工程及其自动化1班.2班 任课教师:杨建湘 <电子技术课程设计& ...查看


热门内容