哈工大机械原理大作业凸轮23.docx

上传人:b****6 文档编号:8453775 上传时间:2023-01-31 格式:DOCX 页数:22 大小:164.03KB
下载 相关 举报
哈工大机械原理大作业凸轮23.docx_第1页
第1页 / 共22页
哈工大机械原理大作业凸轮23.docx_第2页
第2页 / 共22页
哈工大机械原理大作业凸轮23.docx_第3页
第3页 / 共22页
哈工大机械原理大作业凸轮23.docx_第4页
第4页 / 共22页
哈工大机械原理大作业凸轮23.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

哈工大机械原理大作业凸轮23.docx

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

哈工大机械原理大作业凸轮23.docx

哈工大机械原理大作业凸轮23

机械原理大作业

(二)

 

作业名称:

凸轮机构设计

设计题目:

23题

院系:

汽车工程学院

设计时间:

2015年5月

 

哈尔滨工业大学(威海)

1、设计题目

升程/mm

升程运动角/。

升程运动规律

升程许用压力角/。

回程运动角/。

回程运动规律

回城许用压力角/。

远休止角/。

近休止角/。

120

120

余弦加速度

35

90

余弦加速度

65

40

110

2、运动方程式及运动线图

本实验假设凸轮逆时针旋转。

(1)确定凸轮机构推杆升程、回程运动方程,并绘制推杆位移、速度、加速度线图。

(设定角速度为ω=1)

升程:

(0<φ<2π/3)

s=60*(1-Cos(1.5*φ))

v=90*Sin(1.5*φ)

a=135*Cos(1.5*φ)

远休止程:

s=120

v=0

a=0

回程:

(8*π/9<φ<25*π/18)

s=60*(1+Cos(2*(φ-8*pi/9)))

v=-120*Sin(2*(φ-8*pi/9))

a=-240*Cos(2*(φ-8*pi/9))

近休止程:

s=0

v=0

a=0

由上述公式通过编程得到位移、速度、加速度曲线如下:

位移S-转角φ曲线

速度V-转角φ曲线

加速度a-转角φ曲线

3、凸轮机构的

线图及基圆半径和偏距的确定

凸轮机构的

线图:

确定凸轮半径

偏距e取25,S取50.11

半径r=(e^2+s^2)^(1/2)=56

4、滚子半径的确定及凸轮理论廓线和实际廓线的绘制

滚子半径rr的确定:

下图为曲率-转角曲线,20mm>Rmin>10mm取滚子半径为10

 

理论轮廓(外部)和工作轮廓(内部)

理论轮廓.工作轮廓.基圆(大圆).偏距圆(小圆).滚子包络线(见下页图)

 

求位移、速度、加速度的程序

PrivateSubCommand1_Click()

DimsAsDouble

Dimf0AsDouble

DimfsAsDouble

Dimf01AsDouble

Dimfs1AsDouble

DimffAsDouble

DimfAsDouble

DimpiAsDouble

DimpaAsDouble

Picture1.DrawWidth=1

Picture1.Scale(-30,150)-(390,-30)

Picture1.Line(-30,0)-(390,0)'XPicture1.Line(0,-30)-(0,150)'Y

Picture1.CurrentX=0:

Picture1.CurrentY=130

Picture1.Print"位移S"

Picture1.CurrentX=330:

Picture1.CurrentY=20

Picture1.Print"角度/度"

Fori=30To390Step30

Picture1.Line(i,5)-(i,0)

Picture1.CurrentX=i-7:

Picture1.CurrentY=0

Picture1.Printi

Nexti

Fori=30To150Step30

Picture1.Line(0,i)-(5,i)

Picture1.CurrentX=-20:

Picture1.CurrentY=i+2

Picture1.Printi

Nexti

Picture1.DrawStyle=2

Fori=-30To150Step30

Picture1.Line(-30,i)-(390,i),vbBlackNexti

Fori=30To360Step30

Picture1.Line(i,150)-(i,-30),vbBlack

Nexti

Picture2.DrawWidth=1

Picture2.Scale(-30,120)-(390,-150)

Picture2.Line(-30,0)-(390,0)'X

Picture2.Line(0,-150)-(0,120)'Y

Picture2.CurrentX=0:

Picture2.CurrentY=100

Picture2.Print"速度V"

Picture2.CurrentX=330:

Picture2.CurrentY=20

Picture2.Print"角度/度"

Fori=30To390Step30

Picture2.Line(i,5)-(i,0)

Picture2.CurrentX=i-7:

Picture2.CurrentY=0

Picture2.Printi

Nexti

Fori=-150To120Step30

Picture2.Line(0,i)-(5,i)

Picture2.CurrentX=-20:

Picture2.CurrentY=i+2

Picture2.Printi

Nexti

Picture2.DrawStyle=2

Fori=-150To120Step30

Picture2.Line(-30,i)-(390,i),vbBlack

Nexti

Fori=30To360Step30

Picture2.Line(i,120)-(i,-150),vbBlack

Nexti

Picture3.DrawWidth=1

Picture3.Scale(-30,280)-(390,-300)

Picture3.Line(-30,0)-(390,0)'X

Picture3.Line(0,-300)-(0,280)'Y

Picture3.CurrentX=0:

Picture3.CurrentY=210

Picture3.Print"加速度a"

Picture3.CurrentX=330:

Picture3.CurrentY=20

Picture3.Print"角度/度"

Fori=30To390Step30

Picture3.Line(i,5)-(i,0)

Picture3.CurrentX=i-7:

Picture3.CurrentY=0

Picture3.Printi

Nexti

Fori=-300To280Step60

Picture3.Line(0,i)-(5,i)

Picture3.CurrentX=-20:

Picture2.CurrentY=i+2Picture3.Printi

Nexti

Picture3.DrawStyle=2

Fori=-300To280Step60

Picture3.Line(-30,i)-(390,i),vbBlack'

Nexti

Fori=30To360Step30

Picture3.Line(i,280)-(i,-300),vbBlack

Nexti

pi=3.1415926

pa=pi/180

f0=120

fs=40

f01=90

fs1=110

s0=50

Forff=0To360Step0.01‘角度从0到360

f=ff*pa

Ifff

s=60*(1-Cos(1.5*f))

v=90*Sin(1.5*f)

a=135*Cos(1.5*f)

ElseIfff>=f0Andff

s=120

v=0

a=0

ElseIfff>=fs+f0Andff

s=60*(1+Cos(2*(f-8*pi/9)))

v=-120*Sin(2*(f-8*pi/9))

a=-240*Cos(2*(f-8*pi/9))

ElseIfff>=fs+f0+f01Andff<=360Then

s=0

v=0

a=0

EndIf

Picture1.PSet(ff,s)

Picture2.PSet(ff,v)

Picture3.PSet(ff,a)

Nextff

EndSub

1.绘制凸轮机构dφ/ds–s线图程序

PrivateSubCommand1_Click()

DimsAsDouble'定义从动件位移

DimdsdfAsDouble'定义ds/df

Dimdsdf2AsDouble

DimffAsDouble

DimfAsDouble

DimpiAsDouble

DimpaAsDouble

pi=4*Atn

(1)

pa=pi/180

Picture1.DrawWidth=1

Picture1.Scale(-180,170)-(270,-280)

Picture1.Line(-180,0)-(270,0)'X

Picture1.Line(0,170)-(0,-280)

Picture1.CurrentX=10:

Picture1.CurrentY=130

Picture1.Print"S"

Picture1.CurrentX=130:

Picture1.CurrentY=20

Picture1.Print"dS/dφ"

Fori=-180To270Step20

Picture1.Line(i,5)-(i,0)

Picture1.CurrentX=i-7:

Picture1.CurrentY=0

Picture1.Printi

Nexti

Fori=-280To170Step20

Picture1.Line(0,i)-(5,i)

Picture1.CurrentX=-10:

Picture1.CurrentY=i+2

Picture1.Printi

Nexti

Picture1.DrawStyle=2

Fori=-280To170Step20

Picture1.Line(-180,i)-(260,i),vbBlackNexti

Fori=-180To270Step20

Picture1.Line(i,170)-(i,-280),vbBlack

Nexti

Forff=0To360Step0.005

f=ff*pa

x=-dsdf

Picture1.DrawWidth=1

Ifff<120Then

s=60*(1-Cos(1.5*f))

dsdf=90*Sin(1.5*f)

ElseIfff>=120Andff<160Then

s=120

dsdf=0

ElseIfff>=160Andff<250Then

s=60*(1+Cos(2*(f-8*pi/9)))

dsdf=-120*Sin(2*(f-8*pi/9))

ElseIfff>=250Andff<=360Then

s=0

dsdf=0

EndIf

Picture1.PSet(x,s)‘汇制dφ/ds–s曲线

Nextff

EndSub

 

3.确定偏距圆半径,基圆半径程序

PrivateSubCommand1_Click()

DimsAsDouble

DimdsdfAsDouble

DimffAsDouble

DimfAsDouble

DimpiAsDouble

DimpaAsDouble

Dimk1AsDouble

Dimk2AsDouble

Dimy1AsDouble

Dimy2AsDouble

Dimy3AsDouble

pi=3.1415926

pa=pi/180

Picture1.DrawWidth=1

Picture1.Scale(-190,170)-(260,-280)Picture1.Line(-190,0)-(260,0)'X

Picture1.Line(255,2)-(260,0)

Picture1.Line-(255,-2)

Picture1.Print"Y"

Picture1.Line(0,170)-(0,-280)'Y

Picture1.Line(-5,165)-(0,170)

Picture1.Line-(5,165)

Picture1.Print"X"

Fori=-190To260Step10

Picture1.Line(i,5)-(i,0)

Picture1.CurrentX=i-7:

Picture1.CurrentY=0

Picture1.Printi

Nexti

Fori=-280To170Step10

Picture1.Line(0,i)-(5,i)Picture1.CurrentX=-20:

Picture1.CurrentY=i+2

Picture1.Printi

Nexti

Picture1.DrawStyle=2

Fori=-280To170Step10

Picture1.Line(-190,i)-(260,i),vbBlackNexti

Fori=-190To260Step10

Picture1.Line(i,170)-(i,-280),vbBlackNexti

Forff=0To360Step0.005

f=ff*pa

x=-dsdf

Picture1.DrawWidth=1

Ifff<120Then

s=60*(1-Cos(1.5*f))

dsdf=90*Sin(1.5*f)

ElseIfff>=120Andff<160Then

s=120

dsdf=0

ElseIfff>=160Andff<250Then

s=60*(1+Cos(2*(f-8*pi/9)))

dsdf=-120*Sin(2*(f-8*pi/9))

ElseIfff>=250Andff<=360Then

s=0

dsdf=0

EndIf

Picture1.PSet(x,s)

k1=-Cos(35*pa)/Sin(35*pa)

k2=Cos(65*pa)/Sin(65*pa)

y1=k1*x-82

y2=k2*x-22

y3=-k1*x

Picture1.PSet(x,y1),vbBlue

Picture1.PSet(x,y3),vbRed

Picture1.PSet(x,y2)

Nextff

EndSub

 

4.计算曲率--确定滚子半径程序

DimeAsDouble

DimfAsDouble

DimffAsDouble

Dimf0AsDouble

DimfsAsDouble

Dimf01AsDouble

Dimfs1AsDouble

DimsAsDouble

DimxAsDouble

DimyAsDouble

DimrrAsDouble

DimpiAsDouble

DimpaAsDouble

Dims0AsDouble

DimiAsDouble

DimdsdfAsDouble

Dimdsdf2AsDouble

DimdxdfAsDouble

Dimdxdf2AsDouble

DimdydfAsDouble

Dimdydf2AsDouble

DimdydxAsDouble'

Dimdydx2AsDouble

DimmAsDouble

PrivateSubForm_Load()

pi=4*Atn

(1)

pa=pi/180

f0=120

fs=40

f01=90

fs1=110

s0=50.11

e=25

EndSub

PrivateSubCommand1_Click()

Picture1.Cls

Picture1.DrawWidth=1

Picture1.Scale(-60,400)-(400,-60)

Picture1.Line(-60,0)-(400,0)'X

Picture1.Line(0,-60)-(0,400)

Fori=-60To400Step20

Picture1.Line(i,5)-(i,0)

Picture1.CurrentX=i-7:

Picture1.CurrentY=0Picture1.Printi

Nexti

Fori=-60To400Step20

Picture1.Line(0,i)-(5,i)

Picture1.CurrentX=-20:

Picture1.CurrentY=i+2

Picture1.Printi

Nexti

Picture1.DrawStyle=2

Fori=-60To400Step20

Picture1.Line(-50,i)-(400,i),vbBlackNexti

Fori=-60To400Step20

Picture1.Line(i,400)-(i,-50),vbBlackNexti

Forff=0To360Step0.01

Picture1.DrawWidth=2

f=ff*pa

Ifff

s=60*(1-Cos(1.5*f))

dsdf=90*Sin(1.5*f)

dsdf2=135*Cos(1.5*f)

ElseIfff>=f0Andff

s=120

dsdf=0

dsdf2=0

ElseIfff>=fs+f0Andff

s=60*(1+Cos(2*(f-8*pi/9)))

dsdf=-120*Sin(2*(f-8*pi/9))

dsdf2=-240*Cos(2*(f-8*pi/9))

ElseIfff>=fs+f0+f01Andff<=360Then

s=0

dsdf=0

dsdf2=0

EndIf

y=(s0+s)*Sin(f)+e*Cos(f)

x=(s0+s)*Cos(f)-e*Sin(f)

dxdf=dsdf*Cos(f)-(s0+s)*Sin(f)-e*Cos(f)

dxdf2=(dsdf2-s-s0)*Cos(f)-(2*dsdf-e)*Sin(f)

dydf=dsdf*Sin(f)+(s0+s)*Cos(f)-e*Sin(f)

dydf2=(dsdf2-s-s0)*Sin(f)+(2*dsdf-e)*Cos(f)

dydx=dydf/dxdf

dydx2=((dydf2*dxdf-dxdf2*dydf)/(dxdf^3))

m=Abs(((1+dydx^2)^1.5)/dydx2)

Picture1.PSet(ff,m)

Nextff

EndSub

5.计算理论轮廓.工作轮廓.基圆.偏距圆.滚子包络线程序

DimeAsDouble

DimhAsDouble

DimfAsDouble

DimffAsDouble

DimwAsDouble

Dimf0AsDouble

DimfsAsDouble

Dimf01AsDouble

Dimfs1AsDouble

DimsAsDouble

DimvAsDouble

DimaAsDouble

DimxAsDouble

DimyAsDouble

Dimx1AsDouble

Dimy1AsDouble

DimrrAsDouble

DimpiAsDouble

DimpaAsDouble

DimMAsDouble

Dims0AsDouble

DimiAsDouble

DimdsdfAsDouble

DimdxdfAsDouble

DimdydfAsDouble

PrivateSubForm_Load()

pi=4*Atn

(1)

pa=pi/180

f0=120

fs=40

f01=90

fs1=110

s0=50.11

e=25

rr=10

EndSub

PrivateSubpush()'推程计算f=ff*pa

s=60*(1-Cos(1.5*f))

v=90*Sin(1.5*f)

a=135*Cos(1

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

当前位置:首页 > 经管营销 > 经济市场

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

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