北京交通大学
机械原理
——解析法专项研究报告
课程题目:课题二——程序的分析与改进 指导老师:张英
组 长:程先科(09225031) 组 员:段晗晗(09225032)
侯 晨(07225032)
班 级:机电0907班 专 业:铁路机车车辆
一、研究背景:在机械原理中,机构分析与综合有图解法和解析法,图解法形象直观,
概念清晰,但作图繁琐,精度不高,对于精度要求比较高或较复杂的问题该方法将无能为力。解析法以机构参数来表达各构件间的函数关系,通过求解机构的位置方程求解未知量,可以克服图解法效率低、误差大的缺点。随着对机构分析与设计精度和效率要求的提高,在机械分析设计中采用解析法已显得必要而且可能。借助计算机,解析法可以避免大量人工重复计算,速度快、精度高,能解决较复杂的问题,而且便于与优化设计等现代设计方法结合起来应用,以获得更能符合客观实际、更科学、更精确的设计方案。为此,针对课程中的重点内容----运动分析、连杆机构和凸轮机构的设计问题,设置了解析法的专项研究。
二、研究目的:学习利用计算机作为工具,来完成机构的分析和设计过程。培养自身应用
现代设计方法和手段,进行机构分析、综合与仿真等解决工程实际问题的思维方法和基本技能。
三、研究题目:第二类:共有4 个题目,可任选一个进行分析或设计,也可自选题目,但须让教师审核。做法:在给出的MATHMETIC 范例中选择一个,通过研究其分析思路和
其功能实现方式等对其进行消化,最终掌握使用该语言进行机构运动分析的编程方法和相关函数的应用规则,进而在原程序的基础上增加对其它运动参数的分析及结果的输出。
四、研究要求:(1)要求有明确的分析思路、会画流程图、会建立数学模型,会编制电算
程序进行运动分析,打印结果和相关曲线,并研究机构运动尺寸与其输出运动参数的关系。 (2)在范例的基础上,增加各运动构件各运动参数,包括位移(角位移)、速度(角速度)和加速度(角加速度)数值及运动线图的输出。
五、使用软件:MATHMETIC
六、研究思路:
1、 选择范例: 2、 研读每条语句
Manipulate[
shaft1=Cylinder[{{0,0,0},{0,0,0.24}},0.3]; 建立一个圆柱1 shaft0={RGBColor[0.8,0.8,0.5], 颜色调整 Cylinder[{{0,0,0.3},{0,0,-1}},0.15]}; 圆柱2 shaft2={RGBColor[0.8,0.8,0.5],
Cylinder[{{0,g,0},{0,g,-1}},0.14]}; 圆柱3 pin={RGBColor[0.8,0.3,0.5],
Rotate[Cylinder[{{0, g-R,0},{0, g-R ,0.3}},r],rot,{0,0,1},{0,g,0}]};
圆柱4,绕点(0,g,0)旋转
alf=ArcTan[R Sin[rot]/(g-R Cos[rot])]; 角alf fork1=Cuboid[{-r-0.1,0,0},{-r,2,0.2}]; 长方体1 fork2=Cuboid[{r,0,0},{r+0.1,2,0.2}]; 长方体2 fork={Specularity[0.6],RGBColor[0.2,0.5,0.6], Rotate[{fork1,fork2},-alf,{0,0,1}]};
crank={RGBColor[0.4,0.8,0.2],
Rotate[Cuboid[{-0.3,0.3,-0.02},{0.3,g+0.3,-0.2}],rot,{0,0,1},{0,g,0}]};
长方体3,绕(0,g ,0)旋转
housing=Cuboid[{-1,-0.5,-0.6},{1,1.8,-1.4}]; 底座 pointer={Specularity[0.6],RGBColor[0.2,0.5,0.6],
Rotate[Cuboid[{-r,0,0},{r,-1,0.2}],-alf,{0,0,1}]}; 长方体4 Graphics3D[
{pointer,housing,pin,crank,fork,shaft0,shaft1,shaft2}, Boxed->False,
SphericalRegion->True, ImageSize->380, ViewAngle->0.06, ViewPoint-> {10,-5,10},
PlotRange-> {{-1.5,1.5},{-1.2,2.8},{-2,0.5}}], {{rot,-1,"rotate"},-2Pi,2Pi}, {{g,1.2,"shaft spacing"},1,1.4}, {{R,0.5,"crank length"},0.4,0.6},
{{r,0.13,"pin diameter"},0.05,0.15}](注:rot ,g ,R ,r 见图解
)
七、程序分析: 几种特殊函数:
①Manipulate
Manipulate
产生一个带有控件的
的版本,该控件允许 值交互式操作.
Manipulate 允许 值在 Manipulate
的初始值设置为
.
和
之间以步长 变化.
Manipulate
以 Manipulate
允许 取离散值
.
作为 的控件标签.
Manipulate
使控件可以操纵每个
.
Manipulate
把控件与外部设备上的一个指定的控制器相链接.
② Graphics3D
Graphics3D
表示一个三维图形.
③Cylinder
Cylinder
表示半径为 围绕从
到
的线段的圆柱体.
Cylinder
表示半径为 1 的圆柱体.
④Cuboid
Cuboid
是一个三维基本图形,表示了一个单位立方体,方向平行于与轴心.
Cuboid
指定一个由对角坐标给定的立方体.
⑤RGBColor
RGBColor
是一个图形指令,指定图形对象按给定的颜色显示.
RGBColor
指定不透明度 .
八、程序改进:
rot=w2*t;
vAx[rot_,R_]:=R*Cos[rot]*w2; vAy[rot_,R_]:=R*Sin[rot]*w2;
vA[rot_,R_]:=Sqrt[vAx[rot,R]^2+vAy[rot,R]^2]; afA[t_,R_]:=(w2)^2*R;
aqA[t_,R_]:=D[vA[(w2*tt),R],tt]/.tt->t; Alf[rot_,R_]:=ArcTan[R Sin[rot]/(g-R Cos[rot])]; wB[t_,R_]:=D[Alf[(w2*tt),R],tt]/.tt->t; awB[t_,R_]:=D[wB[(w2*tt),R],tt]/.tt->t;
{Plot[{vAx[rot,R]},{rot,-4*Pi,4*Pi},
PlotStyle->Directive[Thick],PlotRange->{{-4*Pi,4Pi},{-1.5,1.5}},
PlotLabel->"X方向速度",ImageSize->{250,200}, Epilog->{Blue,PointSize[.06],Point[{rot,vAx[rot,R]}]}]}
九、运行结果:
十、研究总结:
在这次研究过程中,确实遇到了很多问题。在看书不能解决问题的情况下,请教老师同学最终是问题得到解决。从中也收获了很多,真正体会到了自主学习的重要性。使我们都得到了一点锻炼,相信在以后的学习和工作中就不会像之前没学过那样陌生,能使我们更好的更快的适应新的学习环境。
北京交通大学
机械原理
——解析法专项研究报告
课程题目:课题二——程序的分析与改进 指导老师:张英
组 长:程先科(09225031) 组 员:段晗晗(09225032)
侯 晨(07225032)
班 级:机电0907班 专 业:铁路机车车辆
一、研究背景:在机械原理中,机构分析与综合有图解法和解析法,图解法形象直观,
概念清晰,但作图繁琐,精度不高,对于精度要求比较高或较复杂的问题该方法将无能为力。解析法以机构参数来表达各构件间的函数关系,通过求解机构的位置方程求解未知量,可以克服图解法效率低、误差大的缺点。随着对机构分析与设计精度和效率要求的提高,在机械分析设计中采用解析法已显得必要而且可能。借助计算机,解析法可以避免大量人工重复计算,速度快、精度高,能解决较复杂的问题,而且便于与优化设计等现代设计方法结合起来应用,以获得更能符合客观实际、更科学、更精确的设计方案。为此,针对课程中的重点内容----运动分析、连杆机构和凸轮机构的设计问题,设置了解析法的专项研究。
二、研究目的:学习利用计算机作为工具,来完成机构的分析和设计过程。培养自身应用
现代设计方法和手段,进行机构分析、综合与仿真等解决工程实际问题的思维方法和基本技能。
三、研究题目:第二类:共有4 个题目,可任选一个进行分析或设计,也可自选题目,但须让教师审核。做法:在给出的MATHMETIC 范例中选择一个,通过研究其分析思路和
其功能实现方式等对其进行消化,最终掌握使用该语言进行机构运动分析的编程方法和相关函数的应用规则,进而在原程序的基础上增加对其它运动参数的分析及结果的输出。
四、研究要求:(1)要求有明确的分析思路、会画流程图、会建立数学模型,会编制电算
程序进行运动分析,打印结果和相关曲线,并研究机构运动尺寸与其输出运动参数的关系。 (2)在范例的基础上,增加各运动构件各运动参数,包括位移(角位移)、速度(角速度)和加速度(角加速度)数值及运动线图的输出。
五、使用软件:MATHMETIC
六、研究思路:
1、 选择范例: 2、 研读每条语句
Manipulate[
shaft1=Cylinder[{{0,0,0},{0,0,0.24}},0.3]; 建立一个圆柱1 shaft0={RGBColor[0.8,0.8,0.5], 颜色调整 Cylinder[{{0,0,0.3},{0,0,-1}},0.15]}; 圆柱2 shaft2={RGBColor[0.8,0.8,0.5],
Cylinder[{{0,g,0},{0,g,-1}},0.14]}; 圆柱3 pin={RGBColor[0.8,0.3,0.5],
Rotate[Cylinder[{{0, g-R,0},{0, g-R ,0.3}},r],rot,{0,0,1},{0,g,0}]};
圆柱4,绕点(0,g,0)旋转
alf=ArcTan[R Sin[rot]/(g-R Cos[rot])]; 角alf fork1=Cuboid[{-r-0.1,0,0},{-r,2,0.2}]; 长方体1 fork2=Cuboid[{r,0,0},{r+0.1,2,0.2}]; 长方体2 fork={Specularity[0.6],RGBColor[0.2,0.5,0.6], Rotate[{fork1,fork2},-alf,{0,0,1}]};
crank={RGBColor[0.4,0.8,0.2],
Rotate[Cuboid[{-0.3,0.3,-0.02},{0.3,g+0.3,-0.2}],rot,{0,0,1},{0,g,0}]};
长方体3,绕(0,g ,0)旋转
housing=Cuboid[{-1,-0.5,-0.6},{1,1.8,-1.4}]; 底座 pointer={Specularity[0.6],RGBColor[0.2,0.5,0.6],
Rotate[Cuboid[{-r,0,0},{r,-1,0.2}],-alf,{0,0,1}]}; 长方体4 Graphics3D[
{pointer,housing,pin,crank,fork,shaft0,shaft1,shaft2}, Boxed->False,
SphericalRegion->True, ImageSize->380, ViewAngle->0.06, ViewPoint-> {10,-5,10},
PlotRange-> {{-1.5,1.5},{-1.2,2.8},{-2,0.5}}], {{rot,-1,"rotate"},-2Pi,2Pi}, {{g,1.2,"shaft spacing"},1,1.4}, {{R,0.5,"crank length"},0.4,0.6},
{{r,0.13,"pin diameter"},0.05,0.15}](注:rot ,g ,R ,r 见图解
)
七、程序分析: 几种特殊函数:
①Manipulate
Manipulate
产生一个带有控件的
的版本,该控件允许 值交互式操作.
Manipulate 允许 值在 Manipulate
的初始值设置为
.
和
之间以步长 变化.
Manipulate
以 Manipulate
允许 取离散值
.
作为 的控件标签.
Manipulate
使控件可以操纵每个
.
Manipulate
把控件与外部设备上的一个指定的控制器相链接.
② Graphics3D
Graphics3D
表示一个三维图形.
③Cylinder
Cylinder
表示半径为 围绕从
到
的线段的圆柱体.
Cylinder
表示半径为 1 的圆柱体.
④Cuboid
Cuboid
是一个三维基本图形,表示了一个单位立方体,方向平行于与轴心.
Cuboid
指定一个由对角坐标给定的立方体.
⑤RGBColor
RGBColor
是一个图形指令,指定图形对象按给定的颜色显示.
RGBColor
指定不透明度 .
八、程序改进:
rot=w2*t;
vAx[rot_,R_]:=R*Cos[rot]*w2; vAy[rot_,R_]:=R*Sin[rot]*w2;
vA[rot_,R_]:=Sqrt[vAx[rot,R]^2+vAy[rot,R]^2]; afA[t_,R_]:=(w2)^2*R;
aqA[t_,R_]:=D[vA[(w2*tt),R],tt]/.tt->t; Alf[rot_,R_]:=ArcTan[R Sin[rot]/(g-R Cos[rot])]; wB[t_,R_]:=D[Alf[(w2*tt),R],tt]/.tt->t; awB[t_,R_]:=D[wB[(w2*tt),R],tt]/.tt->t;
{Plot[{vAx[rot,R]},{rot,-4*Pi,4*Pi},
PlotStyle->Directive[Thick],PlotRange->{{-4*Pi,4Pi},{-1.5,1.5}},
PlotLabel->"X方向速度",ImageSize->{250,200}, Epilog->{Blue,PointSize[.06],Point[{rot,vAx[rot,R]}]}]}
九、运行结果:
十、研究总结:
在这次研究过程中,确实遇到了很多问题。在看书不能解决问题的情况下,请教老师同学最终是问题得到解决。从中也收获了很多,真正体会到了自主学习的重要性。使我们都得到了一点锻炼,相信在以后的学习和工作中就不会像之前没学过那样陌生,能使我们更好的更快的适应新的学习环境。