基于matlab的连杆机构设计
本作品内容为基于matlab的连杆机构设计,格式为 doc ,大小 603688 KB ,页数为 23页
("目录1平面连杆机构的运动分析…………………………………………………………………………11.2机构的工作原理……………………………………………………………………………………11.3机构的数学模型的建立……………………………………………………………………………11.3.1建立机构的闭环矢量位置方程...................................................11.3.2求解方法.....................................................................22基于MATLAB程序设计………………………………………………………………………………42.1程序流程图…………………………………………………………………………………………42.2M文件编写…………………………………………………………………………………………62.3程序运行结果输出…………………………………………………………………………………73基于MATLAB图形界面设计…………………………………………………………………………113.1界面设计……………………………………………………………………………………………113.2代码设计……………………………………………………………………………………………124小结…………………………………………………………………………………………………17参考文献………………………………………………………………………………………………181平面连杆机构的运动分析1.1机构运动分析的任务、目的和方法曲柄摇杆机构是平面连杆机构中最基本的由转动副组成的四杆机构,它可以用来实现转动和摆动之间运动形式的转换或传递动力。对四杆机构进行运动分析的意义是:在机构尺寸参数已知的情况下,假定主动件(曲柄)做匀速转动,撇开力的作用,仅从运动几何关系上分析从动件(连杆、摇杆)的角位移、角速度、角加速度等运动参数的变化情况。还可以根据机构闭环矢量方程计算从动件的位移偏差。上述这些内容,无论是设计新的机械,还是为了了解现有机械的运动性能,都是十分必要的,而且它还是研究机械运动性能和动力性能提供必要的依据。机构运动分析的方法很多,主要有图解法和解析法。当需要简捷直观地了解机构的某个或某几个位置的运动特性时,采用图解法比较方便,而且精度也能满足实际问题的要求。而当需要精确地知道或要了解机构在整个运动循环过程中的运动特性时,采用解析法并借助计算机,不仅可获得很高的计算精度及一系列位置的分析结果,并能绘制机构相应的运动线图,同时还可以把机构分析和机构综合问题联系起来,以便于机构的优化设计。1.2机构的工作原理在平面四杆机构中,其具有曲柄的条件为:a.各杆的长度应满足杆长条件,即:最短杆长度+最长杆长度≤其余两杆长度之和。b.组成该周转副的两杆中必有一杆为最短杆,且其最短杆为连架杆或机架(当最短杆为连架杆时,四杆机构为曲柄摇杆机构;当最短杆为机架时,则为双曲柄机构)。在如下图1所示的曲柄摇杆机构中,构件AB为曲柄,则B点应能通过曲柄与连杆两次共线的位置。1.3机构的数学模型的建立1.3.1建立机构的闭环矢量位置方程在用矢量法建立机构的位置方程时,需将构件用矢量来表示,并作出机构的封闭矢量多边形。如图1所示,先建立一直角坐标系。设各构件的长度分别为L1、L2、L3、L4,其方位角为、、、。以各杆矢量组成一个封闭矢量多边形,即ABCDA。其个矢量之和必等于零。即:式1式1为图1所示四杆机构的封闭矢量位置方程式。对于一个特定的四杆机构,其各构件的长度和原动件2的运动规律,即为已知,而=0,故由此矢量方程可求得未知方位角、。角位移方程的分量形式为:式2闭环矢量方程分量形式对时间求一阶导数(角速度方程)为:式3其矩阵形式为:式4联立式3两公式可求得:式5式6闭环矢量方程分量形式对时间求二阶导数(角加速度方程)矩阵形式为:式7由式7可求得加速度:式8式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)求导中应用了下列公式:式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角速度和角加速度的依据。基于MATLAB程序设计MATLAB是Mathworks公司推出的交互式计算分析软件,具有强大的运算分析功能,具有集科学计算、程序设计和可视化于一体的高度集成化软件环境,是目前国际上公认的最优秀的计算分析软件之一,被广泛应用于自动控制、信号处理、机械设计、流体力学和数理统计等工程领域。通过运算分析,MATLAB可以从众多的设计方案中寻找最佳途径,获取最优结果,大大提高了设计水平和质量。四连杆机构的解析法同样可以用MATLAB的计算工具来求值,并结合MATLAB的可视化手段,把各点的计算值拟合成曲线,得到四连杆机构的运动仿真轨迹。2.1程序流程图2.2M文件编写首先创建函数FoutBarPosition,函数fsolve通过他确定。functiont=fourbarposition(th,th2,L2,L3,L4,L1)t=[L2cos(th2)+L3cos(th(1))-L4cos(th(2))-L1;…L2sin(th2)+L3sin(th(1))-L4sin(th(2))];主程序如下:disp'平面四杆机构的运动分析'L1=304.8;L2=101.6;L3=254.0;L4=177.8;%给定已知量,各杆长L1,L2,L3,L4th2=[0:1/6:2]pi;%曲柄输入角度从0至360度,步长为pi/6th34=zeros(length(th2),2);%建立一个N行2列的零矩阵,第一列存放options=optimset('display','off');%θ_3,第二列存放θ_3form=1:length(th2)%建立for循环,求解θ_3,θ_4th34(m,:)=fsolve('fourbarposition',[11],…%调用fsove函数求解关于θ_3,θ_4options,th2(m),L2,L3,L4,L1);%的非线性超越方程,结果保存在th34中endy=L2sin(th2)+L3sin(th34(:,1)');%连杆3的D端点Y坐标值x=L2cos(th2)+L3cos(th34(:,1)');%连杆3的D端点X坐标值xx=[L2cos(th2)];%连杆3的C端点X坐标值yy=[L2sin(th2)];%连杆3的C端点Y坐标值figure(1)plot([x;xx],[y;yy],'k',[0L1],[00],…%绘制连杆3的几个位置点'k--^',x,y,'ko',xx,yy,'ks')title('连杆3的几个位置点')xlabel('水平方向')ylabel('垂直方向')axisequal%XY坐标均衡th2=[0:2/72:2]pi;%重新细分曲柄输入角度θ_2,步长为5度th34=zeros(length(th2),2);options=optimset('display','off');form=1:length(th2)th34(m,:)=fsolve('fourbarposition',[11],…options,th2(m),L2,L3,L4,L1);endfigure(2)plot(th2180/pi,th34(:,1),th2180/pi,th34(:,2))%绘制连杆3的角位移关于曲柄2的角位移图plot(th2180/pi,th34(:,1)180/pi,…th2180/pi,th34(:,2)180/pi)%绘制摇杆4的角位移关于曲柄2的角位移图axis([03600170])%确定XY边界值grid%图形加网格xlabel('主动件转角\\theta_2(度)')ylabel('从动件角位移(度)')title('角位移线图')text(120,120,'摇杆4角位移')text(150,40,'连杆3角位移')w2=250;%设定曲柄角速度fori=1:length(th2)A=[-L3sin(th34(i,1))L4sin(th34(i,2));…L3cos(th34(i,1))-L4cos(th34(i,2))];B=[w2L2sin(th2(i));-w2L2cos(th2(i))];w=inv(A)B;w3(i)=w(1);w4(i)=w(2);endfigure(3)plot(th2180/pi,w3,th2180/pi,w4);%绘制角速度线图axis([0360-175200])text(50,160,'摇杆4角速度(\\omega_4)')text(220,130,'连杆3角速度(\\omega_3)')gridxlabel('主动件转角\\theta_2(度)')ylabel('从动件角速度(rad\\cdots^{-1})')title('角速度线图')fori=1:length(th2)C=[-L3sin(th34(i,1))L4sin(th34(i,2));…L3cos(th34(i,1))-L4cos(th34(i,2))];D=[w2^2L2cos(th2(i))+w3(i)^2L3cos(th34(i,1))-w4(i)^2L4cos(th34(i,2));...w2^2L2sin(th2(i))+w3(i)^2L3sin(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,th2180/pi,a4);%绘制角加速度线图axis([0360-7000065000])text(50,50000,'摇杆4角加速度(\\alpha_4)')text(220,12000,'连杆3角加速度(\\alpha_3)')gridxlabel('从动件角加速度')ylabel('从动件角加速度(rad\\cdots^{-2})')title('角加速度线图')disp'曲柄转角连杆转角-摇杆转角-连杆角速度-摇杆角速度-连杆加速度-摇杆加速度'ydcs=[th2'180/pi,th34(:,1)180/pi,th34(:,2)180/pi,w3',w4',a3',a4'];disp(ydcs)2.3程序运行结果输出>>平面四杆机构的运动分析曲柄转角连杆转角-摇杆转角-连杆角速度-摇杆角速度-连杆加速度-摇杆加速度1.0e+00400.00440.0097-0.0125-0.0125-0.54784.84580.00050.00420.0094-0.0126-0.01070.23005.56300.00100.00390.0092-0.0124-0.00860.89466.05200.00150.00370.0091-0.0119-0.00651.41436.29820.00200.00340.0090-0.0114-0.00431.78016.31740.00250.00320.0089-0.0107-0.00212.00276.14670.00300.00300.0089-0.01000.00002.10465.83390.00350.00280.0089-0.00930.00202.11345.42720.00400.00260.0090-0.00850.00382.05664.96870.00450.00250.0091-0.00780.00541.95784.49180.00500.00230.0092-0.00720.00691.83564.01980.00550.00220.0093-0.00650.00821.70403.56800.00600.00210.0095-0.00600.00941.57253.14500.00650.00190.0097-0.00550.01041.44742.75450.00700.00180.0099-0.00500.01131.33282.39680.00750.00170.0102-0.00450.01211.23072.07020.00800.00170.0104-0.00410.01281.14251.77160.00850.00160.0107-0.00370.01341.06871.49710.00900.00150.0110-0.00340.01381.00951.24260.00950.00140.0112-0.00300.01420.96531.00350.01000.00140.0115-0.00270.01450.93640.77520.01050.00130.0118-0.00240.01480.92320.55300.01100.00130.0121-0.00200.01490.92690.33190.01150.00130.0124-0.00170.01500.94850.10690.01200.00120.0127-0.00140.01500.9899-0.12760.01250.00120.0130-0.00100.01491.0530-0.37730.01300.00120.0133-0.00060.01471.1404-0.64810.01350.00120.0136-0.00020.01451.2544-0.94550.01400.00120.01390.00020.01411.3967-1.27430.01450.00120.01420.00080.01361.5677-1.63680.01500.00120.01440.00130.01291.7648-2.03140.01550.00120.01470.00200.01211.9807-2.44950.01600.00130.01490.00270.01122.2018-2.87350.01650.00130.01510.00350.01012.4071-3.27540.01700.00140.01530.00440.00892.5697-3.61860.01750.00150.01550.00530.00762.6616-3.86500.01800.00160.01560.00630.00632.6609-3.98490.01850.00180.01570.00720.00492.5591-3.96740.01900.00190.01580.00800.00352.3638-3.82440.01950.00210.01590.00880.00222.0959-3.58660.02000.00230.01590.00950.00101.7823-3.29310.02050.00250.01590.0100-0.00011.4487-2.98150.02100.00270.01590.0105-0.00111.1152-2.68090.02150.00290.01590.0108-0.00200.7942-2.41030.02200.00310.01580.0111-0.00280.4916-2.17940.02250.00330.01580.0112-0.00350.2086-1.99130.02300.00360.01570.0112-0.0042-0.0565-1.84500.02350.00380.01560.0111-0.0048-0.3071-1.73750.02400.00400.01550.0110-0.0054-0.5475-1.66500.02450.00420.01540.0108-0.0060-0.7817-1.62330.02500.00440.01530.0104-0.0065-1.0139-1.60890.02550.00460.01510.0100-0.0071-1.2479-1.61810.02600.00480.01500.0096-0.0077-1.4868-1.64800.02650.00500.01480.0090-0.0082-1.7336-1.69550.02700.00520.01460.0084-0.0088-1.9905-1.75740.02750.00540.01450.0076-0.0095-2.2588-1.83040.02800.00550.01430.0068-0.0101-2.5391-1.91000.02850.00560.01410.0058-0.0108-2.8305-1.99100.02900.00570.01380.0048-0.0115-3.1300-2.06600.02950.00580.01360.0037-0.0122-3.4326-2.12550.03000.00590.01330.0024-0.0130-3.7297-2.15720.03050.00590.01310.0011-0.0137-4.0091-2.14510.03100.00590.0128-0.0004-0.0145-4.2538-2.06960.03150.00590.0125-0.0019-0.0152-4.4419-1.90790.03200.00580.0122-0.0035-0.0158-4.5473-1.63520.03250.00580.0119-0.0051-0.0163-4.5411-1.22730.03300.00560.0115-0.0066-0.0166-4.3954-0.66610.03350.00550.0112-0.0081-0.0167-4.08890.05510.03400.00530.0109-0.0095-0.0166-3.61290.92430.03450.00510.0105-0.0106-0.0161-2.97811.90580.03500.00490.0102-0.0115-0.0152-2.21782.93950.03550.00470.0099-0.0122-0.0140-1.38573.94730.03600.00440.0097-0.0125-0.0125-0.54784.8458图形输出:图2连杆3的几个位置点图3角位移线图图4角加速度线图图5角加速度线图3基于MATLAB图形界面设计所谓图形用户界面,简称为GUI(GraphicUserInterface),是指包含了各种图形控制对象,如图形窗口、菜单、对话框以及文本等内容的用户界面。利用这些用户界面,用户可以和计算机之间进行信息交流。用户可以通过某种方式来选择或者激活这些图形对象,来运行一些特性的M文件。最常见的激活方式是利用鼠标或者其它设备来点击这些对象。对于一个用户来说,图形用户界面就是他所面对的应用程序,对图形界面的操作直接影响应用程序的应用前途。对于以往专门用于科学计算的语言,如FORTRAN语言等,编写图形界面的功能较弱,因而用其开发的程序,其界面往往不够友好,用户使用起来很不方便。而目前流行的可视化语言,对科学计算的功能又相对弱一些。MATLAB提供了非常强大的编写图形用户界面的功能。用户只和前台界面下的控件发生交互,而所有运算、绘图等内部操作都封装在内部,终端用户不需要区追究这些复杂过程的代码。图形用户界面大大提高用户使用MATLAB程序的易用性。因此,学习MATLAB图形用户界面编程,即GUI程序的创建,是MATLAB编程用户应该掌握的重要一环。对于一个MATLAB中的图形用户界面,它的设计过程一般可以分为两个部分:①用户界面的外观设计。在这里,主要是通过不同的对话框、按钮、文本框等许多工具的使用,设计出一个图形用户界面。同时也应搞清楚这个图形界面的功能是什么,也即在图形界面上的操作会引发什么样的结果。②图形界面的完成。在这里,用户将根据在外观设计阶段所确定的图形界面的功能,针对各个不同的图形对象来编写出能够实现该功能的函数代码,确保这个图形界面能够完成所预定的功能。3.1界面设计首先我们新建一个GUI文件,如下图所示:图6新建GUI文件选择BlankGUI(Default)。进入GUI开发环境以后添加5个编辑文本框,8个静态文本框,和1个下拉菜单。利用菜单编辑器,创建Open、Print、Close三个菜单。创建好GUI界面需要的各交互控件并调整好大概的位置后,设置这些控件的属性。最后的界面效果如下图示:图7界面效果3.2代码设计(1)打开M文件编辑器(M-fileEdit),点击向下的三角图标,可以看到各个对象的回调函数(Callback),某些对象的创建函数或打开函数等。通过选中相应项就可以跳动对应函数位置进行程序编辑。选中’edit_callback’选项,光标跳到’functionedit1_Callback(hObject,eventdata,handles)’下面空白处,添加以下代码:user_entry=str2double(get(hObject,'String'));ifisnan(user_entry)errordlg('请输入数值!','BadInput')end该语句严格限制编辑框内必须输入数值,否则出现错误对话框(如下图所示)。同理在其他四个编辑框的回调函数下输入相同的代码。图8错误对话框(2)打开M文件编辑器(M-fileEdit),点击向下的三角图标,设置下拉菜单返回函数,光标跳到’functionpopupmenu1_Callback(hObject,eventdata,handles)’下面空白处。由于下拉菜单是本界面设计关键控件,与本设计相关的程序都放在这个返回函数下。添加代码如下:L1=str2double(get(handles.edit1,'String'));L2=str2double(get(handles.edit2,'String'));L3=str2double(get(handles.edit3,'String'));L4=str2double(get(handles.edit4,'String'));w2=str2double(get(handles.edit5,'String'));th2=[0:2/72:2]pi;th34=zeros(length(th2),2);options=optimset('display','off');form=1:length(th2)th34(m,:)=fsolve('fourbarposition',[11],options,th2(m),L2,L3,L4,L1);endw2=250;fori=1:length(th2)A=[-L3sin(th34(i,1))L4sin(th34(i,2));L3cos(th34(i,1))-L4cos(th34(i,2))];B=[w2L2sin(th2(i));-w2L2cos(th2(i))];w=inv(A)B;w3(i)=w(1);w4(i)=w(2);endfori=1:length(th2)C=[-L3sin(th34(i,1))L4sin(th34(i,2));L3cos(th34(i,1))-L4cos(th34(i,2))];D=[w2^2L2cos(th2(i))+w3(i)^2L3cos(th34(i,1))-w4(i)^2L4cos(th34(i,2));...w2^2L2sin(th2(i))+w3(i)^2L3sin(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');switchstr{val}case'连杆3的几个位置点'th2=[0:1/6:2]pi;th34=zeros(length(th2),2);options=optimset('display','off');form=1:length(th2)th34(m,:)=fsolve('fourbarposition',[11],options,th2(m),L2,L3,L4,L1);endy=L2sin(th2)+L3sin(th34(:,1)');x=L2cos(th2)+L3cos(th34(:,1)');xx=[L2cos(th2)];yy=[L2sin(th2)];plot([x;xx],[y;yy],'k',[0L1],[00],'k--^',x,y,'ko',xx,yy,'ks')title('连杆3的几个位置点')xlabel('水平方向')ylabel('垂直方向')axisequalgridoncase'角位移线图'plot(th2180/pi,th34(:,1)180/pi,th2180/pi,th34(:,2)180/pi)axis([03600170])gridonxlabel('主动件转角\\theta_2(度)')ylabel('从动件角位移(度)')title('角位移线图')text(120,120,'摇杆4角位移')text(150,40,'连杆3角位移')case'角速度线图'plot(th2180/pi,w3,th2180/pi,w4);axis([0360-175200])text(50,160,'摇杆4角速度(\\omega_4)')text(220,130,'连杆3角速度(\\omega_3)')gridonxlabel('主动件转角\\theta_2(度)')ylabel('从动件角速度(rad\\cdots^{-1})')title('角速度线图')case'角加速度线图'plot(th2180/pi,a3,th2180/pi,a4);axis([0360-5000065000])text(50,50000,'摇杆4角加速度(\\alpha_4)')text(220,12000,'连杆3角加速度(\\alpha_3)')gridonxlabel('主动件转角\\theta_2(度)')ylabel('从动件角加速度(rad\\cdots^{-2})')title('角加速度线图')endguidata(hObject,handles)%其中,guidata(hObject,handles)命令用于更新句柄,当输入不同参数是,程序能够做出相应的相应。(3)打开M文件编辑器(M-fileEdit),点击向下的三角图标,在Open菜单回调函数下添加以下代码:file=uigetfile('.fig');if~isequal(file,0)open(file);end此菜单用以打开fig文件。其相应界面如图9所示:图9(4)打开M文件编辑器(M-fileEdit),点击向下的三角图标,在Print菜单回调函数下添加以下代码:printdlg(handles.figure1)%用于图形输出。(5)打开M文件编辑器(M-fileEdit),点击向下的三角图标,在Close菜单回调函数下添加以下代码:selection=questdlg(['Close'get(handles.figure1,'Name')'?'],...['Close'get(handles.figure1,'Name')'...'],'Yes','No','Yes');ifstrcmp(selection,'No')return;enddelete(handles.figure1)此菜单用于关闭界面,其响应界面如图10所示:图10(6)完成M文件编写后,运行程序进行检验,单击图标或M文件工具栏的图标,在编辑栏输入个构件参数,运行结果如图11:图11界面运行效果图分别点击下拉菜单下各选项,则在绘图区域分别显示图2~图5。4小结在本次基于MATLAB平面四杆机构机构的运动分析课程设计中,不仅用到了MATLAB的m语言编程,还有GUI图形用户界面设计。对于课程的设计来说,m语言本身来说,功能相当强大,但是由于其复杂的编程方法,让大多数初学者望而却步;而GUI图形界面则正好弥补了它的不足,它采用的是所见即所得的编程方式,用它来做软件的界面就如图制作网页一样简单明了,用它制作出来的软件不需要太多的编程知识都可以轻松搞定;在此次课程设计中,本人尽量扬长避短,把这些工具的优点结合到一起,发挥其最大的作用。通过此次课程设计不仅使我们对使我们对四杆机构有了进一步认识,并且使我们认识到计算机技术对工程应用的重要性。本此设计凝结了团队合作的结晶,是我们利用三周的时间努力学习、设计的成果,同时,在设计过成中得到了郑XX老师的悉心指导,在此表示衷心的感谢!参考文献[1]孙桓,陈作模.机械原理[M].7版.北京:高等教育出版社,2006.[2]符炜.机构设计学.[M].1版.长沙:中南工业大学出版社,1995.[3]MATLAB原理与工程应用[M].1版.北京:电子工业出版社,2002.[4]http://www.51zxw.net/study.asp?vip=18653[5]http://www.ilovematlab.cn[6]http://www.englishto.com/proHtml/pro-t2-p137-dzd.html?dk=80288644",)
提供基于matlab的连杆机构设计会员下载,编号:1700830380,格式为 docx,文件大小为23页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。