机械原理课程设计牛头刨床凸轮机构之欧阳术创编.docx

上传人:b****7 文档编号:10019128 上传时间:2023-02-08 格式:DOCX 页数:16 大小:100.11KB
下载 相关 举报
机械原理课程设计牛头刨床凸轮机构之欧阳术创编.docx_第1页
第1页 / 共16页
机械原理课程设计牛头刨床凸轮机构之欧阳术创编.docx_第2页
第2页 / 共16页
机械原理课程设计牛头刨床凸轮机构之欧阳术创编.docx_第3页
第3页 / 共16页
机械原理课程设计牛头刨床凸轮机构之欧阳术创编.docx_第4页
第4页 / 共16页
机械原理课程设计牛头刨床凸轮机构之欧阳术创编.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

机械原理课程设计牛头刨床凸轮机构之欧阳术创编.docx

《机械原理课程设计牛头刨床凸轮机构之欧阳术创编.docx》由会员分享,可在线阅读,更多相关《机械原理课程设计牛头刨床凸轮机构之欧阳术创编.docx(16页珍藏版)》请在冰豆网上搜索。

机械原理课程设计牛头刨床凸轮机构之欧阳术创编.docx

机械原理课程设计牛头刨床凸轮机构之欧阳术创编

机械原理课程设计任务书

(二)

时间:

2021.02.02

创作:

欧阳术

姓名柳柏魁专业液压传动与控制班级液压09-1学号0907240110

一、设计题目:

牛头刨床凸轮机构设计

二、系统简图:

三、工作条件

已知:

摆杆9为等加速等减速运动规律,其推程运动角

,远休止角

,回程运动角

,摆杆长度

,最大摆角

,许用压力角

(参见表2-1);凸轮与曲柄共轴。

四、原始数据

凸轮机构设计

°

°

15

135

42

75

10

70

五、要求:

1)计算从动件位移、速度、加速度并绘制线图。

2)确定凸轮机构的基本尺寸,选取滚子半径,画出凸轮实际廓线,并按比例绘出机构运动简图。

以上内容作在A2或A3图纸上。

3)编写出计算说明书。

指导教师:

开始日期:

2011年6月26日完成日期:

2011年7月1日

1.设计任务及要求------------------------------

2.数学模型的建立------------------------------

3.程序框图---------------------------------------

4.程序清单及运行结果------------------------

5.设计总结---------------------------------------

6.参考文献--------------------------------------

1设计任务与要求

已知摆杆9为等加速等减速运动规律,其推程运动角φ=75,远休止角φs=10,回程运动角φ΄=70,摆杆长度l09D=135,最大摆角φmax=15,许用压力角[α]=42,凸轮与曲线共轴。

要求:

(1)计算从动件位移、速度、加速度并绘制线图(用方格纸绘制),也可做动态显示。

(2)确定凸轮的基本尺寸,选取滚子半径,画出凸轮的实际廓线,并按比例绘出机构运动简图。

(3)编写计算说明书。

2数学模型

(1)推程等加速区

(角位移)

(角速度)

(角加速度)

(2)推程等减速区

(角位移)

(角速度)

(角加速度)

(3)远休止区

(角位移)

(角速度)

(角加速度)

(4)回程等加速区

(角位移)

(角速度)

(角加速度)

(5)回程等减速区

(角位移)

(角速度)

(角加速度)

(6)近休止区

(角位移)

(角速度)

(角加速度)

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

开始时推杆轮子中心处于B1点处,当凸轮转过角度时,摆动推杆角位移为,由反转法作图可看出,此时滚子中心应处于B点,其直角坐标为:

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

rT.故将理论廓线上的点沿其法向向内测移动距离rT即得实际廓线上的点B(x1,y1).由高等数学知,理论廓线B点处法线nn的斜率应为

根据上式有:

可得

实际轮廓线上对应的点B(x,y)的坐标为

此即为凸轮工作的实际廓线方程,式中“-”用于内等距线,“+”

于外等距线。

3程序框图

程序清单及运行结果

4程序清单及运行结果

#include

#include

#include

#include

#include

#definel135.0

#defineAa42

#definer_b40

#definerr8

#defineK(3.1415926/180)

#definedt0.25

floatQ_max,Q_t,Q_s,Q_h;

floatQ_a;

doubleL,pr;

floate[1500],f[1500],g[1500];

voidCal(floatQ,doubleQ_Q[3])

{

Q_max=15,Q_t=75,Q_s=10,Q_h=70;

if(Q>=0&&Q<=Q_t/2)

{

Q_Q[0]=K*(2*Q_max*Q*Q/(Q_t*Q_t));

Q_Q[1]=4*Q_max*Q/(Q_t*Q_t);

Q_Q[2]=4*Q_max/(Q_t*Q_t);

}

if(Q>Q_t/2&&Q<=Q_t)

{

Q_Q[0]=K*(Q_max-2*Q_max*(Q-Q_t)*(Q-Q_t)/(Q_t*Q_t));

Q_Q[1]=4*Q_max*(Q_t-Q)/(Q_t*Q_t);

Q_Q[2]=-4*Q_max/(Q_t*Q_t);

}

if(Q>Q_t&&Q<=Q_t+Q_s)

{

Q_Q[0]=K*Q_max;

Q_Q[1]=0;

Q_Q[2]=0;

}

if(Q>Q_t+Q_s&&Q<=Q_t+Q_s+Q_h/2)

{

Q_Q[0]=K*(Q_max-2*Q_max*(Q-Q_t-Q_s)*(Q-Q_t-Q_s)/(Q_h*Q_h));

Q_Q[1]=-4*Q_max*(Q-Q_t-Q_s)/(Q_h*Q_h);

Q_Q[2]=-4*Q_max/(Q_h*Q_h);

}

if(Q>Q_t+Q_s+Q_h/2&&Q<=Q_t+Q_s+Q_h)

{

Q_Q[0]=K*(2*Q_max*(Q_h-Q+Q_t+Q_s)*(Q_h-Q+Q_t+Q_s)/(Q_h*Q_h));

Q_Q[1]=-4*Q_max*(Q_h-Q+Q_t+Q_s)/(Q_h*Q_h);

Q_Q[2]=4*Q_max/(Q_h*Q_h);

}

if(Q>Q_t+Q_s+Q_h&&Q<=360)

{

Q_Q[0]=K*0;

Q_Q[1]=0;

Q_Q[2]=0;

}

}

voidDraw(floatQ_m)

{

floattt,x,y,x1,y1,x2,y2,x3,y3,x4,y4,dx,dy;

doubleQQ[3];

circle(240,240,3);

circle(240+L*sin(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K),3);

moveto(240,240);

lineto(240+20*cos(240*K),240-20*sin(240*K));

lineto(260+20*cos(240*K),240-20*sin(240*K));

lineto(240,240);

moveto(240+L*sin(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K));

lineto(240+L*sin(50*K)+20*cos(240*K),240+L*cos(50*K)-20*sin(240*K));

lineto(255+L*sin(50*K)+20*cos(240*K),240+L*cos(50*K)-20*sin(240*K));

lineto(240+L*sin(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K));

for(tt=0;tt<=720;tt=tt+2)

{

Cal(tt,QQ);

x1=L*cos(tt*K)-l*cos(Q_a+QQ[0]-tt*K);

y1=l*sin(Q_a+QQ[0]-tt*K)+L*sin(tt*K);

x2=x1*cos(Q_m*K+40*K)+y1*sin(Q_m*K+40*K);

y2=-x1*sin(Q_m*K+40*K)+y1*cos(Q_m*K+40*K);

putpixel(x2+240,240-y2,2);

dx=(QQ[1]-1)*l*sin(Q_a+QQ[0]-tt*K)-L*sin(tt*K);

dy=(QQ[1]-1)*l*cos(Q_a+QQ[0]-tt*K)+L*cos(tt*K);

x3=x1-rr*dy/sqrt(dx*dx+dy*dy);

y3=y1+rr*dx/sqrt(dx*dx+dy*dy);

x4=x3*cos(Q_m*K+40*K)+y3*sin(Q_m*K+40*K);

y4=-x3*sin(Q_m*K+40*K)+y3*cos(Q_m*K+40*K);

putpixel(x4+240,240-y4,YELLOW);

}

}

voidCurvel()

{

intt;

floaty1,y2,y3,a=0;

for(t=0;t<=360/dt;t++)

{

delay(300);

a=t*dt;

if((a>=0)&&(a<=Q_t/2))

{

y1=(2*Q_max*pow(a,2)/pow(Q_t,2))*10;

y2=(4*Q_max*(dt*K)*a/pow(Q_t,2))*pow(10,4.8);

y3=(4*Q_max*pow((dt*K),2)/pow(Q_t,2))*pow(10,8.5);

putpixel(100+a,300-y1,1);

putpixel(100+a,300-y2,2);

putpixel(100+a,300-y3,4);

line(100+Q_t/2,300-y3,100+Q_t/2,300);

}

if((a>Q_t/2)&&(a<=Q_t))

{

y1=(Q_max-2*Q_max*pow((Q_t-a),2)/pow(Q_t,2))*10;

y2=(4*Q_max*(dt*K)*(Q_t-a)/pow(Q_t,2))*pow(10,4.8);

y3=((-4)*Q_max*pow((dt*K),2)/pow(Q_t,2))*pow(10,8.5);

putpixel(100+a,300-y1,1);

putpixel(100+a,300-y2,2);

putpixel(100+a,300-y3,4);

line(100+Q_t,300-y3,100+Q_t,300);

line(100+Q_t/2,300,100+Q_t/2,300-y3);

}

if((a>Q_t)&&(a<=Q_t+Q_s))

{

y1=Q_max*10;

y2=0;

y3=0;

putpixel(100+a,300-y1,1);

putpixel(100+a,300-y2,2);

putpixel(100+a,300-y3,4);

line((100+Q_t+Q_s),300,(100+Q_t+Q_s),300-y3);

}

if((a>Q_t+Q_s)&&(a<=Q_t+Q_s+Q_h/2))

{

y1=(Q_max-2*Q_max*pow((a-Q_t-Q_s),2)/pow(Q_h,2))*10;

y2=((-4)*Q_max*(dt*K)*(a-Q_t-Q_s)/pow(Q_h,2))*pow(10,4.8);

y3=((-4)*Q_max*pow((dt*K),2)/pow(Q_h,2))*pow(10,8.5);

putpixel(100+a,300-y1,1);

putpixel(100+a,300-y2,2);

putpixel(100+a,300-y3,4);

line((100+Q_t+Q_s+Q_h/2),300,(100+Q_t+Q_s+Q_h/2),300-y3);

line((100+Q_t+Q_s),300,(100+Q_t+Q_s),300-y3);

}

if((a>Q_t+Q_s+Q_h/2)&&(a<=Q_t+Q_s+Q_h))

{

y1=(2*Q_max*pow((Q_h-a+Q_t+Q_s),2)/pow(Q_h,2))*10;

y2=((-4)*Q_max*(dt*K)*(Q_h-a+Q_t+Q_s)/pow(Q_h,2))*pow(10,4.8);

y3=(4*Q_max*pow((dt*K),2)/pow(Q_h,2))*pow(10,8.5);

putpixel(100+a,300-y1,1);

putpixel(100+a,300-y2,2);

putpixel(100+a,300-y3,4);

line((100+Q_t+Q_s+Q_h),300-y3,(100+Q_t+Q_s+Q_h),300);

line((100+Q_t+Q_s+Q_h/2),300,(100+Q_t+Q_s+Q_h/2),300-y3);

}

if((a>Q_t+Q_s+Q_h)&&(a<=360))

{

y1=0;

y2=0;

y3=0;

putpixel(100+a,300,1);

putpixel(100+a,300,2);

putpixel(100+a,300,4);

}

e[t]=y1;

f[t]=y2;

g[t]=y3;

}

}

main()

{

intgd=DETECT,gm;

inti,t,choice,x_1,y_1,flag=1;

doubleQQ1[3],aa;

FILE*f1;

if((f1=fopen("liliangliang.txt","w"))==NULL)

{

printf("liliangliang.txtcannotopen!

\n");

exit(0);

}

initgraph(&gd,&gm,"");

cleardevice();

for(t=0;!

kbhit();t++)

{

for(;t>360;)

t-=360;

if(flag==1)

for(L=l-r_b+70;L

{

Q_a=acos((L*L+l*l-r_b*r_b)/(2.0*L*l));

Cal(t,QQ1);

aa=atan(l*(1-QQ1[1]-L*cos(Q_a-QQ1[0]))/(L*sin(Q_a+QQ1[0])));/*压力角*/

pr=(pow((L*L+l*l*(1+QQ1[1])*(1+QQ1[1])-2.0*L*l*(1+QQ1[1]*cos(Q_a+QQ1[0]))),3.0/2))/*曲率半径*//((1+QQ1[1])*(2+QQ1[1])*L*l*cos(Q_a+QQ1[0])+QQ1[2]*L*l*sin(Q_a+QQ1[0])-L*L-l*l*pow((1+QQ1[1]),3));

if(aa<=Aa&&pr>rr)

flag=0;

break;

}

if(flag==0)

Cal(t,QQ1);

Draw(t);

cleardevice();

x_1=240+L*sin(50*K)-l*cos(Q_a+QQ1[0]+40*K);

y_1=240+L*cos(50*K)-l*sin(Q_a+QQ1[0]+40*K);

circle(x_1,y_1,rr);

line(240+L*sin(50*K),240+L*cos(50*K),x_1,y_1);

moveto(240+L*sin(50*K),240+L*cos(50*K));

lineto(240+L*sin(50*K)+l*cos(Q_a+QQ1[0]+40*K),480+2*L*cos(50*K)-y_1);

lineto(140+L+l*cos(Q_a+QQ1[0])*2,480+2*L*cos(50*K)-y_1);

delay

(1);

}

getch();

cleardevice();

line(100,80,100,445);

line(70,300,530,300);

line(100,80,98,90);

line(100,80,102,90);

line(520,298,530,300);

line(520,302,530,300);

setcolor

(2);

outtextxy(300,150,"Theanalysisofthewormgear'smovement");

printf("\n\n\n\n\nQ(w,a)");

printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\tt");

Curvel();

getch();

printf("\n\n\n\n\n\n\n\n\n\n");

for(i=0;i<=1440;i=i+20)

{

delay(1000);

printf("%d%f%f%f\n",i/4,e[i],f[i],g[i]);

fprintf(f1,"%d%f%f%f\n",i/4,e[i],f[i],g[i]);

}

getch();

fclose(f1);

closegraph();

}

运行结果

角度10倍角位移104.8倍角速度108.5倍角加速度

00.0000000.00000064.218987

51.33333314.68304364.218987

105.33333329.36608764.218987

1512.00000044.04903364.218987

2021.33333458.73217464.218987

2533.33333273.41522264.218987

3048.00000088.09826764.218987

3565.333336102.78130364.218987

4084.666664102.78130364.218987

45102.00000088.098267-64.218987

50116.66666473.415222-64.218987

55128.66667258.732174-64.218987

60138.00000044.049133-64.218987

65144.66667229.366087-64.218987

70148.66667214.683043-64.218987

75150.0000000.000000-64.218987

80150.0000000.0000000.000000

85150.0000000.0000000.000000

90148.469391-16.855536-73.720779

95143.877548-33.711071-73.720779

95143.877548-33.711071-73.720779

100136.224487-50.566605-73.720779

105125.510201-67.422124-73.720779

110111.734695-84.277672-73.720779

11594.897957-101.133209-73.720779

12075.000000-117.988747-73.720779

12555.102039-101.13320973.720779

13038.256305-84.27767273.720779

13524.489796-67.42214273.720779

14013.775510-50.56660573.720779

1456.122449-33.71107173.720779

1501.530612-16.85553673.720779

1550.000000-0.00000073.720779

160-3600.000000000.00000000.0000000

5设计总结

通常此次繁忙的机械原理课程设计,让我受益颇多。

首先我对牛头刨床凸轮机构的运动有了更深入的了解,用解析法设计凸轮轮廓曲线,用数学建模的方法研究凸轮机构在推程,远休止,回程和近休止各个运动阶段的运动特征和运动规律建立轮廓上点的坐标与凸轮转角之间的对应关系。

其次在设计凸轮机构中,我学习到了许多C语言知识例如用于画图的许多函数,并且充分认识到C语言程序的机械设计中的重要作用,用程序进行运动状态的分析可以为我们的设计提供相当好的辅助,也是我们设计的关键环节,直接决定了我们设计的机构的可行性,促使我要更好的掌握C语言,提升自己的各方面能力。

最后,在课程设计过程中,我发现了自己的不足之处和扎实基础知识的重要性,也考验了我将理论转化为实际的能力和综合分析能力,让我对未来有了明确的努力方向,激励我完善我的各方面能力。

我同时也得到了许多同学和老师的帮助,让我深刻的体会到团结协作的重要性,每个人都有自己精通的方面,在合作过程中可以使我们自己的能力和知识得到提高,顺利完成课程设计的任务。

6参考文献

1《机械原理》孙恒,陈作模,葛文杰,高等教育出版社,2006.5

2《机械原理课程设计》,辽宁工程技术大学机械设计基础教研室2011.6

3《C程序设计》谭浩强,清华大学出版社1995.3

4《计算机图形学》罗笑南,王若梅,中山大学出版社,1996.10

5《C语言典型零件CAD》王占勇,东北大学出版社,2000.9

时间:

2021.02.02

创作:

欧阳术

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1