哈工大机械原理大作业连杆黄建青.docx

上传人:b****6 文档编号:6115105 上传时间:2023-01-03 格式:DOCX 页数:18 大小:351.58KB
下载 相关 举报
哈工大机械原理大作业连杆黄建青.docx_第1页
第1页 / 共18页
哈工大机械原理大作业连杆黄建青.docx_第2页
第2页 / 共18页
哈工大机械原理大作业连杆黄建青.docx_第3页
第3页 / 共18页
哈工大机械原理大作业连杆黄建青.docx_第4页
第4页 / 共18页
哈工大机械原理大作业连杆黄建青.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

哈工大机械原理大作业连杆黄建青.docx

《哈工大机械原理大作业连杆黄建青.docx》由会员分享,可在线阅读,更多相关《哈工大机械原理大作业连杆黄建青.docx(18页珍藏版)》请在冰豆网上搜索。

哈工大机械原理大作业连杆黄建青.docx

哈工大机械原理大作业连杆黄建青

HarbinInstituteofTechnology

机械原理大作业一

 

课程名称:

机械原理

设计题目:

连杆机构运动分析

院系:

能源学院

班级:

1302402

设计者:

黄建青

学号:

1130240222

指导教师:

焦映厚陈照波

设计时间:

2015年06月24日

 

求解步骤如下:

1.建立坐标系

建立以点A为原点的固定平面直角坐标系xAy。

2.机构的结构分析,基本干组的划分

该机构由

级杆组RR(原动件AB)、

级杆组RRP(杆2,3)、

级杆组RRP(杆4,5)。

如下图所示。

 

3.建立各基本杆组的运动分析的数学模型

计算流程框图如下:

 

3.1

级杆组RR(原动件AB)

设原动件杆1的转角为φ,则

角速度

角加速度

支座A的位置坐标为

速度为

加速度为

原动件杆1的长度

所以,运动副B的位置、速度和加速度分析如下:

位置

速度

加速度分析

3.2

级杆组RRP(杆2、3)

杆长

设点C位移为s

C点位移

速度

加速度

3.3

级杆组RRP(杆4、5)

杆长

则D点轨迹:

E点坐标:

速度

加速度

4.用VB编程求解

源代码如下:

DimXAAsDouble,YAAsDouble

Dimθ2(10)AsDouble

DimXD(10)AsDouble,YD(10)AsDouble

DimXB(10)AsDouble,YB(10)AsDouble

DimXC(10)AsDouble,YC(10)AsDouble,ψ1(10)AsDouble

DimXE(10)AsDouble,YE(10)AsDouble

Dimψ2(10)AsDouble

DimtAsDouble

Dimw1AsDouble

DimLABAsDouble,LBCAsDouble,LBDAsDouble,LDEAsDouble

DimiAsDouble

FunctionArcsin(X)AsDouble

Arcsin=Atn(X/Sqr(-X*X+1))

EndFunction

PrivateSubCommand1_Click()

Picture1.FillColor=vbBlack

Picture1.Circle(XA,YA),6,vbBlack

i=0

Fort=0To10Step0.0001

Ifi=1Then

Picture1.Line(XA,YA)-(XB(t),YB(t)),vbWhite

Picture1.Line(XC(t),YC(t))-(XD(t),YD(t)),vbWhite

Picture1.Line(XE(t),YE(t))-(XD(t),YD(t)),vbWhite

Picture1.Circle(XA,YA),6,vbWhite

Picture1.Circle(XD(t),YD(t)),6,vbWhite

Picture1.Circle(XB(t),YB(t)),6,vbWhite

Picture1.Circle(XC(t),YC(t)),6,vbWhite

Picture1.Circle(XE(t),YE(t)),6,vbWhite

EndIf

θ2(t)=w1*t

XB(t)=LAB*Cos(θ2(t))

YB(t)=LAB*Sin(θ2(t))

Picture1.FillColor=vbBlack

Picture1.Circle(XB(t),YB(t)),6,vbBlack

Picture1.Line(XA,YA)-(XB(t),YB(t)),vbBlack

Ifθ2(t)>(3.14159/2)Andθ2(t)<(3*3.14159/2)Then

ψ1(t)=Arcsin(-XB(t)/LBC)

Else

ψ1(t)=Arcsin(XB(t)/LBC)

EndIf

XC(t)=0

YC(t)=YB(t)-LBC*(Cos(ψ1(t)))

Ifθ2(t)>(3.14159/2)Andθ2(t)<(3*3.14159/2)Then

XD(t)=XB(t)-LBD*(Sin(ψ1(t)))

ψ2(t)=Arcsin(-(XD(t))/LDE)

ElseIfθ2(t)<>(3*3.14159/2)Then

XD(t)=XB(t)+LBD*(Sin(ψ1(t)))

ψ2(t)=Arcsin((XD(t))/LDE)

EndIf

YD(t)=YB(t)+LBD*Abs(Cos(ψ1(t)))

Picture1.FillColor=vbBlackA

Picture1.Circle(XC(t),YC(t)),6,vbBlack

'Picture1.Line(XC(t),YC(t))-(XB(t),YB(t)),vbBlack

Picture1.Line(XC(t),YC(t))-(XD(t),YD(t)),vbBlack

XE(t)=0

YE(t)=YD(t)+LDE*(Cos(ψ2(t)))

Picture1.FillColor=vbBlack

Picture1.Circle(XE(t),YE(t)),6,vbBlack

Picture1.Line(XD(t),YD(t))-(XE(t),YE(t)),vbBlack

'Picture1.Line(XE(t)-100,YE(t))-(XE(t)+100,YE(t)),vbBlack

'Picture1.Line(XE(t)-100,YE(t)-450)-(XE(t)+100,YE(t)-450),vbBlack

i=1

Nextt

EndSub

得到动画图:

图1、动画

DimXAAsDouble,YAAsDouble

Dimθ2(10)AsDouble

DimXB(10)AsDouble,YB(10)AsDouble

DimXC(10)AsDouble,YC(10)AsDouble,ψ1(10)AsDouble

DimXD(10)AsDouble,YD(10)AsDouble,XE(10)AsDouble,YE(10)AsDouble

Dimψ2(10)AsDouble

DimtAsDouble

Dimw1AsDouble

DimLABAsDouble,LBCAsDouble,LBDAsDouble,LDEAsDouble

DimiAsDouble

PrivateSubCommand2_Click()

Picture1.Cls

EndSub

PrivateSubCommand3_Click()

End

EndSub

PrivateSubForm_Load()

XA=0

YA=0

w1=10

LAB=100

LBC=200

LBD=100

LDE=210

EndSub

FunctionArcsin(X)AsDouble

Arcsin=Atn(X/Sqr(-X*X+1))

EndFunction

PrivateSubPicture1_Click()

Picture1.BackColor=vbWhite

Picture1.FillStyle=0

Picture1.Scale(-360,360)-(360,-360)

Picture1.Line(-360,0)-(360,0)

Picture1.Line(0,-360)-(0,360)

Fori=0To24

Picture1.CurrentX=-10

Picture1.CurrentY=-30*i+360

Picture1.Print""&-30*i+360&""

Nexti

Fori=-18To18

Picture1.CurrentX=i*20

Picture1.CurrentY=-10

Picture1.Print""&i*20&""

Nexti

EndSub

PrivateSubCommand1_Click()

Fort=0To10Step0.0001

θ2(t)=w1*t

XB(t)=LAB*Cos(θ2(t))

YB(t)=LAB*Sin(θ2(t))

ψ1(t)=Arcsin(Abs(XB(t))/LBC)

XC(t)=0

YC(t)=YB(t)-LBC*Abs(Cos(ψ1(t)))

XD(t)=XB(t)+LBD*(Sin(ψ1(t)))

YD(t)=YB(t)+LBD*Abs(Cos(ψ1(t)))

ψ2(t)=Arcsin(Abs(XD(t))/LDE)

XE(t)=0

YE(t)=YD(t)+LDE*(Cos(ψ2(t)))

Picture1.Circle(θ2(t)*180/3.14159,YC(t)),0.08,vbBlack

Picture1.Circle(θ2(t)*180/3.14159,YE(t)-460),0.08,vbBlack

Picture1.Circle(XD(t),YD(t)),0.08,vbBlack

Nextt

EndSub

得到构件2上的D点轨迹,如图2所示:

图2、D点轨迹图

得到构件3、5的位移图:

图3、位移图

DimXAAsDouble,YAAsDouble

Dimθ2(10)AsDouble

DimXB(10)AsDouble,YB(10)AsDouble,XB1(10)AsDouble,YB1(10)AsDouble

DimXC(10)AsDouble,YC(10)AsDouble,ψ1(10)AsDouble,A1(10)AsDouble,vyC(10)AsDouble

DimXD(10)AsDouble,YD(10)AsDouble,XD1(10)AsDouble,YD1(10)AsDouble

DimXE(10)AsDouble,YE(10)AsDouble,vyE(10)AsDouble,ψ2(10)AsDouble,A2(10)AsDouble

DimtAsDouble

Dimw1AsDouble

DimLABAsDouble,LBCAsDouble,LBDAsDouble,LDEAsDouble

DimiAsDouble

PrivateSubCommand2_Click()

Picture1.Cls

EndSub

PrivateSubCommand3_Click()

End

EndSub

PrivateSubForm_Load()

XA=0

YA=0

w1=10

LAB=100

LBC=200

LBD=100

LDE=190

EndSub

FunctionArcsin(X)AsDouble

Arcsin=Atn(X/Sqr(-X*X+1))

EndFunction

PrivateSubPicture1_Click()

Picture1.BackColor=vbWhite

Picture1.FillStyle=0

Picture1.Scale(-30,1900)-(360,-1900)

Picture1.Line(0,0)-(360,0)

Picture1.Line(0,-1900)-(0,1900)

Fori=0To135

Picture1.CurrentX=-20

Picture1.CurrentY=-500*i+1900

Picture1.Print""&-500*i+1900&""

Nexti

Fori=0To18

Picture1.CurrentX=i*20

Picture1.CurrentY=-10

Picture1.Print""&i*20&""

Nexti

EndSub

PrivateSubCommand1_Click()

Fort=0To10Step0.0001

θ2(t)=w1*t

XB(t)=LAB*Cos(θ2(t))

YB(t)=LAB*Sin(θ2(t))

XB1(t)=-LAB*w1*Sin(θ2(t))

YB1(t)=LAB*w1*Cos(θ2(t))

Ifθ2(t)>(3.14159/2)Andθ2(t)<(3*3.14159/2)Then

ψ1(t)=Arcsin(-XB(t)/LBC)

A1(t)=-XB1(t)/(LBC*Sqr(1-(-XB(t)/LBC)^2))

Else

ψ1(t)=Arcsin(XB(t)/LBC)

A1(t)=XB1(t)/(LBC*Sqr(1-(XB(t)/LBC)^2))

EndIf

XC(t)=0

YC(t)=YB(t)-LBC*Abs(Cos(ψ1(t)))

vyC(t)=YB1(t)+A1(t)*LBC*(Sin(ψ1(t)))

Ifθ2(t)>(3.14159/2)Andθ2(t)<(3*3.14159/2)Then

XD(t)=XB(t)-LBD*(Sin(ψ1(t)))

XD1(t)=XB1(t)-LBD*A1(t)*(Cos(ψ1(t)))

ψ2(t)=Arcsin(-(XD(t))/LDE)

A2(t)=-XD1(t)/(LDE*Sqr(1-(-(XD(t))/LDE)^2))

Else:

XD(t)=XB(t)+LBD*(Sin(ψ1(t)))

XD1(t)=XB1(t)+LBD*A1(t)*(Cos(ψ1(t)))

ψ2(t)=Arcsin(XD(t)/LDE)

A2(t)=XD1(t)/(LDE*Sqr(1-(Abs(XD(t))/LDE)^2))

EndIf

YD(t)=YB(t)+LBD*Abs(Cos(ψ1(t)))

YD1(t)=YB1(t)-LBD*A1(t)*Abs(Sin(ψ1(t)))

XE(t)=0

YE(t)=YD(t)+LDE*(Cos(ψ2(t)))

vyE(t)=YD1(t)-A2(t)*LDE*(Sin(ψ2(t)))

Picture1.Circle(θ2(t)*180/3.14159,vyC(t)),0.08,vbBlack

Picture1.Circle(θ2(t)*180/3.14159,vyE(t)),0.08,vbBlack

Nextt

EndSub

PrivateSubCommand4_Click()

Form3.Hide

Form4.Show

EndSub

得到构件3、5的速度图:

图4、速度图

DimXAAsDouble,YAAsDouble

Dimθ2(10)AsDouble

DimXB(10)AsDouble,YB(10)AsDouble,XB1(10)AsDouble,YB1(10)AsDouble,XB2(10)AsDouble,YB2(10)AsDouble

DimXC(10)AsDouble,YC(10)AsDouble,ψ1(10)AsDouble,A1(10)AsDouble,vyC(10)AsDouble,A12(10)AsDouble,ayC(10)AsDouble

DimXD(10)AsDouble,YD(10)AsDouble,XD1(10)AsDouble,YD1(10)AsDouble,XD2(10)AsDouble,YD2(10)AsDouble

DimXE(10)AsDouble,YE(10)AsDouble,vyE(10)AsDouble,ψ2(10)AsDouble,A2(10)AsDouble,ayE(10)AsDouble,A22(10)AsDouble

DimtAsDouble

Dimw1AsDouble

DimLABAsDouble,LBCAsDouble,LBDAsDouble,LDEAsDouble

DimiAsDouble

PrivateSubCommand2_Click()

Picture1.Cls

EndSub

PrivateSubCommand3_Click()

End

EndSub

PrivateSubForm_Load()

XA=0

YA=0

w1=10

LAB=100

LBC=200

LBD=100

LDE=210

EndSub

FunctionArcsin(X)AsDouble

Arcsin=Atn(X/Sqr(-X*X+1))

EndFunction

PrivateSubPicture1_Click()

Picture1.BackColor=vbWhite

Picture1.FillStyle=0

Picture1.Scale(-30,30000)-(360,-30000)

Picture1.Line(0,0)-(360,0)

Picture1.Line(0,-30000)-(0,30000)

Fori=0To40

Picture1.CurrentX=-20

Picture1.CurrentY=-1600*i+30000

Picture1.Print""&-1600*i+30000&""

Nexti

Fori=0To18

Picture1.CurrentX=i*20

Picture1.CurrentY=-10

Picture1.Print""&i*20&""

Nexti

EndSub

PrivateSubCommand1_Click()

Fort=0To10Step0.0001

θ2(t)=w1*t

XB(t)=LAB*Cos(θ2(t))

YB(t)=LAB*Sin(θ2(t))

XB1(t)=-LAB*w1*Sin(θ2(t))

YB1(t)=LAB*w1*Cos(θ2(t))

XB2(t)=-LAB*w1^2*Cos(θ2(t))

YB2(t)=-LAB*w1^2*Sin(θ2(t))

Ifθ2(t)>(3.14159/2)Andθ2(t)<(3*3.14159/2)Then

ψ1(t)=Arcsin(-XB(t)/LBC)

A1(t)=-XB1(t)/(LBC*Sqr(1-(-XB(t)/LBC)^2))

A12(t)=-XB2(t)/(LBC*Sqr(1-(-XB(t)/LBC)^2))-(XB1(t))^2*XB(t)/(LBC^3*(1-(XB(t)/LBC)^2)^1.5)

Else

ψ1(t)=Arcsin(XB(t)/LBC)

A1(t)=XB1(t)/(LBC*Sqr(1-(XB(t)/LBC)^2))

A12(t)=XB2(t)/(LBC*Sqr(1-(-XB(t)/LBC)^2))+(XB1(t))^2*XB(t)/(LBC^3*(1-(XB(t)/LBC)^2)^1.5)

EndIf

XC(t)=0

YC(t)=YB(t)-LBC*(Cos(ψ1(t)))

vyC(t)=YB1(t)+A1(t)*LBC*(Sin(ψ1(t)))

ayC(t)=YB2(t)+A12(t)*LBC*(Sin(ψ1(t)))+(A1(t))^2*LBC*(Cos(ψ1(t)))

Ifθ2(t)>(3.14159/2)Andθ2(t)<(3*3.14159/2)Then

XD(t)=XB(t)-LBD*(Sin(ψ1(t)))

XD1(t)=XB1(t)-LBD*A1(t)*(Cos(ψ1(t)))

XD2(t)=XB2(t)-LBD*A12(t)*(Cos(ψ1(t)))+LBD*(A1(t))^2*(Sin(ψ1(t)))

ψ2(t)=Arcsin(-(XD(t))/LDE)

A2(t)=-XD1(t)/(LDE*Sqr(1-(-(XD(t))/LDE)^2))

A22(t)=-XD2(t)/(LDE*Sqr(1-(-XD(t)/LDE)^2))-(XD1(t))^2*XD(t)/(LDE^3*(1-(XD(t)/LDE)^2)^1.5)

Else:

XD(t)=XB(t)+LBD*(Sin(ψ1(t)))

XD1(t)=XB1(t)+LBD*A1(t)*(Cos(ψ1(t)))

XD2(t)=XB2(t)+L

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1