基于MATLAB的曲柄滑块机构运动的仿真
- 格式:doc
- 大小:320.50 KB
- 文档页数:7
Crank Rocker Mechanism on Matlab Simulink 作者: 潘周光;冯士活
作者机构: 浙江工贸职业技术学院,浙江温州325003
出版物刊名: 浙江工贸职业技术学院学报
页码: 78-82页
主题词: Matlab/Simulink;曲柄摇块机构;仿真模型
摘要:用Matlab来进行机构运动、动力学仿真分析,有利于精确、简便、高效地实现机械传动设计。
文章应用Matlab对一种曲柄摇块机构的无级变速器进行运动学和动力学分析,推导了无级变速嚣各构件加速度关系的闭环矢量方程和所受力与力矩的齐次线性方程组,建立了机构的运动和动力仿真模型。
经Matlab/Simulink求解和动态仿真,结果表明:基于Matlab的机械传动设计。
能有效的获得机构的运动和动力特性,缩短开发周期。
一曲柄滑块机构运动学仿真1、设计任务描述通过分析求解曲柄滑块机构动力学方程,编写matlab程序并建立Simulink 模型,由已知的连杆长度和曲柄输入角速度或角加速度求解滑块位移与时间的关系,滑块速度和时间的关系,连杆转角和时间的关系以及滑块位移和滑块速度与加速度之间的关系,从而实现运动学仿真目的。
2、系统结构简图与矢量模型下图所示是只有一个自由度的曲柄滑块机构,连杆r2与r3长度已知。
图2-1 曲柄滑块机构简图设每一连杆(包括固定杆件)均由一位移矢量表示,下图给出了该机构各个杆件之间的矢量关系图2-2 曲柄滑块机构的矢量环3.匀角速度输入时系统仿真3.1 系统动力学方程系统为匀角速度输入的时候,其输入为ω2=θ2,输出为ω3=θ3,θ3;v 1=r 1,r 1。
(1) 曲柄滑块机构闭环位移矢量方程为:R 2+R 3=R 1(2) 曲柄滑块机构的位置方程{r 2cos θ2+r 3cos θ3=r 1r 2sin θ2+r 3sin θ3=0(3) 曲柄滑块机构的运动学方程通过对位置方程进行求导,可得{−r 2ω2sin θ2−r 3ω3sin θ3=r 1r 2ω2cos θ2+r 3ω3cos θ3=0由于系统的输出是ω3与v 1,为了便于建立A*x=B 形式的矩阵,使x=[ω3v 1],将运动学方程两边进行整理,得到{v 1+r 3ω3sin θ3=−r 2ω2sin θ2−r 3ω3cos θ3=r 2ω2cos θ2将上述方程的v1与w3提取出来,即可建立运动学方程的矩阵形式(r 3sin θ31−r 3cos θ30)(ω3v 1)=(−r 2ω2sin θ2r 2ω2cos θ2) 3.2 M 函数编写与Simulink 仿真模型建立3.2.1 滑块速度与时间的变化情况以及滑块位移与时间的变化情况仿真的基本思路:已知输入w2与θ2,由运动学方程求出w3和v1,再通过积分,即可求出θ3与r1。
基于MATLAB曲柄滑块机构运动仿真1.题目描述题目:对如图1所示的曲柄滑块机构的运动过程进行仿真,并用动画的方式显示曲柄滑块机构的运动过程,位移曲线、速度曲线和加速度曲线。
图中,AB长R2,BC长R3mm,A点为坐标原点。
图1 曲柄滑块机构示意图2.实现方法利用GUI界面设计来对曲柄滑块机构的运动过程进行仿真,并用动画的方式显示曲柄滑块机构的运动过程。
3.界面设计1. Gui 设计1)新建GUI:菜单-新建-gui,并保存为test52)界面设计:拖拽左侧图标到绘图区,创建GUI界面拖拽左侧图标值绘图区设置如下的按钮最终的仿真界面如图所示3)代码添加:进入代码界面4.代码编程%模型求解a1=str2double(get(handles.edit1,'String'));a2=str2double(get(handles.edit2,'String'));a3=str2double(get(handles.edit3,'String'));a4=str2double(get(handles.edit4,'String'));a5=str2double(get(handles.edit5,'String'));a=a1*((1-cos(a4*a5))+0.25*(a1/a2)*(1-cos(2*a4*a5))); set(handles.edit6,'String',a);a0=(a4*a1)*(sin(a4*a5)+0.5*(a1/a2)*sin(2*a4*a5));set(handles.edit7,'String',a0);a6=(a4*a4*a1)*(cos(a4*a5)+(a1/a2)*cos(a4*a5));set(handles.edit8,'String',a6);%绘制位移、速度、加速度曲线axes(handles.axes3);r1=str2double(get(handles.edit1,'String'));r2=str2double(get(handles.edit2,'String'));omiga1=str2double(get(handles.edit4,'String'));x11=1:720;for i=1:720x1(i)=i*pi/180;%sin(x2(i)=r1/r2*sin(x1(i));x2(i)=asin(-r1/r2*sin(x1(i)));x22(i)=x2(i)*180/pi;r3(i)=r1*cos(x1(i))+r2*cos(x2(i));B=[-r1*omiga1*sin(x1(i));r1*omiga1*cos(x1(i))];A=[r2*sin(x2(i)) 1;-r2*cos(x2(i)) 0];X=inv(A)*B;omiga2(i)=X(1,1);v3(i)=X(2,1);endplot(x11/60,0.5*r1*sin(x1));xlabel('ʱ¼äÖá t/sec')ylabel('Á¬¸ËÖÊÐÄÔÚYÖáÉϵÄλÖÃ/mm')figure(2)plot(x11/60,r3);title('Î»ÒÆÏßͼ')grid onhold off;xlabel('ʱ¼ät/sec')ylabel('»¬¿éÎ»ÒÆ r3/mm')figure(3)plot(x11/60,omiga2);title('Á¬¸Ë½ÇËÙ¶È')grid onhold off;xlabel('ʱ¼ä t/sec')ylabel('Á¬¸Ë½ÇËÙ¶È omiga2/rad/sec') figure(4)plot(x11/60,v3*pi/180);title('»¬¿éËÙ¶È')grid onhold off;xlabel('ʱ¼ä t/sec')ylabel('»¬¿éËÙ¶È v3/mm/sec')%绘制表格axes(handles.axes3);grid onaxes(handles.axes1);grid on%制作动画axes(handles.axes1);hf=figure('name','Çú±ú»¬¿é»ú¹¹'); set(hf,'color','r');hold onaxis([-6,6,-4,4]);grid onaxis('off');xa0=-5;%»îÈû×ó¶¥µã×ø±êxa1=-2.5;%»îÈûÓÒ¶¥µã×ø±êxb0=-2.5;%Á¬¸Ë×ó¶¥µã×ø±êxb1=2.2;%Á¬¸ËÓÒ¶¥µã×ø±êx3=3.5;%תÂÖ×ø±êy3=0;%תÂÖ×ø±êx4=xb1;%ÉèÖÃÁ¬¸ËÍ·µÄ³õʼλÖúá×ø±êy4=0;%ÉèÖÃÁ¬¸ËÍ·µÄ³õʼλÖÃ×Ý×ø±êx5=xa1;y5=0;x6=x3;%ÉèÖÃÁ¬Öá³õʼºá×ø±êy6=0;%ÉèÖÃÁ¬Öá³õʼ×Ý×ø±êa=0.7;b=0.7c=0.7a1=line([xa0;xa1],[0;0],'color','b','linestyle','-','linewidth',40); %ÉèÖûîÈûa3=line(x3,y3,'color',[0.5 0.60.3],'linestyle','.','markersize',300);%ÉèÖÃתÂÖa2=line([xb0;xb1],[0;0],'color','black','linewidth',10);%ÉèÖÃÁ¬¸Ëa5=line(x5,y5,'color','black','linestyle','.','markersize',40);%ÉèÖÃÁ¬¸Ë»îÈûÁ¬½ÓÍ·a4=line(x4,y4,'color','black','linestyle','.','markersize',50);%ÉèÖÃÁ¬¸ËÁ¬½ÓÍ·a6=line([xb1;x3],[0;0],'color','black','linestyle','-','linewidth',10 );a7=line(x3,0,'color','black','linestyle','.','markersize',50);%ÉèÖÃÔ˶¯ÖÐÐÄa8=line([-5.1;-0.2],[0.7;0.7],'color','y','linestyle','-','linewidth' ,5);%ÉèÖÃÆû¸×±Úa9=line([-5.1;-0.2],[-0.72;-0.72],'color','y','linestyle','-','linewi dth',5);%ÉèÖÃÆû¸×±Úa10=line([-5.1;-5.1],[-0.8;0.75],'color','y','linestyle','-','linewid th',5);%ÉèÖÃÆû¸×±Úa11=fill([-5,-5,-5,-5],[0.61,0.61,-0.61,-0.61],[a,b,c]);%ÉèÖÃÆû¸×ÆøÌålen1=4.8;%Á¬¸Ë³¤len2=2.5;%»îÈû³¤r=1.3;%Ô˶¯°ë¾¶dt=0.015*pi;t=0;while 1t=t+dt;if t>2*pit=0;endlena1=sqrt((len1)^2-(r*sin(t))^2);%Á¬¸ËÔÚÔ˶¯¹ý³ÌÖкáÖáÉϵÄÓÐЧ³¤¶Èrr1=r*cos(t);%°ë¾¶ÔÚÔ˶¯¹ý³ÌÖкáÖáÉϵÄÓÐЧ³¤¶Èxaa1=x3-sqrt(len1^2-(sin(t)*r)^2)-(r*cos(t));%»îÈûÔÚÔ˶¯¹ý³ÌÖеÄÓÒ¶¥µã×ø±êλÖÃxaa0=xaa1-2.5;%%»îÈûÔÚÔ˶¯¹ý³ÌÖеÄ×ó¶¥µã×ø±êλÖÃx55=x3-cos(t)*r;%Á¬¸ËÔÚÔ˶¯¹ý³ÌÖкá×ø±êλÖÃy55=y3-sin(t)*r;%Á¬¸ËÔÚÔ˶¯¹ý³ÌÖÐ×Ý×ø±êλÖÃset(a4,'xdata',x55,'ydata',y55);%ÉèÖÃÁ¬¸Ë¶¥µãÔ˶¯set(a1,'xdata',[xaa1-2.5;xaa1],'ydata',[0;0]);%ÉèÖûîÈûÔ˶¯set(a2,'xdata',[xaa1;x55],'ydata',[0;y55]);set(a5,'xdata',xaa1);%ÉèÖûîÈûÓëÁ¬¸ËÁ¬½ÓÍ·µÄÔ˶¯set(a6,'xdata',[x55;x3],'ydata',[y55;0]);set(a11,'xdata',[-5,xaa0,xaa0,-5]);%ÉèÖÃÆøÌåµÄÌî³äset(gcf,'doublebuffer','on');%Ïû³ýÕð¶¯drawnow;end5.结果(1)对它的结构参数进行设置,如下图所示。
************************计算机仿真技术matlab报告************************曲柄滑块机构目录一、基于GUI的曲柄滑块机构运动仿真二、基于simulink的曲柄滑块机构运动仿真曲柄滑块机构1.题目描述题目:对如图1所示的曲柄滑块机构的运动过程进行仿真,并用动画的方式显示曲柄滑块机构的运动过程,位移曲线、速度曲线和加速度曲线。
图中,AB长R2,BC长R3mm,A点为坐标原点。
图1 曲柄滑块机构示意图2.实现方法利用GUI界面设计来对曲柄滑块机构的运动过程进行仿真,并用动画的方式显示曲柄滑块机构的运动过程。
3.界面设计1. Gui 设计1)新建GUI:菜单-新建-gui,并保存为test52)界面设计:拖拽左侧图标到绘图区,创建GUI界面拖拽左侧图标值绘图区设置如下的按钮最终的仿真界面如图所示3)代码添加:进入代码界面4.代码编程%模型求解a1=str2double(get(handles.edit1,'String'));a2=str2double(get(handles.edit2,'String'));a3=str2double(get(handles.edit3,'String'));a4=str2double(get(handles.edit4,'String'));a5=str2double(get(handles.edit5,'String'));a=a1*((1-cos(a4*a5))+0.25*(a1/a2)*(1-cos(2*a4*a5))); set(handles.edit6,'String',a);a0=(a4*a1)*(sin(a4*a5)+0.5*(a1/a2)*sin(2*a4*a5));set(handles.edit7,'String',a0);a6=(a4*a4*a1)*(cos(a4*a5)+(a1/a2)*cos(a4*a5));set(handles.edit8,'String',a6);%绘制位移、速度、加速度曲线axes(handles.axes3);r1=str2double(get(handles.edit1,'String'));r2=str2double(get(handles.edit2,'String'));omiga1=str2double(get(handles.edit4,'String'));x11=1:720;for i=1:720x1(i)=i*pi/180;%sin(x2(i)=r1/r2*sin(x1(i));x2(i)=asin(-r1/r2*sin(x1(i)));x22(i)=x2(i)*180/pi;r3(i)=r1*cos(x1(i))+r2*cos(x2(i));B=[-r1*omiga1*sin(x1(i));r1*omiga1*cos(x1(i))]; A=[r2*sin(x2(i)) 1;-r2*cos(x2(i)) 0];X=inv(A)*B;omiga2(i)=X(1,1);v3(i)=X(2,1);endplot(x11/60,0.5*r1*sin(x1));xlabel('ʱ¼äÖá t/sec')ylabel('Á¬¸ËÖÊÐÄÔÚYÖáÉϵÄλÖÃ/mm') figure(2)plot(x11/60,r3);title('Î»ÒÆÏßͼ')grid onhold off;xlabel('ʱ¼ät/sec')ylabel('»¬¿éÎ»ÒÆ r3/mm')figure(3)plot(x11/60,omiga2);title('Á¬¸Ë½ÇËÙ¶È')grid onhold off;xlabel('ʱ¼ä t/sec')ylabel('Á¬¸Ë½ÇËÙ¶È omiga2/rad/sec') figure(4)plot(x11/60,v3*pi/180);title('»¬¿éËÙ¶È')grid onhold off;xlabel('ʱ¼ä t/sec')ylabel('»¬¿éËÙ¶È v3/mm/sec')%绘制表格axes(handles.axes3);grid onaxes(handles.axes1);grid on%制作动画axes(handles.axes1);hf=figure('name','Çú±ú»¬¿é»ú¹¹');set(hf,'color','r');hold onaxis([-6,6,-4,4]);grid onaxis('off');xa0=-5;%»îÈû×ó¶¥µã×ø±êxa1=-2.5;%»îÈûÓÒ¶¥µã×ø±êxb0=-2.5;%Á¬¸Ë×ó¶¥µã×ø±êxb1=2.2;%Á¬¸ËÓÒ¶¥µã×ø±êx3=3.5;%תÂÖ×ø±êy3=0;%תÂÖ×ø±êx4=xb1;%ÉèÖÃÁ¬¸ËÍ·µÄ³õʼλÖúá×ø±êy4=0;%ÉèÖÃÁ¬¸ËÍ·µÄ³õʼλÖÃ×Ý×ø±êx5=xa1;y5=0;x6=x3;%ÉèÖÃÁ¬Öá³õʼºá×ø±êy6=0;%ÉèÖÃÁ¬Öá³õʼ×Ý×ø±êa=0.7;b=0.7c=0.7a1=line([xa0;xa1],[0;0],'color','b','linestyle','-','linewidth',40); %ÉèÖûîÈûa3=line(x3,y3,'color',[0.5 0.6 0.3],'linestyle','.','markersize',300);%ÉèÖÃתÂÖa2=line([xb0;xb1],[0;0],'color','black','linewidth',10);%ÉèÖÃÁ¬¸Ëa5=line(x5,y5,'color','black','linestyle','.','markersize',40);%ÉèÖÃÁ¬¸Ë»îÈûÁ¬½ÓÍ·a4=line(x4,y4,'color','black','linestyle','.','markersize',50);%ÉèÖÃÁ¬¸ËÁ¬½ÓÍ·a6=line([xb1;x3],[0;0],'color','black','linestyle','-','linewidth',10);a7=line(x3,0,'color','black','linestyle','.','markersize',50);%ÉèÖÃÔ˶¯ÖÐÐÄa8=line([-5.1;-0.2],[0.7;0.7],'color','y','linestyle','-','linewidth',5);%ÉèÖÃÆû¸×±Úa9=line([-5.1;-0.2],[-0.72;-0.72],'color','y','linestyle','-','linewidth',5);%ÉèÖÃÆû¸×±Úa10=line([-5.1;-5.1],[-0.8;0.75],'color','y','linestyle','-','linewidth',5);%ÉèÖÃÆû¸×±Úa11=fill([-5,-5,-5,-5],[0.61,0.61,-0.61,-0.61],[a,b,c]);%ÉèÖÃÆû¸×ÆøÌålen1=4.8;%Á¬¸Ë³¤len2=2.5;%»îÈû³¤r=1.3;%Ô˶¯°ë¾¶dt=0.015*pi;t=0;while 1t=t+dt;if t>2*pit=0;endlena1=sqrt((len1)^2-(r*sin(t))^2);%Á¬¸ËÔÚÔ˶¯¹ý³ÌÖкáÖáÉϵÄÓÐЧ³¤¶Èrr1=r*cos(t);%°ë¾¶ÔÚÔ˶¯¹ý³ÌÖкáÖáÉϵÄÓÐЧ³¤¶È xaa1=x3-sqrt(len1^2-(sin(t)*r)^2)-(r*cos(t));%»îÈûÔÚÔ˶¯¹ý³ÌÖеÄÓÒ¶¥µã×ø±êλÖÃxaa0=xaa1-2.5;%%»îÈûÔÚÔ˶¯¹ý³ÌÖеÄ×ó¶¥µã×ø±êλÖà x55=x3-cos(t)*r;%Á¬¸ËÔÚÔ˶¯¹ý³ÌÖкá×ø±êλÖÃy55=y3-sin(t)*r;%Á¬¸ËÔÚÔ˶¯¹ý³ÌÖÐ×Ý×ø±êλÖÃset(a4,'xdata',x55,'ydata',y55);%ÉèÖÃÁ¬¸Ë¶¥µãÔ˶¯set(a1,'xdata',[xaa1-2.5;xaa1],'ydata',[0;0]);%ÉèÖûîÈûÔ˶¯set(a2,'xdata',[xaa1;x55],'ydata',[0;y55]);set(a5,'xdata',xaa1);%ÉèÖûîÈûÓëÁ¬¸ËÁ¬½ÓÍ·µÄÔ˶¯set(a6,'xdata',[x55;x3],'ydata',[y55;0]);set(a11,'xdata',[-5,xaa0,xaa0,-5]);%ÉèÖÃÆøÌåµÄÌî³äset(gcf,'doublebuffer','on');%Ïû³ýÕð¶¯drawnow;end5.结果(1)对它的结构参数进行设置,如下图所示点击计算按钮动画,结果如下图所示点击表格对图形进行画表格处理点击绘图,即可得到位移、速度、加速度曲线,如下图所示二、基于simulink 的曲柄滑块机构运动仿真(1)运用矢量求解法求解(2)绘制速度接线图,如下图所示:运动仿真结果如下图:(3)绘制加速度接线图,如下图所示:运行结果如图所示:。
曲柄滑块机构的优化设计及运动仿真学位论文曲柄滑块机构的优化设计及运动仿真目录目录...............................................................1 摘要............................................................... 第1章绪论........................................................ 选题的目的及意义............................................. 优化设计方法的概述........................................... 国内外的研究现状............................................ 主要研究内容............................................ 第2章曲柄滑块机构的受力分析......................................曲柄滑块机构的分类...........................................曲柄滑块机构的动力学特性.....................................曲柄滑块机构中运动学特性..................................... 第3章偏置式曲柄滑块机构的优化设计................................ 优化软件的介绍.............................................. MATLAB的发展历程和影响...................................MATLAB 在机构设计中的应用................................. 机构优化设计实例分析........................................ 设计目标的建立...........................................根据设计要求,确定约束条件................................利用MATLAB进行优化设计.................................... 编制优化程序.............................................. 程序运行结果及处理........................................ 对优化结果进行验证和分析................................. 第4章偏置曲柄滑块机构的运动学建模与仿真.......................... 偏置曲柄滑块机构运动特性建模................................ 仿真环境简介............................................. 机构的运动学建模........................................ 运动学仿真的实现.......................................... 函数的编制及初始参数的设定............................... 构建Simulink仿真框图.................................... 对仿真结果进行分析...................................... 总结...............................................................〔Toolboxs〕组成虽然该软件的初衷并不是为控制系统设计的,但它提供了强大的矩阵处理和绘图功能,可靠灵活且方便,非常适合现代控制理论的计算机辅助设计。
基于MATLAB 的曲柄滑块机构运动的仿真摘要:本文在曲柄滑块机构运动简图的基础上,对其数学运动模型进行分析,用解析法计算曲柄的转角和角速度,及滑块的位移和速度,并用MATLAB软件进行仿真。
1引言在机械传动系统中,曲柄滑块机构是一种常用的机械机构,它将曲柄的转动转化为滑块在直线上的往复运动,是压气机、冲床、活塞式水泵等机械的主机构。
这里用解析法,并用MATLAB对其进行仿真。
2曲柄滑块机构的解析法求解曲柄滑块机构的运动简图如图1所示,在图1中,L i、L2和e分别为曲柄滑块的曲柄、连杆和偏差,‘、2分别为曲柄和连杆的转角,「:、「:分别为曲柄和连杆的角速度,S为滑块的位移。
(1)块的位移S 和速度S2.1位移分析按图1中四边形ABCD 的矢量方向有:AB =CD将上式转化成幅值乘以角度的形式,得到如下等式:L :e 闻十=S + ie分别取上式的虚部和实部,并在 e 前面乘N , N 取值1或—1,用以表示滑 块在x 轴的上方或者下方,得到下面两式:,以及滑L cos 1 L 2cos 2 = S (2) L sin 1 L 2sin 2 = Nb(3)整理上面两个公式得到S 和:2的计算公式:S 二 L i cos 1 L 2 cos 22.2速度分析将(1)式两边对时间求导得(6)式L i -'i ie i 1- L 2 \ ie i 2= S(6)取(6)式的实部和虚部,整理得 S 和:2的计算公式:■L 1 ;*1cos12 ■L 2 COS ®2根据(7)式和(8)式即可得到滑块的速度及连杆的角速度。
2.3实例分析及其MATLAB 仿真 2.3.1实例分析下面对图2所示的曲柄滑块机构做具体分析。
图2曲柄滑块机构简图*二 arcs inNe - L 1 sin 打L2(5)S 「:L i sin (—2)cos :2yx例中:几=36mm,r2=140mm,^60d /sec,求'2,2,S 和S。
[研究・设计]收稿日期:2007204209作者简介:赵小刚(1981-),男,陕西户县人,助教,主要研究方向为机械工程CAD CAM 。
MA TLAB S i m ulink 软件的曲柄导杆机构运动学仿真赵小刚1,李永春2 (1.陕西国防工业职业技术学院机械系,陕西户县 710302; 2.陕西科技大学机电工程学院,陕西西安 710021) 摘 要:为了求解曲柄导杆机构的运动学规律,运用矢量法进行了分析,建立了曲柄导杆机构的运动学数学模型。
使用M A TLAB Si m ulink 仿真软件对曲柄导杆机构进行了运动学仿真,得到了导杆及滑块的位移、速度、加速度的运动曲线。
使用这种方法求解机构的运动学参数具有精度高、速度快等特点。
关 键 词:曲柄导杆机构;运动学;M A TLAB Si m ulink 软件;仿真中图分类号:TH 112;T P 391.9 文献标志码:A 文章编号:100522895(2007)06200392030 引 言曲柄导杆机构是一种应用比较广泛的平面连杆机构,它可以将曲柄的旋转运动转换成为导杆的往复摆动(摆动导杆机构)或整周旋转运动(转动导杆机构)[1]。
曲柄导杆机构还可以与别的基本四杆机构组合在一起,构成一些实用的组合机构,如刨床,车床的主运动机构等。
机构的运动参数是分析评价机构工作性图1 曲柄摆动导杆机构简图能,优化新机构的基本依据[2]。
对曲柄导杆机构的运动分析,即构件上特定点的位移、速度和加速度分析,常用的方法有图解法和解析法。
图解法较直观、方便,但是精度不高,需要反复作图;而解析法人工计算运算量大,容易出错[3]。
本文以曲柄摆动导杆为例,提出用M A TLAB 软件仿真工具箱Si m u link 对曲柄导杆机构进行运动学仿真,得到曲柄导杆机构的运动曲线,该方法使解析法获得更高的精度。
1 曲柄摆动导杆机构运动学数学模型的建立图1所示为一曲柄摆动导杆机构,曲柄OA 为原动件,导杆B A 是从动件,通过滑块,曲柄的连续转动转变为导杆的往复摆动。
《系统仿真与matlab》综合试题题目:曲柄滑块机构的运动学仿真编号:24难度系数:*****姓名班级学号联系方式成绩第一部分:课题理解1、课题要求:对图示单缸四冲程发动机中常见的曲柄滑块机构进行运动学仿真。
已知连杆长度:m r 1.02=,m r 4.03=,连杆的转速:22θω =,33θω =,设曲柄r 2以匀速旋转,s r / 502=ω。
初始条件:032==θθ。
仿真以2ω为输入,计算3ω和1r,仿真时间0.5s 。
2、个人理解:本实验是对运动进行仿真,根据滑块的运动演示连杆的运动过程。
首先,建立两杆和滑块位置间的数学关系,计算出运动方程;其次,运用matlab 动画功能,对给定的2ω值进行运动仿真;最后,建立友好的界面,方便用户改变2ω,显示3ω和运行动画。
第二部分:试题建模由几何关系可得:两边求导数可得:即得2θ=w2*t; 3θ =arcsin(r2*sin(2θ )/r3);w3=r2/r3*w2*cos(2θ )./cos(3θ );第三部分:程序实现1、程序模块:2、程序流程:特色在于:随动画同时输出的w3值为动画运行到当前位置时的转动角速度。
并可以多次设定w2值,进行波形比较。
2、程序代码:w2 = str2double(get(handles.w2input,'string'));if w2~=0 %判断用户是否输入w2%如果w2被赋值,则进行变量初始化t=0;dt=0.01;r2=0.1;r3=0.4;x0=0.1;y0=0;x1=0.5;y1=0;%在图形显示框axes_d中进行固定图形的绘画axes(handles.axes_d)%画三角支架plot(0,-0.03,'color',[0.5,0.5,0.5],'linestyle','^',...'linewidth',10);hold onplot(0,0,'color',[0.4,0.4,0.4],'linestyle','.',...'markersize',40);%画r3转动轨迹圆m=[0:0.01:2*pi];plot(0.1*cos(m),0.1*sin(m),'color',[0.6,0.8,0.8],'linestyle','.',...'markersize',5);%画水平线plot([-0.2;0.6],[-0.05;-0.05],'color','b','linestyle','--',...'linewidth',1);%画支点等高线plot([-0.2;0.7],[0;0],'color','b','linestyle','--',...'linewidth',1);%设置坐标范围axis([-0.15,0.7,-0.41,0.41]);%不显示坐标轴%axis('off');%创建杆间连接点point=line(x0,y0,'color','k','linestyle','.',...'markersize',30);%创建连接点水平指示线zhishi=line([x0-0.1;x0+0.1],[y0;y0],'color','b','linestyle','--',...'linewidth',2);%创建杆r2body2=line([0;x0],[0;y0],'color',[0.2,0.25,0.25],'linestyle','-',...'linewidth',5);%创建杆r3body3=line([x0;x1],[y0;y1],'color',[0.2,0.25,0.25],'linestyle','-',...'linewidth',5);%创建活塞huosai1=line([x1+0.01;x1+0.15],[y1;y1],'color','b','linestyle','-',...'linewidth',28);%创建活塞连接点huosaidian=line(x1+0.01,y1,'color','k','linestyle','.',...'markersize',40);%创建汽缸qigang1=line([0.651;0.651],[-0.05;0.05],'color',[0.5,0.5,0.5],'linestyle','-',.. .'linewidth',5);qigang2=line([0.3;0.655],[0.056;0.056],'color',[0.5,0.5,0.5],'linestyle','-',...'linewidth',5);qigang3=line([0.3;0.655],[-0.056;-0.056],'color',[0.5,0.5,0.5],'linestyle','-', ...'linewidth',5);set(handles.axes_w3,'XMinorTick','on')%进行动画过程while t<4t=t+dt;a2=w2*t;a3=asin(r2*sin(a2)/r3);w3=r2/r3*w2*cos(a2)./cos(a3);r2=0.1;x0a=r2*cos(a2);y0a=r2*sin(a2);x1a=x0a+r3*cos(a3);y1a=0;x=x0a;y=y0a;%在图形显示框axes_d中进行图形的刷新axes(handles.axes_d)%重绘杆r2set(body2,'xdata',[0;x0a],'ydata',[0;y0a]);%重绘杆r3set(body3,'xdata',[x0a;x1a],'ydata',[y0a;y1a]);%重绘杆活塞set(huosai1,'xdata',[x1a+0.01;x1a+0.15],'ydata',[y1a;y1a]); %重绘活塞连接点set(huosaidian,'xdata',x1a+0.01,'ydata',y1a);%重绘杆连接点set(point,'xdata',x0a,'ydata',y0a);%重绘指示线set(zhishi,'xdata',[x0a-0.1;x0a+0.1],'ydata',[y0a;y0a]);set(handles.axes_d,'XMinorTick','on')%输出实时w3的值set(handles.w3_output,'string',num2str(w3));%在图形显示框axes_w3中绘制w3的实时波形axes(handles.axes_w3)%设置坐标轴axis([0,4,-w2/4-0.1,w2/4+0.1]);hold onplot(t,w3,'color','k','linestyle','.',...'markersize',5);set(handles.axes_w3,'XMinorTick','on')drawnow;endw2=0;end第四部分:GUI界面规划1、控件组成:1.面板(1个):作为背景。
文章编号: 1009-3818(2002)02-0047-03基于MATLAB 软件的铰链四杆机构运动分析仿真软件开发覃虹桥1 魏承辉2 罗佑新2(1华中科技大学材料学院 湖北武汉430074)(2常德师范学院机械工程系 湖南常德415003)摘 要: 建立了铰链四杆机构运动分析的数学模型,以MATLAB 程序设计语言为平台,将参数化设计与交互式相结合,设计了铰链四杆机构仿真软件,该软件具有方便用户的良好界面,并给出界面设计程序,从而使机构分析更加方便、快捷、直观和形象.设计者只需输入参数就可得到仿真结果,再将运行结果与设计要求相比较,对怎样修改设计做出决策.它为四杆机构设计提供了一种实用的软件与方法.关键词: 铰链四杆机构;按钮;界面;仿真中图分类号: TH 311.52;TH 113.2+2 文献标识码: A铰链四杆机构的运动学分析是机构学中典型的机构运动分析之一,如果设计铰链四杆机构时能及时图示其运动轨迹和速度分析,从而将图示结果与设计要求相比较,可以及时修改设计中的偏差.目前,MALTAB 已经不再是/矩阵实验室0,而成为国际上最流行的科学与工程计算的软件工具,以及一种具有广泛应用前景的全新的计算机高级编程语言,它在国内外高校和科研部门正扮演着越来越重要的角色,功能也越来越大,不断适应新的要求提出新的解决办法.可以预见,在科学运算与科学绘图领域,MATLAB 语言将长期保持其独一无二的地位.然而,国内至今尚未见到采用MATLAB 开发的有关机构学的软件,笔者以MATLAB 的科学运算与绘图的强大功能开发了铰链机构运动仿真软件.1 铰链四杆机构运动轨迹仿真软件1.1 程序功能与数学模型1)程序功能 本程序可以进行铰链四杆机构的运动分析及位置求解.用户在铰链四杆机构运动分收稿日期:2002-12-10基金项目:湖南省教育厅科研资助项目(00C289)第一作者:覃虹桥(1959-)男高级工程师研究方向:机械设计制造析仿真软件里输入各种参数,即可自动演示不同的铰链四杆机构(曲柄摇杆机构、双曲柄机构、双摇杆机构)的运动.2)数学模型 已知AB=a ,BC =b ,C D =c ,AD=d .AB 为主动杆,以匀角速度逆时针旋转,AD 为机架,见图1.图1 铰链四杆机构运动简图Fig.1 plame four-linkage motion diagram分析:求B C 的运动轨迹,可找B 、C 两点坐标与转动角度51的关系,然后求51+d 51及B 、C 两点的坐标,即可求出运动轨迹.由图1有矢量方程:AB +BC =AD +DC ,则其分量方程为:a c os 51+b cos 52=d +c cos 53(1)a sin 51+b sin 52=c sin 53(2)将式(1)、(2)联立消去52并整理得:a 2+c 2+d 2-b 22ac +d c os 53a -d cos 51c -cos (51-53)=0(3)再改写为:sin 51sin 53+(cos 51-da)cos 53+a 2+c 2+d 2-b 22ac -d c os 51c=0(4)令r 1=sin 51,r 2=cos 51-d a ,r 2222第14卷第2期常德师范学院学报(自然科学版)Vol.14No.22002年6月Journal of Changde Teachers University(Natural Science Edition)Jun.2002则(4)化为:r 1sin 53+r 2cos 53=r 3(5)由三角恒等式求得:53=2arctg r 1?r 21+r 22-r 23r 2+r 3(6)式(6)两个解对应于机构的两种不同装配形式./+0对应于图1的实线,而/-0对应于图1的虚线.B 点坐标:B x =A x +a cos 51,B y =A y +a sin 51C 点坐示:C x =D x +c cos 53,C y =D y +a sin 53从运动杆的转角53,对时间求导可得DC 的角速度,由式(1)、(2)解出52按速度合成可求得BC 的转动角速度[2].1.2 程序框图以曲柄摇杆机构的运动仿真程度为例,程序框图如下:图2 程序框图Fig.2 Programming frame diagram1.3 程序代码采用MATLAB 开发图形界面,程序如下:%fourlinkages.mh_main=figure(.Units .,.normalized .,.Position .,[.3,.3,.5,.5],,.MenuBar .,.none .,.Name .,.四杆机构仿真.,.Number Title .,,.off .,.Resize .,.off .);h_axis=axes(.Units .,.normalized .,.Position .,[.12,.15,.6,.6],,.Tag .,.axPlot .,.Visible .,.on .,.XLim .,[-50,80<,.YLim .,-60,80]);h_text1=uicontrol (.Style .,.Text .,.Tag .,.myText1.,.Units .,,.normalized .,.Position .,[0.78,0.55,.05,.38],.String .,,.输入已知参数.,,.HorizontalAlignment .,.right .);h_te xt2=uicontrol(.Style .,.Text .,.Tag .,.myText2.,.Units .,,.nor malized .,.Position .,[0.15,0.90,.35,0.05],.String .,,.正在仿真,,OK !.,,.HorizontalAlignment .,.right .);a =20;b =50;c =40;d =50;fai =60;four_linkages0(a,b ,c,fai );%初始化图形h_edit1=uicontrol(.Style .,.Edit .,.Tag .,.myEdit1.,.Units .,,.normalized .,.Position .,[0.86,.85,.10,.1],.String .,.20.,,.HorizontalAlignment .,.right .);h_edit2=uicontrol(.Style .,.Edit .,.Tag .,.myEdit2.,.Units .,,.normalized .,.Position .,[0.86,.75,.10,.1],.String .,.50.,,.HorizontalAlignment .,.right .);h_edit3=uicontrol(.Style .,.Edit .,.Tag .,.myEdit3.,.Units .,,.normalized .,.Position .,[0.86,.65,.10,.1],.String .,.40.,,.HorizontalAlignment .,.right .);h_edit4=uicontrol(.Style .,.Edit .,.Tag .,.myEdit4.,.Units .,,.normalized .,.Position .,[0.86,.55,.10,.1],.String .,.60.,,.HorizontalAlignment .,.right .);h_list=uic ontrol(.Style .,.ListBox .,.Tag .,.myList .,.Units .,,.normalized .,.Position .,[0.78,.35,.20,.15],.String .,.正置|反置.,,.HorizontalAlignment .,.right .,.Value .,1);k=1;h_button1=uicontrol(.Style .,.PushButton .,.Units .,,.normalized .,.Position .,[0.78,.25,.2,.1],.String .,,.运动轨迹仿真.,.CallBack .,,.hd1=findobj(gcf,..Tag ..,..myEdit1..);.,,.a =eval(get(hd1,..String ..));.,,.hd2=findobj(gcf,..Tag ..,..myEdit2..);.,,.b =eval(get(hd2,..String ..));.,,.hd3=findobj(gcf,..Tag ..,..myEdit3..);.,,.c =eval(get(hd3,..String ..));.,,.hd4=findobj(gcf,..Tag ..,..myEdit4..);.,,.d =eval(get(hd4,..String ..));.,,48常德师范学院学报(自然科学版)2002年.kk =get(findobj(gcf,..Ta g ..,..myList ..),..Value ..);.,,.four_linkages(a,b,c,d,kk ).]);%调用回调函数轨迹仿真.h_button2=uicontrol(.Style .,.PushButton .,.Units .,,.normalized .,.Position .,[0.78,.15,.2,.1],.String .,,.角速度分析.,.CallBack .,.four_linkages1(a,b,c,d ,kk ).);h_button3=uicontrol(.Style .,.PushButton .,.Units .,,.normalized .,.Position .,[0.78,.05,.2,.1],,.String .,.退出.,.CallBack .,.four_linkages2.);%调用回调函数退出系统在主程序中有3个回调函数和一个初始化函数,回调函数分别用轨迹仿真、运动分析和退出系统.回调函数程序按前述数学模型编程(程序略);初始化函数用程序运行时初始化界面的图形.运行程序产生以下界面(图3).图3 程序运行界面Fi g.3 Programming Interface在界面中输入已知参数,则可生成相应的图形.当输入a =20,b =50,c =40,d =60,装配形式选取正置时,如果选运动轨迹仿真,则得仿真轨迹(图4);如果装配形式选反置,进行轨迹仿真(图5).(注:图4 运动轨迹仿真(装配形式正置)Fi g.4 Moti on track simulation(positiveset)图5 运动轨迹仿真(装配形式为反置)Fig.5 Motion track simulation (in reverse positive set)在图4、5中为节省篇幅,这两个图形只选了对应图3的图形部分,界面的其它部分未剪取.).而当选取装配形式进行轨迹仿真后,可再选角速度分析,得到连杆与摇杆的角速度图形(略).2 结论1)自动演示不同的四杆机构的运动,模拟仿真运动轨迹与从动件的速度分析,有助于分析机构的速度、加速程度和机构的工作性能;2)采用MATLAB 语言开发机构仿真运动分析软件,开发界面容易,运行程序时无需编辑、连接,给使用者以极大的方便.只要输入数据,即可得到结果.将运行结果与设计要求相比较,从而引导设计者修改设计.参 考 文 献1 薛定宇.科学运算程序MATLAB5.3程序设计与应用[M ].北京:清华大学出版社,2000.2 孟宪源.现代机构手册(上)[M].北京:机械工业出版社,1994.3 王沫然.Si mulink4建模及动态仿真[M].北京:电子工业出版社,2002.THE DEVELOPMENT OF EMULATIONAL SOFTWARE FOR ANALYSIS OF MOTION IN PLANE GEMEL FOUR -LINKAGEBASED ON MATLAB SOFTWAREQING Hong -qiao 1 WEI CH eng -hui 2LU O You -xin 2(1T he material institute,Cen tral China University of Science and T echnology,Wuhan Hubei,430074)(2Department of Mechanical Engineering,Changde Teachers University,Changde Hunan 415003)Abstract A mathematical model of motion analysis was estab -lished in plane four-linkage,and emulational software was deve-loped .The software adop ted Matlab5.3.1as a desi gn language.It combined parametric design with interactive design and had good in -terface for user.Thus,i t was fas ter and more convenient to analyse linkage.The emulational result was obtained as soon as input param -eters was imported and the devisers can make decision-making of modification by the comparing emulational result with design de -mand.It provides an applied software and method for linkage.Key words Gemel Four -Linkage;button;interface;emula -tion(责任编校:谭长贵)49第2期覃虹桥 魏承辉 罗佑新 基于MATLAB 软件的铰链四杆机构运动分析仿真软件开发。
基于MATLAB/Simulink 的5R-P 机构运动学数字仿真黄康 许志伟 倪国华(合肥工业大学机械与汽车工程学院,安徽 合肥 230009)摘 要:建立了某5R-P 机构运动学的数学模型,编制了相应的M 函数仿真模块,并利用动态仿真软件MATLAB/Simulink 建立了运动学仿真模型,进行了运动学仿真。
通过整个仿真过程得出:该方法具有运算简单、速度快、方便直观的特点。
与此同时,通过对仿真参数的修改,可进行机构的参数优化。
关键词:运动学 Simulink 仿真研究0 引 言随着仿真技术的发展,对机构进行运动学仿真已变得越来越方便。
机构的运动学分析,主要获得机构中移动构件的位移、速度、加速度或转动构件的角位移、角速度、角加速度。
它是进行机械设计及评价机械运动和动力性能的基础[1]。
对于机构的运动分析,过去一般采用编程的方法进行计算,但是存在程序编写繁琐、可视化差、参数修改麻烦等缺点。
而MATLAB 中的Simulink 模块是一个用来对动态系统进行建模、仿真和分析的软件包,它功能强大,使用方便,已经在学术和工业领域得到广泛的应用[3][4]。
机械式曲柄滑块压力机广泛应用于板料冲压、薄板拉伸等工艺中[6],其增力装置一般采副,因此可简称为5R-P 机构()F [2][5]。
曲柄AB 为原动件,转动副与滑块在同一水平线上,且,各角度如图所示。
将该机构置于直角坐标系中,计算滑块的位置、位移和构件的角位移。
D EF DE l l =XOY DE 由图1可知A 、的位置是给定的,点为研究点。
建立机构的封闭向量方程D FOD CD BC AB OA l l l l l ρϖρρρ=+++ OD OA EF CE BC AB l l l l l l ρρρρρρ+=+++这里取曲柄角位移为0时的位置作为初始位置,根据机构简图的几何关系()()22OD OA AD l l l += (1)()221OAAB OD D B l l l l +−=(2)ODOAl l arctgODA =∠ (3) 构件的初始角DE 1112DC B ODB ∠−∠−=′πθ (4) 其中 DC D B C B D C DB l l l l l DC B 1111112arccos 22211⋅⋅−+=∠ OAOD OAl l l arctgODB −=∠1滑块的初始位置2cos 2θ′⋅⋅+=DE OD c l l x (5) 当曲柄经过时间t 转过角度t ωϕ=()ϕ+∠⋅⋅⋅−+=ODA l l l l l AD AB AD AB BD cos 222 (6)此时构件转过DE BDC ADB ODA ∠−∠−∠−=′′πθ2(7) 其中 BDAD ABBD AD l l l l l ADB ⋅⋅−+=∠2arccos 222,CD BD BC CD BD l l l l l BDC ⋅⋅−+=∠2arccos 222因此,经过时间t ,构件的角位移和滑块的位移DE ⎥⎦⎤⎢⎣⎡−′′⋅⋅+′−′′=⎥⎦⎤⎢⎣⎡c DE ODx l l 22cos 2s θθθθ (8)式(8)分别对时间t 进行一次、二次求导得构件DE 角速度θ&、角加速度θ&&和滑块速度s&、加速度s &&。
基于Simmechanics的偏置曲柄滑块机构运动学建模及仿真研究王增胜;孔令云;郭晓君【摘要】为了提高偏置曲柄滑块机构的设计水平和效率,以MATLAB的动态仿真工具Simulink、Smmchanics为平台,建立了偏置曲柄滑块机构运动分析的仿真模型,具体阐明了这种建模方法与仿真的实现过程,结果表明该仿真方法能方便、准确地得到机构的运动数据,能为机构的选型、优化设计提供参考依据,并对其他类似机构的建模与仿真具有一定的参考价值.【期刊名称】《现代机械》【年(卷),期】2013(000)005【总页数】4页(P19-22)【关键词】SimMechanics;偏置曲柄滑块机构;运动学;仿真【作者】王增胜;孔令云;郭晓君【作者单位】黄河科技学院机器人与自动化研究所,河南郑州450063;黄河科技学院机器人与自动化研究所,河南郑州450063;黄河科技学院机器人与自动化研究所,河南郑州450063【正文语种】中文【中图分类】TP391.90 引言曲柄滑块机构是用曲柄和滑块来实现转动和移动相互转换的平面连杆机构,也称曲柄连杆机构。
在曲柄滑块机构中,当滑块的导路方向与曲柄的回转中心存在偏距e 时,称为偏置曲柄滑块机构。
曲柄滑块机构广泛应用于往复活塞式发动机、压缩机、冲床等的主机构中。
机构运动分析的任务是根据机构的尺寸及原动件已知的运动规律,求构件中从动件上某点的轨迹、位移、速度及加速度和构件的角位移、角速度及角加速度。
运动分析的目的是了解已有机构的运动性能,同时也是设计新的机械和研究机械动力性能的必要前提。
通过分析,可以确定某些构件所需要的空间,或确定机壳的轮廓,检验构件之间是否碰撞干涉;通过速度分析可以确定从动件的速度是否合乎要求;通过加速度分析可以确定惯性力等。
机构运动分析的主要方法有图解法、解析法。
图解法因其作图、计算工作量大、精度差的缺点,在实际工程设计应用中存在很大的局限性。
[1]解析法有较高的精度,但其计算工作量大。
Matlab曲柄滑块仿真程序代码随着科学技术的不断发展,计算机仿真在工程设计和研究中扮演着越来越重要的角色。
Matlab作为一种强大的科学计算软件,被广泛应用于工程仿真领域。
曲柄滑块机构是机械工程中常见的一种机构,其运动特性对于设计和分析而言至关重要。
编写Matlab曲柄滑块仿真程序代码,对于工程师和研究人员来说具有重要意义。
本文将对Matlab曲柄滑块仿真程序代码进行详细介绍,包括代码设计思路和程序实现细节等方面。
一、代码设计思路1. 确定曲柄滑块机构的运动方程曲柄滑块机构是由连杆、曲柄和滑块组成的一种机械结构,其运动特性可以通过连杆的运动方程来描述。
通过建立曲柄滑块机构的运动模型,可以确定滑块的位移、速度和加速度等运动特性。
2. 构建Matlab仿真模型基于曲柄滑块机构的运动方程,可以使用Matlab软件进行仿真模拟。
在Matlab中,可以通过编写相应的程序代码,构建曲柄滑块机构的仿真模型,并对其运动特性进行分析和可视化展示。
二、程序实现细节以下是一个简单的Matlab曲柄滑块仿真程序代码示例,代码中包括了曲柄滑块机构的运动方程和仿真模型的构建过程。
```matlab曲柄滑块仿真程序代码示例定义曲柄滑块机构的参数L = 1; 连杆长度r = 0.2; 曲柄半径theta = linspace(0,2*pi,100); 曲柄角度范围omega = 2; 曲柄角速度计算滑块的运动轨迹for i = 1:length(theta)x(i) = r*cos(theta(i)) + sqrt(L^2 - r^2*sin(theta(i))^2);y(i) = r*sin(theta(i)) - sqrt(L^2 - r^2*sin(theta(i))^2);end绘制曲柄滑块机构的运动轨迹figureplot(x,y)xlabel('x')ylabel('y')title('曲柄滑块机构的运动轨迹')计算滑块的速度和加速度vx = diff(x);vy = diff(y);v = sqrt(vx.^2 + vy.^2);a = diff(v);绘制滑块的速度和加速度曲线figuresubplot(2,1,1)plot(v)xlabel('时间')ylabel('速度')title('滑块的速度')subplot(2,1,2)plot(a)xlabel('时间')ylabel('加速度')title('滑块的加速度')```以上代码示例中,首先定义了曲柄滑块机构的参数,包括连杆长度、曲柄半径、曲柄角度范围和曲柄角速度等。
代码实例[anim_zzy1.m]function f=anim_zzy1(K,ki)% anim_zzy1.m 演示红色小球沿一条封闭螺线运动的实时动画% 仅演示实时动画的调用格式为anim_zzy1(K) % 既演示实时动画又拍摄照片的调用格式为f=anim_zzy1(K,ki)% K 红球运动的循环数(不小于1 )% ki指定拍摄照片的瞬间,取1 到1034 间的任意整数。
% f 存储拍摄的照片数据,可用image(f.cdata) 观察照片。
% 产生封闭的运动轨线t1=(0:1000)/1000*10*pi;x1=cos(t1);y1=sin(t1);z1=-t1;t2=(0:10)/10;x2=x1(end)*(1-t2);y2=y1(end)*(1-t2);z2=z1(end)*ones(size(x2));t3=t2;z3=(1-t3)*z1(end);x3=zeros(size(z3));y3=x3;t4=t2;x4=t4;y4=zeros(size(x4));z4=y4;x=[x1 x2 x3 x4];y=[y1 y2 y3 y4];z=[z1 z2 z3 z4];plot3(x,y,z, 'b' ), axis off % 绘制曲线% 定义" 线" 色、" 点" 型(点)、点的大小(40 )、擦除方式(xor) h=line( 'Color' ,[1 0 0], 'Marker' , '.' , 'MarkerSize' ,40, 'EraseMode' , 'xor' );% 使小球运动n=length(x);i=1;j=1;while 1 % 无穷循环set(h, 'xdata' ,x(i), 'ydata' ,y(i), 'zdata' ,z(i)); % 小球位置drawnow; % 刷新屏幕<21>pause(0.0005) % 控制球速<22>i=i+1;ifnargin==2 &nargout==1 % 仅当输入宗量为2 、输出宗量为1 时,才拍摄照片if (i==ki&j==1);f=getframe(gcf); end % 拍摄i=ki时的照片<25>endif i>ni=1;j=j+1;if j>K; break ; endendend(2)在指令窗中运行以下指令,就可看到实时动画图形。
基于MATLAB 的曲柄滑块机构运动的仿真
姓名:夏小品 学号:2100110114 班级:机械研10
摘要:本文在曲柄滑块机构运动简图的基础上,对其数学运动模型进行分析,用解析法计算曲柄的转角和角速度,及滑块的位移和速度,并用MATLAB 软件进行仿真。
关键字:曲柄滑块机构;运动分析;MATLAB
The Simulation of Crank Slider Mechanism Motion Based on MATLAB Abstract:This article analyses the motion mathematical model of crank slider mechanism based on its motion diagram. Use analytical method to calculate crank angle,crank angular velocity,slider position and slider velocity and do the simulation of the resultes witn MATLAB software.
Key Words:Crank slider mechanism;Motion analysis;MATLAB 1 引言
在机械传动系统中,曲柄滑块机构是一种常用的机械机构,它将曲柄的转动转化为滑块在直线上的往复运动,是压气机、冲床、活塞式水泵等机械的主机构。
这里用解析法,并用MATLAB 对其进行仿真。
2 曲柄滑块机构的解析法求解
曲柄滑块机构的运动简图如图1所示,在图1中,1L 、2L 和e 分别为曲柄滑块的曲柄、连杆和偏差,1ϕ、2ϕ分别为曲柄和连杆的转角,1ϕ•
、2ϕ•
分别为曲柄和连杆的角速度,S 为滑块的位移。
图1 曲柄滑块机构运动简图
设已知已知1L 、2L 、e 、1ϕ和1ϕ•,求连杆的角位移2ϕ和角速度2ϕ•
,以及滑块的位移S 和速度S •。
2.1 位移分析
按图1 中四边形ABCD 的矢量方向有:
AB CD →
→
=
将上式转化成幅值乘以角度的形式,得到如下等式:
1
2
12i i L e L e S ie ϕϕ+=+ (1)
分别取上式的虚部和实部,并在e 前面乘N ,N 取值1或-1,用以表示滑块在x 轴的上方或者下方,得到下面两式:
1122cos cos L L S ϕϕ+= (2)
1122sin sin L L Nb ϕϕ+= (3)
整理上面两个公式得到S 和2ϕ的计算公式:
1122cos cos S L L ϕϕ=+ (4)
11
22
sin arcsin
Ne L L ϕϕ-= (5) 2.2 速度分析
将(1)式两边对时间求导得(6)式
1
2
1212i i L ie L ie
S ϕϕϕϕ•
•
•
+= (6)
取(6)式的实部和虚部,整理得S •
和2ϕ•
的计算公式:
1211
2
sin()
cos S L ϕϕϕϕ•
•
-=- (7)
111
222
cos cos L L ϕϕϕϕ•
•=-
(8)
根据(7)式和(8)式即可得到滑块的速度及连杆的角速度。
2.3 实例分析及其MATLAB 仿真 2.3.1 实例分析
下面对图2所示的曲柄滑块机构做具体分析。
图2 曲柄滑块机构简图
例中:1236,140r mm r mm ==,160/sec d ω=,求2ϕ,2ω,S 和S •。
建立图示的封闭矢量方程:
12r r S →
→
→
+= (9)
将上式分解到x 与y 轴坐标上,得到:
11221122cos cos sin sin 0r r S r r ϕϕϕϕ+=⎫
⎬+=⎭
(10)
得:
1122122cos cos arcsin S r r r r ϕϕϕ=+⎫
⎪
⎬=-⎪⎭
(11)
对(10)式时间求导得:
111222111222sin sin cos cos 0r r S r r ωϕωϕωϕωϕ•
⎫⎪--=⎬+=⎪⎭
(12) 将上式用矩阵形式表示,令:
222111
22111sin 1sin [],[],[]cos 0cos r r A X B r r S ωϕωϕϕωϕ•-===- (13)
则(12)可表示为:AX B =。
从而可解出2ω和S •。
2.3.2 MATLAB 仿真 Matlab 仿真程序如下: r1=36;%单位mm r2=140;
omiga1=60;%单位d/sec x11=1:720;
for i=1:720
x1(i)=i*pi/180;
%sin(x2(i))=-r1/r2*sin(x1(i));
x2(i)=asin(-r1/r2*sin(x1(i)));
x22(i)=x2(i)*180/pi;
r3(i)=r1*cos(x1(i))+r2*cos(x2(i));
B=[-r1*omiga1*sin(x1(i));r1*omiga1*cos(x1(i))];
A=[r2*sin(x2(i)) 1;-r2*cos(x2(i)) 0];
X=inv(A)*B;
omiga2(i)=X(1,1);
v3(i)=X(2,1);
end
plot(x11/60,0.5*r1*sin(x1));
xlabel('时间t/sec')
ylabel('连杆质心在Y轴上位置/mm')
figure(2)
plot(x11/60,r3);
xlabel('时间t/sec')
ylabel('滑块位移r3/mm')
figure(3)
plot(x11/60,omiga2);
xlabel('时间t/sec')
ylabel('连杆角速度omiga2/rad/sec')
figure(4)
plot(x11/60,v3*pi/180);
xlabel('时间t/sec')
ylabel('滑块速度v3/mm/sec')
图 4 MATLAB中连杆质心位置图图5 MATLAB中连杆角速度图
图6 MATLAB中滑块位移图图7 MATLAB中滑块速度图
3 结语
通过解析法计算,利用Matlab程序编程得出仿真结果与实际情况符合.
参考文献:
[1]文路松.曲柄滑块机构的运动特性分析.中国高新技术企业技术论坛:117,118.
[2]陈德为.曲柄滑块机构的MATLAB仿真.太原科技大学学报,2005,3 (26):172-175.
[3]任晓丹.曲柄滑块机构的计算机辅助分析.电脑知道与技术,2010,5(6):1184,1185.。