matlab曲柄滑块机构的运动学仿真

合集下载

基于Matlab的曲柄摇块机构动力学仿真

基于Matlab的曲柄摇块机构动力学仿真

Crank Rocker Mechanism on Matlab Simulink 作者: 潘周光;冯士活
作者机构: 浙江工贸职业技术学院,浙江温州325003
出版物刊名: 浙江工贸职业技术学院学报
页码: 78-82页
主题词: Matlab/Simulink;曲柄摇块机构;仿真模型
摘要:用Matlab来进行机构运动、动力学仿真分析,有利于精确、简便、高效地实现机械传动设计。

文章应用Matlab对一种曲柄摇块机构的无级变速器进行运动学和动力学分析,推导了无级变速嚣各构件加速度关系的闭环矢量方程和所受力与力矩的齐次线性方程组,建立了机构的运动和动力仿真模型。

经Matlab/Simulink求解和动态仿真,结果表明:基于Matlab的机械传动设计。

能有效的获得机构的运动和动力特性,缩短开发周期。

matlab机电系统仿真大作业

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的多体动力学仿真实现

基于Matlab的多体动力学仿真实现
I
西南大学本科毕业论文(设计)
基于 Matlab 的多体动力学仿真实现
摘要:本文运用机械原理、理论力学和 MATLAB 运动学仿真的相关知识,对曲柄滑块机构进行 结构分析,拆分基本杆组,运用 MATLAB 的 Simulink 软件包编写各基本构件的函数模块,并 在 Simulink 中建立曲柄滑块的仿真模型,对曲柄滑块机构进行动力学仿真求解,并绘制出构 件 2 的角速度和角加速度,构件 3 速度、加速度,转动 A 副的水平方向力、垂直方向力,曲 柄上作用的力矩,曲柄上力矩作的功,以及滑块上作用的反力曲线。通过分析所绘制出的图 形,可以很好的帮助我们了解曲柄滑块机构在运行过程中各构件、转动副之间的受力情况。 关键词:MATLAB;Simulink;运动学仿真;曲柄滑块
1.2.1 打开 MATLAB..........................................................................................8 1.2.2 操作界面...............................................................................................9 1.2.3 帮助系统...............................................................................................9 1.2.4 MATLAB 常用工具箱...........................................................................10 1.3 认识 Simulink...............................................................................................11 1.3.1 功能..................................................................................................11 1.3.2 特点..................................................................................................12 2 仿真模拟..................................................................................................................12 2.1 模块函数的建立............................................................................................12 2.1.1 曲柄的 MATLAB 运动学仿真模块......................................................12 2.1.2 R-R-PⅡ级杆组基本杆组的 MATLAB 运动学仿真模块....................14 2.1.3 曲柄的 MATLAB 动力学仿真模块......................................................16 2.1.4 R-R-PⅡ级杆组基本杆组的 MATLAB 动力学仿真模块....................18 2.2 Simulink 仿真模型的建立..........................................................................21 2.2.1 曲柄滑块机构各参数分析.................................................................21 2.2.2 曲柄滑块机构各参数分析.................................................................22 2.3 开始仿真.......................................................................................................25 3 仿真结果..................................................................................................................25 参考文献......................................................................................................................27 致谢..............................................................................................................................28

基于MATLAB曲柄滑块机构运动仿真

基于MATLAB曲柄滑块机构运动仿真

基于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曲柄滑块机构运动仿真报告材料

基于某MATLAB曲柄滑块机构运动仿真报告材料

************************计算机仿真技术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 Fuction 模块图标,改变函数名为 compvel。 双击 Mux 块、DeMux 模块改变输入或输出信号路数。 不同端口之间的连线实现方法:在第一个端口处按下左键不松,移动鼠标到 第二个端口处松开。
将适当的信号联网到 Mux 模块。 注意: 不同信号根据 compvel 函数输入参数 次序连接到 Mux 模块的相应端口。
5000 4000 3000 2000 Piston Speed (mm/s) 1000 0 -1000 -2000 -3000 -4000 -5000
0
0.01
0.02
0.03 0.04 Time (sec)
0.05
0.06
0.07
三 通过运动学仿真求解加速度 对曲柄连杆机构的闭环矢量方程求二阶导数,可得到机构的加速度特性:
2 2 sin 2 r22 3 sin 3 r332 cos 3 r2 cos 2 r3 r 1 2 2 cos 2 r22 3 cos 3 r332 sin 3 0 r2 sin 2 r3
(4)
130
120
Piston Displacement (in)
110
100
90
80
70
0
0.01
0.02
0.03 0.04 Time (sec)
0.05
0.06
0.07
类似地,连杆的速度变化规律可由下述命令画出: plot(tout,yout(:,2)); xlabel('Time (sec)'); ylabel('Connecting Rod Speed (rad/s) '); grid on;

MATLAB基本杆组-运动学仿真


⎡ ri cos (θ i + π ) ⎤ 2 ⎡ xC ⎤ ⎡ xB ⎤ ⎡ ri cos (θ i + π 2 ) ⎤ ⎢ y ⎥ = ⎢ y ⎥ + ⎢ r sin θ + π 2 ⎥ θi + ⎢ r sin θ + π ⎥ θi ( i )⎦ ⎣ i ( i )⎦ ⎣ C⎦ ⎣ B⎦ ⎣ i
xC = xB − riθi sin (θi ) = xD − rjθ j sin (θ j ) yC = yB + riθi cos (θi ) = yD + rjθ j cos (θ j )
再次对时间t求导数,得到点C的加速度为
xC = xB − riθi sin (θi ) − riθi2 cos (θi ) = xD − rjθ j sin (θ j ) − rjθ j2 cos (θ j ) yC = yB + riθi cos (θi ) − riθi2 sin (θi ) = yD + rjθ j cos (θ j ) − riθ i2 sin (θ j )
( (
) )
§5-1 曲柄的MATLAB运动学仿真模块
xB = ri cos (θi ) + rj cos (θ j ) yB = ri sin (θi ) + rj sin (θ j )
对时间分别求两次导数
xB = − rjθ j sin (θ j ) xB = − rjθ j sin (θ j ) − rjθ j2 cos (θ j )
求导数
−riθi sin (θi ) + rjθ j sin (θ j ) = xD − xB riθi cos (θi ) − rjθ j cos (θ j ) = yD − yB

基于MATLAB的曲柄滑块机构运动的仿真

基于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。

MATLAB_Simulink软件的曲柄导杆机构运动学仿真

[研究・设计]收稿日期: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 是从动件,通过滑块,曲柄的连续转动转变为导杆的往复摆动。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《系统仿真与matlab》综合试题题目:曲柄滑块机构的运动学仿真编号:______________ 21 _____________难度系数:___________________________姓名______________________班级_________________学号__________________联系方式______________成绩________________________________《系统仿真与matlab 》综合试题 (1)一、引言........................................................ 3.二、运动学分析 (3)1、实例题目 (3)2、运动分析 (3)三、M ATLAB程序编写 (5)四、使用指南和实例仿真 (8)五、结语10亠、引言曲柄滑块机构是指用曲柄和滑块来实现转动和移动相互转换的平面连杆机构,也称曲柄连杆机构。

曲柄滑块机构广泛应用于往复活塞式发动机、压缩机、冲床等的主机构中,把往复移动转换为不整周或整周的回转运动;压缩机、冲床以曲柄为主动件,把整周转动转换为往复移动。

这里使用运动学知识,对其运动进行解析,并用MATL AE为其设计仿真模块。

1、运动学分析1、实例题目对图示单缸四冲程发动机中常见的曲柄滑块机构进行运动学仿真。

已知连杆长度:D 0.1m , r3 0.4m,连杆的转速:2 2 , 3 3 , 设曲柄r2以匀速旋转,2 50r/s。

初始条件:2 3 0。

仿真以2为输入,计算3和A,仿真时间0.5 s。

2、运动分析建立封闭矢量方程:r2+r3=r1 (9)将(9)式分解到x与y轴坐标上,得到:r2cos 0 2+r3cos 0 3=r1r2sin 0 2+r3sin 0 3=0 (10)可得:r1=r2cos 0 2+r3cos 0 3.0 3-arcsin(r2r3) (11) 对(10)式对时间求导得:-r2 w2sin 0 2+3 w 3sin 0 3=v1r2 w2cos0 2+3w3cos0 3=0 (12) 将上式用矩阵形式表示,令:A=[ r3sin 0 3 1-r3cos0 3 0]X=[ w3v1]B=[-r2 w2sin 0 2r2 w2cos 0 2]则(12)可表示为:AX二B (13)从而可解出w3与v1、 MATLAB 程序编写源代码如下:function varargout = z1(varargin)% Z1 MATLAB code for z1.fig% Z1, by itself, creates a new Z1 or raises the existing% singleton*.%% H = Z1 returns the handle to a new Z1 or the handle to% the existing singleton*.%% Z1('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in Z1.M with the given input arguments.%% Z1('Property','Value',...) creates a new Z1 or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before z1_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to z1_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help z1% Last Modified by GUIDE v2.5 29-Dec-2016 22:57:13% Begin initialization code - DO NOT EDIT gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn',z1_OpeningFcn, ...[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT 'gui_OutputFcn', 'gui_LayoutFcn', 'gui_Callback', z1_OutputFcn, ...[] , ...[]); if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout% --- Executes just before z1 is made visible.function z1_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles s tructure with handles and user data (see GUIDATA)% varargin command line arguments to z1 (see VARARGIN)% Choose default command line output for z1 handles.output = hObject;% Update handles structure guidata(hObject, handles);axes(handles.axes3) map1=imread('1.bmp');imshow(map1)% UIWAIT makes z1 wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout =z1_OutputFcn(hObject, eventdata, handles)% varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structure varargout{1} = handles.output;% --- Executes on button press in pushbuttonRun.function pushbuttonRun_Callback(hObject, eventdata, handles) %主要计算程序r2=0.1;%单位mr3=0.4;%单位momiga2=str2double(get(handles.edit1,'String'));; % 单位rad/s x11=1:500 %单位msfor i=1:500theta2(i)=i*omiga2 /1000;theta3(i)=asin(-r2 /r3*sin(theta2(i))); B=[-r2*omiga2*sin(theta2(i));r2*omiga2*cos(theta2(i))];A=[r3*sin(theta3(i)) 1;-r3*cos(theta3(i)) 0];X=inv(A)*B;omiga3(i)=X(1,1);v3(i)=X(2,1);end axes(handles.axes1) %制表1 plot(x11/1000,omiga3);xlabel('时间(t/s)')ylabel('连杆角速度3 3 (rad/s)') axes(handles.axes2) %制表2 plot(x11/1000,v3);xlabel(' 时间( t/s) ') ylabel(' 滑块速度v1( m/s ) ')% hObject handle to pushbuttonRun (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end% --- Executes on butt on press in pushbutt on Exit.function pushbutt on Exit_Callback(hObject, even tdata, han dies)ss=questdlg('确认退出?','退出信息窗口!','继续仿真!','退出仿真!','退出仿真!');switch sscase 退出仿真!'delete(ha ndles.figurel);endhan dle to pushbutt on Exit (see GCBO) reserved - to be defi ned in a future version of MATLAB% han dles structure with han dles and user data (see GUIDATA)四、使用指南和实例仿真进入MATLAB 软件,打开并运行程序初始界面:对 山的值进行修改,修改为实例中的 50*2*pi=314.16,点击开始仿% hObject % even tdata真按钮,得到仿真结果:曲柄滑块机构的运动学仿真T2-D 1mr3='0.'lTn r------------314.16 !瞬制t防is时间a 55点击退出仿真按钮,进入退出界面:谕Ht対J1恂亍京;引-12=翊旳1 H3=4634t rl>drlM>疋pa E日>—-f4 -点击继续仿真按钮,则回到程序界面;点击退出仿真按钮,则退出程序。

相关文档
最新文档