哈工大机械原理大作业连杆机构运动分析报告29.docx
《哈工大机械原理大作业连杆机构运动分析报告29.docx》由会员分享,可在线阅读,更多相关《哈工大机械原理大作业连杆机构运动分析报告29.docx(25页珍藏版)》请在冰豆网上搜索。
![哈工大机械原理大作业连杆机构运动分析报告29.docx](https://file1.bdocx.com/fileroot1/2023-4/20/ebca136f-cf35-4913-8b5e-9261761a5cea/ebca136f-cf35-4913-8b5e-9261761a5cea1.gif)
哈工大机械原理大作业连杆机构运动分析报告29
机械原理大作业一
课程名称:
机械原理设计题目:
连杆机构运动分析-29院系:
机电工程学院班级:
设计者:
学号:
指导教师:
设计时间:
哈尔滨工业大学
设计题目(29)
二、VB编程得到动画、轨迹、位移、速度、加速度线图
1.用VB编写程序得到的机构动画
2.构件2上的E点轨迹
3.构件7的位移线图
4.构件7的速度线图
5.构件7的加速度线图
三、计算说明书
(一)建立机构运动分析数学模型
对机构进行结构分析,找出基本杆组
1.基本杆组划分
a)杆件1为原动件
b)构件2、3为RRR型II级杆组
c)构件4、5为RRR型II级杆组
d)构件6、7为RRP型II级杆组
2.结构分析与自由度计算
机构为平面连杆机构,活动构件数n=7,PL=10,转动副为9个,移动副为1个,高副为0个,则机构自由度为F=3n-2PL-PH=3x7-2x10=1。
各基本杆组的运动分析数学模型
1.原动件(I级构件)
1)位置分析
xBxAlicosi
B点位置方程BAii(1-1)
yByAlisini
2)速度分析
3)加速度分析
把(2-2)对时间他求导得B加速度方程
2.RRR杆组的运动分析
3.RRP杆组的运动分析
图2
1)位置分析内运动副C的位置方程
li的转角
式中
A0(xB
滑块
滑块
2)
xCxBlicosi
yCyBlisini
arcsin(A0lilj
)j
xKscosjljsinj
yKssinjljcosj
xk)sinj(yByK)cosj满足装配条件A0ljli
D相对参考点K的位移为
xCxkljsinjs
yCyKljcosj
D的位置方程
速度分析
cosj
sinj
杆li的角速度ii
xDxKscosiyDyKssini
Q1sinjQ2cosj
滑块D沿导路的移动速度
Q1licosiQ2lisinis
Q3
2-1)
2-2)
2-3)
2-4)
2-5)
2-6)
式中Q1xKxBj(ssinjljcosj)
Q2yKyBj(scosjljsinj)
Q3lisinisinjlicosicosj
内运动副C的速度为
xCxBilisiniyCyBilicosi
外移动副D的速度为
xDxKscosisjsinjyDyKssinisjcosj(3)加速度分析
杆li的角加速度
Q4sinjQ5cosji
2-7)
2-8)
2-9)
2-10)
滑块D沿导路移动的加速度为sQ4licosiQ5lisini
Q3
式中
22
Q4xKxBilicosij(ssinjljcosj)j(scosjljsinj)2sjsinj
22
Q5yKyBilisinij(scosjljsinj)j(ssinjljcosj)2sjcosj
2
xCxBilicosijlisinj
内运动副C的加速度CBiiijij(2-11)
2
yCyBilisinijlicosj
2
xDxKscosjsjsinjsjcosj2sjsinj
滑块D的加速度DKjjjjjjj(2-12)
2
yDyKssinjsjcosjsjsinj2sjcosj
以上为基本杆组的通用分析,根据已知条件进行赋值均在程序中体现
(二)计算流程框图(见下页)
(三)VB编写程序清单
点的坐标、速度、加速度
定义变量
DimxAAsDouble'ADimyAAsDoubleDimvxAAsDoubleDimvyAAsDoubleDimaxAAsDoubleDimayAAsDoubleDimxBAsDouble'BDimyBAsDoubleDimvxBAsDoubleDimvyBAsDoubleDimaxBAsDoubleDimayBAsDoubleDimxDAsDouble'DDimyDAsDoubleDimvxDAsDoubleDimvyDAsDoubleDimaxDAsDoubleDimayDAsDoubleDimxEAsDouble'EDimyEAsDoubleDimvxEAsDoubleDimvyEAsDoubleDimaxEAsDoubleDimayEAsDoubleDimxGAsDouble'GDimyGAsDoubleDimvxGAsDoubleDimvyGAsDoubleDimaxGAsDoubleDimayGAsDoubleDimxHAsDouble'HDimyHAsDoubleDimvxHAsDoubleDimvyHAsDoubleDimaxHAsDoubleDimayHAsDoubleDimxMAsDouble'MDimyMAsDoubleDimvxMAsDoubleDimvyMAsDoubleDimaxMAsDouble
DimayMAsDouble
DimxNAsDouble'参考点N
DimyNAsDouble
DimvxNAsDouble
DimvyNAsDouble
DimaxNAsDouble
DimayNAsDouble
DimxKAsDouble'K点
DimyKAsDouble
DimvxKAsDouble
DimvyKAsDouble
DimaxKAsDouble
DimayKAsDouble
Dimdelt1AsDouble'AB杆初始转角
DimL1AsDouble'AB杆长
Dimf1AsDouble'AB杆转角
Dimw1AsDouble'AB杆角速度
Dime1AsDouble'AB杆角加速度
DimL2AsDouble'BC杆
Dimf2AsDouble
Dimw2AsDouble
Dime2AsDouble
DimL3AsDouble'CD杆
Dimf3AsDouble
Dimw3AsDouble
Dime3AsDouble
DimLBEAsDouble'BE杆
Dimdelt2AsDouble
DimL4AsDouble'EF杆
Dimf4AsDouble
Dimw4AsDouble
Dime4AsDouble
DimLFGAsDouble'FG杆
Dimf5AsDouble
Dimw5AsDouble
Dime5AsDouble
DimdeltGHAsDouble'GH杆
DimLGHAsDouble
DimL6AsDouble'HM(HK)杆
Dimf6AsDouble
Dimw6AsDouble
Dime6AsDouble
DimLjAsDouble'MK杆
DimfjAsDouble
DimwjAsDouble
DimejAsDouble
DimpiAsDouble
DimpaAsDouble
DimiAsDouble
Dimfj1AsDouble
PrivateSubCommand1_Click()'点E的轨迹
Picture1.Scale(-50,250)-(600,-100)
Picture1.Line(-50,0)-(600,0)'X
Picture1.Line(0,250)-(0,-100)'Y
Fori=-50To600Step50'X轴坐标
Picture1.DrawStyle=2
Picture1.Line(i,250)-(i,-100)
Picture1.CurrentX=i-0:
Picture1.CurrentY=0
Picture1.Printi
Nexti
Fori=-100To250Step50'Y轴坐标
Picture1.DrawStyle=2
Picture1.Line(-50,i)-(600,i)
Picture1.CurrentX=-20:
Picture1.CurrentY=i+7
Picture1.Printi
Nexti
Forfj1=0To360Step0.01
f1=fj1*pa
CallRR1
CallRRR1
CallRR2
Picture1.PSet(xE,yE)
Nextfj1
EndSub
PrivateSubCommand2_Click()'求点G的位移
Picture2.Scale(-20,300)-(380,200)
Picture2.Line(-20,0)-(380,0)'X
Picture2.Line(0,300)-(0,200)'Y
Fori=0To360Step30'X轴坐标
Picture2.DrawStyle=2
Picture2.Line(i,300)-(i,0)
Picture2.CurrentX=i-10:
Picture2.CurrentY=0
Picture2.Printi
Nexti
Fori=200To300Step10'Y轴坐标
Picture2.Line(0,i)-(380,i)
Picture2.CurrentX=-25:
Picture2.CurrentY=i
Picture2.Printi
Nexti
Forfj1=0To360Step0.01
f1=fj1*pa
CallRR1
CallRRR1
CallRR2
CallRRR2
CallRR3
CallRRP1
Picture2.PSet(fj1,ss)
Nextfj1
EndSub
PrivateSubCommand3_Click()'求点G的速度
Picture3.Scale(-30,600)-(380,-600)
Picture3.Line(-30,0)-(380,0)'X
Picture3.Line(0,600)-(0,-600)'Y
Fori=0To360Step30'X轴坐标
Picture3.DrawStyle=2
Picture3.Line(i,600)-(i,-600)
Picture3.CurrentX=i-10:
Picture3.CurrentY=0
Picture3.Printi
Nexti
Fori=-600To600Step50'Y轴坐标
Picture3.Line(0,i)-(380,i)
Picture3.CurrentX=-28:
Picture3.CurrentY=i
Picture3.Printi
Nexti
Forfj1=0To360Step0.01
f1=fj1*pa
CallRR1
CallRRR1
CallRR2
CallRRR2
CallRR3
CallRRP1
Picture3.PSet(fj1,vss)
Nextfj1
EndSub
PrivateSubCommand4_Click()'求点G的加速度
Picture4.Scale(-20,20000)-(380,-10000)Picture4.Line(-20,0)-(380,0)'X
Picture4.Line(0,20000)-(0,-10000)'YFori=0To360Step30'X轴坐标
Picture4.DrawStyle=2
Picture4.Line(i,20000)-(i,-10000)Picture4.CurrentX=i-10:
Picture4.CurrentY=0Picture4.Printi
Nexti
Fori=-10000To20000Step1000'Y轴坐标
Picture4.Line(0,i)-(380,i)
Picture4.CurrentX=-25:
Picture4.CurrentY=i+5Picture4.Printi
Nexti
Forfj1=0To360Step0.01f1=fj1*paCallRR1CallRRR1CallRR2CallRRR2CallRR3CallRRP1
Picture4.PSet(fj1,ass)
Nextfj1EndSubPrivateSubForm_Load()'赋初值
xA=0yA=0vxA=0vyA=0axA=0ayA=0xD=730yD=-138vxD=0vyD=0axD=0ayD=0xG=465yG=-248vxG=0vyG=0axG=0
ayG=0xN=545yN=0vxN=0vyN=0axN=0ayN=0delt1=0
L1=200w1=10
e1=0
L2=670
L3=350delt2=0
LBE=335
L4=380
LFG=130deltGH=56*paLGH=100
L6=486
Lj=0
fj=pi/2wj=0ej=0pi=3.14pa=pi/180
EndSub
PublicSubRR1()'杆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)EndSub
PublicSubRRR1()'杆BCD
DimxCAsDouble
DimyCAsDouble
DimvxCAsDouble
DimvyCAsDouble
DimaxCAsDouble
DimayCAsDouble
DimLBDAsDouble
DimJCBDAsDouble
Dimval1AsDouble
DimfDBAsDouble
DimC2AsDouble
DimC3AsDouble
DimS2AsDouble
DimS3AsDouble
DimG11AsDouble
DimG12AsDouble
DimG13AsDouble
LBD=Sqr((xD-xB)^2+(yD-yB)^2)
IfLBD>L2+L3AndLBDIfMsgBox("RRR杆组杆长不符合要求",vbOKOnly,"提示")=1ThenEnd
Else
EndIf
Else
EndIf
IfLBDAbs(L2-L3)Then
val1=(L2^2+LBD^2-L3^2)/(2*L2*LBD)
JCBD=Atn(-val1/Sqr(-val1*val1+1))+2*Atn
(1)
Else
EndIf
IfLBD=L2+L3Then
JCBD=0
Else
EndIf
IfLBD=Abs(L2-L3)Then
IfL2>L3Then
JCBD=0
Else
EndIf
IfL2JCBD=pi
Else
EndIf
Else
EndIf
IfxD>xBAndyD>=yBThen'第一象限
fDB=Atn((yD-yB)/(xD-xB))
Else
EndIf
IfxD=xBAndyD>yBThen
fDB=pi*2
Else
EndIf
IfxD=yBThen'fDB=pi+Atn((yD-yB)/(xD-xB))Else
EndIf
IfxDfDB=pi+Atn((yD-yB)/(xD-xB))
Else
EndIf
IfxB=xDAndyDfDB=3*pi/2
Else
EndIf
IfxD>xBAndyD<=yBThen'
fDB=2*pi+Atn((yD-yB)/(xD-xB))
Else
EndIf
f2=fDB+JCBD
xC=xB+L2*Cos(f2)
yC=yB+L2*Sin(f2)
IfxC>xDAndyC>=yDThen'第
f3=Atn((yC-yD)/(xC-xD))Else
EndIf
IfxC=xDAndyC>yDThen
f3=pi/2
Else
EndIf
IfxC=xDThen'f3=pi+Atn((yC-yD)/(xC-xD))ElseEndIf
IfxCf3=pi+Atn((yC-yD)/(xC-xD))
Else
EndIf
IfxC=xDAndxC第二象限
第三象限
第四象限
象限
第二象限
第三象限
f2=3*pi/2Else
第四象限
EndIf
IfxC>xDAndxC<=xDThen'f2=2*pi+Atn((yC-yD)/(xC-xD))Else
EndIf
C2=L2*Cos(f2)
S2=L2*Sin(f2)
C3=L3*Cos(f3)
S3=L3*Sin(f3)
G11=C2*S3-C3*S2w2=(C3*(vxD-vxB)+S3*(vyD-vyB))/G11w3=(C2*(vxD-vxB)+S2*(vyD-vyB))/G11vxC=vxB-w2*L2*Sin(f2)vyC=vyB+w2*L2*Cos(f2)
G12=axD-axB+w2^2*C2-w3^2*C3G13=ayD-ayB+w2^2*S2-w3^2*S3e2=(G12*C3+G13*S3)/G11e3=(G12*C2+G13*S2)/G11axC=axB-e2*L2*Sin(f2)-w2^2*L2*Cos(f2)ayC=ayB-e2*L2*Cos(f2)-w2^2*L2*Sin(f2)EndSub
PublicSubRR2()'杆BExE=xB+LBE*Cos(f2+delt2)yE=yB+LBE*Sin(f2+delt2)vxE=vxB-w2*LBE*Sin(f2+delt2)vyE=vyB+w2*LBE*Cos(f2+delt2)axE=axB-w2^2*LBE*Cos(f2+delt2)-e2*LBE*Sin(f2+delt2)ayE=ayB-w2^2*LBE*Sin(f2+delt2)+e2*LBE*Cos(f2+delt2)EndSub
PublicSubRRR2()'杆EFG
DimxFAsDoubleDimyFAsDoubleDimvxFAsDoubleDimvyFAsDoubleDimaxFAsDoubleDimayFAsDoubleDimLEGAsDoubleDimJFEGAsDoubleDimval2AsDoubleDimfGEAsDouble
DimC4AsDouble
DimC5AsDouble
DimS4AsDouble
DimS5AsDouble
DimG21AsDouble
DimG22AsDouble
DimG23AsDouble
LEG=Sqr((xG-xE)^2+(yG-yE)