机械原理大作业一课程名称:机械原理设计题目:连杆机构及其分析院系:机械设计制造及其自动化班级:1208104完成者:郑鹏伟学号:1120810416指导教师:林琳刘福利设计时间:2014.6.3哈尔滨工业大学一.运动分析题目如图1-14所示的矿石破碎机,已知各构件尺寸为:A B B C C DB EE F l 100m m ,l 460m m ,l 250m m ,l 460m m ,lm,======D D G G x 300m m ,y 500m m ,x 430m m ,y 210m m ,3δ=====试求构件5的角位移、角速度、和角加速度。
二.机构结构分析、组成机构的基本杆组划分1.计算机构的自由度L H F 3n 2p p 35271=⨯-⨯-=⨯-⨯=2.建立直角坐标系以D 为原点建立直角坐标系 :D(0,0) ,A(-300,500),G(-730,210) 3.对机构进行结构分析:该机构由一个RR 杆组(原动件AB )和三个RRR 杆组(BCD 、BEC 、EFG )组成,各基本杆组运动分析数学模型见下图:三.计算编程(VB ):Private f1(3600) As Double '1杆的转角 Private xB(3600) As Double 'B 点的 x 位移 Private yB(3600) As Double 'B 点的 y 位移 Private vxB(3600) As Double 'B 点的 x 速度 Private vyB(3600) As Double 'B 点的 y 速度 Private axB(3600) As Double 'B 点的 x 加速度 Private ayB(3600) As Double 'B 点的 y 加速度 Private xC(3600) As Double 'C 点的 x 位移 Private yC(3600) As Double 'C 点的 y 位移 Private vxC(3600) As Double 'C 点的 x 速度 Private vyC(3600) As Double 'C 点的 y 速度 Private axC(3600) As Double 'C 点的 x 加速度 Private ayC(3600) As Double 'C 点的 y 加速度 Private xE(3600) As Double 'E 点的 x 位移Private yE(3600) As Double 'E点的y 位移Private vxE(3600) As Double 'E点的x 速度Private vyE(3600) As Double 'E点的y 速度Private axE(3600) As Double 'E点的x 加速度Private ayE(3600) As Double 'E点的y 加速度Private f3(3600) As Double '杆3的转角Private w3(3600) As Double '杆3的角速度Private e3(3600) As Double '杆3的角加速度Private f5(3600) As Double '杆5的转角Private w5(3600) As Double '杆5的角速度Private e5(3600) As Double '杆5的角加速度Private pi As DoublePrivate pa As DoublePrivate Sub Command1_Click()Dim i As DoubleDim j As LongDim RR1 As RRDim RRR1 As RRRDim RRR2 As RRRDim RRR3 As RRRSet RR1 = New RRSet RRR1 = New RRRSet RRR2 = New RRRSet RRR3 = New RRRpi = 4 * Atn(1)pa = pi / 180Picture1.DrawWidth = 1Picture1.Scale (-20, 600)-(390, 500)Picture1.Line (-20, 0)-(390, 0) 'XPicture1.Line (0, 560)-(0, 480) 'YPicture1.CurrentX = 10: Picture1.CurrentY = 10Picture1.Print "主动件转角/度" 'X表示Picture1.CurrentX = 10: Picture1.CurrentY = 960Picture1.Print "构件5角位移f /度" 'Y表示For j = 30 To 390 Step 30 'X轴坐标Picture1.Line (j, 5)-(j, 0)Picture1.CurrentX = j - 5: Picture1.CurrentY = 0Picture1.Print jNext jFor j = 480 To 1000 Step 10 'Y轴坐标Picture1.Line (0, j)-(5, j)Picture1.CurrentX = -20: Picture1.CurrentY = j + 2Picture1.Print jNext jPicture1.DrawStyle = 2For j = 0 To 1000 Step 10Picture1.Line (-20, j)-(390, j), vbBlack '横向网格Next jFor j = 0 To 390 Step 30Picture1.Line (j, -20)-(j, 1000), vbBlack '纵向网格Next jPicture2.DrawWidth = 1Picture2.Scale (-20, 500)-(390, -500)Picture2.Line (-20, 0)-(380, 0) 'XPicture2.Line (0, 2500)-(0, -8000) 'YPicture2.CurrentX = 340: Picture2.CurrentY = 400Picture2.Print "主动件转角/度"Picture2.CurrentX = 10: Picture2.CurrentY = 2400Picture2.Print "构件5角速度W rad/s"For j = 30 To 390 Step 30 'X轴坐标Picture2.Line (j, 5)-(j, 0)Picture2.CurrentX = j - 5: Picture2.CurrentY = 0Picture2.Print jNext jFor j = -7200 To 2500 Step 800 'Y轴坐标Picture2.Line (0, j)-(5, j)Picture2.CurrentX = -10: Picture2.CurrentY = j + 7Picture2.Print jNext jPicture2.DrawStyle = 2For j = -8000 To 2500 Step 100Picture2.Line (-8000, j)-(2500, j), vbBlack '横向网格Next jFor j = 30 To 390 Step 30Picture2.Line (j, -8000)-(j, 2500), vbBlack '纵向网格Next jPicture3.DrawWidth = 1Picture3.Scale (-20, 20000)-(380, -30000)Picture3.Line (-20, 0)-(390, 0) 'XPicture3.Line (0, 90000)-(0, -200000) 'YPicture3.CurrentX = 300: Picture3.CurrentY = 10000Picture3.Print "主动件转角/度"Picture3.CurrentX = 10: Picture3.CurrentY = 80000Picture3.Print " 构件5 角加速度a rad/S^2"For j = 30 To 390 Step 30 'X轴坐标Picture3.Line (j, 5)-(j, 0)Picture3.CurrentX = j - 5: Picture3.CurrentY = 0Picture3.Print jNext jFor j = -200000 To 90000 Step 10000 'Y轴坐标Picture3.Line (0, j)-(5, j)Picture3.CurrentX = -20: Picture3.CurrentY = j + 7Picture3.Print jNext jPicture3.DrawStyle = 2For j = -200000 To 90000 Step 2000Picture3.Line (-200000, j)-(90000, j), vbBlack '横向网格Next jFor j = 0 To 390 Step 30Picture3.Line (j, -200000)-(j, 90000), vbBlack '纵向网格Next j'主程序For i = 0 To 3600 Step 0.1 '主动件转角0-360,步长0.1 'RR类模块属性赋值f1(i) = i * pa / 10RR1.f = f1(i)RR1.L = 100RR1.w = 10RR1.e = 0RR1.xA = -300RR1.yA = 500RR1.vxA = 0RR1.vyA = 0RR1.axA = 0RR1.ayA = 0RR1.calRR '执行RR类模块方法xB(i) = RR1.xByB(i) = RR1.yBvxB(i) = RR1.vxBvyB(i) = RR1.vyBaxB(i) = RR1.axBayB(i) = RR1.ayB'BCD RRR类模块属性赋值RRR1.Li = 460RRR1.Lj = 250RRR1.xB = xB(i)RRR1.yB = yB(i)RRR1.M = -1RRR1.vxB = vxB(i)RRR1.vyB = vyB(i)RRR1.axB = axB(i)RRR1.xD = 0RRR1.yD = 0RRR1.vxD = 0RRR1.vyD = 0RRR1.axD = 0RRR1.ayD = 0RRR1.calRRR '执行RRR类模块方法f3(i) = RRR1.fjw3(i) = RRR1.wje3(i) = RRR1.ejxC(i) = RRR1.xCyC(i) = RRR1.yCvxC(i) = RRR1.xCvyC(i) = RRR1.yCaxC(i) = RRR1.xCayC(i) = RRR1.yC'BEC RRR类模块属性赋值RRR2.Li = 460RRR2.Lj = 230 / (Sin(75))RRR2.xB = xB(i)RRR2.yB = yB(i)RRR2.M = -1RRR2.vxB = vxB(i)RRR2.vyB = vyB(i)RRR2.axB = axB(i)RRR2.ayB = ayB(i)RRR2.xD = xC(i)RRR2.yD = yC(i)RRR2.vxD = vxC(i)RRR2.vyD = vyC(i)RRR2.axD = axC(i)RRR2.ayD = ayC(i)RRR2.calRRR '执行RRR类模块方法xE(i) = RRR2.xCyE(i) = RRR2.yCvxE(i) = RRR2.vxCvyE(i) = RRR2.vyCaxE(i) = RRR2.axCayE(i) = RRR2.ayC'EFG RRR类模块属性赋值RRR3.Li = 265RRR3.Lj = 670RRR3.xB = xE(i)RRR3.M = 1RRR3.vxB = vxE(i)RRR3.vyB = vyE(i)RRR3.axB = axE(i)RRR3.ayB = ayE(i)RRR3.xD = -730RRR3.yD = 210RRR3.vxD = 0RRR3.vyD = 0RRR3.axD = 0RRR3.ayD = 0RRR3.calRRR '执行RRR类模块方法f5(i) = RRR3.fjw5(i) = RRR3.wje5(i) = RRR3.ejPicture1.PSet (i / 10, f5(i) * 100), vbRed '画出滑块位移s5(i)与主动件转角i/10 的关系图Picture2.PSet (i / 10, w5(i) * 100), vbRedPicture3.PSet (i / 10, e5(i) * 500), vbRedNext iPicture4.Print " 转角角速度角加速度主动件转角" For i = 0 To 3600 Step 20Picture4.Print f5(i); w5(i); e5(i); i / 10Next iEnd SubFG构件转角:FG构件角速度:FG构件角加速度:FG构件转角、角速度、角加速度,主动件转角数据:。