th34(m,:)=fsolve('aa',[1、1],options,th2(m),L2,L3,L4,L1); end
y=L2*sin(th2)+L3*sin(th34(:,1)'); x=L2*cos(th2)+L3*cos(th34(:,1)');
xx=[L2*cos(th2)]; yy=[L2*sin(th2)];
plot([x;xx],[y;yy],'k',[0 L1],[0 0],'k--^',x,y,'ko',xx,yy,'ks') title('连杆3的几个位臵点') xlabel('水平方向') ylabel('垂直方向') axis equal grid on
case '角位移线图'
plot(th2*180/pi,th34(:,1)*180/pi,th2*180/pi,th34(:,2)*180/pi)
axis([0 360 0 170]) grid on
xlabel('主动件转角\\theta_2(度)') ylabel('从动件角位移(度)') title('角位移线图')
text(120,120,'摇杆4角位移') text(150,40,'连杆3角位移') case '角速度线图'
plot(th2*180/pi,w3,th2*180/pi,w4); axis([0 360 -175 200])
text(50,160,'摇杆4角速度(\\omega_4)') text(220,130,'连杆3角速度(\\omega_3)') grid on
xlabel('主动件转角\\theta_2(度)')
ylabel('从动件角速度(rad\\cdot s^{-1})') title('角速度线图') case '角加速度线图'
plot(th2*180/pi,a3,th2*180/pi,a4); axis([0 360 -50000 65000])
text(50,50000,'摇杆4角加速度(\\alpha_4)') text(220,12000,'连杆3角加速度(\\alpha_3)') grid on
xlabel('主动件转角\\theta_2(度)')
ylabel('从动件角加速度(rad\\cdot s^{-2})') title('角加速度线图') end
guidata(hObject,handles)
%其中,guidata(hObject,handles)命令用于更新句柄,当输入不同参数是,程序能够做出相应的相应。
17
(3)打开M文件编辑器(M-file Edit),点击向下的三角图标,在Open菜单回调函
数下添加以下代码:
file = uigetfile('*.fig'); if ~isequal(file, 0) open(file); end
此菜单用以打开fig文件。其相应界面如图11所示:
图11 运行界面
(4)打开M文件编辑器(M-file Edit),点击向下的三角图标,在Print菜单
回调函数下添加以下代码:
printdlg(handles.figure1) %用于图形输出。
(5)打开M文件编辑器(M-file Edit),点击
向下的三角图标,在Close菜单
回调函数下添加以下代码:
selection = questdlg(['Close ' get(handles.figure1,'Name') '?'],... ['Close ' get(handles.figure1,'Name') '...'],'Yes','No','Yes');
if strcmp(selection, 'No') return; end
delete(handles.figure1)
此菜单用于关闭界面,其响应界面如图12所示:
图12
18
(6)完成M文件编写后,运行程序进行检验,单击图标或M文件工具栏的
图标,在编辑栏输入个构件参数,单击右侧下拉框,运行结果如以下图所示:
图13 连杆几个位置点
图14 角加速度线图
19
图15 角速度线图
图16 角位移图
20
5 结论
在本次基于MATLAB平面四杆机构机构的运动分析毕业论文设计中,不仅用到了MATLAB的m语言编程,还有GUI图形用户界面设计。对于课程的设计来说,m语言本身来说,功能相当强大,但是由于其复杂的编程方法,让大多数初学者望而却步;而GUI图形界面则正好弥补了它的不足,它采用的是所见即所得的编程方式,用它来做软件的界面就如图制作网页一样简单明了,用它制作出来的软件不需要太多的编程知识都可以轻松搞定;在此次毕业论文设计中,本人尽量扬长避短,把这些工具的优点结合到一起,发挥其最大的作用。本文的程序在 MATLAB 6 . 5版中调试通过。通过此次设计,不仅使我们对使我们对四杆机构有了进一步认识,并且使我们认识到计算机技术对工程应用的重要性。
本论文的主要成果有
(1)本系统可以自动演示不同的四杆机构的运动,模拟仿真运动轨迹与从动件的速度分析,有助于分析机构的速度、加速程度和机构的工作性能;
(2)采用 MATLAB语言开发机构仿真运动分析软件,开发界面容易,运行程序时无需编辑、连接,给使用者以极大的方便.只要输入数据,即可得到结果.将运行结果与设计要求相比较,从而引导设计者修改设计.
本次论文设计使我认识到了机械设计领域,尤其在解析法求解分析机构运动规律中,计算机编程对工作的巨大支持,提高了对计算机知识尤其是计算机编程的兴趣,培养了严谨务实的工作作风,以及对查阅资料、总结归纳能力的重要性的认识,对我以后的工作学习有了很大的帮助与启迪。
本次设计业凸显了一些自己在计算机编程方面的弱势,计算机运用能力有待提高,本系统达到了基本的运算分析功能,但是在人机更高水平的互动上尚有待提高和完善。
致谢
本论文的完成,得益于河南科技学院老师传授的知识,使本人有了完成论文需要的知识积累,更得益于指导老师从选题的确定、论文资料的收集、论文框架的确定到论文的完成所付出的心血,在此对老师表示感谢!在论文完成过程中,同学们也给了我无私的帮助,在此一并致谢!
通过本次毕业设计,培养了我正确的设计思想和思维方法,并使我查阅文献资料、阅读外文资料及的能力、计算机辅助绘图及设计和文字表达能力也得到了进一步的提高。值此毕业论文完成之际,特向不辞辛苦教导我的老师和在这次毕业设计中帮助我的同学们在此表示感谢
感谢答辩老师的审阅与批评指正!
21
参考文献
[1] 孙桓,陈作模.机械原理[M].7版.北京:高等教育出版社,2006 [2] MATLAB教程/罗建军主编.北京:电子工业出版社,2005.7 [3] MATLAB原理与工程应用[M].1版.北京:电子工业出版社,2002
[4] 平面四连杆机构的计算设计/梁崇高主编.北京:高等教育出版社,1993.8
[5] 连杆机构设计与应用创新/华大年,华志宏编著.北京:机械工业出版社,2008.1 [6] 线性代数/陈付贵,张万琴主编.北京:北京大学出版社,2006.1 [7] 符炜.机构设计学.[M].1版. 长沙:中南工业大学出版社,1995 [8] 现代连杆机构设计/熊滨生主编.北京:化学工业出版社,2005.12 [9] MATLAB宝典/陈杰编著.北京:电子工业出版社,2007.1
[10] MATLAB7.0从入门到精通/求是科技编著.北京:人民邮电出版社,2006.3
[11] 曹飞,徐征峰.用MATLAB求解机构运动系统[J].机械设计与制造,2001(6):37-38 [12] 杨春辉.基于MATLAB的平面连杆机构运动分析[J].重庆科技学院学报,2008(3):55-57 [13] 陈杰平,姚智华..基于MATLAB的曲柄滑块机构仿真研究[J].安徽技术师范学院学报,2005(4):31-34
[14] 王华杰.基于MATLAB的四杆机构运动分析与动画模拟[J].机械设计与制造,2005(5):139-140
[15] 王文娟.基于MATLAB优化工具箱的平面连杆机构的设计[J].轻工机械,2006(12):76-79 [16] 崔利杰,龚小平.基于MATLAB运动仿真的平面多连杆机构优化设计[J].机械设计与制造,2007(2):40-42
[17] 覃虹桥,魏承辉,罗佑新,等.基于MATLAB软件的铰链四杆机构运动分析仿真软件开发[J].常德师范学院学报,2002(2):47-49
[18] 徐梓斌.六杆机构运动学仿真的MATLAB实现[J].煤矿机械,2006(4):617-618
[19] 申文清,郝爱云,朱志辉,等基于MATLAB的装载机连杆机构优化设计[J].煤矿机械,2005(4):544-546
[20] 王静文,刘舜尧,莫江涛,等基于MATLAB实现平面四杆机构运动仿真[J].现代机械,2005{4}:50-52
[21] http://www.ilovematlab.cn [22] http://www.matlabforums.cn/
22