牛头刨床凸轮机构的设计及运动分析课程设计.docx
《牛头刨床凸轮机构的设计及运动分析课程设计.docx》由会员分享,可在线阅读,更多相关《牛头刨床凸轮机构的设计及运动分析课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
牛头刨床凸轮机构的设计及运动分析课程设计
一、计任务及要求
二、数学模型的建立
三、程序框
四、程序中符号说明
五、程序清单及运行结果
六、课程设计总结
七、参考文献
凸轮机构的设计
一、基本条件与要求
已知:
从动件的最大摆角
许用压力角
,从动件的长度
,推程运动角
,远休止角
,回程运动角
从动件见运动规律为等加、等减速运动,凸轮与曲柄共轴。
要求:
1)计算从动件位移、速度、加速度并绘制线图,也可做动态显示。
2)确定凸轮机构的基本尺寸,选取滚子半径,画出凸轮实际轮廓线,并按比例绘出机构运动简图,以上内容作在2号图纸上。
3)编写说明书
二、根据运动分析写出与运动方程式
1.设从动件起始角
2.1)
升程加速区,其运动方程为:
2)
属于升程减速区,其运动方程为:
3)
,属于远休止区,其运动方程为:
4)
属于回程加速区,其运动方程为:
5)
,属于回程减速区,其运动方程为:
6)
,于近休止区,其运动方程为
三流程图
四、源程序
#include
#defineI130.0
#defineAa42
#definerb50
#definerr10
#defineK(3.1415926/180)
#definedt0.25
floatQmax,Q1,Q2,Q3;
floatQ_a;doubleL,pr;
floate[1500],f[1500],g[1500];
voidCal(floatQ,doubleQ_Q[3])
{
Qmax=15,Q1=75,Q2=10,Q3=65;
if(Q>=0&&Q<=Q1/2)
Q_Q[0]=K*(2*Qmax*Q*Q/(Q1*Q1));
Q_Q[1]=4*Qmax*Q/(Q1*Q1);
Q_Q[2]=4*Qmax/(Q1*Q1);}
if(Q>Q1/2&&Q<=Q1)
Q_Q[0]=K*(Qmax-2*Qmax*(Q-Q1)*(Q-Q1)/(Q1*Q1));
Q_Q[1]=4*Qmax*(Q1-Q)/(Q1*Q1);
Q_Q[2]=-4*Qmax/(Q1*Q1);
}
if(Q>=Q1&&Q<=Q1+Q2)
Q_Q[0]=K*Qmax;
Q_Q[1]=0;
Q_Q[2]=0;
if(Q>Q1+Q2&&Q<=Q1+Q2+Q3/2)
Q_Q[0]=K*(Qmax-2*Qmax*(Q-Q1-Q2)*(Q-Q1-Q2)/(Q3*Q3));
Q_Q[1]=-4*Qmax*(Q-Q1-Q2)/(Q3*Q3);
Q_Q[2]=-4*Qmax/(Q3*Q3);
if(Q>Q1+Q2+Q3/2&&Q{Q_Q[0]=K*(2*Qmax*(Q3-Q+Q1+Q2)*(Q3-Q+Q1+Q2)/(Q3*Q3));Q_Q[1]=-4*Qmax*(Q3-Q+Q1+Q2)/(Q3*Q3);Q_Q[2]=4*Qmax/(Q3*Q3);}if(Q>Q1+Q1+Q3&&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,x4,y3,y4,dx,dy;doubleQQ[3];circle(240,240,5);circle(240+L*sin(60*K),240-L*cos(60*K),5);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(60*K),240-L*cos(60*K));lineto(240+L*sin(60*K)+20*cos(240*K),240-L*cos(60*K)-20*sin(240*K));lineto(240+L*sin(60*K)+20*cos(60*K),240-L*cos(60*K)-20*sin(240*K));lineto(240+L*sin(60*K),240-L*cos(60*K));for(tt=0;tt<=720;tt=tt+2){Cal(tt,QQ);/*tulunlunkuoxian*/x1=L*cos(tt*K-30*K)-I*cos(Q_a+QQ[0]+tt*K-30*K);y1=I*sin(Q_a+QQ[0]+tt*K-30*K)-L*sin(tt*K-30*K);x2=x1*cos(Q_m*K)-y1*sin(Q_m*K);y2=x1*sin(Q_m*K)+y1*cos(Q_m*K);putpixel(x2+240,240-y2,2);dx=(QQ[1]+1)*I*sin(Q_a+QQ[0]+tt*K-30*K)-L*sin(tt*K-30*K);dy=(QQ[1]+1)*I*cos(Q_a+QQ[0]+tt*K-30*K)-L*cos(tt*K-30*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)-y3*sin(Q_m*K);y4=x3*sin(Q_m*K)+y3*cos(Q_m*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<=Q1/2){y1=(2*Qmax*pow(a,2)/pow(Q1,2))*10;y2=(4*Qmax*(dt*K)*a/pow(Q1,2))*pow(10,4.8);y3=(4*Qmax*pow((dt*K),2)/pow(Q1,2))*pow(10,8.5);putpixel(100+a,300-y2,2);putpixel(100+a,300-y3,4);line((100+Q1+Q2+Q3),300-y3,(100+Q1+Q2+Q3),300);line((100+Q1+Q2+Q3/2),300,(100+Q1+Q2+Q3/2),300-y3);}if((a>Q1+Q2+Q3)&&(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_I,y_I,flag=1;doubleQQ1[3],aa;initgraph(&gd,&gm,"");cleardevice();for(t=0;!kbhit();t++){for(;t<360;)t-=360;if(flag==1)for(L=I-rb+70;L{Q_a=acos((L*L+I*I-rb*rb)/(2.0*L*I));Cal(t,QQ1);aa=atan(1*(1-QQ1[1]-L*cos(Q_a-QQ1[0]))/(L*sin(Q_a+QQ1[0])));pr=(pow((L*L+I*I*(1+QQ1[1])*(1+QQ1[1])-2.0*L*I*(1+QQ1[1]*cos(Q_a+QQ1[0]))),3.0/2))/((1+QQ1[1])*(2+QQ1[1])*L*I*cos(Q_a+QQ1[0])+QQ1[2]*L*I*sin(Q_a+QQ1[0])-L*L-I*I*pow(1+QQ1[1],3));if(aa<=Aa&&pr>rr)flag=0;break;}if(flag==0)Cal(t,QQ1);Draw(t);cleardevice();x_I=240+L*sin(60*K)-I*cos(Q_a+QQ1[0]-30*K);y_I=240-L*cos(60*K)-I*sin(Q_a+QQ1[0]-30*K);circle(x_I,y_I,rr);line(240+L*sin(60*K),240-L*cos(60*K),x_I,y_I);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,"");printf("\n\n\n\n\n\Q(w,t)");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]);}getch();}closegraph();} 五、曲线图象及输出数据 六课程设计总结机械原理课程设计是对机器的主体结构进行分析或综合,是一个机械系统的设计必不可少的环节,是与实际的机械问题紧密相连的,使我们对机械原理课程的理解从抽象化到实际化的过度。通过一周的课程设计,让我对机械原理的知识内容得到巩固和加深。我们在设计中综合运用所学知识,学会了结合生产实践中的实际问题来解决机械工程问题,进行设计制造。通过对分析法进行机构设计的练习,训练了自己从工程中提炼数学模型的能力,以及利用计算机程序急C语言解决数学问题的方法。利用计算机知识进行比较全面的并且具有实际意义的课程设计。在课程设计过程中发现了自己还存在很多的不足,能力有限,多亏了老师的帮助,我能够顺利完成这项设计。在今后的学习生涯中,我会弥补自己的不足,多加实际操作,提高自己的水平。 七:参考文献1、《机械原理》孙桓、陈作模,高等教育出版社,1995.82、《机械原理课程设计指导书》徐萃萍冷兴聚3、《机械原理》电算课程设计指导书》冷兴聚4、《C语言设计》谭浩强清华大学出版社1995.35、《C语言典型零件CAD》王占勇东北大学出版社2000.96、《计算机图形学》罗笑南王若梅中山大学出版社1996
Q_Q[0]=K*(2*Qmax*(Q3-Q+Q1+Q2)*(Q3-Q+Q1+Q2)/(Q3*Q3));
Q_Q[1]=-4*Qmax*(Q3-Q+Q1+Q2)/(Q3*Q3);
Q_Q[2]=4*Qmax/(Q3*Q3);
if(Q>Q1+Q1+Q3&&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,x4,y3,y4,dx,dy;
doubleQQ[3];
circle(240,240,5);
circle(240+L*sin(60*K),240-L*cos(60*K),5);
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(60*K),240-L*
cos(60*K));
lineto(240+L*sin(60*K)+20*cos(240*K),240-L*cos(60*K)-20*sin(240*K));
lineto(240+L*sin(60*K)+20*cos(60*K),240-L*cos(60*K)-20*sin(240*K));
lineto(240+L*sin(60*K),240-L*cos(60*K));
for(tt=0;tt<=720;tt=tt+2){Cal(tt,QQ);/*tulunlunkuoxian*/
x1=L*cos(tt*K-30*K)-I*cos(Q_a+QQ[0]+tt*K-30*K);y1=I*sin(Q_a+QQ[0]+tt*K-
30*K)-L*sin(tt*K-30*K);
x2=x1*cos(Q_m*K)-y1*sin(Q_m*K);
y2=x1*sin(Q_m*K)+y1*cos(Q_m*K);
putpixel(x2+240,240-y2,2);
dx=(QQ[1]+1)*I*sin(Q_a+QQ[0]+tt*K-30*K)-L*sin(tt*K-30*K);
dy=(QQ[1]+1)*I*cos(Q_a+QQ[0]+tt*K-30*K)-L*cos(tt*K-30*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)-y3*sin(Q_m*K);
y4=x3*sin(Q_m*K)+y3*cos(Q_m*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<=Q1/2)
y1=(2*Qmax*pow(a,2)/pow(Q1,2))*10;
y2=(4*Qmax*(dt*K)*a/pow(Q1,2))*pow(10,4.8);
y3=(4*Qmax*pow((dt*K),2)/pow(Q1,2))*pow(10,8.5);
putpixel(100+a,300-y2,2);
putpixel(100+a,300-y3,4);
line((100+Q1+Q2+Q3),300-y3,(100+Q1+Q2+Q3),300);
line((100+Q1+Q2+Q3/2),300,(100+Q1+Q2+Q3/2),300-y3);
if((a>Q1+Q2+Q3)&&(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_I,y_I,flag=1;
doubleQQ1[3],aa;
initgraph(&gd,&gm,"");
cleardevice();
for(t=0;!
kbhit();t++)
for(;t<360;)
t-=360;
if(flag==1)
for(L=I-rb+70;L
Q_a=acos((L*L+I*I-rb*rb)/(2.0*L*I));
Cal(t,QQ1);
aa=atan(1*(1-QQ1[1]-L*cos(Q_a-QQ1[0]))/(L*sin(Q_a+QQ1[0])));
pr=(pow((L*L+I*I*(1+QQ1[1])*(1+QQ1[1])-2.0*L*I*(1+QQ1[1]*cos(Q_a+QQ1[0]))),3.0/2))
/((1+QQ1[1])*(2+QQ1[1])*L*I*cos(Q_a+QQ1[0])+QQ1[2]*L*I*sin(Q_a+QQ1[0])-L*L-I*I*pow(1+QQ1[1],3));
if(aa<=Aa&&pr>rr)
flag=0;
break;
if(flag==0)
Draw(t);
x_I=240+L*sin(60*K)-I*cos(Q_a+QQ1[0]-30*K);
y_I=240-L*cos(60*K)-I*sin(Q_a+QQ1[0]-30*K);
circle(x_I,y_I,rr);
line(240+L*sin(60*K),240-L*cos(60*K),x_I,y_I);
delay
(1);}
getch();
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,"");
printf("\n\n\n\n\n\Q(w,t)");printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\tt");
Curvel();
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]);
closegraph();
五、曲线图象及输出数据
六课程设计总结
机械原理课程设计是对机器的主体结构进行分析或综合,是一个机械系统的设计必不可少的环节,是与实际的机械问题紧密相连的,使我们对机械原理课程的理解从抽象化到实际化的过度。
通过一周的课程设计,让我对机械原理的知识内容得到巩固和加深。
我们在设计中综合运用所学知识,学会了结合生产实践中的实际问题来解决机械工程问题,进行设计制造。
通过对分析法进行机构设计的练习,训练了自己从工程中提炼数学模型的能力,以及利用计算机程序急C语言解决数学问题的方法。
利用计算机知识进行比较全面的并且具有实际意义的课程设计。
在课程设计过程中发现了自己还存在很多的不足,能力有限,多亏了老师的帮助,我能够顺利完成这项设计。
在今后的学习生涯中,我会弥补自己的不足,多加实际操作,提高自己的水平。
七:
参考文献
1、《机械原理》孙桓、陈作模,高等教育出版社,1995.8
2、《机械原理课程设计指导书》徐萃萍冷兴聚
3、《机械原理》电算课程设计指导书》冷兴聚
4、《C语言设计》谭浩强清华大学出版社1995.3
5、《C语言典型零件CAD》王占勇东北大学出版社2000.9
6、《计算机图形学》罗笑南王若梅中山大学出版社1996
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1