单缸四冲程柴油机凸轮机构设计之欧阳科创编Word文件下载.docx
《单缸四冲程柴油机凸轮机构设计之欧阳科创编Word文件下载.docx》由会员分享,可在线阅读,更多相关《单缸四冲程柴油机凸轮机构设计之欧阳科创编Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
已知:
从动件冲程为
,推程的许用压力角
,回程的许用压力角
,推程运动角
,远休止角
,回程运动角
,从动件的运动规律。
四、要求:
1)计算从动件位移和速度。
绘制线图(坐标纸或计算机绘制)。
2)用计算机语言按照许用压力角确定凸轮机构的基本尺寸,选滚子半径,画凸轮的实际轮廓曲线,并按比例绘出机构运动简图(A2图纸)。
3)编写出计算说明书。
指导教师:
YYYYY
开始日期:
XX年XX月XX日
完成日期:
XX年XX月XX日。
二、设计过程及数学模型的建立
2.1、设计思想
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
,
等减速:
5π/36≤δ≤5π/18
,
远休止:
s=h,v=0,a=0
回程时:
近休止:
s=0,v=0,a=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的斜率(与切线斜率互为负倒数)应为
(2)
根据
(1)式子有
(3)
可得
(4)
实际轮廓线上对应点B′(x′,y′)的坐标为
(5)
三、程序框图
凸轮工作一周时,δ从0到2π变化,每一个δ对应一个轮廓上的点,所以有无穷多点,计算机编程时不能都计算出来,只能计算出有限多个点,首先应将0到2π离散为N个点,δi=2π/N,(I=0,1,2……,N-1),N越大,则精度越高。
输入从动件运动规律s=s(δ)
输入精度控制数N
输入基圆半径r0,滚子半径Rt,偏置距e
作循环,for(I=0;
j<
=N-1;
j++)
求B(x,y)坐标,注意到
δi=2π/N,(I=0,1,2……,N-1)
手算ds/dδ表达式,并带入(4)式
求B′(x′,y′)
存储计算结果
输出计算结果
建立坐标轴
绘制凸轮轮廓曲线
四、程序清单及运行结果
#include<
math.h>
dos.h>
graphics.h>
conio.h>
stdio.h>
#definep3.1415926
#defineh20
#definer040.0
#definert10.0
intplot(s,x,y,xx,yy)
floats[75],x[75],y[75],xx[75],yy[75];
{inti,j,n=73,gd=DETECT,gmode=0,linestyle,k;
floatdt;
initgraph(&
gd,&
gmode,"
c:
\\tc"
);
for(k=0;
k<
3;
k++)
{for(j=0;
n;
{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);
for(i=0;
i<
i++)
{
lineto(2*(xx[i]*cos(dt)+yy[i]*sin(dt))+300,2*(yy[i]*cos(dt)-xx[i]*sin(-dt))+250);
}
moveto(2*(x[0]*cos(dt)+y[0]*sin(-dt))+300,2*(-(y[0]*cos(dt)-x[0]*sin(-dt)))+250);
setcolor(5);
lineto(2*(x[i]*cos(dt)+y[i]*sin(-dt))+300,2*(-(y[i]*cos(dt)-x[i]*sin(-dt)))+250);
getch();
}
main()
{intgd=DETECT,gm;
inti,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(&
gm,"
"
t1=0.0;
6;
{s[i]=2*h*t1*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*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;
11;
{s[i]=h-2*h*(5*p/18-t1)*(5*p/18-t1)/((5*p/18)*(5*p/18));
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);
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));
for(i=11;
13;
{s[i]=h;
dx[i]=(r0+s[i])*cos(t1);
dy[i]=-(r0+s[i])*sin(t1);
v[i]=0;
a[i]=0;
for(i=13;
18;
{s[i]=h-2*h*(t1-p/3)*(t1-p/3)/((5*p/18)*(5*p/18));
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);
v[i]=-4*h*w*(t1-p/3)/((5*p/18)*(5*p/18));
for(i=18;
23;
{s[i]=2*h*(5*p/18-t1+p/3)*(5*p/18-t1+p/3)/((5*p/18)*(5*p/18));
y[i]=(