基于matlab的连杆机构设计_第1页
基于matlab的连杆机构设计_第2页
基于matlab的连杆机构设计_第3页
基于matlab的连杆机构设计_第4页
基于matlab的连杆机构设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目    录 1  平面连杆机构的运动分析11.2 机构的工作原理11。3 机构的数学模型的建立11.3.1建立机构的闭环矢量位置方程。.。.。.。.。.。.。.。.。.。.。11.3。2求解方法.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。22  基于MATLAB程序设计42.1 程序流程图42.2  M文件编写62.3 程序运行结果输出73  基于MATLAB图形界面设计113。1界面设计113。2代码设计124  小结17参考文献 181 平面连杆机构的运动分析1.1

2、 机构运动分析的任务、目的和方法曲柄摇杆机构是平面连杆机构中最基本的由转动副组成的四杆机构,它可以用来实现转动和摆动之间运动形式的转换或传递动力.对四杆机构进行运动分析的意义是:在机构尺寸参数已知的情况下,假定主动件(曲柄)做匀速转动,撇开力的作用,仅从运动几何关系上分析从动件(连杆、摇杆)的角位移、角速度、角加速度等运动参数的变化情况。还可以根据机构闭环矢量方程计算从动件的位移偏差。上述这些内容,无论是设计新的机械,还是为了了解现有机械的运动性能,都是十分必要的,而且它还是研究机械运动性能和动力性能提供必要的依据。机构运动分析的方法很多,主要有图解法和解析法.当需要简捷直观地了解机构的某个或

3、某几个位置的运动特性时,采用图解法比较方便,而且精度也能满足实际问题的要求.而当需要精确地知道或要了解机构在整个运动循环过程中的运动特性时,采用解析法并借助计算机,不仅可获得很高的计算精度及一系列位置的分析结果,并能绘制机构相应的运动线图,同时还可以把机构分析和机构综合问题联系起来,以便于机构的优化设计。1.2 机构的工作原理    在平面四杆机构中,其具有曲柄的条件为:a。各杆的长度应满足杆长条件,即:最短杆长度+最长杆长度其余两杆长度之和.     b.组成该周转副的两杆中必有一杆为最短杆,且其最短杆为连架杆或机架(当最

4、短杆为连架杆时,四杆机构为曲柄摇杆机构;当最短杆为机架时,则为双曲柄机构)。在如下图1所示的曲柄摇杆机构中,构件AB为曲柄,则B点应能通过曲柄与连杆两次共线的位置。            1。3 机构的数学模型的建立1。3。1建立机构的闭环矢量位置方程    在用矢量法建立机构的位置方程时,需将构件用矢量来表示,并作出机构的封闭矢量多边形.如图1所示,先建立一直角坐标系。设各构件的长度分别为L1 、L2 、L3 、L4 ,其方位角为 、 、 、 。以各杆矢

5、量组成一个封闭矢量多边形,即ABCDA.其个矢量之和必等于零。即:                                            

6、60;              式1式1为图1所示四杆机构的封闭矢量位置方程式.对于一个特定的四杆机构,其各构件的长度和原动件2的运动规律,即 为已知,而 =0,故由此矢量方程可求得未知方位角 、 。角位移方程的分量形式为:                   

7、60;                  式2闭环矢量方程分量形式对时间求一阶导数(角速度方程)为:                              

8、     式3其矩阵形式为:                                式4联立式3两公式可求得:          &

9、#160;                              式5                    

10、60;                     式6闭环矢量方程分量形式对时间求二阶导数(角加速度方程)矩阵形式为:                       

11、0;  式7由式7可求得加速度:                               式8                 

12、;               式9注:式1式9中,Li(i=1,2,3,4)分别表示机架1、曲柄2、连杆3、摇杆4的长度; (i=1,2,3,4)是各杆与x轴的正向夹角,逆时针为正,顺时针为负,单位为 rad; 是各杆的角速度, ,单位为 rad/s; 为各杆的角加速度,单位为 。1。3.2求解方法(1)求导中应用了下列公式:           

13、0;                                   式10(2)在角位移方程分量形式(式2)中,由于假定机架为参考系,矢量1与x轴重合, =0,则有非线性超越方程组:      

14、                       式11可以借助牛顿辛普森数值解法或Matlab自带的fsolve函数求出连杆3的角位移和摇杆4的角位移.(3)求解具有n个未知量 (i=1,2,,n)的线性方程组:             &#

15、160;                                  式12式中,系列矩阵 是一个 阶方阵:              

16、;                                           式13的逆矩阵为 ;常数项b是一个n维矢量:     

17、;                                                  

18、;    式14因此,线性方程组解的矢量为:                                            

19、;         式15式11是求解连杆3和摇杆4角速度和角加速度的依据。  基于MATLAB程序设计MATLAB 是Mathworks 公司推出的交互式计算分析软件,具有强大的运算分析功能,具有集科学计算、程序设计和可视化于一体的高度集成化软件环境,是目前国际上公认的最优秀的计算分析软件之一,被广泛应用于自动控制、信号处理、机械设计、流体力学和数理统计等工程领域.通过运算分析,MATLAB 可以从众多的设计方案中寻找最佳途径,获取最优结果,大大提高了设计水平和质量.四连杆机构的解析法同样可以用MATL

20、AB 的计算工具来求值,并结合MATLAB 的可视化手段,把各点的计算值拟合成曲线,得到四连杆机构的运动仿真轨迹。 2。1 程序流程图                            2.2  M文件编写首先创建函数FoutBarPosition,函数fsolve通过他确定 。function t=fo

21、urbarposition(th,th2,L2,L3,L4,L1)t=L2cos(th2)+L3cos(th(1)L4*cos(th(2))-L1;L2sin(th2)+L3*sin(th(1)-L4sin(th(2);主程序如下:disp * 平面四杆机构的运动分析 * * * * L1=304。8;L2=101。6;L3=254。0;L4=177。8;                  给定已知量,各杆长L1,L2,L3,

22、L4th2=0:1/6:2*pi;                                     曲柄输入角度从0至360度,步长为pi/6th34=zeros(length(th2),2);    

23、                        %建立一个N行2列的零矩阵,第一列存放options=optimset(display,'off);                    _3

24、,第二列存放_3for m=1:length(th2)                                   建立for循环,求解_3,_4th34(m,:)=fsolve('fourbarposition',1 1,  

25、;         调用fsove函数求解关于_3,_4options,th2(m),L2,L3,L4,L1);                          的非线性超越方程,结果保存在th34中endy=L2*sin(th2)+L3*sin(th34(:,1)');

26、0;                    连杆3的D端点Y坐标值x=L2cos(th2)+L3cos(th34(:,1)');                     连杆3的D端点X坐标值xx=L2*cos(th2);

27、                                     %连杆3的C端点X坐标值            

28、0;  yy=L2*sin(th2);                                     %连杆3的C端点Y坐标值figure(1)plot(x;xx,y;yy,k,0 L1,0 0,  

29、              绘制连杆3的几个位置点'k',x,y,'ko',xx,yy,'ks')title('连杆3的几个位置点')xlabel(水平方向)ylabel('垂直方向')axis equal                &

30、#160;                           XY坐标均衡th2=0:2/72:2*pi;                   &#

31、160;                重新细分曲柄输入角度_2,步长为5度th34=zeros(length(th2),2);options=optimset(display','off');for m=1:length(th2)th34(m,:)=fsolve(fourbarposition',1 1,options,th2(m),L2,L3,L4,L1);endfigure(2)plot(th2180/pi,

32、th34(:,1),th2180/pi,th34(:,2))       绘制连杆3的角位移关于曲柄2的角位移图plot(th2180/pi,th34(:,1)180/pi,th2*180/pi,th34(:,2)*180/pi)                          绘制摇杆

33、4的角位移关于曲柄2的角位移图axis(0 360 0 170)                                   %确定XY边界值grid       

34、0;                                          %图形加网格xlabel(主动件转角theta_2(度)')ylabel('

35、从动件角位移(度)title('角位移线图)text(120,120,'摇杆4角位移)text(150,40,'连杆3角位移')w2=250;                                   

36、60;           %设定曲柄角速度for i=1:length(th2)A=-L3*sin(th34(i,1) L4sin(th34(i,2); L3cos(th34(i,1)) L4*cos(th34(i,2);B=w2L2sin(th2(i)); -w2*L2cos(th2(i);w=inv(A)B;w3(i)=w(1);w4(i)=w(2);endfigure(3)plot(th2180/pi,w3,th2180/pi,w4);    &#

37、160;                绘制角速度线图axis(0 360 175 200)                              

38、;                     text(50,160,摇杆4角速度(omega_4)')text(220,130,连杆3角速度(omega_3))gridxlabel(主动件转角theta_2(度)ylabel('从动件角速度(radcdot s-1)')title('角速度线图')for i=1:length(th2)C=L3*sin(th3

39、4(i,1) L4sin(th34(i,2));L3cos(th34(i,1) -L4cos(th34(i,2);D=w22*L2cos(th2(i))+w3(i)2L3cos(th34(i,1)w4(i)2*L4cos(th34(i,2);。. w22L2*sin(th2(i)+w3(i)2L3*sin(th34(i,1)w4(i)2L4sin(th34(i,2));a=inv(C)D;a3(i)=a(1);a4(i)=a(2);endfigure(4)plot(th2180/pi,a3,th2*180/pi,a4);      &

40、#160;              绘制角加速度线图axis(0 360 -70000 65000)text(50,50000,'摇杆4角加速度(alpha_4))text(220,12000,连杆3角加速度(alpha_3)')gridxlabel('从动件角加速度)ylabel(从动件角加速度(radcdot s2)title('角加速度线图)disp 曲柄转角连杆转角摇杆转角连杆角速度-摇杆角速度连杆加速度摇杆加速度'

41、     ydcs=th2180/pi,th34(:,1)180/pi,th34(:,2)*180/pi,w3',w4,a3,a4;disp(ydcs)  2。3 程序运行结果输出                  平面四杆机构的运动分析 * * * * *曲柄转角 连杆转角摇杆转角连杆角速度-摇杆角速度-连杆加速度摇杆加速度  1.0e+

42、004           0    0。0044    0.0097   0。0125   -0。0125   0。5478    4。8458    0。0005    0.0042    0。0094   0.0126  

43、0。0107    0.2300    5。5630    0。0010    0.0039    0.0092   0。0124   0.0086    0.8946    6.0520    0。0015    0。0037    0.0091 

44、  -0.0119   0。0065    1。4143    6。2982    0。0020    0.0034    0.0090   -0.0114   0。0043    1。7801    6.3174    0。0025    0.0032

45、60;   0.0089   0.0107   0。0021    2.0027    6。1467    0。0030    0.0030    0。0089   -0。0100    0。0000    2。1046    5。8339    0

46、.0035    0。0028    0。0089   0。0093    0.0020    2。1134    5。4272    0.0040    0。0026    0。0090   0。0085    0.0038    2。0566 &

47、#160;  4.9687    0。0045    0。0025    0.0091   -0。0078    0。0054    1。9578    4。4918    0。0050    0。0023    0。0092   -0。0072   

48、; 0.0069    1。8356    4。0198    0。0055    0.0022    0。0093   0。0065    0。0082    1.7040    3。5680    0。0060    0.0021    0。00

49、95   0。0060    0.0094    1。5725    3。1450    0。0065    0.0019    0.0097   0.0055    0。0104    1.4474    2。7545    0。0070 

50、0;  0。0018    0.0099   -0。0050    0.0113    1。3328    2。3968    0.0075    0。0017    0。0102   -0。0045    0。0121    1.2307    2

51、。0702    0。0080    0。0017    0.0104   0。0041    0.0128    1。1425    1。7716    0.0085    0。0016    0.0107   -0。0037    0.0134 

52、   1。0687    1.4971    0。0090    0.0015    0。0110   -0。0034    0。0138    1。0095    1。2426    0。0095    0。0014    0。0112  

53、; -0。0030    0.0142    0.9653    1。0035    0.0100    0.0014    0。0115   -0.0027    0.0145    0。9364    0。7752    0。0105    0。

54、0013    0.0118   0.0024    0.0148    0。9232    0。5530    0.0110    0。0013    0.0121   0。0020    0.0149    0.9269    0。3319 &#

55、160;  0.0115    0.0013    0。0124   0。0017    0。0150    0。9485    0。1069    0。0120    0。0012    0。0127   0.0014    0.0150    0

56、.9899   0.1276    0。0125    0.0012    0。0130   0。0010    0。0149    1.0530   0。3773    0.0130    0。0012    0。0133   0。0006   

57、0。0147    1.1404   -0。6481    0。0135    0.0012    0。0136   -0。0002    0.0145    1。2544   -0.9455    0。0140    0。0012    0。0139 

58、60;  0。0002    0。0141    1。3967   1。2743    0.0145    0。0012    0。0142    0。0008    0。0136    1。5677   1.6368    0。0150    0。

59、0012    0.0144    0。0013    0.0129    1.7648   2。0314    0.0155    0。0012    0.0147    0.0020    0。0121    1。9807   2。4495 &#

60、160;  0.0160    0。0013    0.0149    0.0027    0.0112    2。2018   2。8735    0。0165    0.0013    0。0151    0。0035    0。0101  &#

61、160; 2。4071   -3。2754    0。0170    0.0014    0。0153    0.0044    0.0089    2。5697   3。6186    0。0175    0.0015    0.0155    0。0053

62、    0。0076    2.6616   3。8650    0.0180    0。0016    0。0156    0。0063    0。0063    2。6609   -3.9849    0.0185    0。0018  

63、;  0。0157    0.0072    0。0049    2。5591   3.9674    0。0190    0。0019    0。0158    0.0080    0。0035    2。3638   3.8244    0.01

64、95    0。0021    0。0159    0.0088    0.0022    2。0959   3.5866    0。0200    0.0023    0。0159    0.0095    0。0010    1。7823

65、0;  3。2931    0.0205    0。0025    0。0159    0。0100   -0。0001    1。4487   -2。9815    0。0210    0。0027    0。0159    0.0105   0.0011&

66、#160;   1。1152   2.6809    0。0215    0.0029    0。0159    0.0108   -0.0020    0.7942   2.4103    0.0220    0。0031    0.0158   

67、 0.0111   -0。0028    0。4916   2。1794    0。0225    0。0033    0。0158    0.0112   0.0035    0.2086   1。9913    0。0230    0。0036  

68、0; 0。0157    0。0112   0.0042   0。0565   1.8450    0。0235    0。0038    0。0156    0.0111   0。0048   0.3071   1。7375    0。0240    0.0040&#

69、160;   0。0155    0。0110   0.0054   0。5475   1。6650    0.0245    0。0042    0。0154    0。0108   0.0060   -0.7817   -1.6233    0.0250  

70、;  0。0044    0.0153    0。0104   0.0065   -1。0139   1。6089    0。0255    0。0046    0。0151    0.0100   0。0071   -1。2479   1。6181    0

71、.0260    0。0048    0。0150    0。0096   0。0077   1。4868   -1。6480    0。0265    0。0050    0.0148    0。0090   -0。0082   1。7336   1。6955

72、0;   0。0270    0.0052    0。0146    0.0084   0.0088   -1。9905   1.7574    0。0275    0。0054    0。0145    0。0076   0。0095   2.2588 &#

73、160; -1。8304    0。0280    0.0055    0.0143    0.0068   0。0101   2。5391   1.9100    0.0285    0。0056    0。0141    0。0058   0。0108  

74、 -2。8305   1。9910    0.0290    0。0057    0。0138    0。0048   0。0115   3.1300   2.0660    0.0295    0。0058    0。0136    0.0037   0.0

75、122   -3.4326   -2。1255    0。0300    0.0059    0。0133    0。0024   -0。0130   3。7297   2。1572    0。0305    0.0059    0。0131    0.001

76、1   -0。0137   4。0091   -2。1451    0.0310    0.0059    0.0128   0。0004   -0.0145   -4。2538   2.0696    0。0315    0。0059    0.0125  

77、 0.0019   0。0152   4.4419   -1。9079    0。0320    0.0058    0。0122   -0.0035   0.0158   4。5473   1。6352    0.0325    0。0058    0。0119 &#

78、160; -0。0051   -0。0163   4。5411   -1。2273    0。0330    0.0056    0。0115   -0.0066   -0。0166   -4.3954   0。6661    0。0335    0.0055    0。0112

79、   0.0081   0.0167   4。0889    0。0551    0。0340    0。0053    0。0109   0.0095   -0。0166   -3。6129    0。9243    0.0345    0。0051 

80、60;  0。0105   0。0106   0。0161   2。9781    1。9058    0。0350    0.0049    0。0102   -0。0115   0。0152   2.2178    2。9395    0.0355   

81、0。0047    0。0099   0。0122   -0.0140   -1.3857    3。9473    0。0360    0。0044    0。0097   -0。0125   0。0125   -0。5478    4。8458  图形输出: 

82、60;                                            图2  连杆3的几个位置点     

83、                                              图3  角位移线图  

84、60;                                                  &#

85、160;      图4  角加速度线图                                         

86、0;         图5  角加速度线图3  基于MATLAB图形界面设计所谓图形用户界面, 简称为GU I (Graphic User Interface) , 是指包含了各种图形控制对象, 如图形窗口、菜单、对话框以及文本等内容的用户界面。利用这些用户界面, 用户可以和计算机之间进行信息交流。用户可以通过某种方式来选择或者激活这些图形对象, 来运行一些特性的M 文件。最常见的激活方式是利用鼠标或者其它设备来点击这些对象。对于一个用户来说, 图形用户界面就是他所面对的应用程序, 对图形界面的

87、操作直接影响应用程序的应用前途。对于以往专门用于科学计算的语言, 如FORTRAN 语言等, 编写图形界面的功能较弱, 因而用其开发的程序, 其界面往往不够友好, 用户使用起来很不方便。而目前流行的可视化语言, 对科学计算的功能又相对弱一些。MATLAB提供了非常强大的编写图形用户界面的功能。用户只和前台界面下的控件发生交互,而所有运算、绘图等内部操作都封装在内部,终端用户不需要区追究这些复杂过程的代码。图形用户界面大大提高用户使用MATLAB程序的易用性。因此,学习MATLAB图形用户界面编程,即GUI程序的创建,是MATLAB编程用户应该掌握的重要一环。对于一个MATLAB 中的图形用户界

88、面, 它的设计过程一般可以分为两个部分:用户界面的外观设计。在这里, 主要是通过不同的对话框、按钮、文本框等许多工具的使用, 设计出一个图形用户界面.同时也应搞清楚这个图形界面的功能是什么, 也即在图形界面上的操作会引发什么样的结果。图形界面的完成。在这里, 用户将根据在外观设计阶段所确定的图形界面的功能, 针对各个不同的图形对象来编写出能够实现该功能的函数代码, 确保这个图形界面能够完成所预定的功能。3。1 界面设计首先我们新建一个GUI文件,如下图所示:            &#

89、160;                                 图6  新建GUI文件选择Blank GUI(Default).进入GUI开发环境以后添加5个编辑文本框,8个静态文本框,和1个下拉菜单.利用菜单编辑器,创建Open、Print、Clo

90、se三个菜单。创建好GUI界面需要的各交互控件并调整好大概的位置后,设置这些控件的属性.最后的界面效果如下图示:                                          &#

91、160;  图7  界面效果3。2 代码设计(1)打开M文件编辑器(Mfile Edit),点击 向下的三角图标,可以看到各个对象的回调函数(Callback),某些对象的创建函数或打开函数等。通过选中相应项就可以跳动对应函数位置进行程序编辑。    选中edit_callback'选项,光标跳到' function edit1_Callback(hObject, eventdata, handles)'下面空白处,添加以下代码:user_entry=str2double(get(hObject,String));if

92、isnan(user_entry)    errordlg('请输入数值!,Bad Input')end该语句严格限制编辑框内必须输入数值,否则出现错误对话框(如下图所示)。同理在其他四个编辑框的回调函数下输入相同的代码。                           

93、0;               图8  错误对话框                                  

94、  (2)打开M文件编辑器(Mfile Edit),点击 向下的三角图标,设置下拉菜单返回函数,光标跳到' function popupmenu1_Callback(hObject, eventdata, handles)下面空白处.由于下拉菜单是本界面设计关键控件,与本设计相关的程序都放在这个返回函数下。添加代码如下:L1=str2double(get(handles.edit1,String));L2=str2double(get(handles。edit2,String));L3=str2double(get(handles。edit3,String);L4=

95、str2double(get(handles。edit4,String);w2=str2double(get(handles。edit5,'String'));th2=0:2/72:2pi;th34=zeros(length(th2),2);options=optimset(display,off);for m=1:length(th2)th34(m,:)=fsolve(fourbarposition',1 1,options,th2(m),L2,L3,L4,L1);endw2=250;for i=1:length(th2)A=-L3sin(th34(i,1)) L4s

96、in(th34(i,2)); L3*cos(th34(i,1)) L4*cos(th34(i,2);B=w2L2*sin(th2(i); w2L2*cos(th2(i));w=inv(A)*B; w3(i)=w(1);w4(i)=w(2);endfor i=1:length(th2)C=L3*sin(th34(i,1) L4sin(th34(i,2);L3*cos(th34(i,1)) L4cos(th34(i,2));D=w22*L2cos(th2(i)+w3(i)2L3cos(th34(i,1))w4(i)2*L4*cos(th34(i,2));。.   w2

97、2L2*sin(th2(i)+w3(i)2L3*sin(th34(i,1))-w4(i)2L4sin(th34(i,2));a=inv(C)*D;a3(i)=a(1);a4(i)=a(2);endval=get(hObject,Value');str=get(hObject,String);switch strvalcase 连杆3的几个位置点th2=0:1/6:2pi;     th34=zeros(length(th2),2);     options=optimset('display'

98、;,off');     for m=1:length(th2)          th34(m,:)=fsolve(fourbarposition',1 1,options,th2(m),L2,L3,L4,L1);     end     y=L2*sin(th2)+L3sin(th34(:,1));     x=L2cos(th

99、2)+L3cos(th34(:,1);     xx=L2*cos(th2);                                        &

100、#160;                                                 &

101、#160;                           yy=L2*sin(th2);     plot(x;xx,y;yy,k,0 L1,0 0,k-,x,y,ko,xx,yy,ks)     title('连杆3的几个位置点)  

102、   xlabel(水平方向)     ylabel(垂直方向)     axis equal     grid oncase 角位移线图     plot(th2180/pi,th34(:,1)180/pi,th2180/pi,th34(:,2)180/pi)     axis(0 360 0 170)     grid  on     xlabel('主动件转角theta_2(度)')     ylabel(从动件角位移(度))    

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论