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

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


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

现代机械  2005 年第 4 期

  

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

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

Abstract: This paper focus on the kinematic sim ulation of p lanar four2bar mechanis m and its evolutions w ith soft w are MA TLAB , which give another efficacious way for the design and analysis of p lanar four2bar mechanis m. Key words: p lanar four2bar mechanis m; kinematic sim ulation; MA TLAB

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

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

( 4)

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

θ θ L 3 sin 3 - L 1 sin 1
L2



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

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

简图 。图中 , L 1 为原动件 、 L3 为 从动件 、 L 2 为连杆 、 L 0 为机架 , 设各杆长分别为 L 1 、 L3 、 L2 、 L0 , 原动件 L 1 以角速度 ω1 匀速运 动 , 求从动件 L 3 的角位移方程 。 将平面四杆机构看成 1 个封闭矢量多边形 , 用复数表示 各个杆矢量 , 得到矢量方程为 :
L1 e
θ i 1

+ L2 e

θ i 2

= L0 + L 3 e

θ i 3

( 1) ( 2) ( 3)

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

从上述两个方程中消去 θ 2 , 便可化成一个只包括 θ 1和θ 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 等 , 在此不在详细

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

  

计算机应用
1) ) ;

?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} ) ; t = linspace (0, 2 3 p i/w1, 181) ; dt = 2 3 p i/180 /w1; theta1 =w1 3 t; th1 = theta1 (1) ; theta3 ( 1 ) = fzero ( ’ four_bar_equation ’ , theta3 ) ; x_a = 0; y_a = 0; x_b = x_a +L1 3 cos ( theta1 ( 1 ) ) ; y_b = y_a +L1 3 sin ( theta1 (1) ) ; x_d = x_ a + L0; y_d = y_a; x_ c = x_d + L3 3 cos ( theta3 ( 1 ) ) ; y_c = y_d +L3 3 sin ( theta3 ( 1 ) ) ; figure ( ’ name ’ ,’ four_bar_movie. . . . . . ’ ,’ numbertitle ’ ,’ off’ ,’ position ’ , [ 232 199 617 479 ] ) ; line ( [ x_a; x_d ] , [ y_a; y_d ] , ’ color’ ,’ m’ ,’ linestyle ’ ,’ ); - ’ ,’ linew idth ’ , 3, ’ erasemode ’ ,’ none ’ line ( x _ a, y _ a, ’color ’ ,’ b’ , ’linestyle ’ ,’ . ’ , ’erase2 mode ’ ,’ none ’ ,’ markersize ’ , 40 ) ; line ( x _ d, y _ d, ’ color ’ ,’ b’ , ’linestyle ’ ,’ . ’ ,’ erase2 mode ’ ,’ none ’ ,’ markersize ’ , 40) ; dot_b = line ( x_ b, y_ b, ’ color’ ,’ b’ ,’ linestyle ’ ,’ . ’ ,’ erasemode ’ ,’ xor’ ,’ markersize ’ , 15 ) ; dot_c = line ( x_ c, y _ c, ’ color’ ,’ b’ ,’ linestyle ’ ,’ . ’ ,’ erasemode ’ ,’ xor’ ,’ markersize ’ , 15) ; line_ab = line ( [ x_a; x_b ] , [ y_a; y_b ] , ’ color’ ,’ r’ ,’ lin2 ); estyle ’ , ’- ’ ,’ erasemode ’ ,’ xor’ line_bc = line ( [ x_b; x_c ] , [ y_b; y_c ] , ’ color’ ,’ g’ ,’ lin2 ); estyle ’ , ’- ’ ,’ erasemode ’ ,’ xor’ line_cd = line ( [ x_c; x_d ] , [ y_c; y_d ] , ’ color’ ,’ b’ ,’ lin2 ); estyle ’ , ’- ’ ,’ erasemode ’ ,’ xor’ axis ( [ - L1 - L0 /3 L2 +L3 - L0 /3 - L1 L3 ] ) ; axis equal; for i = 1: m

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

   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 ( sin theta3 ( j) ) ;    x_c_cl( j, 1) = x_c; y_c_cl( j, 1) = y_c;     set ( dot_b, ’ xdata ’ , x_b, ’ ydata ’ , y_b ) ;     set ( dot_c, ’ xdata ’ , x_c, ’ ydata ’ , y_c ) ;     set( line_ab, ’ xdata ’ , [ x_a; x_b ] , ’ydata ’ , [ y_a; y_
b]) ;

    set ( line_bc, ’ xdata ’ , [ x_b; x_c ] , ’ ydata ’ , [ y_b; y
_c ] ) ;

    set ( line_cd, ’ xdata ’ , [ x_c; x_d ] , ’ ydata ’ , [ y_c; y_
d]) ;

   drawnow;   end
end w3 = diff ( theta3 ) / dt; a3 = diff (w3) / dt; 2)子程序 four_bar_equation. m function y = four_bar_equation ( x) global L0 L1 L2 L3 th1 y =L1 3 cos ( th1 ) + L2 3 sqrt ( 1 - ( L3 3 sin ( x) - L1 3 sin ( th1 ) ) ^ 2 /L2 /L2 ) - L3 3 cos ( x) - L0; 2. 3 仿真程序运行结果

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

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

  for j = 2: 181     th1 = theta1 ( j) ;     theta3 ( j) = fzero ( ’ four_bar_equation ’ , theta3 ( j -

?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 2G . B ianch, L. Molinari Tosatti . V irtual Prototyp ing of Parallel Mechanis ms . 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代码
平面四杆机构的设计与运动分析 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的平面连杆机构运动分析及动画毕业论文
软件进行了优化设计和仿真分析,为机构优化设计提供了一种高效、直 观的仿真手段...17 4.1 基于 MATLAB平面四杆机构运动参数输入界面 ... 17 4.2 基于 MATLAB...
UG8.5平面四杆机构的装配与运动仿真
UG8.5 平面四杆机构的装配与运动仿真一、平面四杆机构图形 二、根据给出图形...基于MATLAB实现平面四杆... 3页 免费 1782_平面四杆机构的运动... 52页 ...
基于MATLAB的曲柄滑块机构运动的仿真
基于MATLAB 的曲柄滑 块机构运动仿真 摘要:本文在曲柄滑块机构运动简图的基础上,对其数学运动模型进行分析, 用解析法计算曲柄的转角和角速度,及滑块的位移和速度,...
基于matlab的4连杆机构设计
18 1 平面连杆机构的运动分析 1.1 机构运动分析的任务、目的和方法 曲柄摇杆机构是平面连杆机构中最基本的由转动副组成的四杆机构, 它可以用来 实现转动和摆动...
基于MATLAB曲柄滑块机构运动仿真报告_图文
基于MATLAB曲柄滑块机构运动仿真报告_表格类模板_表格/模板_实用文档。??? 计算机...所示的曲柄滑块机构的运动过程进行仿真,并用动画的方式显示 曲柄滑块机构的运动...
基于matlab中SimMechanics的四杆机构仿真
四杆机构运动学的基础上,利用 SimMechanics 工 具箱对该工程实例进行了仿真分析...基于MATLAB实现平面四杆... 3页 1下载券 喜欢此文档的还喜欢 MATLAB-SimMechani...
MATLAB的曲柄滑块和四杆机构的综合设计
B L2 A E L5 L1 D L3 C L4 2.仿真问题数学模型(1)四杆机构的设计:在...物理-曲柄滑块机构的运动... 5页 2下载券 基于MATLAB的曲柄滑块机... 4页...
更多相关标签: