机械原理课程设计 连杆机构的设计及运动分析.docx
- 文档编号:6135641
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:12
- 大小:130.32KB
机械原理课程设计 连杆机构的设计及运动分析.docx
《机械原理课程设计 连杆机构的设计及运动分析.docx》由会员分享,可在线阅读,更多相关《机械原理课程设计 连杆机构的设计及运动分析.docx(12页珍藏版)》请在冰豆网上搜索。
机械原理课程设计连杆机构的设计及运动分析
目录
一设计任务---------------------------------------------------2
二设计过程---------------------------------------------------2
2.1设计思想-----------------------------2
2.2参数的定义---------------------------2
2.3数学模型-----------------------------3
2.4程序流程图---------------------------5
2.5源程序设计--------------------------------------------6
三设计结果----------------------------------------------------12
3.1连杆运动示意图----------------------12
3.2连杆参数的计算结果------------------13
3.3位移、角速度、加速度曲线绘制--------------14
四课程设计总结---------------------------------------15
五参考文献-----------------------------------------------15
六中期检查报告---------------------------------------17
一设计任务
任务:
连杆机构的设计及运动分析
已知:
中心距X1=50mm,X2=160mm,Y=280mm,构件3的上、下极限
=60、
=120,滑块的冲程H=160mm,比值CE/CD=1/2,EF/DE=1/4,各构件S重心的位置,曲柄每分钟转速N1=90r/min。
要求:
1)建立数学模型;
2)用C语言编写计算程序并运行;
3)绘制从动件运动规律线图,并进行连杆机构的动态显示;
4)用计算机打印出计算说明。
二设计过程
2.1设计思想
根据主动杆AB的转角变化和DE杆的极限位置的确定得出其它各杆件的运动规律。
确定初始角度通过循环模拟连杆的运动过程。
数学模型的建立运用矢量方程解析法。
2.2参数的定义
theta------转角
omga-----角速度epsl------角加速度
2.3数学模型
(1)
按复数式可以写成
由于
,上式可简化为
(2)
根据
(2)式中实部、虚部分别相等得
(3)
(4)
由(3)、(4)式联立消去
得
(5)
令:
则(5)式可简化为
(6)
解得之
(7)
同理,根据(3)、(4)式消去
可解得
(8)
其中:
2.4程序流程图
输入X1,X2,Y,
,
,H,n1
作循环,For(i=0;i 依次计算 计算的 结果分别存入数组或文件中 按格式输出所有计算结果 初始化图形系统 绘制直角坐标系 直角坐标系下分别绘出角位移、角速度、角加速度图象 绘制出机构动画 2.5序设计源程 #include #include #include #include #include #definePi3.1415926 #defineN100 voidinit_graph(void); voidinitview(); voiddraw(); floatsita1[N+1],sita2[N+1],sita3[N+1], omigar2[N+1],omigar3[N+1],epsl2[N+1],epsl3[N+1]; floatLab=50,Lbc=230,Lcd=105,Lad=284,omiga1=9.42,ipsl1=0; main() { inti; floatl1,l2,m1,m2,n1,n2; floattheta1,detat; floattheta2,theta3,omiga2,omiga3,ipsl2,ipsl3; detat=10*Pi/(N*omiga1); for(i=0;i { theta1=omiga1*detat*i; /*系数计算*/ l1=2*Lab*Lcd*cos(theta1)-2*Lcd*Lad; m1=2*Lab*Lcd*sin(theta1); n1=Lab*Lab+Lcd*Lcd+Lad*Lad-Lbc*Lbc-2*Lab*Lad*cos(theta1); l2=2*Lab*Lbc*cos(theta1)-2*Lbc*Lad; m2=2*Lab*Lbc*sin(theta1); n2=Lcd*Lcd-Lab*Lab-Lbc*Lbc-Lad*Lad+2*Lab*Lad*cos(theta1); /*printf"l1=%f\tm1=%f\tn1=%f\n",l1,m1,n1);*/ /*计算转角*/ theta2=asin(n2/sqrt(l2*l2+m2*m2))-asin(l2/sqrt(l2*l2+m2*m2)); theta3=asin(n1/sqrt(l1*l1+m1*m1))-asin(l1/sqrt(l1*l1+m1*m1)); /*printf("theta2: %f\t%f",n2/sqrt(l1*l1+m2*m2),l2/sqrt(l2*l2+m2*m2)); printf("theta3: %f\t%f",n1/sqrt(l1*l1+m1*m1),l1/sqrt(l1*l1+m1*m1));*/ /*计算角速度*/ omiga2=omiga1*Lab*sin(theta3-theta1)/(Lbc*sin(theta2-theta3)); omiga3=omiga1*Lab*sin(theta1-theta2)/(Lcd*sin(theta3-theta2)); /*计算角加速度*/ /*ipsl2*/ ipsl2=Lab*ipsl1*sin(theta1-theta3)+Lab*omiga1*omiga1*cos(theta1-theta3); ipsl2+=Lbc*omiga2*omiga2*cos(theta3-theta2)-Lcd*omiga3*omiga3; ipsl2=ipsl2/(Lbc*sin(theta3-theta2)); /*ipsl3*/ ipsl3=-Lab*ipsl1*sin(theta1-theta2)-Lab*omiga1*omiga1*cos(theta1-theta2); ipsl3-=Lbc*omiga2*omiga2+Lcd*omiga3*omiga3*cos(theta2-theta3); ipsl3=ipsl3/(Lcd*sin(theta2-theta3)); /*计算结果存入数据组中*/ sita1[i]=theta1; sita2[i]=theta2; sita3[i]=theta3; omigar2[i]=omiga2; omigar3[i]=omiga3; epsl2[i]=ipsl2; epsl3[i]=ipsl3; } /*输出运算结果*/ for(i=0;i<=N;i++) { printf("i=%d\n,sita1[i]=%f\t,sita2[i]=%f\t,sita3[i]=%f\t,omigar2[i]=%f\t,omigar3[i]=%f\t,epsl2[i]=%f\t,epsl3[i]=%f\n\n",i,sita1[i],sita2[i],sita3[i],omigar2[i],omigar3[i],epsl2[i],epsl3[i]); } init_graph();/*初始化图形系统*/ initview();/*建立坐标系*/ /*话构件2的角位移、角速度、角加速度*/ draw(sita2,150,50); setcolor(WHITE); setlinestyle(1,1,1); draw(omigar2,150,20); setcolor(RED); setlinestyle(2,1,1); draw(epsl2,150,1); setcolor(YELLOW); /*画构件3的角位移、角速度、角加速度*/ draw(sita3,300,20); setcolor(WHITE); setlinestyle(1,1,1); draw(omigar3,300,10); setcolor(RED); setlinestyle(2,1,1); draw(epsl3,300,-1); } voidinit_graph() { intgd=DETECT,gmode; initgraph(&gd,&gmode,"c: \\turboc2"); } voidinitview() { inti,j,px,py; cleardevice(); setfillstyle(SOLID_FILL,BLUE); bar(100,0,500,479); setcolor(YELLOW); for(i=0;i<=1;i++) { px=100; py=150+150*i; setcolor(YELLOW); line(px,py,px+300,py); line(px,py-100,px,py+100); line(px,py-100,px-3,py-100+5); line(px,py-100,px+3,py-100+5); line(px+300,py,px+300-5,py+3); line(px+300,py,px+300-5,py-3); setcolor(YELLOW); settextstyle(1,HORIZ_DIR,2); outtextxy(px+300,py,"t"); } } voiddraw(array,py,scale)/*array要作图的数组,py起始y位置,scale纵向放大倍数*/ floatarray[N+1]; intpy,scale; { inti; floatf,x,y; moveto(100,200); for(i=0;i<=N;i++) { x=100+300*i/N; y=py+array[i]*scale; lineto(x,y); } } _ 三设计结果 3.1连杆运动示意图 3.2连杆参数的计算结果 i=97 sita1[i]=30.473450,sita2[i]=0.284469,sita3[i]=1.569408,omigar2 [i]=-1.256991,omigar3[i]=-4.401760,epsl2[i]=-25.005093,epsl3[i]=24.149 408 i=98 sita1[i]=30.787609,sita2[i]=0.333648,sita3[i]=1.496754,omigar2 [i]=-1.896683,omigar3[i]=-4.008224,epsl2[i]=-17.495123,epsl3[i]=41.845 966 i=99 sita1[i]=31.101767,sita2[i]=0.397849,sita3[i]=1.479345,omigar2 [i]=-2.262758,omigar3[i]=-3.320374,epsl2[i]=-7.802946,epsl3[i]=54.819 057 i=100 sita1[i]=0.000000,sita2[i]=0.000000,sita3[i]=0.000000,omigar2 [i]=0.000000,omigar3[i]=0.000000,epsl2[i]=0.000000,epsl3[i]=0.0000 00 3.3位移、加速度、角速度曲线的绘制 四课程设计总结 通过这学期的课程设计,我不但对机械原理这门课有了更深的了解,还更加全面的接触和认识C语言。 在同学和老师的帮助下,我学会了用解析法绘制连杆的运动曲线,而且用C语言编程输出了其运动过程。 在这次课程设计,我以前所学的知识的到了充分的运用。 就我个人而言,通过这次课程设计对自己两年大学生活做出总结,同时为将来工作进行一次适应性训练,从中锻炼自己分析问题、解决问题的能力,为今后自己的研究生生活打下一个良好的基础。 这次课程设计的确显得有点心有余而力不足: 基本知识问题,由于一直放松自己,结果就落下了很大一截,自己很想好好的把他补充上来,但一直没补充上来,说起这事情自己心里不免有些惭愧! 从而就这样,自己面对课程设计困难重重,在一次又次的打击与挫折下,自己心里不免对自己有点不满起来,还好通过与同学间的交流,最后还是完成了. 总之,这几天的课程设计使我受益不浅,对我以后的实际工作奠定了基础,希望以后能有更多的机会参与类似的课程。 五参考文献 <机械原理>孙桓,陈作模,葛文杰,高等教育出版社,1959.6 等参考文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机械原理课程设计 连杆机构的设计及运动分析 机械 原理 课程设计 连杆机构 设计 运动 分析