插床机构导杆机构.docx
《插床机构导杆机构.docx》由会员分享,可在线阅读,更多相关《插床机构导杆机构.docx(10页珍藏版)》请在冰豆网上搜索。
插床机构导杆机构
插床机构导杆机构(
1.设计任务及要求-----------------------------------------------------------------------1
2.数学模型-------------------------------------------------------------------------------2
3.程序框图--------------------------------------------------------------------------------3
4.程序清单--------------------------------------------------------------------------------4
5.运行结果--------------------------------------------------------------------------------11
6.心得与体会-----------------------------------------------------------------------------12
7.参考文献--------------------------------------------------------------------------------13
一.设计任务及要求
已知:
程速比系数K=2,滑块5的冲程H=100mm,中心距
=150mm,比值
=1,各构件重心S的位置,曲柄每分钟转数
=60r/min。
要求:
1.设计导杆机构;
2.作机构两个位置的动画显示;
3.作滑块的运动线图(编程设计);
4.编写说明书;
二.数学模型
1.极位夹角
=60˚
2.杆长
杆1的长
=
杆2的长
=
杆34的长
3.运动分析
杆1的角速度
滑块2的速度
滑块2的加速度
杆3与y轴夹角
杆3的角速度
杆3的角加速度
杆4与y轴夹角
杆4的角速度
杆4的角加速度
滑块5的速度
滑块5的加速度
三.程序框图
输入a,d,e,f,g,ω1,输入N
作循环,for(I=0;I依次计算θ2,θ3,ω2,ω3,ε2,ε3
将计算的θ2,θ3,ω2,ω3,ε2,ε3结果分别存
入数组或文件中
按格式输出所有计算结果
初始化图形系统
绘制直角坐标系
直角坐标系下分别绘出角位移、角速度、角加速度图象
四、程序清单
#include
#include
#include
#include
#include
#definepi3.1415926
#defineN600
voidinit_graph(void);
voidinitview();
voiddraw();
voidcur();
doubleweit1[N],weit2[N],weit3[N];
doublesita1[N],sita2[N],sita3[N];
doubleomigar1[N],omigar2[N],omigar3[N];
doublea=50.0,d=160.0,e=130.0,f=115.0,g=115.0,w1=6.2831852;
main()
{
inti;
doublealf=0,detat=0,theta1=0;
doubleweit=0,w3=0,ekq3=0,b=0,va=0;
doubletheta2=0,w4=0,ekq4=0;
doubles=0,vc=0,ac=0;
doubleq=0,j=0,u=0;
detat=2*pi/(N*w1);
for(i=0;i{
alf=w1*detat*i;
weit=atan((a*sin(alf)-d)/(a*cos(alf)));
if(weit<0)
weit=weit+2*pi;
else
if(0weit=weit+pi;
theta1=weit-pi;
b=sqrt(a*a+d*d-2*a*d*sin(alf));
w3=a*w1*cos(alf-weit)/b;
va=-a*w1*sin(alf-weit);
ekq3=(-a*w1*w1*sin(alf-weit)-2*va*w3)/b;
theta2=asin((f*sin(theta1)-e)/g);
q=-2*f*cos(theta1);
j=f*f+e*e-g*g-2*f*e*sin(theta1);
u=q*q-4*j;
s=(-q+sqrt(u))/2;
w4=f*w3*cos(theta1)/(g*cos(theta2));
vc=f*w3*sin(theta1-theta2)/cos(theta2);
ekq4=f*(ekq3*cos(theta1)-w3*w3*sin(theta1)+w4*w4*sin(theta2))/(g*cos(theta2));
ac=g*ekq4*sin(theta2)+g*w4*w4*cos(theta2)-f*ekq3*sin(theta1)-f*w3*w3*cos(theta1);
weit1[i]=weit;
weit2[i]=w3;
weit3[i]=ekq3;
sita1[i]=s;
sita2[i]=vc;
sita3[i]=ac;
omigar1[i]=theta2;
omigar2[i]=w4;
omigar3[i]=ekq4;
}
for(i=0;i{
printf("i=%d\nweit1[i]=%lf\tweit2[i]=%lf\tweit3[i]=%lf\t",i,weit1[i],weit2[i],weit3[i]);
printf("\nstia1[i]=%lf\tstia2[i]=%lf\tstia3[i]=%lf\t",sita1[i],sita2[i],sita3[i]);
printf("\nomigar1[i]=%lf\tomigar2[i]=%lf\tomigar3[i]=%lf\n\n",omigar1[i],omigar2[i],omigar3[i]);
}
cur();
}
voidcur()
{
inti;
doublealf=0,detat=0,theta1=0;
doubleweit=0,w3=0,ekq3=0,b=0,va=0;
doubletheta2=0,w4=0,ekq4=0;
doubles=0,vc=0,ac=0;
doubleq=0,j=0,u=0;
doublea=50.0,d=160.0,e=130.0,f=115.0,g=115.0,w1=6.2831852;
intgd=DETECT,gmode,n;
initgraph(&gd,&gmode,"c:
\\turboc2");
clrscr();
for(i=0;i{
detat=2*pi/(N*w1);
alf=w1*detat*i;
weit=atan((a*sin(alf)-d)/(a*cos(alf)));
if(weit<0)
weit=weit+2*pi;
else
if(0weit=weit+pi;
theta1=weit-pi;
b=sqrt(a*a+d*d-2*a*d*sin(alf));
w3=a*w1*cos(alf-weit)/b;
va=-a*w1*sin(alf-weit);
ekq3=(-a*w1*w1*sin(alf-weit)-2*va*w3)/b;
theta2=asin((f*sin(theta1)-e)/g);
q=-2*f*cos(theta1);
j=f*f+e*e-g*g-2*f*e*sin(theta1);
u=q*q-4*j;
s=(-q+sqrt(u))/2;
w4=f*w3*cos(theta1)/(g*cos(theta2));
vc=f*w3*sin(theta1-theta2)/cos(theta2);
ekq4=f*(ekq3*cos(theta1)-w3*w3*sin(theta1)+w4*w4*sin(theta2))/(g*cos(theta2));
ac=g*ekq4*sin(theta2)+g*w4*w4*cos(theta2)-f*ekq3*sin(theta1)-f*w3*w3*cos(theta1);
line(100,200,500,200);
setcolor(5);
line(492,201,500,200);
line(492,199,500,200);
line(100,10,100,350);
setcolor(5);
line(99,18,100,10);
line(101,18,100,10);
putpixel(100+alf*180/pi,200-s/5,1);
putpixel(100+alf*180/pi,200-vc/100,2);
putpixel(100+alf*180/pi,200-ac/100,4);
}
setcolor(10);
settextjustify(CENTER_TEXT,0);
outtextxy(300,300,"RED___JIASUDU");
outtextxy(300,330,"GREEN___SUDU");
outtextxy(300,360,"BLUE___WEIYI");
/*outtextxy(300,50,"SUDUJIASUDUWEIYIGUANXIQUXIANTU");*/
outtextxy(300,50,"SUDUJIASUDUWEIYIGUANXIQUXIANTU");
getch();
closegraph();
}
五.运行结果
六.心得与体会
不知不觉中大二结束了,课程设计也接近了尾声,暑假也要来到了。
经过一周的奋斗我的课程设计终于圆满完成了。
在没有做课程设计以前觉得课程设计只是对这半年来所学知识的单纯总结,但是通过这次做课程设计发现自己的看法有点太片面。
课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。
通过这次课程设计,我深刻理解了学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。
在这次课程设计中,我深刻体会到了同学之间的默契有多么的重要,同学之间互相帮助,大家的共同努力,才能使我们的课程设计圆满结束,所以在这里非常感谢帮助我的同学。
总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。
最后终于做完了有种如释重负的感觉。
此外,还得出一个结论:
知识必须通过应用才能实现其价值!
有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。
在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
短暂的课程设计生活在不知不觉中悄然离去,给我们留下无尽的欢喜和忧愁,虽然这个设计做的也不太好,但是在设计过程中所学到的东西,所结识的同学,是这次课程设计的最大收获和财富,使我终身受益。
七.参考文献
1.《机械原理课程设计指导书》徐萃萍冷兴聚
2.《机械原理电算课程设计指导书》冷兴聚
3.《机械原理教程》孙恒李继庆西北工业大学出版社
4.《C程序设计》谭浩强,清华大学出版社
5.《C语言典型零件CAD》王占勇,东北大学出版社
6.《计算机图形学》罗笑南王若梅中山大学出版社