最新毕业设计在MATLAB环境下开发平面连杆机构运动分析系统.docx
《最新毕业设计在MATLAB环境下开发平面连杆机构运动分析系统.docx》由会员分享,可在线阅读,更多相关《最新毕业设计在MATLAB环境下开发平面连杆机构运动分析系统.docx(33页珍藏版)》请在冰点文库上搜索。
最新毕业设计在MATLAB环境下开发平面连杆机构运动分析系统
endfor
?
"此字符串中含有的字母数为:
",numa
A.APPENDB.MODIFYSTRUCTURE
D.循环体中的LOOP语句为跳出循环体
3.从键盘输入“1~9”十个数字中任一个,从屏幕上显示其汉字“壹~玖”,要求可多次输入,并且只有当输入为“0”时退出程序。
计算机2009-11-1223:
13阅读269评论0字号:
大大中中小小
endif
17.在查询设计器中,选择查询结果中出现字段及表达式应在______选项卡中完成,设置查询条件应在_______选项卡中完成,该选项卡相当于SQL-SELECT语句中的where子句。
12.SELECT-SQL语句是________。
19.在当前表中,查找第2个女同学的记录,应使用命令________。
河南科技学院
2009届本科毕业论文(设计)
论文题目:
在MATLAB环境下开发平面连杆机构运动分析系统
THEDEVELOPMENTOFSYSTEMFORANALYSISOFMOTIONINPLANEFOURBARMECHANISMBASEDONMATLABSOFTWARE
学生姓名:
樊新乾
所在院系:
机电学院
所学专业:
机械设计制造及其自动化
导师姓名:
杜家熙卞平艳
完成时间:
2009年05月20日
摘要
建立了铰链四杆机构运动分析的数学模型,以MATLAB程序设计语言为平台,将参数化设计与交互式相结合,设计了铰链四杆机构分析软件,该软件具有方便用户的良好界面,并给出界面设计程序,从而使机构分析更加方便、快捷、直观和形象.设计者只需输入参数就可得到分析结果,再将运行结果与设计要求相比较,对怎样修改设计做出决策.它为四杆机构设计提供了一种实用的软件与方法.
关键词:
平面四杆机构,MATLAB软件,运动分析,分析
THEDEVELOPMENTOFSYSTEMFORANALYSISOFMOTIONINPLANEFOURBARMECHANISMBASEDONMATLABSOFTWARE
Abstract
Amathematicalmodelofmotionanalysiswasestablishedinplanefour-linkage,andanalyticalsoftwarewasdeveloped.ThesoftwareadoptedMatlabasadesignlanguage.Itcombinedparametricdesignwithinteractivedesignandhadgoodinterfaceforuser.Thus,itwasfasterandmoreconvenienttoanalyselinkage.Theanalyticalresultwasobtainedassoonasinputparameterswasimportedandthedeviserscanmakedecision-makingofmodificationbythecomparinganalyticalresultwithdesigndemand.Itprovidesanappliedsoftwareandmethodforlinkage.
Keywords:
PlaneFourBarMechanism,MATLAB,AnalysisofMotion,Analyze
1绪论
连杆机构的应用十分广泛,它不仅在众多工农业机械和工程机械中得到广泛应用[1]。
铰链四杆机构是由转动副将各构件的头尾联接起的封闭四杆系统,并使其中一个构件固定而组成。
被固定件称为机架,与机架直接铰接的两个构件和称为连架杆,不直接与机架铰接的构件称为连杆。
连架杆如果能作整圈运动就称为曲柄,否则就称为摇杆,连杆机构的最基本形式是平面四杆机构,它是其它连杆机构的基础。
所以,对平面四杆机构进行研究可以概括连杆机构内在的基本原理,从而用以连杆机构的设计。
机构运动学综合是按照给定的运动特性对机构进行系统的设计的过程,包括型综合和尺度综合两大主要内容,主要综合方法有解析法、作图法和实验法。
作图法和实验法工作量大,设计精度低,仅适用于对机构精度要求不高的场合。
近几十年来,随着工业技术的高速发展,人们对机构的复杂程度和精度要求越来越高,作图法和实验法已不能满足要求,而基于计算机辅助设计(例如MATLAB软件)的解析法得到了广泛的应用。
此课题的主要内容是系统地对平面四杆机构连杆曲线进行研究,从而来获得连杆机构基本的原理和综合方法,以便在实际中得到应用;主要特色是在各个设计进度中将会大量应用计算机高级语言MATLAB[2]编程来辅助设计和仿真平面四杆机构。
铰链四杆机构的运动学分析是机构学中典型的机构运动分析之一,如果设计铰链四杆机构时能及时图示其运动轨迹和速度分析,从而将图示结果与设计要求相比较,可以及时修改设计中的偏差.目前,MALTAB已经不再是“矩阵实验室”,而成为国际上最流行的科学与工程计算的软件工具,以及一种具有广泛应用前景的全新的计算机高级编程语言,它在国内外高校和科研部门正扮演着越来越重要的角色,功能也越来越大,不断适应新的要求提出新的解决办法.可以预见,在科学运算与科学绘图领域,MATLAB语言将长期保持其独一无二的地位.然而,国内至今尚未见到采用MATLAB开发的有关机构学的软件,以MATLAB的科学运算与绘图的强大功能开发了铰链机构运动仿真软件.
机构的运动分析是机构设计中必不可少的工作,通常可使用图解法和解析法来进行,图解法因其作图、计算工作量大、精度差的缺点,在实际工程设计应用中有很大的局限性。
解析法的计算工作量很大,但随着计算机在工程设计领域的广泛应用,优化方法和计算机辅助设计的应用已成为研究连杆机构的重要方法,一些软件平台为解决复杂的工程计算提供了强有力的武器。
,并已相应地编制出大量的、适用范围广、计算机时少、使用方便的通用软件。
MATLAB是Mathworks公司于1982年推出的一套功能强大的工程计算软件,广泛应用于自动控制、机械设计、流体力学和数理统计等工程领域,被誉为巨人肩上的工具。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。
所谓图形用户界面[3],简称为GUI(GraphicUserInterface),是指包含了各种图形控制对象,如图形窗口、菜单、对话框以及文本等内容的用户界面。
利用这些用户界面,用户可以和计算机之间进行信息交流。
用户可以通过某种方式来选择或者激活这些图形对象,来运行一些特性的M文件。
最常见的激活方式是利用鼠标或者其它设备来点击这些对象。
对于一个用户来说,图形用户界面就是他所面对的应用程序,对图形界面的操作直接影响应用程序的应用前途。
对于以往专门用于科学计算的语言,如FORTRAN语言等,编写图形界面的功能较弱,因而用其开发的程序,其界面往往不够友好,用户使用起来很不方便。
而目前流行的可视化语言,对科学计算的功能又相对弱一些。
MATLAB提供了非常强大的编写图形用户界面的功能。
用户只和前台界面下的控件发生交互,而所有运算、绘图等内部操作都封装在内部,终端用户不需要区追究这些复杂过程的代码。
图形用户界面大大提高用户使用MATLAB程序的易用性。
因此,学习MATLAB图形用户界面编程,即GUI程序的创建,是MATLAB编程用户应该掌握的重要一环。
对于一个MATLAB的图形用户界面,它的设计过程可以分为两个部分:
(1)用户界面的外观设计。
在这里,主要是通过不同的对话框、按钮、文本框等许多工具的使用,设计出一个图形用户界面。
同时也应搞清楚这个图形界面的功能是什么,也即在图形界面上的操作会引发什么样的结果。
(2)图形界面的完成。
在这里,用户将根据在外观设计阶段所确定的图形界面的功能,针对各个不同的图形对象来编写出能够实现该功能的函数代码,确保这个图形界面能够完成所预定的功能。
工程人员通过使用MATLAB提供的工具箱,可以高效求解复杂的工程问题,并可以对系统进行动态仿真,用强大的图形功能对数值计算结果进行显示。
笔者在MATLAB环境下开发了一个平面四杆机构运动分析系统,只要在系统图形界面的文本编辑框中交互地输入四杆机构各构件的参数和原动件的角速度,就能迅速地输出当原动件转动1周时从动件的位移、速度、加速度的变化规律曲线,具有融计算与绘图为一体,操作简便、界面友好,计算速度快,准确性高的特点。
本文以曲柄摇杆机构为分析对象,借助MATLAB软件进行运动分析。
曲柄摇杆机构是平面四连杆机构中最基本的结构,它可以用来实现转动和摆动之间运动形式的转换或传递动力。
对曲柄摇杆机构进行运动分析的主要内容是:
在机构尺寸参数已知的情况下,假定曲柄做匀速转动,从运动几何关系上分析连杆和摇杆的角位移、角速度、角加速度等运动参数的变化情况。
并根据机构闭环矢量方程计算从动件的位移偏差。
本课题的主要内容是平面四杆机构的连杆曲线及轨迹综合分析系统的开发,其意义在于:
一、深入研究计算机在设计和仿真连杆机构曲线方面的应用,从而指导实践;
二、总结出四杆机构轨迹综合的理论基础,从而指导多杆或复杂的低副平面机构的综合。
三、综合运用MATLAB软件强大的计算功能与图形界面开发系统,设计出可以方便快捷实现机构分析的应用系统
2平面连杆机构的设计分析
2.1平面四连杆机构的运动分析[4]
在平面四杆机构中,其具有曲柄的条件为:
a.各杆的长度应满足杆长条件,即:
最短杆长度+最长杆长度≤其余两杆长度之和。
b.组成该周转副的两杆中必有一杆为最短杆,且其最短杆为连架杆或机架(当最短杆为连架杆时,四杆机构为曲柄摇杆机构;当最短杆为机架时,则为双曲柄机构)。
在如下图1所示的曲柄摇杆机构中,构件AB为曲柄,则B点应能通过曲柄与连杆两次共线的位置。
2.2机构的数学模型的建立[6]
2.2.1建立机构的闭环矢量位置方程
图1四杆机构简图[8]
在用矢量法建立机构的位置方程时,需将构件用矢量来表示,并作出机构的封闭矢量多边形。
如图1所示,先建立一直角坐标系。
设各构件的长度分别为
、
、
、
,其方位角为
、
、
、
。
以各杆矢量组成一个封闭矢
量多边形,即ABCDA。
其个矢量之和必等于零。
即:
式1
式1为图1所示四杆机构的封闭矢量位置方程式。
对于一个特定的四杆机构,其各构件的长度和原动件2的运动规律,即
为已知,而
=0,故由此矢量方程可求得未知方位角
、
。
角位移方程的分量形式为:
式2
闭环矢量方程分量形式对时间求解一阶导数,就能够得到角速度方程,如下所示:
式3
其矩阵形式为:
式4
联立式3两公式可求得:
式5
式6
闭环矢量方程分量形式对时间求解二阶导数,得到角加速度方程矩阵形式[11]为:
式7
由式7可求得加速度:
式8
式9
注:
式1--式9中,
(i=1,2,3,4)分别表示机架1、曲柄2、连杆3、摇杆4的长度;
(i=1,2,3,4)是各杆与x轴的正向夹角,逆时针为正,顺时针为负,单位为
;
是各杆的角速度,
,单位为
;
为各杆的角加速度,
,单位为
。
2.2.2求解方法
应用数学方法对以上各式进行求解,方法如下:
(1)求导中应用了下列公式:
式10
(2)在角位移方程分量形式(式2)中,由于假定机架为参考系,矢量1与x轴重合,
=0,则有非线性方程组:
式11
可以借助MATLAB自带的fsolve函数求出连杆3的角位移
和摇杆4的角位移
。
(3)求解具有n个未知量
(i=1,2,…,n)的线性方程组:
式12
上式可以表示为系列矩阵
,是一个
阶方阵,可表示如下,并运用逆矩阵知识:
式13
的逆矩阵为
;
常数项b是一个n维矢量:
式14
因此,线性方程组解的矢量为:
式15
式11是求解连杆3和摇杆4角速度和角加速度的依据。
以上各式既为求解平面连杆机构运动规律的数学模型。
3基于MATLAB程序设计[12]
程序设计是编程者实现算法,用编程语言表达数学模型的过程,或者说是现实问题求解的思维活动代码化的过程。
也就是解决如何组织MATLAB的结构.根据以上数学模型,选择优化算法,创建程序流程图,运用MATLAB语言,编写MATLAB程序,并在MATLAB6.5中调试运行,将这个实际问题转化为编程语言。
3.1程序流程
按照现代程序设计的观点,算法(Algorithm)是一系列解决问题的清晰指令.算法是一个程序的灵魂,一个准确无误的算法是程序设计成功的关键。
任何算法功能都能够通过三种基本结构:
顺序结构,选择结构,循环结构的组合来实现。
为了更加方便清楚准确的编写程序,我们首先把算法用流程图的方式来表示出来。
程序流程图是人们对解决问题的方法、思路或算法的一种描述。
采用简单规范的符号,画法简单,结构清晰,逻辑性强,便于描述,容易理解综合运用三种逻辑结构,并且仔细推算,以保证算法精确,节省空间和时间,以及达到高效率。
程序流程图如图2所示。
3.2M文件编写[16]
首先创建函数aa,函数fsolve通过他确定
。
functiont=aa(th1,th2,L2,L3,L4,L1)
t=[L2*cos(th2)+L3*cos(th
(1))-L4*cos(th
(2))-L1;L2*sin(th2)+L3*sin(th
(1))-L4*sin(th
(2))];
主程序如下:
disp'******平面四杆机构的运动分析******'
L1=input('输入机架长度L1=');
L2=input('输入曲柄长度(主动件)L2=');
L3=input('输入连杆长度L3=');
L4=input('输入输入从动杆长度L4=');
rs=[L1L2L3L4];
minimum=min(rs);
maximum=max(rs);
if(minimum+maximum)>(sum(rs)-minimum-maximum)
disp'此机构不满足杆长条件,程序终止',break;
end
ifL1<=L2&L1<=L3&L1<=L4
disp'此机构为双曲柄机构'
elseifL2<=L1&L2<=L3&L2<=L4
disp'此机构为曲柄摇杆机构'
elsedisp'此机构为双摇杆机构,本例不予考虑',break;
end
w2=input('输入主动件角速度w2=');
th2=[0:
1/6:
2]*pi;
th34=zeros(length(th2),2);
options=optimset('display','off');
form=1:
length(th2)
th34(m,:
)=fsolve('aa',[11],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)];
figure
(1)
plot([x;xx],[y;yy],'k',[0L1],[00],'k--^',x,y,'ko',xx,yy,'ks')
title('连杆3的几个位置点')
xlabel('水平方向')
ylabel('垂直方向')
axisequal
th2=[0:
2/72:
2]*pi;
form=1:
length(th2)
th34(m,:
)=fsolve('aa',[11],options,th2(m),L2,L3,L4,L1);
end
figure
(2)
plot(th2*180/pi,th34(:
1),th2*180/pi,th34(:
2))
plot(th2*180/pi,th34(:
1)*180/pi,th2*180/pi,th34(:
2)*180/pi)
grid
xlabel('主动件转角\theta_2(度)')
ylabel('从动件角位移(度)')
title('角位移线图')
w3=(L2*w2*sin(th34(:
2)-th2'))./(L3*sin(th34(:
1)-th34(:
2)));
w4=(L2*w2*sin(th2'-th34(:
1)))./(L4*sin(th34(:
2)-th34(:
1)));
figure(3)
plot(th2*180/pi,w3,th2*180/pi,w4);
grid
xlabel('主动件转角\theta_2(度)')
ylabel('从动件角速度(rad\cdots^{-1})')
title('角速度线图')
s32=th34(:
1)-th2';
s43=th34(:
2)-th34(:
1);
s24=th2'-th34(:
2);
a3=(L2*w2^2*cos(s24)+L3*w3.^2.*cos(s43)-L4*w4.^2)./(L4*sin(s43));
a4=(L2*w2^2*cos(s32)-L4*w4.^2.*cos(s43)+L3*w3.^2)./(L4*sin(s43));
figure(4)
plot(th2*180/pi,a3,th2*180/pi,a4);
grid
xlabel('从动件角加速度')
ylabel('从动件角加速度(rad\cdots^{-2})')
title('角加速度线图')
disp'曲柄转角连杆转角-从动杆4转角-连杆角速度-从动杆4角速度-连杆加速度-从动杆4加速度'
ydcs=[th2'*180/pi,th34(:
1)*180/pi,th34(:
2)*180/pi,w3,w4,a3,a4];
disp(ydcs)
ex=L2*cos(th2')+L3*cos(th34(:
1))-L4*cos(th34(:
2))-L1;
ey=L2*sin(th2')+L3*sin(th34(:
1))-L4*sin(th34(:
2));
ee=norm([exey]);
disp'曲柄转角X向偏差Y向偏差'
wc=[th2'*180/pi,ex,ey]
disp(wc)
fprintf(1,'偏差矢量矩阵的模ee=%3.4f\n',ee)
figure(5)
plot(th2*180/pi,ex,th2*180/pi,ey)
grid
title('均方根偏差曲线')
xlabel('主动件转角\theta_2(度)')
ylabel('均方根偏差')
3.3程序运行结果输出
******平面四杆机构的运动分析******
输入机架长度L1=90
输入曲柄长度(主动件)L2=30
输入连杆长度L3=60
输入输入从动杆长度L4=70
此机构为曲柄摇杆机构
输入主动件角速度w2=20
曲柄转角连杆转角-从动杆4转角-连杆角速度-从动杆4角速度-连杆加速度-从动杆4加速度
Columns1through6
071.3707125.6853-10.0000-10.0000-184.6761
5.000068.7629123.2500-10.8220-9.4453-137.6470
10.000065.9802120.9809-11.3983-8.6728-88.7805
15.000063.0843118.9297-11.7289-7.7076-41.6608
20.000060.1349117.1400-11.8305-6.58750.7471
25.000057.1857115.6451-11.7326-5.357136.4813
30.000054.2822114.4668-11.4719-4.062664.6726
35.000051.4601113.6156-11.0869-2.746785.3915
40.000048.7460113.0922-10.6140-1.445899.3671
45.000046.1578112.8890-10.0848-0.1885107.6877
50.000043.7061112.9925-9.52521.0046111.5547
55.000041.3961113.3848-8.95472.1200112.1168
60.000039.2285114.0454-8.38763.1497110.3787
65.000037.2012114.9523-7.83344.0906107.1673
70.000035.3102116.0832-7.29794.9422103.1339
75.000033.5504117.4161-6.78395.706698.7752
80.000031.9164118.9295-6.29226.386994.4624
85.000030.4026120.6028-5.82176.986690.4698
90.000029.0040122.4164-5.37027.509887.0018
95.000027.7161124.3516-4.93477.959984.2148
100.000026.5356126.3905-4.51148.340082.2350
105.000025.4598128.5160-4.09598.652781.1722
110.000024.4874130.7114-3.68338.899681.1294
115.000023.6183132.9604-3.26809.081582.2090
120.000022.8540135.2467-2.84429.198584.5143
125.000022.1975137.5541-2.40539.249488.1462
130.000021.6532139.8658-1.94449.232693.1925
135.000021.2277142.1645-1.45419.145299.7082
140.000020.9293144.4323-0.92688.9843107.6830
145.000020.7680146.6503-0.35548.7464116.9971
150.000020.7