机械原理上机实验报告

  • 格式:docx
  • 大小:1.93 MB
  • 文档页数:18

机械原理上机实验报告实验名称班级学号姓名日期成绩指导教师(签字)机电工程学院二O一五年五月例3-7:拆杆组:定坐标点:编制主程序:Private Sub CmdKsjc_Click()' 定义变量Dim d1 As Single, d3 As Single, d4 As Single, xa As Single, ya As Single Dim xc As Single, yc As Single, xf As Single, yf As SingleDim dv As Single, da As Single, c1 As Singled1 = 0.125: d3 = 0.6: d4 = 0.15xa = 0: ya = 0: xc = 0: yc = -0.275: xf = 0: yf = 0.3dv = 1: da = 0: c1 = 0Dim i As Integer, n As Integern = 18bc = 10 * PI / 180kp = 1For i = 1 To nl = d1: r = l: af = 0ct = c1: cv = dv: ca = dax1 = xa: y1 = ya: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0Call SSLl1 = 0: w = 0: m = 0x1 = x2: y1 = y2xv1 = xv2: yv1 = yv2: xa1 = xa2: ya1 = ya2x2 = xc: y2 = yc: xv2 = 0: yv2 = 0: xa2 = 0: ya2 = 0Call RPRl = d3: r = l: af = 0: ct = ct2: cv = cv2: ca = ca2x1 = xc: y1 = yc: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0Call SSLl1 = d4: m = 1ct2 = PI: cv2 = 0: ca2 = 0x1 = x2: y1 = y2: xv1 = xv2: yv1 = yv2: xa1 = xa2: ya1 = ya2 x2 = xf: y2 = yf: xv2 = 0: yv2 = 0: xa2 = 0: ya2 = 0Call RRP'''将计算结果写入到表格中MSHFGrd.TextMatrix(i, 0) = Str(i)MSHFGrd.TextMatrix(i, 1) = Str(Int(c1 * 180 / PI + 0.5)) MSHFGrd.TextMatrix(i, 2) = Str(Int(l2 * 1000 + 0.5) / 1000) MSHFGrd.TextMatrix(i, 3) = Str(Int(lv2 * 1000 + 0.5) / 1000) MSHFGrd.TextMatrix(i, 4) = Str(Int(la2 * 1000 + 0.5) / 1000)c1 = c1 + bcNext iEnd SubPrivate Sub CndOk_Click()EndEnd SubPrivate Sub Form_Click()MsgBox Chr(10) + "请选择按钮进行计算", vbCritical, "机械原理运动分析"End SubPrivate Sub Form_Load()'设置各行的宽度MSHFGrd.ColWidth(0) = 700: MSHFGrd.ColWidth(1) = 700MSHFGrd.ColWidth(2) = 1500: MSHFGrd.ColWidth(3) = 1500MSHFGrd.ColWidth(4) = 1500''设置表头MSHFGrd.TextMatrix(0, 0) = "组数": MSHFGrd.TextMatrix(0, 1) = "角度" MSHFGrd.TextMatrix(0, 2) = "位移s(m)": MSHFGrd.TextMatrix(0, 3) = "速度v(m/s)" MSHFGrd.TextMatrix(0, 4) = "加速度a(m/s2)":End Sub计算结果:例3-1拆杆组:编制主程序:Private Sub Command1_Click()kp = 1d1 = 24c1 = PI / 3dv = 10da = 0xa = 0ya = 0l = d1: r = l: af = 0ct = c1: cv = dv: ca = daX1 = xa: Y1 = ya: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0 Call SSLl1 = 48 * Sin(80 * PI / 180): w = 0: m = -1X1 = 78: Y1 = 0xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0Call RPRPrint "2杆角度为" & Str(ct2 * 180 / PI + 360) Print "3杆角度为" & Str(ct1 * 180 / PI + 360) Print "2杆角速度为" & Str(cv2)Print "3杆角加速度为" & Str(ca2)End SubPrivate Sub Command2_Click()EndEnd Sub计算结果:3-5拆杆组:编制主程序:Private Sub Command1_Click()kp = 1l = 0.03: r = l: af = 0ct = PI / 4: cv = -10: ca = 0X1 = 0.1: Y1 = 0: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0Call SSLl1 = 0: w = 0: m = 0X1 = 0: Y1 = 0xv1 = 0: yvl = 0: xa1 = 0: ya1 = 0X2 = 0.1 + 0.03 * Sin(PI / 4): Y2 = 0.03 * Sin(PI / 4): xv2 = xv2: yv2 = yv2: xa2 = xa2: ya2 = ya2 Call RPRPrint "构件2的角速度为" & Str(cv2)Print "构件2的角加速度为" & Str(ca2)r = Sqr(0.04 * 0.04 + 0.05 * 0.05): l = 0.05: af = 38.6598 * PI / 180ct = 189.93077 * PI / 180: cv = cv2: ca = ca2X1 = 0.1 + 0.03 * Sin(PI / 4): Y1 = 0.1 + 0.03 * Sin(PI / 4)xv1 = 0.03 * 5 * Sqr(2): yv1 = -xv1: xa1 = -3 * Sqr(2) / 2: ya1 = xa1Call SSLPrint "D点的速度为" & Str(Sqr(xv2 * xv2 + yv2 * yv2))Print "E点的速度为" & Str(Sqr(xv3 * xv3 + yv3 * yv3))Print "D点的加速度为" & Str(Sqr(xa2 * xa2 + ya2 * ya2))Print "E点的加速度为" & Str(Sqr(xa3 * xa3 + ya3 * ya3))End SubPrivate Sub Command2_Click()EndEnd Sub计算结果:3-7拆杆组:编制主程序:Private Sub Command1_Click()kp = 1l1 = 0.06: m = 1ct2 = 50 * PI / 180: cv2 = 10: ca2 = 100 * 0.07191X1 = 0.07: Y1 = 0: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0X2 = 0.07191 * Cos(50 * PI / 180): Y2 = 0.07191 * Sin(50 * PI / 180)xv2 = -0.07191 * 10 * Sin(50 * PI / 180): yv2 = 0.07191 * 10 * Cos(50 * PI / 180) xa2 = -ca2 * Cos(50 * PI / 180): ya2 = -ca2 * Sin(50 * PI / 180)Call RRPan = 0.035 * cv1 * cv1: at = 0.035 * ca1Print "EF杆的角度为" & ct1 * 180 / PIPrint "EF杆的角速度为" & cv1l1 = 0.05: l2 = 0.075: m = 1X1 = -0.04 * Cos(50 * PI / 180): Y1 = -0.04 * Sin(50 * PI / 180)xv1 = 0.4 * Sin(50 * PI / 180): yv1 = -0.4 * Cos(50 * PI / 180)xa1 = 4 * Cos(50 * PI / 180): ya1 = 4 * Cos(50 * PI / 180)X2 = 0.07 + 0.035 * Cos(66.65 * PI / 180): Y2 = -0.035 * Sin(66.65 * PI / 180)xv2 = 0.035 * cv1 * Sin(66.65 * PI / 180): yv2 = 0.035 * cv1 * Cos(66.65 * PI / 180)xa2 = -an * Cos(66.65 * PI / 180) + at * Sin(66.65 * PI / 180): ya2 = an * Sin(66.65 * PI / 180) + at * Cos(66.65 * PI / 180)Call RRRPrint "BC杆的角度为" & ct1 * 180 / PIPrint "CD杆的角度为" & ct2 * 180 / PIPrint "BC杆的角加速度为" & ca1Print "CD杆的角加速度为" & ca2Print "BC杆的角速度为" & cv1Print "CD杆的角速度为" & cv2l = 0.05: r = l: af = 0ct = ct1: cv = cv1: ca = ca1X1 = -0.04 * Cos(50 * PI / 180): Y1 = -0.04 * Sin(50 * PI / 180)xv1 = 0.4 * Sin(50 * PI / 180): yv1 = -0.4 * Cos(50 * PI / 180)xa1 = 4 * Cos(50 * PI / 180): ya1 = 4 * Cos(50 * PI / 180)Call SSLPrint "C点的速度为" & Sqr(xv2 * xv2 + yv2 * yv2)Print "C点的加速度为" & Sqr(xa2 * xa2 + ya2 * ya2)End SubPrivate Sub Command2_Click()EndEnd Sub计算结果:3-8拆杆组:编制主程序:Private Sub Command1_Click()kp = 1l = 0.015: r = l: af = 0: ct = PI / 2: cv = 10: ca = 0X1 = 0.05: Y1 = 0: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0 Call SSLl1 = 0.025: w = 0: m = -1X1 = 0.05: Y1 = 0.015xv1 = xv2: yv1 = yv2: xa1 = xa2: ya1 = ya2X2 = 0: Y2 = 0: xv2 = 0: yv2 = 0: xa2 = 0: ya2 = 0 Call RPRPrint "2杆的角度为" & ct2 * 180 / PI + 360 Print "2杆的角速度为" & cv2Print "2杆的角加速度为" & ca2End SubPrivate Sub Command2_Click()EndEnd Sub计算结果:3-13拆杆组:定坐标点:编制主程序:Private Sub Command1_Click()kp = 1l = 0.06: r = l: af = 0: ct = 165 * PI / 180: cv = 10: ca = 0X1 = 0: Y1 = 0: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0Call SSLa = xv2:b = yv2: xc = xa2:d = ya2l1 = 0.12: l2 = 0.09: m = 1X1 = 0.06 * Cos(165 * PI / 180): Y1 = 0.06 * Sin(165 * PI / 180) xv1 = xv2: yv1 = yv2xa1 = xa2: ya1 = ya2X2 = 0.12: Y2 = 0xv2 = 0: yv2 = 0xa2 = 0: ya2 = 0Call RRRl = 0.12: r = l: af = 0: ct = ct1: cv = cv1: ca = ca1X1 = 0.06 * Cos(165 * PI / 180): Y1 = 0.06 * Sin(165 * PI / 180) xv1 = a: yv1 = b: xa1 = c: ya1 = dCall SSLf = Sqr(xv2 * xv2 + yv2 * yv2)Print "ψ=165°时Vc=" & femin = f: lbc = 0.12For i = -0.12 To 0.24 Step 0.001l = i: r = l: af = 0: ct = ct1: cv = cv1: ca = ca1X1 = 0.06 * Cos(165 * PI / 180): Y1 = 0.06 * Sin(165 * PI / 180)xv1 = a: yv1 = b: xa1 = c: ya1 = dCall SSLe = Sqr(xv2 * xv2 + yv2 * yv2)If e < emin Then emin = e: lbc = iNext iPrint "速度最小点Ve=" & eminPrint "E点到B点的距离为" & lbcDim g, s As DoubleDim n As IntegerFor i = 0 To 360 Step 0.001s = i * PI / 180l = 0.06: r = l: af = 0: ct = s: cv = 10: ca = 0X1 = 0: Y1 = 0: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0 Call SSLa = xv2:b = yv2: xc = xa2:d = ya2l1 = 0.12: l2 = 0.09: m = 1X1 = 0.06 * Cos(s): Y1 = 0.06 * Sin(s)xv1 = xv2: yv1 = yv2xa1 = xa2: ya1 = ya2X2 = 0.12: Y2 = 0xv2 = 0: yv2 = 0xa2 = 0: ya2 = 0Call RRRl = 0.12: r = l: af = 0: ct = ct1: cv = cv1: ca = ca1X1 = 0.06 * Cos(s): Y1 = 0.06 * Sin(s)xv1 = a: yv1 = b: xa1 = c: ya1 = dCall SSLg = Sqr(xv2 * xv2 + yv2 * yv2)If g < 0.00001 Thenn = n + 1Print "Vc=0时ψ=" & iEnd IfIf n = 2 Then Exit ForNext iEnd SubPrivate Sub Command2_Click()EndEnd Sub计算结果:3-23拆杆组:编制主程序:Private Sub Command1_Click()kp = 1l = 0.1: r = l: af = 0: ct = PI / 3: cv = 10: ca = 0X1 = 0: Y1 = 0: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0Call SSLl1 = 0.3: m = -1ct2 = 0: cv2 = 0: ca2 = 0X1 = X2: Y1 = Y2: xv1 = xv2: yv1 = yv2: xa1 = xa2: ya1 = ya2X2 = 0.1 * Cos(PI / 3) + Sqr(0.3 * 0.3 - (0.1 * Sin(PI / 3) - 0.03) ^ 2):Y2 = 0.03: xv2 = 0: yv2 = 0: xa2 = 0: ya2 = 0Call RRPa = Atn(Sqr(0.3 * 0.3 - (0.1 * Sin(PI / 3) - 0.03) ^ 2) / (0.1 * Sin(PI / 3) - 0.03))b = PI / 2 - aVc = 0.1 * 10 * Sin(PI - (PI / 2 - PI / 3) - a) / Sin(PI / 2 - b)Ac = -100 * 0.1 * Cos(PI - (PI / 2 - PI / 3) - a - b) - cv1 * cv1 * 0.3 * Cos(b) - 0.3 * ca1 * Sin(b) Print "ψ=60°时构件2的转角为" & (PI - ct1) * 180 / PIPrint "ψ=60°时构件2的角速度为" & cv1Print "ψ=60°时构件2的角加速度为" & ca1Print "ψ=60°时构件3的速度为" & VcPrint "ψ=60°时构件3的加速度为" & Acl = 0.1: r = l: af = 0: ct = 2 * PI / 3: cv = 10: ca = 0X1 = 0: Y1 = 0: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0Call SSLl1 = 0.3: m = -1ct2 = 0: cv2 = 0: ca2 = 0X1 = X2: Y1 = Y2: xv1 = xv2: yv1 = yv2: xa1 = xa2: ya1 = ya2X2 = 0.1 * Cos(2 * PI / 3) + Sqr(0.3 * 0.3 - (0.1 * Sin(2 * PI / 3) - 0.03) ^ 2):Y2 = 0.03: xv2 = 0: yv2 = 0: xa2 = 0: ya2 = 0Call RRPa = Atn(Sqr(0.3 * 0.3 - (0.1 * Sin(2 * PI / 3) - 0.03) ^ 2) / (0.1 * Sin(2 * PI / 3) - 0.03))b = PI / 2 - aVc = 0.1 * 10 * Sin(PI - (PI / 2 - 2 * PI / 3) - a) / Sin(PI / 2 - b)Ac = -100 * 0.1 * Cos(PI - (PI / 2 - 2 * PI / 3) - a - b) - cv1 * cv1 * 0.3 * Cos(b) - 0.3 * ca1 * Sin(b) Print "ψ=120°时构件2的转角为" & (PI - ct1) * 180 / PIPrint "ψ=120°时构件2的角速度为" & cv1Print "ψ=120°时构件2的角加速度为" & ca1Print "ψ=120°时构件3的速度为" & VcPrint "ψ=120°时构件3的加速度为" & Acl = 0.1: r = l: af = 0: ct = 11 * PI / 9: cv = 10: ca = 0X1 = 0: Y1 = 0: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0Call SSLl1 = 0.3: m = -1ct2 = 0: cv2 = 0: ca2 = 0X1 = X2: Y1 = Y2: xv1 = xv2: yv1 = yv2: xa1 = xa2: ya1 = ya2X2 = 0.1 * Cos(11 * PI / 9) + Sqr(0.3 * 0.3 - (0.1 * Sin(11 * PI / 9) - 0.03) ^ 2):Y2 = 0.03: xv2 = 0: yv2 = 0: xa2 = 0: ya2 = 0a = Atn(Sqr(0.3 * 0.3 - (0.1 * Sin(11 * PI / 9) - 0.03) ^ 2) / (0.1 * Sin(11 * PI / 9) - 0.03))b = PI / 2 - aVc = 0.1 * 10 * Sin(PI - (PI / 2 - PI / 3) - a) / Sin(PI / 2 - b)Ac = -100 * 0.1 * Cos(PI - (PI / 2 - 11 * PI / 9) - a - b) - cv1 * cv1 * 0.3 * Cos(b) - 0.3 * ca1 * Sin(b) Print "ψ=220°时构件2的转角为" & (PI - ct1) * 180 / PIPrint "ψ=220°时构件2的角速度为" & cv1Print "ψ=220°时构件2的角加速度为" & ca1Print "ψ=220°时构件3的速度为" & VcPrint "ψ=220°时构件3的加速度为" & AcEnd SubPrivate Sub Command2_Click()EndEnd Sub计算结果:3-24编制主程序:Private Sub Command1_Click()kp = 1l = 0.1: r = l: af = 0ct = 11 * PI / 6: cv = 10: ca = 0X1 = 0: Y1 = 0.2: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0 Call SSLl1 = 0: w = 0.04: m = 0X1 = X2: Y1 = Y2xv1 = xv2: yv1 = yv2: xa1 = xa2: ya1 = ya2X2 = 0: Y2 = 0: xv2 = 0: yv2 = 0: xa2 = 0: ya2 = 0 Call RPRPrint "ψ=30°时构件3的角速度为" & cv2 Print "ψ=30°时构件3的角加速度为" & ca2l = 0.1: r = l: af = 0ct = 4 * PI / 3: cv = 10: ca = 0X1 = 0: Y1 = 0.2: xv1 = 0: yv1 = 0: xa1 = 0: ya1 = 0 Call SSLl1 = 0: w = 0.04: m = 0X1 = X2: Y1 = Y2xv1 = xv2: yv1 = yv2: xa1 = xa2: ya1 = ya2X2 = 0: Y2 = 0: xv2 = 0: yv2 = 0: xa2 = 0: ya2 = 0 Call RPRPrint "ψ=120°时构件3的角速度为" & cv2 Print "ψ=120°时构件3的角加速度为" & ca2 End SubPrivate Sub Command2_Click() EndEnd Sub计算结果:。