机械原理课程设计 牛头刨床凸轮机构Word文件下载.docx
《机械原理课程设计 牛头刨床凸轮机构Word文件下载.docx》由会员分享,可在线阅读,更多相关《机械原理课程设计 牛头刨床凸轮机构Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
(7)编写计算说明书。
二、根据运动分析写出与运动方程式
1.设从动件起始角
2.1)
升程加速区,其运动方程为:
2)
属于升程减速区,其运动方程为:
3)
,属于远休止区,其运动方程为:
4)
属于回程加速区,其运动方程为:
5)
,属于回程减速区,其运动方程为:
6)
,于近休止区,其运动方程为
三、程序图
四、程序清单
#include<
math.h>
dos.h>
graphics.h>
conio.h>
stdio.h>
#definel135.0
#defineAa40
#definer_b55
#definerr6
#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=70,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);
}
Q_t/2&
=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);
Q_t&
=Q_t+Q_s)
Q_Q[0]=K*Q_max;
Q_Q[1]=0;
Q_Q[2]=0;
Q_t+Q_s&
=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);
Q_t+Q_s+Q_h/2&
=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);
Q_t+Q_s+Q_h&
=360)
Q_Q[0]=K*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)&
=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);
Q_t)&
=Q_t+Q_s))
y1=Q_max*10;
y2=0;
y3=0;
line((100+Q_t+Q_s),300,(100+Q_t+Q_s),300-y3);
Q_t+Q_s)&
=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);
line((100+Q_t+Q_s+Q_h/2),300,(100+Q_t+Q_s+Q_h/2),300-y3);
Q_t+Q_s+Q_h/2)&
=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);
line((100+Q_t+Q_s+Q_h),300-y3,(100+Q_t+Q_s+Q_h),300);
Q_t+Q_s+Q_h)&
=360))
y1=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();
for(;
t>
360;
)
t-=360;
if(flag==1)
for(L=l-r_b+70;
L<
l+r_b;
L+=2)
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();
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)"
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\tt"
Curvel();
\n\n\n\n\n\n\n\n\n\n"
for(i=0;
i<
=1440;
i=i+20)
delay(1000);
%d%f%f%f\n"
i/4,e[i],f[i],g[i]);
fprintf(f1,"
fclose(f1);
closegraph();
131-3600000000
五、总结
一周的课程设计时间马上就要结束了,这一周的时间给了我很多感受。
感谢老师给我的帮助。
在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。
主要是觉得自身的不足太多,学过的东西不能很好的做到学以至用,许多知识没能很好的复习以至忘却,为此还翻阅了很多资料也做了不少无用工,浪费了许多时间。
我们在设计中综合运用所学知识,学会了结合生产实践中的实际问题来解决机械工程问题,进行设计制造。
通过对分析法进行机构设计的练习,训练了自己从工程中提炼数学模型的能力,以及利用计算机程序急C语言解决数学问题的方法。
六.参考文献
<
机械原理>
孙桓,陈作模,高等教育出版社,1995.8
C程序设计>
谭浩强,清华大学出版社,1995.3