当前位置:首页 >> 机械/仪表 >>

基于MATLAB实现平面四杆机构运动仿真


·50 ·
文章编号 : 1002 - 6886 ( 2005 ) 04 - 0050 - 03

现代机械  2005 年第 4 期

  

基于 M ATLAB实现平面四杆机构运动仿真
王静文 , 刘舜尧 , 莫江涛
( 中南大学 机电工程学院 , 湖南   长沙  410083)

r />
摘要 : 本文利用 MA TLAB 软件实现平面四杆机构及其演化形式的运动仿真 ,为平面四杆机构的设计与分析提供一条便捷的 途径 。 关键词 : 平面四杆机构   运动仿真  MATLAB K in ema tic S i ula tion of Planar Four 2bar M echan is Ba sed on M ATLAB m m
[1 ] [2 ]

平面四杆机构是一类工程中广泛使用的典型运动机构 , 它的运动分析是机构学中典型的机构运动分析之一 。如果设 计平面四杆机构时能及时图示其运动轨迹 , 从而将图示结果 与设计要求相比较 ,可以使设计者及时修改设计中的偏差 ,提 高设计效率 。 目前 ,MATLAB 已成为国际上最流行的科学与工程计算 软件 ,它在国内外高校和科研部门正扮演着越来越重要的角 色 ,功能也越来越强大 。可以预见 ,在科学运算与科学绘图领 域 ,MATLAB 语言将长期保持其独一无二的地位 。本文试图 利用 MATLAB 语言强大的数值计算能力实现平面四杆机构 的运动仿真 ,为平面四杆机构的设计及分析提供一条便捷的 途径 。

简图 。图中 , L 1 为原动件 、 3 为 L 从动件 、 2 为连杆 、 0 为机架 , L L 设各杆长分别为 L 1 、 3 、 2 、 0 , L L L 原动件 L 1 以角速度 ω1 匀速运 动 , 求从动件 L 3 的角位移方程 。 各个杆矢量 , 得到矢量方程为 :
L1 e
θ i 1

which give another efficacious way for the design and analysis of p lanar four2bar mechanis m.

1  前言

2  平面四杆机构的运动仿真

2. 1 机构运动的数学模型 图 1 为平面四杆机构结构

将平面四杆机构看成 1 个封闭矢量多边形 , 用复数表示
+ L2 e
θ i 2

由上式区分出实部和虚部 , 可以得到 : θ θ θ L 1 cos 1 + L 2 cos 2 - L 3 cos 3 - L 0 = 0 θ θ θ L 1 sin 1 + L 2 sin 2 - L 3 sin 3 = 0

从上述两个方程中消去 θ , 便可化成一个只包括 θ 和 θ 2 1 3

  作者简介 : 王静文 ( 1977 —) ,女 ,中南大学机电工程学院硕士研究生 。   收稿日期 : 2005 - 3 - 18

Abstract: This paper focus on the kinematic sim ulation of p lanar four2bar mechanis and its evolutions w ith soft are MA TLAB , m w Key words: p lanar four2bar mechanis kinematic sim ulation; MA TLAB m;

= L0 + L 3 e

θ3 i

W ANG J in g 2wen, L IU Shun 2rao, MO J iang2tao

的方程 , 给定 θ , 可求出满足此方程的 θ 。 1 3 由 ( 2 )得 : θ θ θ sin 2 = ( L 3 sin 3 - L 1 sin 1 ) /L 2 θ 将 ( 4 ) 式及 cos 2 =
2

( 4)

1 - sin θ代入 ( 2 ) 式 , 得 : 2 1L2

θ f (θ ,θ ) = L 1 cos 1 + L 2 1 3

θ θ L 3 sin 3 - L 1 sin 1



θ ( 5) ← - L 3 cos 3 - L 0 = 0 在 θ 给定时 , 求能使 f (θ ) = 0 的 θ 值即可 。 1 3 3 θ 确定后 , 对其求一阶导数 , 则可确定从动件 L 3 的角速 3

度方程 : ω3 = d 3 / d t θ ( 6) 对 ( 6 ) 式再求一阶导数 , 则可确定从动件 L 3 的角加速度 方程 : ε = d 3 / dt ω ( 7) 3 2. 2 运动仿真的 M ATLAB实现 为了求得能使 f (θ ) = 0 的 θ 值 , 可调用 MATLAB 中的 3 3
fzero 函数 。为此 ,要把 f = f (θ ) 单独定义为一个 MATLAB 函 3

( 1) ( 2) ( 3)

数 four_bar_equation. m ,在主程序 four_bar m 中调用 。 . 函数 fzero用来求解方程 f ( x) = 0 的根 , 其一般格式为 : x = fzero ( fun, x0 ) 。其中 , fun 是函数 f ( x) 的 M 文件或内联 函数 , 本文中 fun 即为 four_bar_equation. m , x 是最后求得的 根 , x0 是根的初始猜测值 。 解出角位移 θ 后 , 可采用角位移对时间的差商来求解 3 ( 6 ) 式 , 以确定从动件的角速度 ; 同理 , 求出角速度对时间的 差商即可确定从动件的角加速度 。这在 MATLAB 中可调用 diff函数 。 函数 diff用于求解向量的一阶差分 ,其一般格式为 : y = diff ( x) 。 为了实现平面四杆机构的运动仿真 , 还需用到 MATLAB 的句柄图形 ,相关函数为 line、 、 set drawnow 等 , 在此不在详细

  

计算机应用
1) ) ; ( th1) ;

·51 ·

介绍 ,读者可参考 MATLAB 相关书籍 [ 3 ]或帮助文件 。 1 )主程序 four_bar m . function four_bar
global L0 L1 L2 L3 th1 str = inputdlg ( { ’ Please input 机架长 ( rack_ length ) L0: ’ ’ , Please input crank _ length L1: ’ ’ , Please input linkage _ length L2: ’ ’ , Please input rock _ length L3 ( 13 < L3 < = 20. 6 ) : ’ ’ , Please input w1 ( rad / sec) : ’ ’ , Please input repeat tim es m: ’ ’ , Please input initial theta3 ( rad ) : ’ , ’Please input! ’ 1, { ’ } , 20 ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ) ; , 8 , 25 , 20 , 100 , 10 , 1 } L0 = str2num ( str{1} ) ; L1 = str2num ( str{2} ) ; L2 = str2num ( str{3} ) ; L3 = str2num ( str{4} ) ; w1 = str2num ( str{5} ) ; m = str2num ( str{6} ) ; theta3 = str2num ( str{7} ) ; dt = 2 3 p i/180 /w1; axis equal; for i = 1: m t = linspace (0, 2 3 p i/w1, 181) ; theta1 =w1 3 t; th1 = theta1 (1) ;

b]) ;

_c ] ) ; d]) ;

theta3 ( 1 ) = fzero ( ’ four_bar_equation ’ theta3 ) ; ,

off’ ’ , position ’ [ 232 199 617 479 ] ) ; ,

mode ’ ’ , none ’ ’ , markersize ’ 40 ) ; , mode ’ ’ , none ’ ’ , markersize ’ 40) ; ,

erasemode ’ ’ ’ ’ , xor , markersize ’ 15 ) ; , erasemode ’ ’ ’ ’ , xor , markersize ’ 15) ; , estyle ’ ’- ’ ’ , , erasemode ’ ’ ’ ; , xor ) estyle ’ ’- ’ ’ , , erasemode ’ ’ ’ ; , xor ) estyle ’ ’- ’ ’ , , erasemode ’ ’ ’ ; , xor )

( 1 ) ) ; y_c = y_d +L3 3 sin ( theta3 ( 1 ) ) ;

) - ’’ , linew idth ’ 3, ’ , erasemode ’ ’ , none ’ ;

x_a = 0; y_a = 0; x_b = x_a +L1 3 cos ( theta1 ( 1 ) ) ; y_b = y_a +L1 3 sin ( theta1 (1) ) ; axis ( [ - L1 - L0 /3 L2 +L3 - L0 /3 - L1 L3 ] ) ;

x_d = x_ a + L0; y_d = y_a; x_ c = x_d + L3 3 cos ( theta3

2. 3 仿真程序运行结果

figure ( ’ name ’ ’ , four_bar_movie. . . . . . ’ ’ , numbertitle ’ ’ , line ( [ x_a; x_d ] , [ y_a; y_d ] , ’ color’ ’ ’ ’ , m , linestyle ’ ’ , line ( x _ a, y _ a, ’color ’ ’ ’ ’linestyle ’ ’ ’ ’erase2 , b , , . , line ( x _ d, y _ d, ’ color ’ ’ ’ ’linestyle ’ ’ ’ ’ , b , , . , erase2 line_ab = line ( [ x_a; x_b ] , [ y_a; y_b ] , ’ color’ ’’ ’ 2 , r , lin line_bc = line ( [ x_b; x_c ] , [ y_b; y_c ] , ’ color’ ’ ’ ’ 2 , g , lin line_cd = line ( [ x_c; x_d ] , [ y_c; y_d ] , ’ color’ ’ ’ ’ 2 , b , lin

图 2 为仿真程序运行过程中的两个瞬时画面 , 图 3 为仿 真运行结束的四杆机构运动轨迹 。

dot_b = line ( x_ b, y_ b, ’ color’ ’ ’ ’ , b , linestyle ’ ’ ’ ’ , . , dot_c = line ( x_ c, y _ c, ’ color’ ’ ’ ’ , b , linestyle ’ ’ ’ ’ , . ,

同时 ,利用 MATLAB 的绘图函数 p lot可将从动件的角位 移、 角速度及角加速度用图形表示 ,分别见图 4、 5、 6。 图 图

   x_b_cl ( j, 1 ) = x_b; y_b_cl ( j, 1 ) = y_b;    x_c = x_d +L3 3 cos ( theta3 ( j) ) ; y_c = y_d + L3 3 ( theta3 ( j) ) ; sin    x_c_cl( j, 1) = x_c; y_c_cl( j, 1) = y_c;     set ( dot_b, ’ xdata ’ x_b, ’ data ’ y_b ) ; , y ,     set ( dot_c, ’ xdata ’ x_c, ’ , ydata ’ y_c ) ; ,    drawnow;   end
end w3 = diff ( theta3 ) / dt; a3 = diff (w3) / dt; 2)子程序 four_bar_equation. m function y = four_bar_equation ( x)

  for j = 2: 181

    th1 = theta1 ( j) ;     theta3 ( j) = fzero ( ’ four_bar_equation ’ theta3 ( j ,

global L0 L1 L2 L3 th1 y =L1 3 cos ( th1 ) + L2 3 sqrt ( 1 - ( L3 3 sin ( x) - L1 3 sin ( th1 ) ) ^ /L2 /L2 ) - L3 3 cos ( x) - L0; 2

   x_b = x_ a + L1 3 cos ( th1 ) ; y_ b = y_ a + L1 3 sin

    set( line_ab, ’ xdata ’ [ x_a; x_b ] , ’ydata ’ [ y_a; y_ , ,     set ( line_bc, ’ xdata ’ [ x_b; x_c ] , ’ , ydata ’ [ y_b; y ,     set ( line_cd, ’ xdata ’ [ x_c; x_d ] , ’ , ydata ’ [ y_c; y_ ,

·52 ·

现代机械  2005 年第 4 期

  

2. 4 平面四杆机构演化形式的运动仿真

同理 ,仿照以上方法 ,不难实现平面机构演化形式的运动 仿真 。 1 )曲柄滑块机构的运动仿真 曲柄滑块机构的从动件滑块的位移可以显式地求出 , 不 需要用到 fzero 函数 ,故不需要编写子程序 , 在主程序中就能 够完成求解 。 图 7、 8 分别为正置曲柄滑块机构 、 图 偏置曲柄滑块机构 的仿真画面 。

曲柄摆杆机构的典型应用为牛头刨床 ,图 12 为牛头刨床 的运动仿真画面 。图 13、 14 分别为其输出的位移 、 图 速度曲 线。

3  结论
图 9、 10、 11 分别为正置曲柄滑块机构滑块的位移 、 图 图 速度及加速度曲线 。 本文借助与工程计算软件 MATLAB 成功实现了四杆机 构及其演化形式的运动仿真 ,结果表明 ,运用这种方法可以提 高四杆机构设计及分析效率 。本文的程序在 MATLAB 6. 5 版 中调试通过 。 参考文献
1 周晓阳 . 数学实验与 MATLAB. 武汉 : 华中科技大学出版社 , 2002 2 陈怀琛 . MATLAB 及其在理工课程中的应用指南 . 西安 : 西安电子科

技大学出版社 , 2000
3 张志涌. 精通 MAT LAB 6. 5版. 北京 :北京航空航天大学出版社 , 2003

(上接第 24 页 )

3  结束语
运用虚拟样机技术对弧面分度凸轮机构进行动态仿真 ,得 到该凸轮机构随各种参数变化的响应特性 ,从而验证虚拟样机 技术在分度凸轮机构仿真中的可行性 。同时为以后对弧面分 度凸轮机构进行设计 、 、 制造 安装及使用提供强有力的依据 。 参考文献
1 U sing MSC. ADAMS / Function Builder Version 9. MD I, 1998 . 2 G B ianch, L. Molinari Tosatti V irtual Prototyp ing of Parallel Mechanis s . . m. Proc Instn Mech Engrs Vol 216 Part K: Multi - body Dynam ics, 2002

3 Sadowski DA. Tip s for Successful Practice of Sim ulation. Proceedings of the 1999 W inter Sim ulation Conference, December 5 - 8, 1999 4 郑建荣 . ADAMS - 虚拟样机技术入门与提高 [M ]. 北京 : 机械工业

出版社 , 2002
5 李军 ,邢俊文等 . ADAMS实例教程 [M ]. 北京 : 北京理工大学出版

社 , 2002
6 王国强 ,张进平等 . 虚拟样机技术及其在 ADAMS上的实践 [M ]. 西

安 : 西北工业大学出版社 , 2002
7 龙凯 , 程颖 . MSC. ADAMS 软件在齿轮啮合力仿真计算中的应用 [ J ]. 2002MSC. Software中国用户论文集 , 2002 8 曹巨江 ,陈雪峰 . 弧面凸轮诱导主曲率与接触应力 [ J ]. 机械设计 , 2001 ( 11) 9 徐芝纶 . 弹性力学 [M ]. 北京 : 高等教育出版社 , 1990


相关文章:
基于matlab GUI的平面四杆机构的运动分析
基于matlab GUI 的平面四杆机构的运动分析一、目的通过 matlab 对平面四杆机构进行运动仿真,并以 GUI 界面方式实现输入输 出的参数化,对平面四杆机构进行位置分析...
基于MATLAB的四杆机构运动分析
i 基于 MATLAB四杆机构运动分析与 动画模拟系统要] 本文介绍MATLAB开发机构运动分析和动画模拟系统的方法,并且利用 [摘 MATLAB软件实现平面四杆机构运动仿真。...
平面四杆机构的设计与运动分析Matlab代码
平面四杆机构的设计与运动分析 M 代码平面四杆机构的设计 M 代码---A=[cos(50*pi/180),cos((50-35)*pi/180),1;cos(75*pi/180),cos((75-80)*pi/...
基于matlab的四杆机构运动分析
曲柄摇杆机构是平面连杆机构中最基本的由转动副组成的四杆机构,它可以用来实现转...MATLAB 的可 视化手段,把各点的计算值拟合成曲线,得到四连杆机构运动仿真...
基于MATLAB铰链四杆机构的 运动分析 代码
基于MATLAB铰链四杆机构运动分析 代码_机械/仪表_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档 基于MATLAB铰链四杆机构运动分析 代码_机械/仪表_...
基于MATLAB的平面四杆机构运动学分析
基于MATLAB平面四杆机构运动学分析雷经发 1, 扈静 2, 魏涛 2 (1.安徽建筑工业学院 机械与电气工程系,合肥 230601;2.合肥工业大学 机械与汽车工程学院,合肥...
平面六杆机构的运动分析Matlab代码
平面杆机构运动分析 M 代码 %参数赋值 clc,clear l0=22; l1=40; l2=55; l3=55; l4=44; l5=35; M=-1; Omiga1=10; Theta1=0:0.01:360; ...
平面连杆机构优化设计及运动仿真
摘要:以四杆机构为例,根据其设计要求和特点,建立了四杆机构的优化设计数学模型...关键词:平面连杆机构 matlab 优化设计 运动仿真 引言 连杆机构由于能有效地实现...
在MATLAB环境下开发平面连杆机构运动分析系统
煤矿机械, 2005(4):544-546 [20] 王静文,刘舜尧,莫江涛,等基于 MATLAB 实现平面四杆机构运动仿真[J].现代机械, 2005{4}:50-52 [21] http://www.ilove...
更多相关标签:
用matlab实现gps仿真 | matlab仿真 | matlab建模与仿真应用 | 倒立摆matlab仿真 | matlab仿真教程 | 模糊控制matlab仿真 | matlab电机仿真 | matlab光学仿真 |