哈工大机械原理大作业连杆机构运动分析29.doc_第1页
哈工大机械原理大作业连杆机构运动分析29.doc_第2页
哈工大机械原理大作业连杆机构运动分析29.doc_第3页
哈工大机械原理大作业连杆机构运动分析29.doc_第4页
哈工大机械原理大作业连杆机构运动分析29.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机械原理大作业一课程名称: 机械原理 设计题目: 连杆机构运动分析-29 院 系: 机电工程学院 班 级: 设 计 者: 学 号: 指导教师: 设计时间: 哈尔滨工业大学一、 设计题目(29)二、 VB编程得到动画、轨迹、位移、速度、加速度线图1. 用VB编写程序得到的机构动画2. 构件2上的E点轨迹3. 构件7的位移线图4. 构件7的速度线图5. 构件7的加速度线图三、 计算说明书(一) 建立机构运动分析数学模型l 对机构进行结构分析,找出基本杆组1. 基本杆组划分a) 杆件1为原动件 b) 构件2、3为RRR型II级杆组c) 构件4、5为RRR型II级杆组d) 构件6、7为RRP型II级杆组2. 结构分析与自由度计算 机构为平面连杆机构,活动构件数n=7,=10,转动副为9个,移动副为1个,高副为0个,则机构自由度为F=3n-2PL-PH=3x7-2x10=1。l 各基本杆组的运动分析数学模型1.原动件(I级构件)图1(1)位置分析B点位置方程 (1-1) (2)速度分析 把(1-1)对时间t求导得B速度方程 (1-2)(3)加速度分析把(2-2)对时间他求导得B加速度方程 (1-3)上式中 2. RRR杆组的运动分析3.RRP杆组的运动分析图2(1) 位置分析内运动副C的位置方程 (2-1)的转角 (2-2)式中满足装配条件滑块D相对参考点K的位移为 (2-3)滑块D的位置方程 (2-4)(2) 速度分析杆的角速度 (2-5)滑块D沿导路的移动速度 (2-6)式中内运动副C的速度为 (2-7)外移动副D的速度为 (2-8)(3) 加速度分析杆的角加速度 (2-9)滑块D沿导路移动的加速度为 (2-10)式中内运动副C的加速度 (2-11)滑块D的加速度 (2-12)以上为基本杆组的通用分析,根据已知条件进行赋值均在程序中体现(二) 计算流程框图(见下页)(三) VB编写程序清单定义变量Dim xA As Double A点的坐标、速度、加速度Dim yA As DoubleDim vxA As DoubleDim vyA As DoubleDim axA As DoubleDim ayA As DoubleDim xB As Double B点Dim yB As DoubleDim vxB As DoubleDim vyB As DoubleDim axB As DoubleDim ayB As DoubleDim xD As Double D点Dim yD As DoubleDim vxD As DoubleDim vyD As DoubleDim axD As DoubleDim ayD As DoubleDim xE As Double E点Dim yE As DoubleDim vxE As DoubleDim vyE As DoubleDim axE As DoubleDim ayE As DoubleDim xG As Double G点Dim yG As DoubleDim vxG As DoubleDim vyG As DoubleDim axG As DoubleDim ayG As DoubleDim xH As Double H点Dim yH As DoubleDim vxH As DoubleDim vyH As DoubleDim axH As DoubleDim ayH As DoubleDim xM As Double M点Dim yM As DoubleDim vxM As DoubleDim vyM As DoubleDim axM As DoubleDim ayM As DoubleDim xN As Double 参考点NDim yN As DoubleDim vxN As DoubleDim vyN As DoubleDim axN As DoubleDim ayN As DoubleDim xK As Double K点Dim yK As DoubleDim vxK As DoubleDim vyK As DoubleDim axK As DoubleDim ayK As DoubleDim delt1 As Double AB杆初始转角Dim L1 As Double AB杆长Dim f1 As Double AB杆转角Dim w1 As Double AB杆角速度Dim e1 As Double AB杆角加速度Dim L2 As Double BC杆Dim f2 As DoubleDim w2 As DoubleDim e2 As DoubleDim L3 As Double CD杆Dim f3 As DoubleDim w3 As DoubleDim e3 As DoubleDim LBE As Double BE杆Dim delt2 As DoubleDim L4 As Double EF杆Dim f4 As DoubleDim w4 As DoubleDim e4 As DoubleDim LFG As Double FG杆Dim f5 As DoubleDim w5 As DoubleDim e5 As DoubleDim deltGH As Double GH杆Dim LGH As DoubleDim L6 As Double HM(HK)杆Dim f6 As DoubleDim w6 As DoubleDim e6 As DoubleDim Lj As Double MK杆Dim fj As DoubleDim wj As DoubleDim ej As DoubleDim ss As Double 移动副K的位移Dim vss As Double 移动副K的速度Dim ass As Double 移动副K的加速度Dim pi As DoubleDim pa As DoubleDim i As DoubleDim fj1 As DoublePrivate Sub Command1_Click() 点E的轨迹Picture1.Scale (-50, 250)-(600, -100)Picture1.Line (-50, 0)-(600, 0) XPicture1.Line (0, 250)-(0, -100) YFor i = -50 To 600 Step 50 X轴坐标 Picture1.DrawStyle = 2 Picture1.Line (i, 250)-(i, -100) Picture1.CurrentX = i - 0: Picture1.CurrentY = 0 Picture1.Print i Next iFor i = -100 To 250 Step 50 Y轴坐标 Picture1.DrawStyle = 2 Picture1.Line (-50, i)-(600, i) Picture1.CurrentX = -20: Picture1.CurrentY = i + 7 Picture1.Print i Next iFor fj1 = 0 To 360 Step 0.01 f1 = fj1 * paCall RR1 Call RRR1 Call RR2 Picture1.PSet (xE, yE) Next fj1End SubPrivate Sub Command2_Click() 求点G的位移Picture2.Scale (-20, 300)-(380, 200)Picture2.Line (-20, 0)-(380, 0) XPicture2.Line (0, 300)-(0, 200) YFor i = 0 To 360 Step 30 X轴坐标 Picture2.DrawStyle = 2 Picture2.Line (i, 300)-(i, 0) Picture2.CurrentX = i - 10: Picture2.CurrentY = 0 Picture2.Print i Next iFor i = 200 To 300 Step 10 Y轴坐标 Picture2.Line (0, i)-(380, i) Picture2.CurrentX = -25: Picture2.CurrentY = i Picture2.Print i Next iFor fj1 = 0 To 360 Step 0.01 f1 = fj1 * pa Call RR1 Call RRR1 Call RR2 Call RRR2 Call RR3 Call RRP1 Picture2.PSet (fj1, ss) Next fj1End SubPrivate Sub Command3_Click() 求点G的速度Picture3.Scale (-30, 600)-(380, -600)Picture3.Line (-30, 0)-(380, 0) XPicture3.Line (0, 600)-(0, -600) YFor i = 0 To 360 Step 30 X轴坐标 Picture3.DrawStyle = 2 Picture3.Line (i, 600)-(i, -600) Picture3.CurrentX = i - 10: Picture3.CurrentY = 0 Picture3.Print i Next iFor i = -600 To 600 Step 50 Y轴坐标 Picture3.Line (0, i)-(380, i) Picture3.CurrentX = -28: Picture3.CurrentY = i Picture3.Print i Next iFor fj1 = 0 To 360 Step 0.01 f1 = fj1 * pa Call RR1 Call RRR1 Call RR2 Call RRR2 Call RR3 Call RRP1 Picture3.PSet (fj1, vss)Next fj1End SubPrivate Sub Command4_Click() 求点G的加速度Picture4.Scale (-20, 20000)-(380, -10000)Picture4.Line (-20, 0)-(380, 0) XPicture4.Line (0, 20000)-(0, -10000) YFor i = 0 To 360 Step 30 X轴坐标 Picture4.DrawStyle = 2 Picture4.Line (i, 20000)-(i, -10000) Picture4.CurrentX = i - 10: Picture4.CurrentY = 0 Picture4.Print i Next iFor i = -10000 To 20000 Step 1000 Y轴坐标 Picture4.Line (0, i)-(380, i) Picture4.CurrentX = -25: Picture4.CurrentY = i + 5 Picture4.Print i Next iFor fj1 = 0 To 360 Step 0.01 f1 = fj1 * pa Call RR1 Call RRR1 Call RR2 Call RRR2 Call RR3 Call RRP1 Picture4.PSet (fj1, ass)Next fj1End SubPrivate Sub Form_Load() 赋初值xA = 0yA = 0vxA = 0vyA = 0axA = 0ayA = 0xD = 730yD = -138vxD = 0vyD = 0axD = 0ayD = 0xG = 465yG = -248vxG = 0vyG = 0axG = 0ayG = 0xN = 545yN = 0vxN = 0vyN = 0axN = 0ayN = 0delt1 = 0L1 = 200w1 = 10e1 = 0L2 = 670L3 = 350delt2 = 0LBE = 335L4 = 380LFG = 130deltGH = 56 * paLGH = 100L6 = 486Lj = 0fj = pi / 2wj = 0ej = 0pi = 3.14pa = pi / 180End SubPublic Sub RR1() 杆ABxB = xA + L1 * Cos(f1 + delt1)yB = yA + L1 * Sin(f1 + delt1)vxB = vxA - w1 * L1 * Sin(f1 + delt1)vyB = vyA + w1 * L1 * Cos(f1 + delt1)axB = axA - w1 2 * L1 * Cos(f1 + delt1) - e1 * L1 * Sin(f1 + delt1)ayB = ayA - w1 2 * L1 * Sin(f1 + delt1) + e1 * L1 * Cos(f1 + delt1)End SubPublic Sub RRR1() 杆BCDDim xC As DoubleDim yC As DoubleDim vxC As DoubleDim vyC As DoubleDim axC As DoubleDim ayC As DoubleDim LBD As DoubleDim JCBD As DoubleDim val1 As DoubleDim fDB As DoubleDim C2 As DoubleDim C3 As DoubleDim S2 As DoubleDim S3 As DoubleDim G11 As DoubleDim G12 As DoubleDim G13 As DoubleLBD = Sqr(xD - xB) 2 + (yD - yB) 2)If LBD L2 + L3 And LBD Abs(L2 - L3) Then If MsgBox(RRR杆组杆长不符合要求, vbOKOnly, 提示) = 1 Then End Else End IfElseEnd IfIf LBD Abs(L2 - L3) Then val1 = (L2 2 + LBD 2 - L3 2) / (2 * L2 * LBD) JCBD = Atn(-val1 / Sqr(-val1 * val1 + 1) + 2 * Atn(1)ElseEnd IfIf LBD = L2 + L3 Then JCBD = 0 Else End IfIf LBD = Abs(L2 - L3) Then If L2 L3 Then JCBD = 0 Else End If If L2 xB And yD = yB Then 第一象限 fDB = Atn(yD - yB) / (xD - xB) Else End If If xD = xB And yD yB Then fDB = pi * 2 Else End If If xD = yB Then 第二象限 fDB = pi + Atn(yD - yB) / (xD - xB) Else End If If xD xB And yD yB Then 第三象限 fDB = pi + Atn(yD - yB) / (xD - xB) Else End If If xB = xD And yD xB And yD xD And yC = yD Then 第一象限f3 = Atn(yC - yD) / (xC - xD)Else End If If xC = xD And yC yD Then f3 = pi / 2 Else End If If xC = xD Then 第二象限 f3 = pi + Atn(yC - yD) / (xC - xD) Else End If If xC xD And xC xD Then 第三象限 f3 = pi + Atn(yC - yD) / (xC - xD) Else End If If xC = xD And xC xD And xC L4 + LFG And LEG Abs(L4 - LFG) Then If MsgBox(RRR杆组杆长不符合要求, vbOKOnly, 提示) = 1 Then End Else End IfElseEnd IfIf LEG Abs(L4 - LFG) Then val2 = (L4 2 + LEG 2 - LFG 2) / (2 * L4 * LEG) JFEG = Atn(-val2 / Sqr(-val2 * val2 + 1) + 2 * Atn(1)ElseEnd IfIf LEG = L4 + LFG Then JFEG = 0 Else End IfIf LEG = Abs(L4 - LFG) Then If L4 LFG Then JFEG = 0 Else End If If L4 xE And yG = yE Then 第一象限 fGE = Atn(yG - yE) / (xG - xE) Else End If If xG = xE And yG yE Then fGE = pi * 2 Else End If If xG = yE Then 第二象限 fGE = pi + Atn(yG - yE) / (xG - xE) Else End If If xG xE And yG yE Then 第三象限 fGE = pi + Atn(yG - yE) / (xG - xE) Else End If If xE = xG And yG xE And yG xG And yF = yG Then 第一象限f5 = Atn(yF - yG) / (xF - xG)Else End If If xF = xG And yF yG Then f5 = pi / 2 Else End If If xF = xG Then 第二象限 f5 = pi + Atn(yF - yG) / (xF - xG) Else End If If xF xG And xF xG Then 第三象限 f5 = pi + Atn(yF - yG) / (xF - xG) Else End If If xF = xG And xF xG And xF = xG Then 第四象限 f4 = 2 * pi + Atn(yF - yG) / (xF - xG) Else End IfC4 = L4 * Cos(f4)S4 = L4 * Sin(f4)C5 = LFG * Cos(f5)S5 = LFG * Sin(f5)G21 = C4 * S5 - C5 * S4w4 = (C5 * (vxG - vxE) + S5 * (vyG - vyE) / G21w5 = (C4 * (vxG - vxE) + S4 * (vyG - vyE) / G21vxF = vxE - w4 * L4 * Sin(f4)vyF = vyE + w4 * L4 * Cos(f4)G22 = axG - axE + w4 2 * C4 - w5 2 * C5G23 = ayG - ayE + w4 2 * S4 - w5 2 * S5e4 = (G22 * C5 + G23 * S5) / G21e5 = (G22 * C4 + G23 * S4) / G21axF = axE - e4 * L4 * Sin(f4) - w4 2 * L4 * Cos(f4)ayF = ayE - e4 * L4 * Cos(f4) - w4 2 * L4 * Sin(f4)End SubPublic Sub RR3() 杆GHxH = xG + LGH * Cos(f5 + deltGH)yH = yG + LGH * Sin(f5 + deltGH)vxH = vxG - w5 * LGH * Sin(f5 + deltGH)vyH = vyG + w5 * LGH * Cos(f5 + deltGH)axH = axG - w5 2 * LGH * Cos(f5 + deltGH) - e5 * LGH * Sin(f5 + deltGH)ayH = ayG - w5 2 * LGH * Sin(f5 + deltGH) + e5 * LGH * Cos(f5 + deltGH)End SubPublic Sub RRP1() 杆组H(M)KDim A0 As DoubleDim Q1 As DoubleDim Q2 As DoubleDim Q3 As DoubleDim Q4 As DoubleDim Q5 As DoubleDim val3 As DoubleA0 = Lj + (yN - yH) * Cos(fj) - (xN - xH) * Sin(fj)val3 = A0 / L6fi = Atn(val3 / Sqr(-val3 * val3 + 1) + fjxM = xH + L6 * Cos(fi)yM = yH + L6 * Sin(fi)ss = (xM - xN) * Cos(fj) + (yM - yN) * Sin(fj)xK = xN + ss * Cos(fj)yK = yN + ss * Sin(fj)Q1 = vxN - vxH - wj * (ss * Sin(fj) + Lj * Cos(fj)Q2 = vyN - vyH + wj * (ss * Cos(fj) - Lj * Sin(fj)Q3 = L6 * Sin(fi) * Sin(fj) + L6 * Cos(fi) * Cos(fj)w6 = (-Q1 * Sin(fj) + Q2 * Cos(fj) / Q3vss = -(Q1 * L6 * Cos(fi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论