哈工大机械原理大作业-连杆
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Harbin Institute of Technology
机械原理大作业一
课程名称:机械原理
设计题目:连杆运动分析
院系:机电工程学院
班级:
设计者:
学号:
指导教师:明
设计时间: 2013年6月25日
1、运动分析题目
在图1-10中所示的干草压缩机中,已知LAB=150mm,LBC=600mm,LCE=120mm,LCD=500mm,LEF=600mm,XD=400mm,YD=500mm,YF=600mm,曲柄1作等速转动,其转速n1=50r/min。
求在一个运动循环中活塞5的位移、速度和加速度的变化曲线。
图1-10
2、机构的结构分析
(1)基本杆组的划分
①AB即杆件1为原动件
②DECB即杆件2、3为RRR型II级杆组,其中CE为同一构件上点。
③ EF 和滑块即4、5为RRP 型II 级杆组
(2)、建立以点A 为原点的固定平面直角系
3、确定已知参数和求解流程
(1)原动件1(I 级杆组RR )
如图所示,已知原动件1的转角
πϕ2~01=
原动件杆1的角速度
s rad /236.51=ω
原动件1的角加速度
01=α
运动副A 的位置坐标
0,0==A A y x
运动副A 的速度
0,0==yA xA v v
运动副A 的加速度
0,0==yA xA a a
原动件杆I 的长度
mm l 1501=
可求出B 的位置
B 的速度
B 的加速度
(2)构件2、3(II 级杆组RRR )
D 的位置
500
400
==D D y x
D 的速度 00
==yD xD v v
D 的加速度
00
==yD xD a a
杆长mm l l CD j 500==,mm l l BC i 600==
由关系
j j D i i B C l x l x x ϕϕcos cos +=+=
j j D i i B C l y l y y ϕϕsin sin +=+=
其中
)(20
sin cos B D i i i x x l A C B A -==-+ ϕϕ
)(2B D i y y l B -=
2
22j BD i l l l C -+=
222
)()(B D B D BD y y X x l -+-=
可解得
C A C B A B i +-++=222arctan 2ϕ D
C D C j x x y y --=arctan ϕ 由上面两个式子可以得到两杆的角速度 1)
()(G y y s x x c w B D j B D j i i -+-==•ϕ
132G s G c G i
j i i +==ϕα
其中i j j i s c s c G -=1,i i i l c ϕcos =,i i i l s ϕsin =,j j j l c ϕcos =,j j j l s ϕsin =
可得E 的位置
i
B E i
B E y y x x ϕϕsin 480cos 480+=+=
E 的速度 i i yB E yE i i xB E xE v y
v v x v ωϕωϕcos 480sin 480+==-==
E 的加速度
i i i i xB E xE a x
a αϕωϕsin 480cos 4802
--== i i i i yB E yE a y
a ϕαϕωcos 480sin 4802+-== (3)、构件4、5杆组(II 级杆组RRP )
在建立的坐标系中取一参考点K 600,0==K K y x
则速度
0,0==yK xK v v
加速度
0,0==yK xK a a
杆长mm l EF 600=,设F 位移为s
由s x l x x K i EF E F +=+='
cos ϕ K i EF E F y l y y =+='
sin ϕ
由上面两个式子可以得到 600600arcsin arcsin
'E EF E k i y l y y -=-=ϕ
所以:
F 点位移 )600
600arcsin(cos 600E E F y x x s -+== 速度
F F x
v = 加速度
F F x
a =
四、编程计算并输出结果(VB 编程)
主程序:
Private Sub Command1_Click()
Dim s5(3600) As Double
Dim v5(3600) As Double
Dim a5(3600) As Double
Dim pi As Double
Dim pa As Double
pi = 3.1415926
pa = pi / 180
Dim i As Long
Dim f1(3600) As Double Dim RR1 As RR
Dim RR2 As RR
Dim RRR1 As RRR
Dim RRP1 As RRP
Set RR1 = New RR
Set RR2 = New RR
Set RRR1 = New RRR
Set RRP1 = New RRP
For i = 0 To 3600 Step 1 f1(i) = i * pa / 10
RR1.delt = 0
RR1.f = f1(i)
RR1.w = 5.24
RR1.e = 0
RR1.L = 150
RR1.xA = 0
RR1.yA = 0
RR1.vxA = 0
RR1.vyA = 0
RR1.axA = 0
RR1.ayA = 0
RR1.cal
RRR1.Li = 600
RRR1.Lj = 500
RRR1.xB = RR1.xB
RRR1.yB = RR1.yB
RRR1.vxB = RR1.vxB
RRR1.vyB = RR1.vyB
RRR1.axB = RR1.axB
RRR1.ayB = RR1.ayB
RRR1.xD = 400
RRR1.yD = 500
RRR1.vxD = 0
RRR1.vyD = 0
RRR1.axD = 0
RRR1.ayD = 0
RRR1.M = 1
RRR1.calRRR
RR2.delt = 0
RR2.f = RRR1.fi RR2.w = RRR1.wi RR2.e = RRR1.ei RR2.L = 480
RR2.xA = RR1.xB RR2.yA = RR1.yB RR2.vxA = RR1.vxB RR2.vyA = RR1.vyB RR2.axA = RR1.axB RR2.ayA = RR1.ayB RR2.cal
RRP1.Li = 600
RRP1.Lj = 0
RRP1.fj = pi
RRP1.wj = 0
RRP1.ej = 0
RRP1.xB = RR2.xB RRP1.yB = RR2.yB RRP1.vxB = RR2.vxB RRP1.vyB = RR2.vyB RRP1.axB = RR2.axB RRP1.ayB = RR2.ayB RRP1.xK = 0
RRP1.yK = 600
RRP1.vxK = 0
RRP1.vyK = 0
RRP1.axK = 0
RRP1.ayK = 0
RRP1.M = 1
RRP1.cal
s5(i) = RRP1.ss
v5(i) = RRP1.vss
a5(i) = RRP1.ass
Next i
Picture1.Scale (-30, 700)-(360, 580)
Picture1.Line (0, 0)-(360, 0) 'X
Picture1.Line (0, 580)-(0, 700) 'Y
For i = 0 To 360 Step 10 'X轴坐标
Picture1.DrawStyle = 2
Picture1.Line (i, 700)-(i, 580)
Picture1.CurrentX = i - 10: Picture1.CurrentY = 0 Picture1.Print i
Next i
For i = 580 To 700 Step 10 'Y轴坐标
Picture1.DrawStyle = 2
Picture1.Line (0, i)-(360, i)
Picture1.CurrentX = -10: Picture1.CurrentY = i
Picture1.Print i
Next i
For i = 0 To 3600 Step 1
Picture1.PSet (i / 10, s5(i))
Next i
End Sub
RR:
Public L As Double
Public f As Double
Public delt As Double
Public w As Double
Public e As Double
Public xA As Double
Public yA As Double
Public vxA As Double
Public vyA As Double
Public axA As Double
Public ayA As Double
Public xB As Double
Public yB As Double
Public vxB As Double
Public vyB As Double
Public axB As Double
Public ayB As Double
Public Sub cal()
xB = xA + L * Cos(f + delt)
yB = yA + L * Sin(f + delt)
vxB = vxA - w * L * Sin(f + delt)
vyB = vyA + w * L * Cos(f + delt)
axB = axA - w ^ 2 * L * Cos(f + delt) - e * L * Sin(f + delt) ayB = ayA - w ^ 2 * L * Sin(f + delt) + e * L * Cos(f + delt) End Sub
RRR:
Public Li As Double
Public Lj As Double
Public fi As Double
Public fj As Double
Public wi As Double
Public wj As Double
Public ei As Double
Public ej As Double
Public xB As Double
Public yB As Double
Public vxB As Double
Public vyB As Double
Public axB As Double
Public ayB As Double
Public xC As Double
Public yC As Double
Public vxC As Double
Public vyC As Double
Public axC As Double
Public ayC As Double
Public xD As Double
Public yD As Double
Public vxD As Double
Public vyD As Double
Public axD As Double
Public ayD As Double
Public M As Double
Public Sub calRRR()
Dim fDB As Double
Dim Ci As Double
Dim Cj As Double
Dim Si As Double
Dim Sj As Double
Dim G1 As Double
Dim G2 As Double
Dim G3 As Double
Dim LBD As Double
Dim JCBD As Double
Dim val As Double
pi = 3.1415926
LBD = Sqr((xB - xD) ^ 2 + (yD - yB) ^ 2)
If LBD < Li + Lj And LBD > Abs(Li - Lj) Then
val = (Li ^ 2 + LBD ^ 2 - Lj ^ 2) / (2 * Li * LBD) JCBD = Atn(-val / Sqr(-val * val + 1)) + 2 * Atn(1) End If
RRP:
Public Li As Double
Public Lj As Double
Public fi As Double
Public fj As Double
Public wi As Double
Public wj As Double
Public ei As Double
Public ej As Double
Public xB As Double
Public yB As Double
Public vxB As Double
Public vyB As Double
Public axB As Double
Public ayB As Double
Public xK As Double
Public yK As Double
Public vxK As Double
Public vyK As Double
Public axK As Double
Public ayK As Double
Public xC As Double
Public yC As Double
Public vxC As Double
Public vyC As Double
Public axC As Double
Public ayC As Double
Public xD As Double
Public yD As Double
Public vxD As Double
Public vyD As Double
Public axD As Double
Public ayD As Double
Public M As Single
Public ss As Double
Public vss As Double
Public ass As Double
Public Sub cal()
Dim A0 As Double
Dim Q1 As Double
Dim Q2 As Double
Dim Q3 As Double
Dim Q4 As Double
Dim Q5 As Double
Dim val As Double
Dim pi As Double
pi = 3.14159216
A0 = Lj + ((yK - yB) * Cos(fj) - (xK - xB) * Sin(fj)) val = A0 / Li
fi = M * Atn(val / Sqr(-val * val + 1)) + fj
xC = xB + Li * Cos(fi)
yC = yB + Li * Sin(fi)
ss = (xC - xK) * Cos(fj) + (yC - yK) * Sin(fj)
xD = xK + ss * Cos(fj)
yD = yK + ss * Sin(fj)
Q1 = vxK - vxB - wj * (ss * Sin(fj) + Lj * Cos(fj))
Q2 = vyK - vyB + wj * (ss * Cos(fj) - Lj * Sin(fj))
Q3 = Li * Sin(fi) * Sin(fj) + Li * Cos(fi) * Cos(fj) wi = (-Q1 * Sin(fj) + Q2 * Cos(fj)) / Q3
vss = -(Q1 * Li * Cos(fi) + Q2 * Li * Sin(fi)) / Q3
vxC = vxB - wi * Li * Sin(fi)
vyC = vyB + wi * Li * Cos(fi)
vxD = vxK + vss * Cos(fj) - ss * wj * Sin(fj)
vyD = vyK + vss * Sin(fj) + ss * wj * Cos(fj)
Q4 = axK - axB + wi ^ 2 * Li * Cos(fi) - ej * (ss * Sin(fj) + Lj * Cos(fj)) - wj ^ 2 * (ss * Cos(fj) - Lj * Sin(fj)) - 2 * vss * wj * Sin(fj)
Q5 = ayK - ayB + wi ^ 2 * Li * Sin(fi) + ej * (ss * Cos(fj) - Lj * Sin(fj)) - wj ^ 2 * (ss * Sin(fj) + Lj * Cos(fj)) + 2 * vss * wj * Cos(fj)
ei = (-Q4 * Sin(fj) + Q5 * Cos(fj)) / Q3
ass = (-Q4 * Li * Cos(fi) - Q5 * Li * Sin(fi)) / Q3
axC = axB - ei * Li * Sin(fi) - wi ^ 2 * Li * Cos(fi)
ayC = ayB + ei * Li * Cos(fi) - wi ^ 2 * Li * Sin(fi)
axD = axK + ass * Cos(fj) - ss * ej * Sin(fj) - ss * wj ^ 2 * Cos(fj) - 2 * vss * wj * Sin(fj) ayD = ayK + ass * Sin(fj) + ss * ej * Cos(fj) - ss * wj ^ 2 * Sin(fj) + 2 * vss * wj * Cos(fj) End Sub
五、计算结果
数据如图:
位移曲线:
速度曲线:
加速度曲线:
六、计算结果分析
主动件转角为0时,滑块的位移为628mm,随着转角的匀速增加,滑块位移先上升,速度为负快速下降,加速度为负且开始值较小并逐渐下降,到达最低点-2200左右,此时速度为0, 然后位移开始继续下降,速度继续下降,然后到达最小值-100左右,此时加速度为0,又开始上升(向左运动),速度正向增大,在后面一段时期速度继续增大,加速度也正向增大,然后速度下降,加速度下降.滑块分别在4.2s,11.4s速度达到正向最大,1.7s,7.7s速度达到负向最大,0.8s,2.7s,5.8s,9.6s加速度达到极值,滑块就是这样周期性的左右运动。