当前位置:文档之家› 课程设计 柴油机凸轮机构

课程设计 柴油机凸轮机构

机械原理课程设计编程说明书设计题目:柴油机凸轮机构的设计指导教师:郝志勇、席本强设计者:杨忠平学号:0907240122班级:液压09-12011年6月29日辽宁工程技术大学机械原理课程设计任务书姓名杨忠平专业液压传动与控制班级液压09-1 学号0907240122一、设计题目:单缸四冲程柴油机凸轮机构设计二、系统简图:1)计算从动件位移和速度。

绘制线图(坐标纸或计算机绘制)。

2)用计算机语言按照许用压力角确定凸轮机构的基本尺寸,选滚子半径,画凸轮的实际轮廓曲线,并按比例绘出机构运动简图。

3)编写出计算说明书。

指导教师:郝志勇席本强开始日期:2011 年6 月26 日完成日期:2011 年6月30目录1、设计任务及要求 (3)2、设计思想及数学模型的建立 (4)3、程序框图 (8)4、程序清单及运行结果 (9)5、总结 (19)6、参考文献 (19)一、设计任务及要求已知:从动件冲程为h=20mm,推程的许用压力角[α]=30°,回程的许用压力角[α]′=75°,推程运动角φ=50°,远休止角φs=10°,回程运动角φ′=50°,从动件相应的运动规律。

要求:1)计算从动件位移和速度。

绘制线图。

2)用计算机语言按照许用压力角确定凸轮机构的基本尺寸,选滚子半径,画凸轮的实际轮廓曲线,并按比例绘出机构的运动简图,同时做出凸轮机构动态显示图。

3)编写出计算说明书。

二、设计过程及数学模型的建立2.1、设计思想首先,任取一个基圆半径r0,计算出位移s 、速度v 、加速度a 、画出位移s 、速度v 、加速度a 随旋转角δ变化的曲线图;其次,把圆周分为72等份,算出静态时的凸轮理论和实际轮廓线各点坐标值,将其分别放入x[]、y[]、xx[]、yy[]数组中;然后,在利用坐标旋转(x=x*cos θ+y*sin θ;y=x*sin θ-y*cos θ),从而模拟出凸轮的运动。

2.2基圆半径选择因为基圆半径r0≥35mm ,所以选基圆半径r0=40mm 。

2.3数学模型推程时:等加速:0≤δ≤5π/36φδ222h s =φωδ24h v =φω22h 4=a等减速:5π/36≤δ≤5π/18()φδφ222--=h h sφδφω2)(4-=h vφω224h a -=远休止:s=hv=0a=0回程时:等加速:0≤δ≤5π/36′222φδh h s ='-=φωδ24h v '-=φω24h a 等减速:5π/36≤δ≤5π/18 ()'-'=φδφ222h s()'-'-=φδφω24h v '=φω224h a近休止:s=0v=0a=0如图所示,已知从动件运动规律为s=s (δ),基圆半径为r0,滚子半径为Rt ,偏心距为e ,设计盘行凸轮机构。

如图,选取xOy 坐标系,B0点为凸轮轮廓线起点。

开始时滚子中心处于B0点处,当凸轮转过δ角度时,推杆位移为s 。

由反转法作图可看出,此时滚子中心处于B 点,其坐标为x=(r0+s)sin δ,y=(r0+s)cos δ(1)即凸轮的理论轮廓线方程。

因为实际轮廓线与理论轮廓线为等距线,即法向距离处处相等,都为滚子半径Rt 。

故将理论轮廓线上的点沿法向内侧移动距离Rt ,即得实际轮廓线上的点B ′(x ′,y ′)。

由高等数学知,理论轮廓线B 点处法线nn 的斜率(与切线斜率互为负倒数)应为θθδδθcos sin =d dy d dx-=dydx -=tan (2) 根据(1)式子有()δ++δδ=δcos s r sin d ds d dx o (3) ()δ+-δδ=δsin s r cos d ds d dy 0 (3) 可得22d dy d dx d dx sin ⎪⎭⎫ ⎝⎛δ+⎪⎭⎫ ⎝⎛δ⎪⎭⎫ ⎝⎛δ=θ (4) ⎪⎭⎫ ⎝⎛δ⎪⎭⎫ ⎝⎛δ+⎪⎭⎫ ⎝⎛δ-=θd dx d dy 22d dy cos (4)实际轮廓线上对应点B ′(x ′,y ′)的坐标为θ-='COS r x x T ,θ-='sin r y y T (5)三、程序框图凸轮工作一周时,δ从0到2π变化,每一个δ对应一个轮廓上的点,所以有无穷多点,计算机编程时不能都计算出来,只能计算出有限多个点,首先应将0到2π离散为N个点,δi=2π/N,(I=0,1,2……,N-1),N越大,则精度越高。

四、程序清单及运行结果#include<math.h>#include<dos.h>#include<graphics.h>#include<conio.h>#include<stdio.h>#define p 3.1415926#define h 20#define r0 40.0#define rt 10.0int plot(s,x,y,xx,yy)float s[75],x[75],y[75],xx[75],yy[75];{ int i,j,n=73,gd=DETECT,gmode=0,linestyle,k;float dt;initgraph(&gd,&gmode,"c:\\tc");for(k=0;k<3;k++){ for(j=0;j<n;j++){ delay(1000);dt=1.0/36.0*p*j;cleardevice();setlinestyle(2,4,1);line(200,250,400,250);line(300,150,300,350);setlinestyle(0,4,1);setcolor(4);circle(2*(x[0])+300,2*(-y[0])+250-2*s[j],2*10);line(2*(x[0])+300,150,2*(x[0])+300,40*(-y[0])+25040*s[j]);setcolor(1);setcolor(11);circle(300,250,2*40);moveto(2*(xx[0]*cos(dt)+yy[0]*sin(-dt))+300,2*(-(yy[0]*cos(dt)-xx[0]*sin (-dt)))+250);setcolor(4);for(i=0;i<n;i++){lineto(2*(xx[i]*cos(dt)+yy[i]*sin(dt))+300,2*(yy[i]*cos(dt)-xx[i]*sin(-dt))+2 50);}moveto(2*(x[0]*cos(dt)+y[0]*sin(-dt))+300,2*(-(y[0]*cos(dt)-x[0]*sin(-dt) ))+250);setcolor(5);for(i=0;i<n;i++){lineto(2*(x[i]*cos(dt)+y[i]*sin(-dt))+300,2*(-(y[i]*cos(dt)-x[i]*sin(-dt)))+25 0);}moveto(2*(x[0]*cos(dt)+y[0]*sin(-dt))+300,2*(-(y[0]*cos(dt)-x[0]*sin(-dt) ))+250);}}getch();}main(){ int gd=DETECT,gm;int i,j,mm;floats[75],t1,x[75],y[75],dx[75],dy[75],xx[75],yy[75],si[75],co[75],v[75],a[75],w =0.5;initgraph (&gd,&gm,"");t1=0.0;for(i=0;i<6;i++){ s[i]=2*h*t1*t1/((5*p/18)*(5*p/18));x[i]=(r0+s[i])*sin(t1);dx[i]=(4*h*t1/((5*p/18)*(5*p/18)))*sin(t1)+(r0+s[i])*cos(t1);dy[i]=(4*h*t1/((5*p/18)*(5*p/18)))*cos(t1)-(r0+s[i])*sin(t1);si[i]=dx[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);co[i]=-dy[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);xx[i]=x[i]-rt*co[i];yy[i]=-(y[i]-rt*si[i]);v[i]=4*h*w*t1/((5*p/18)*(5*p/18));a[i]=4*h*w*w/((5*p/18)*(5*p/18));t1=t1+1.0/36.0*p;}for(i=6;i<11;i++){ s[i]=h-2*h*(5*p/18-t1)*(5*p/18-t1)/((5*p/18)*(5*p/18));x[i]=(r0+s[i])*sin(t1);y[i]=(r0+s[i])*cos(t1);dx[i]=(4*h*(5*p/18-t1)/((5*p/18)*(5*p/18)))*sin(t1)+(r0+s[i])*cos(t1);dy[i]=(4*h*(5*p/18-t1)/((5*p/18)*(5*p/18)))*cos(t1)-(r0+s[i])*sin(t1);si[i]=dx[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);co[i]=-dy[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);xx[i]=x[i]-rt*co[i];yy[i]=-(y[i]-rt*si[i]);v[i]=4*h*w*(5*p/18-t1)/((5*p/18)*(5*p/18));a[i]=-4*h*w*w/((5*p/18)*(5*p/18));t1=t1+1.0/36.0*p;}for(i=11;i<13;i++){ s[i]=h;x[i]=(r0+s[i])*sin(t1);y[i]=(r0+s[i])*cos(t1);dy[i]=-(r0+s[i])*sin(t1);si[i]=dx[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);co[i]=-dy[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);xx[i]=x[i]-rt*co[i];yy[i]=-(y[i]-rt*si[i]);v[i]=0;a[i]=0;t1=t1+1.0/36.0*p;}for(i=13;i<18;i++){ s[i]=h-2*h*(t1-p/3)*(t1-p/3)/((5*p/18)*(5*p/18));x[i]=(r0+s[i])*sin(t1);y[i]=(r0+s[i])*cos(t1);dx[i]=(-4*h*(t1-p/3)/((5*p/18)*(5*p/18)))*sin(+t1)+(r0+s[i])*cos(t1);dy[i]=(-4*h*(t1-p/3)/((5*p/18)*(5*p/18)))*cos(t1)-(r0+s[i])*sin(t1);si[i]=dx[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);co[i]=-dy[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);xx[i]=x[i]-rt*co[i];yy[i]=-(y[i]-rt*si[i]);v[i]=-4*h*w*(t1-p/3)/((5*p/18)*(5*p/18));a[i]=-4*h*w*w/((5*p/18)*(5*p/18));t1=t1+1.0/36.0*p;}for(i=18;i<23;i++){ s[i]=2*h*(5*p/18-t1+p/3)*(5*p/18-t1+p/3)/((5*p/18)*(5*p/18));x[i]=(r0+s[i])*sin(t1);y[i]=(r0+s[i])*cos(t1);dx[i]=(-4*h*(11*p/18-t1)/((5*p/18)*(5*p/18)))*sin(t1)+(r0+s[i])*cos(t1);dy[i]=(-4*h*(11*p/18-t1)/((5*p/18)*(5*p/18)))*cos(t1)-(r0+s[i])*sin(t1);si[i]=dx[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);co[i]=-dy[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);xx[i]=x[i]-rt*co[i];yy[i]=-(y[i]-rt*si[i]);v[i]=-4*h*w*(5*p/18-t1+p/3)/((5*p/18)*(5*p/18));a[i]=4*h*w*w/((5*p/18)*(5*p/18));t1=t1+1.0/36.0*p;}for(i=23;i<73;i++){s[i]=0.0;x[i]=(r0+s[i])*sin(t1);y[i]=(r0+s[i])*cos(t1);dx[i]=(r0+s[i])*cos(t1);dy[i]=-(r0+s[i])*sin(t1);si[i]=dx[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);co[i]=-dy[i]/sqrt(dx[i]*dx[i]+dy[i]*dy[i]);xx[i]=x[i]-rt*co[i];yy[i]=-(y[i]-rt*si[i]);v[i]=0;a[i]=0;t1=t1+1.0/36.0*p;}j=0;printf("s(mm) v(s/m) a(s/m/m)");for(i=0;i<32;i++){if(j%16==0){ printf("\n");getch();}printf("s[%d]=%4.2f v[%d]=%5.2fa[%d]=%5.2f\n",i,s[i],i,v[i],i,a[i]);j++;}getch();clearviewport();for(i=0;i<72;i++){ line(100+i*5,150-s[i]*6,100+(i+1)*5,150-s[i+1]*6);line(100+i*5,250-v[i]*2,100+(i+1)*5,250-v[i+1]*2); }for(i=0;i<5;i++)line(100+i*5,420-a[i],100+(i+1)*5,420-a[i+1]);line(125,420-a[5],125,420-a[6]);line(125,420-a[6],130,420-a[6]);for(i=6;i<10;i++)line(100+(i)*5,420-a[i],100+(i+1)*5,420-a[i+1]);line(150,420-a[10],150,420);line(150,420,165,420-a[12]);line(165,420,165,420-a[13]);line(165,420-a[13],170,420-a[14]);for(i=13;i<17;i++)line(100+i*5,420-a[i],100+(i+1)*5,420-a[i+1]);line(185,420-a[17],185,420-a[18]);line(185,420-a[18],190,420-a[18]);for(i=18;i<22;i++)line(100+(i)*5,420-a[i],100+(i+1)*5,420-a[i+1]);line(210,420-a[22],210,420);line(210,420,215,420);for(i=23;i<72;i++)line(100+i*5,420-a[i],100+(i+1)*5,420-a[i+1]); line(90,150,400,150);line(90,250,400,250);line(90,420,400,420);line(100,10,100,450);delay(30000);getch();plot(s,x,y,xx,yy);getch();getch();closegraph();}五、总结通过一个礼拜的课程设计,我学到了很多东西。

相关主题