电算实验V带设计资料.docx
《电算实验V带设计资料.docx》由会员分享,可在线阅读,更多相关《电算实验V带设计资料.docx(22页珍藏版)》请在冰点文库上搜索。
电算实验V带设计资料
一:
普通V带传动设计内容和任务
1、普通V带传动设计内容
给定原始数据:
传递的功率P,小带轮转速n,传动比i及工作条件。
设计内容:
带型号,基准长度Ld,根数Z,传动中心距a,带轮基准直径dd1、dd2,带轮轮缘宽度B,初拉力F0,和压轴力Q。
2、CAD任务:
(1)编制V带传动设计程序框图。
(2)编制V带传动设计原程序。
(3)按习题或作业中数据运行程序,要求对每一组数据各按三种V带型号计算,对每一种带型号选三种小带轮直径进行计算并输出所有结果。
二、变量标识符
序号
名称
代号
标识符
单位
1
名义功率
P
p
kw
2
设计功率
Pd
pd
kw
3
工作情况系数
KA
KA
4
小带轮转速
n1
n
r/min
5
工作机载荷特性
载荷情况.list
6
原动机类型
电机类型.list
7
工作时间
工作时间.list
8
带型号
带型.list
9
小带轮基准直径
dd1
tt
mm
10
大带论基准直径
dd2
dd2
mm
11
带速
v
v
m/s
12
最大带速
vmax
vmax
m/s
13
预估中心距
a0
a0
mm
14
基准长度
Ld
ld
mm
15
实际中心距
a
a
mm
16
小带轮包角
α1
bao
度
17
V带根数
Z
z
18
基本额定功率
P0
po
kw
19
功率增量
ΔP0
ddp
kw
20
传动比系数
Ki
ki
21
长度系数
KL
kl
22
包角系数
Kα
kao
23
弯曲影响系数
Kb
kb
24
初拉力
F0
fchu
N
25
压轴力
Q
fq
N
26
轮缘宽度
B
bmm
mm
三、程序框图
四、部分源程序与其说明
DimtAsString't为带型(字符型)
DimttAsString'tt为小带轮直径(文本)
Dima1AsInteger
Dima2AsInteger
DimklAsDouble
DimKAAsDouble
DimkbAsDouble
DimkiAsDouble
DimkaoAsDouble
DimmAsDouble
DimfAsDouble
DimeAsDouble'mfe为带与带轮的相关参数
Dimpnum()AsVariant'V带基本功率数组
Dimnum()AsVariant'小带轮直径数组
DimkkaAsVariant'包角系数数组
Dimlld()AsVariant'基准长度数组
Dimkkl()AsVariant'长度系数数组
PrivateSubCommand1_Click()(此段为计算相关参数)
fchu=Int(500*Val(pd)*(2.5-kao)/Val(z)/Val(v)/kao+m*Val(v)^2)
fq=Int(2*Val(z)*Val(fchu)*Sin(Val(bao)*3.1416/360))
bmm=(Val(z)-1)*e+2*f
EndSub
PrivateSubCommand13_Click()(保存数据)
Open"d:
\V带设计.txt"ForAppendAs#1
Print#1,"带型:
";带型.Text,"dd1=";dd1.Text,"dd2=";dd2.Text,"初估a:
";a0.Text,"Ld=";ld.Text,"实际a:
";a.Text,"包角:
";bao.Text,"带数:
";z.Text,"初拉力:
";fchu.Text,"压轴力:
";fq.Text,"轮缘宽:
";bmm.Text
Close#1
EndSub
PrivateSubCommand2_Click()(确定载荷情况系数)
IfVal(n)<100Then
tisk.Show:
tisk.Label1.Caption="转速过小!
":
n.Text="":
n.SetFocus
ElseIfVal(n)>6000Then
tisk.Show:
tisk.Label1.Caption="转速过大!
":
n.Text="":
n.SetFocus
Else:
载荷情况.Enabled=True
If电机类型.Text="I类"And载荷情况.Text="载荷平稳"And工作时间.Text="<10h/天"ThenKA=1
If电机类型.Text="I类"And载荷情况.Text="载荷平稳"And工作时间.Text="10~16h/天"ThenKA=1.1
If电机类型.Text="I类"And载荷情况.Text="载荷平稳"And工作时间.Text=">16h/天"ThenKA=1.2
If电机类型.Text="I类"And载荷情况.Text="载荷变动小"And工作时间.Text="<10h/天"ThenKA=1.1
If电机类型.Text="I类"And载荷情况.Text="载荷变动小"And工作时间.Text="10~16h/天"ThenKA=1.2
If电机类型.Text="I类"And载荷情况.Text="载荷变动小"And工作时间.Text=">16h/天"ThenKA=1.3
If电机类型.Text="I类"And载荷情况.Text="载荷变动较大"And工作时间.Text="<10h/天"ThenKA=1.2
If电机类型.Text="I类"And载荷情况.Text="载荷变动较大"And工作时间.Text="10~16h/天"ThenKA=1.3
If电机类型.Text="I类"And载荷情况.Text="载荷变动较大"And工作时间.Text=">16h/天"ThenKA=1.4
If电机类型.Text="I类"And载荷情况.Text="载荷变动很大"And工作时间.Text="<10h/天"ThenKA=1.3
If电机类型.Text="I类"And载荷情况.Text="载荷变动很大"And工作时间.Text="10~16h/天"ThenKA=1.4
If电机类型.Text="I类"And载荷情况.Text="载荷变动很大"And工作时间.Text=">16h/天"ThenKA=1.5
If电机类型.Text="II类"And载荷情况.Text="载荷平稳"And工作时间.Text="<10h/天"ThenKA=1.1
If电机类型.Text="II类"And载荷情况.Text="载荷平稳"And工作时间.Text="10~16h/天"ThenKA=1.2
If电机类型.Text="II类"And载荷情况.Text="载荷平稳"And工作时间.Text=">16h/天"ThenKA=1.3
If电机类型.Text="II类"And载荷情况.Text="载荷变动小"And工作时间.Text="<10h/天"ThenKA=1.2
If电机类型.Text="II类"And载荷情况.Text="载荷变动小"And工作时间.Text="10~16h/天"ThenKA=1.3
If电机类型.Text="II类"And载荷情况.Text="载荷变动小"And工作时间.Text=">16h/天"ThenKA=1.4
If电机类型.Text="II类"And载荷情况.Text="载荷变动较大"And工作时间.Text="<10h/天"ThenKA=1.4
If电机类型.Text="II类"And载荷情况.Text="载荷变动较大"And工作时间.Text="10~16h/天"ThenKA=1.5
If电机类型.Text="II类"And载荷情况.Text="载荷变动较大"And工作时间.Text=">16h/天"ThenKA=1.6
If电机类型.Text="II类"And载荷情况.Text="载荷变动很大"And工作时间.Text="<10h/天"ThenKA=1.5
If电机类型.Text="II类"And载荷情况.Text="载荷变动很大"And工作时间.Text="10~16h/天"ThenKA=1.6
If电机类型.Text="II类"And载荷情况.Text="载荷变动很大"And工作时间.Text=">16h/天"ThenKA=1.8
DimppAsDouble
pp=Val(p)*Val(KA)
Ifpp>250Orpp<0.8Thentisk.Show:
tisk.Label1.Caption="此设计任务本软件无法实现!
计算出的设计功率无对应带型能选择!
":
Command3.Enabled=False
Ifpp<=250Andpp>=0.8Thenpd=Int(pp*100+0.5)/100:
Command3.Enabled=True
EndIf
Open"d:
\V带设计.txt"ForAppendAs#1
Print#1,"原始数据:
"
Print#1,"p=";p.Text,"n=";n.Text,"i=";i.Text,"KA=";KA
Print#1,"输出结果:
"
Close#1
EndSub
PrivateSubCommand3_Click()(出图,标点)
Dimxx()AsVariant
Dimyy()AsVariant
示意图.Show
带型.Enabled=True
示意图.tu.FillStyle=0
示意图.tu.FillColor=RGB(255,0,0)
示意图.tu.Scale(0,7200)-(10000,0)
DimiAsInteger
Fori=1To24
示意图.tu.Line(400*i,0)-(400*i,7200),RGB(255,0,255)
Nexti
Fori=1To19
示意图.tu.Line(0,400*i)-(10000,400*i),RGB(255,0,255)
Nexti
示意图.tu.PSet(100,7100)
示意图.tu.Print"n(r/min)"
示意图.tu.PSet(800,6400)
示意图.tu.Print"Y:
20--40"
示意图.tu.Line(0,3150)-(2600,6200),RGB(255,255,255)
示意图.tu.Line(2600,6200)-(2750,6800),RGB(255,255,255)
示意图.tu.Print"Z:
50--71"
示意图.tu.Line(0,2250)-(3200,5900),RGB(255,255,255)
示意图.tu.Line(3200,5900)-(3350,6600),RGB(255,255,255)
示意图.tu.Print"80--100"
示意图.tu.Line(0,800)-(4000,5200),RGB(255,255,255)
示意图.tu.Line(4000,5200)-(4150,6200),RGB(255,255,255)
示意图.tu.Print"A:
70--100"
示意图.tu.Line(400,0)-(4400,4400),RGB(255,255,255)
示意图.tu.Line(4400,4400)-(4600,5600),RGB(255,255,255)
示意图.tu.Print"112--140"
示意图.tu.Line(1450,0)-(5200,4400),RGB(255,255,255)
示意图.tu.Print"B:
125--140"
示意图.tu.Line(2300,0)-(5600,3800),RGB(255,255,255)
示意图.tu.Line(5600,3800)-(5750,4800),RGB(255,255,255)
示意图.tu.Print"160--200"
示意图.tu.Line(4150,0)-(6800,3200),RGB(255,255,255)
示意图.tu.Line(6800,3200)-(6950,4000),RGB(255,255,255)
示意图.tu.Print"C:
200--315"
示意图.tu.Line(5850,0)-(8600,3200),RGB(255,255,255)
示意图.tu.Print"D:
355--400"
示意图.tu.Line(7200,0)-(9600,3000),RGB(255,255,255)
示意图.tu.PSet(8800,2000)
示意图.tu.Print"E:
450--500"
示意图.tu.PSet(9400,200)
示意图.tu.Print"Pd(kw)"
xx=Array(0.8,1,1.25,1.6,2,2.5,3.15,4,5,6.3,8,10,12.5,16,20,25,31.5,40,50,63,80,100,125,160,200,250)
yy=Array(100,125,160,200,250,315,400,500,630,800,1000,1250,1600,2000,2500,3150,4000,5000,6000)
DimjAsInteger
DimkAsInteger
x=Val(FormV.pd)
Forj=0To25
If(x-xx(j))*(x-xx(j+1))<=0ThenExitFor
Nextj
x=400*(j+(x-xx(j))/(xx(j+1)-xx(j)))
y=Val(FormV.n)
Fork=0To19
If(y-yy(k))*(y-yy(k+1))<=0ThenExitFor
Nextk
y=400*(k+(y-yy(k))/(yy(k+1)-yy(k)))
示意图.tu.Circle(Int(x),Int(y)),100,RGB(255,255,0)
EndSub
PrivateSubCommand4_Click()(计算带速并判断)
Dimv1AsDouble
v1=Val(dd1.Text)*3.1416*Val(n)/60000
IfVal(v1)>Val(vmax)Then
tisk.Show
tisk.Label1.Caption="你所设计的小带轮带速已超出其型号规定的极限带速,请减小小带轮的直径重新设计!
"
Command5.Enabled=False
v.Text=""
Else
v.Enabled=True
v=Str(Int(v1*100+0.5)/100)
Command5.Enabled=True
EndIf
EndSub
PrivateSubCommand5_Click()(选取标准大带轮直径)
Dimd2AsDouble
DimjAsInteger
d2=Val(dd1)*Val(i)
Ifd2>800Then
tisk.Show
tisk.Label1.Caption="大带轮直径过大!
无标准值可选用!
"
Command6.Enabled=False
Else
Forj=0To35
If(d2-num(j))*(d2-num(j+1))<=0ThenExitFor
Nextj
If(d2-num(j))>(num(j+1)-d2)Thend2=num(j+1)
If(d2-num(j))<=(num(j+1)-d2)Thend2=num(j)
dd2=Str(d2)
Command6.Enabled=True
EndIf
EndSub
PrivateSubCommand6_Click()(中心距选择提示)
a1=Int(0.7*(Val(dd2)+Val(dd1.Text)))
a2=Int(2*(Val(dd2)+Val(dd1.Text)))
tisi.Caption="范围:
"&a1&"至"&a2
EndSub
PrivateSubCommand7_Click()(计算选取Ld)
IfVal(a0)a2Then
tisk.Show:
tisk.Label1.Caption="请在规定范围内选择中心距!
":
Command8.Enabled=False:
a0.Text=""
Else
Dimldd,qAsDouble
ldd=Val(a0)*2+3.1416*(Val(dd2)+Val(dd1.Text))/2+(Val(dd2)-Val(dd1.Text))^2/4/Val(a0)
Ifldd<200Orldd>16000Then
tisk.Show
tisk.Label1.Caption="Ld计算值超范围!
"
Command8.Enabled=False
EndIf
DimkAsInteger
Fork=0To38
If(ldd-lld(k))*(ldd-lld(k+1))<=0ThenExitFor
Nextk
If(ldd-lld(k))>(lld(k+1)-ldd)Then
q=lld(k+1)
k=k+1
Else:
q=lld(k)
EndIf
kl=kkl(k)'kl为长度系数
Ifkl=0Thentisk.Show:
tisk.Label1.Caption="Ld设计过小!
无对应KL!
":
Command8.Enabled=False
Ifkl=10Thentisk.Show:
tisk.Label1.Caption="Ld设计过大!
无对应KL!
":
Command8.Enabled=False
Ifkl>0Andkl<10Then
ld=Int(q*100+0.5)/100
a=Val(a0)+(q-ldd)/2
a=Int(a*100+0.5)/100
a=Int(a/5+0.5)*5
Command8.Enabled=True
EndIf
EndIf
EndSub
PrivateSubCommand8_Click()(计算包角大小)
bao=180-(Val(dd2)-Val(dd1.Text))*57.3/Val(a)
Ifbao<90Orbao>220Then
tisk.Show:
tisk.Label1.Caption="包角计算值超范围!
请从新选定相关参数!
"
bao.Text=""
Command9.Enabled=False
Else
bao=Int(bao*10+0.5)/10
Command9.Enabled=True
EndIf
EndSub
PrivateSubCommand9_Click()(计算带速)
DimiiAsDouble
ii=Val(dd2)/Val(dd1.Text)
ii=Int(ii*100+0.5)/100
Ifii>=1Andii<=1.01Thenki=1
Ifii>=1.02Andii<=1.04Thenki=1.0136
Ifii>=1.05Andii<=1.08Thenki=1.0276
Ifii>=1.09Andii<=1.12Thenki=1.0419
Ifii>=1.13Andii<=1.18Thenki=1.0567
Ifii>=1.19Andii<=1.24Thenki=1.0719
Ifii>=1.25Andii<=1.34Thenki=1.0875
Ifii>=1.35Andii<=1.51Thenki=1.1036
Ifii>=1.52Andii<=1.99Thenki=1.1202
Ifii>=2Thenki=1.137'ki为传动比系数
bbao=Val(bao)
DimbaaAsVariant
baa=Array(90,100,110,120,130,140,150,160,170,180,190,200,210,220)
kka=Array(0.68,0.73,0.78,0.82,0.86,0.89,0.92,0.95,0.98,1,1.1,1.15,1.2)
Forj=0To13
If(bbao-baa(j