哈工大机械原理作业连杆机构运动分析任务书.doc
《哈工大机械原理作业连杆机构运动分析任务书.doc》由会员分享,可在线阅读,更多相关《哈工大机械原理作业连杆机构运动分析任务书.doc(25页珍藏版)》请在冰点文库上搜索。
哈工大机械原理任务书
HarbinInstituteofTechnology
机械原理大作业
课程名称:
机械原理
设计题目:
连杆机构运动分析
院系:
机电工程学院
班级:
1308102
设计者:
蔡璧丞
学号:
1130810203
指导教师:
陈明、丁刚
设计时间:
2015.06
连杆机构运动分析任务书
1.题目
如图1所示牛头刨床机构,已知各构件尺寸为:
=108mm,=620mm,=300mm,=350mm,H=635mm,曲柄1以等角速度转动,转速为=255r/min。
试求滑块5上点F的位移、速度和加速度。
2.建立机构运动分析数学模型
首先拆分杆组,该机构可拆分成
(1)AB原动件
(2)CBERPR二级杆组(3)EFRRP二级杆组
首先分析AB原动件。
位置分析:
速度分析:
加速度分析:
将已知参数带入可求出。
放入程序后的代码部分
xB=xA+Lab*Cos(f1)
yB=yA+Lab*Sin(f1)
vxB=vxA-w1*Lab*Sin(f1)
vyB=vyA+w1*Lab*Cos(f1)
axB=axA-w1^2*Lab*Cos(f1)-e1*Lab*Sin(f1)
ayB=ayA-w1^2*Lab*Sin(f1)+e1*Lab*Cos(f1)
其中,xA、xB为A和B点的位移,vxA、vxB为A点和B点的速度,axA和axB为A点和B点的加速度。
Lab为AB杆杆长,f1为AB与水平方向的夹角。
w1为杆AB的角速度,e1为杆AB的角加速度。
分析CBERPR二级杆组。
(1)位置分析
杆的转角为:
式中
(2)速度分析
杆的角速度为:
式中
(3)加速度分析
杆的角加速度为:
式中
放在程序中,源代码为
A0=xB-xC
B0=yB-yC
C0=li+lk
s=Sqr(A0^2+B0^2-C0^2)
xE=xB+(Lce-s)*Cos(f2)
yE=yB+(Lce-s)*Sin(f2)
G4=(xB-xC)*Cos(f2)+(yB-yC)*Sin(f2)
w2=((vyB-vyC)*Cos(f2)-(vxB-vxC)*Sin(f2))/G4
vxE=vxC-w2*Lce*Sin(f2)
vyE=vyC+w2*Lce*Cos(f2)
vS=((vxB-vxC)*(xB-xC)+(vyB-vyC)*(yB-yC))/G4
G5=axB-axC+w2^2*(xB-xC)+2*vS*w2*Sin(f2)
G6=ayB-ayC+w2^2*(yB-yC)+2*vS*w2*Cos(f2)
e2=(G6*Cos(f2)-G5*Sin(f2))/G4
axE=axC-e2*Lce*Sin(f2)-f2^2*Lce*Cos(f2)
ayE=ayC+e2*Lce*Cos(f2)-f2^2*Lce*Sin(f2)
其中xB,xC,xE分别为B,C,E点的位移,vxB,vxC,vxE分别为B,C,E点的速度,axB,axC,axE分别为B,C,E点的加速度,w2为杆BCE的角速度,e2为杆BCE的角加速度,Lce为杆CBE的长度,f2为杆CBE与水平方向的夹角,G4,G5,G6为中间变量。
分析EFRRP二级杆组
位置分析:
可求得,
其中:
带入上式即可解的xG,yG,s
速度分析:
其中:
加速度分析:
其中:
放在程序中源代码为
A0=H-H1-yE
f3=Arcsin(A0/Lef)
w3=-vyE/(Lef*Sqr(1-(A0/Lef)^2))
e3=(vyE/Sqr(1-(A0/Lef)^2)*A0/Lef*vyE/Lef-ayE*Sqr(1-(A0/Lef)^2))/(Lef*(1-(A0/Lef)^2))
yF=H-H1
xF=xE-Lef*Cos(f3)
vxF=vxE+w3*Lef*Sin(f3)
axF=axE+Lef*(e3*Sin(f3)+w3^2*Cos(f3))
其中xE,xF分别为E,F点的位移,vxE,vxF分别为E,F点的速度,axE,axF分别为E,F点的加速度,f3为杆EF与水平方向的夹角。
W3为杆EF的角速度,e3为杆EF的角加速度。
Lef为EF杆的杆长。
3.绘制流程框图
首先通过原动件
AB来计算出B
点的位移,速度
,加速度及AB杆
的加速度和角加
速度
通过已建立的
运动分析模型,已
知B点运动状态
可以计算出CB
杆的角度,角速
度和角加速度
已知C点坐标,通
过杆的角位移等
数据可以推得
E点的位移,速
度,加速度
已知F点Y方向上的
运动形式,及E点的位移
可以推得EF杆的角位移,角速
度和角加速度
从而能够推出F点的位
移,速度和加速度
4.运动分析图像
程序界面(图像Y轴与参考答案相反)
位移曲线
速度曲线
加速度曲线
机构动画
5.计算结果分析
通过图像可以直接看出F点在各个时刻的速度位移加速度。
并且与参考图像基本吻合。
计算结果正确。
附:
源代码
'1308102班蔡璧丞制作
'学号:
1130810203
'日期:
2015/5/24
'版本号:
2.0OptionExplicit'强制变量
DimxAAsDouble'定义A点变量
DimyAAsDouble
DimvxAAsDouble
DimvyAAsDouble
DimaxAAsDouble
DimayAAsDouble
DimxBAsDouble'定义B点变量
DimyBAsDouble
DimvxBAsDouble
DimvyBAsDouble
DimaxBAsDouble
DimayBAsDouble
DimxCAsDouble'定义C点变量
DimyCAsDouble
DimvxCAsDouble
DimvyCAsDouble
DimaxCAsDouble
DimayCAsDouble
DimxDAsDouble'定义D点变量
DimyDAsDouble
DimvxDAsDouble
DimvyDAsDouble
DimaxDAsDouble
DimayDAsDouble
DimxEAsDouble'定义E点变量
DimyEAsDouble
DimvxEAsDouble
DimvyEAsDouble
DimaxEAsDouble
DimayEAsDouble
DimxFAsDouble'定义F点变量
DimyFAsDouble
DimvxFAsDouble
DimvyFAsDouble
DimaxFAsDouble
DimayFAsDouble
DimLabAsDouble'各个杆长度
DimLceAsDouble
DimLefAsDouble
DimH1AsDouble
DimHAsDouble
DimA0AsDouble
DimB0AsDouble
DimC0AsDouble
DimliAsDouble
DimlkAsDouble
DimsAsDouble
Dimf1AsDouble
Dimf2AsDouble
Dimf3AsDouble
DimG4AsDouble
Dimw1AsDouble
Dimw2AsDouble
Dimw3AsDouble
Dime1AsDouble
Dime2AsDouble
Dime3AsDouble
DimvSAsDouble
DimG5AsDouble
DimG6AsDouble
DimQ1AsDouble
DimQ2AsDouble
DimQ3AsDouble
DimpiAsDouble
DimpaAsDouble
DimiAsDouble
DimjAsDouble
DimxB1AsDouble
DimxB2AsDouble
DimxB3AsDouble
DimxB4AsDouble
DimyB1AsDouble
DimyB2AsDouble
DimyB3AsDouble
DimyB4AsDouble
PrivateSubCommand1_Click()
SetPicture1.Picture=Nothing
Picture1.Scale(-20,40)-(400,-960)
Picture1.Line(-20,0)-(400,0)'X轴
Picture1.Line(0,40)-(0,-960)'Y轴
Fori=-20To400Step50'X轴坐标
Picture1.DrawStyle=2
Picture1.Line(i,40)-(i,-960)
Picture1.CurrentX=i-10:
Picture1.CurrentY=0
Picture1.Printi
Nexti
Fori=-960To40Step40'Y轴坐标
Picture1.DrawStyle=2
Picture1.Line(-20,i)-(400,i)
Picture1.CurrentX=-20:
Picture1.CurrentY=i
Picture1.Printi
Nexti
Forj=0To360Step0.01
f1=j*pa
CallAB
CallCBE
CallEF
Picture1.PSet(j,xF),vbRed
Nextj
EndSub
PrivateSubCommand2_Click()
SetPicture2.Picture=Nothing
Picture2.Scale(-20,80000)-(400,-40000)
Picture2.Line(-20,0)-(400,0)'X轴
Picture2.Line(0,80000)-(0,-40000)'Y轴
Fori=-20To400Step50'X轴坐标
Picture2.DrawStyle=2
Picture2.Line(i,80000)-(i,-40000)
Picture2.CurrentX=i-10:
Picture2.CurrentY=0
Picture2.Printi
Nexti
Fori=-40000To80000Step5000'Y轴坐标
Picture2.Line(-20,i)-(400,i)
Picture2.CurrentX=-20:
Picture2.CurrentY=i
Picture2.Printi
Nexti
Forj=0To360Step0.01
f1=j*pa
CallAB
CallCBE
CallEF
Picture2.PSet(j,vxF),vbRed
Nextj
EndSub
PrivateSubCommand3_Click()
SetPicture3.Picture=Nothing
Picture3.Scale(-20,20000000)-(400,-20000000)
Picture3.Line(-20,0)-(400,0)'X轴
Picture3.Line(0,20000000)-(0,-2000000)'Y轴
Fori=-40To400Step50'X轴坐标
Picture3.DrawStyle=2
Picture3.Line(i,20000000)-(i,-20000000)
Picture3.CurrentX=i-10:
Picture3.CurrentY=0
Picture3.Printi
Nexti
Fori=-20000000To20000000Step2000000'Y轴坐标
Picture3.Line(-40,i)-(400,i)
Picture3.CurrentX=-25:
Picture3.CurrentY=i+5
Picture3.Printi
Nexti
Forj=0To360Step0.01
f1=j*pa
CallAB
CallCBE
CallEF
Picture3.PSet(j,axF),vbRed
Nextj
EndSub
PrivateSubCommand4_Click()
Timer1.Enabled=NotTimer1.Enabled
IfTimer1.EnabledThen
Command4.Caption="暂停"
Else
Command4.Caption="开始"
EndIf
EndSub
PrivateSubCommand5_Click()
End
EndSub
PrivateSubForm_Load()
Form1.WindowState=2
Timer1.Interval=20
xA=0
yA=0
vxA=0
vyA=0
axA=0
ayA=0
xC=0
yC=-350
vxC=0
vyC=0
axC=0
ayC=0
yF=285
vyF=0
ayF=0
pi=4*Atn
(1)
pa=pi/180
j=0
Lab=108
Lce=620
Lef=300
H1=350
H=635
w1=1530/(2*pi)
e1=0
li=0
lk=0
EndSub
FunctionArcsin(x)AsDouble'定义arcsin函数
DimTempAsDouble
Ifx=0Then
Temp=0
Else
Temp=Atn(x/(Sqr(1-x*x)))
EndIf
Arcsin=Temp
EndFunction
PrivateSubAB()
xB=xA+Lab*Cos(f1)
yB=yA+Lab*Sin(f1)
vxB=vxA-w1*Lab*Sin(f1)
vyB=vyA+w1*Lab*Cos(f1)
axB=axA-w1^2*Lab*Cos(f1)-e1*Lab*Sin(f1)
ayB=ayA-w1^2*Lab*Sin(f1)+e1*Lab*Cos(f1)
EndSub
PrivateSubCBE()'CBERPR二级杆组分析子程序
A0=xB-xC
B0=yB-yC
C0=li+lk
s=Sqr(A0^2+B0^2-C0^2)
IfxB>xCThen
f2=Atn((B0*s+A0*C0)/(A0*s-B0*C0))
ElseIfxB=xCThen
f2=pi/2
ElseIfxBf2=pi+Atn((B0*s+A0*C0)/(A0*s-B0*C0))
Else
EndIf
xE=xB+(Lce-s)*Cos(f2)
yE=yB+(Lce-s)*Sin(f2)
G4=(xB-xC)*Cos(f2)+(yB-yC)*Sin(f2)
w2=((vyB-vyC)*Cos(f2)-(vxB-vxC)*Sin(f2))/G4
vxE=vxC-w2*Lce*Sin(f2)
vyE=vyC+w2*Lce*Cos(f2)
vS=((vxB-vxC)*(xB-xC)+(vyB-vyC)*(yB-yC))/G4
G5=axB-axC+w2^2*(xB-xC)+2*vS*w2*Sin(f2)
G6=ayB-ayC+w2^2*(yB-yC)+2*vS*w2*Cos(f2)
e2=(G6*Cos(f2)-G5*Sin(f2))/G4
axE=axC-e2*Lce*Sin(f2)-f2^2*Lce*Cos(f2)
ayE=ayC+e2*Lce*Cos(f2)-f2^2*Lce*Sin(f2)
EndSub
PrivateSubEF()'EFRRP二级杆组分析子程序
A0=H-H1-yE
f3=Arcsin(A0/Lef)
w3=-vyE/(Lef*Sqr(1-(A0/Lef)^2))
e3=(vyE/Sqr(1-(A0/Lef)^2)*A0/Lef*vyE/Lef-ayE*Sqr(1-(A0/Lef)^2))/(Lef*(1-(A0/Lef)^2))
yF=H-H1
xF=xE-Lef*Cos(f3)
vxF=vxE+w3*Lef*Sin(f3)
axF=axE+Lef*(e3*Sin(f3)+w3^2*Cos(f3))
EndSub
PrivateSubTimer1_Timer()
Picture4.AutoRedraw=True
SetPicture4.Picture=Nothing
Picture4.Scale(-700,500)-(500,-500)
Picture4.Line(-700,0)-(500,0)'X轴
Picture4.Line(0,500)-(0,-500)'Y轴
Fori=-700To500Step50'X轴坐标
Picture4.DrawStyle=2
Picture4.DrawWidth=1'线宽1
Picture4.Line(i,500)-(i,-500)
Picture4.CurrentX=i-10:
Picture4.CurrentY=0
Picture4.Printi
Nexti
Fori=-500To500Step50'Y轴坐标
Picture4.DrawStyle=2
Picture4.DrawWidth=