河南工业大学汽车理论VB绘制汽车驱动力与行驶阻力平衡图汽车功率平衡图.docx
《河南工业大学汽车理论VB绘制汽车驱动力与行驶阻力平衡图汽车功率平衡图.docx》由会员分享,可在线阅读,更多相关《河南工业大学汽车理论VB绘制汽车驱动力与行驶阻力平衡图汽车功率平衡图.docx(20页珍藏版)》请在冰点文库上搜索。
河南工业大学汽车理论VB绘制汽车驱动力与行驶阻力平衡图汽车功率平衡图
3.2实验记录(核心代码及调试过程)
1.核心代码:
'.............驱动力与行驶阻力平衡图
PrivateSubCommand1_Click()
Picture1.DrawWidth=1
Picture1.Cls
Dimi,j,nAsInteger
DimFt,Ff,Fw,Umax,UumaxAsSingle
Picture1.Scale(-20,18000)-(150,-2000)
Picture1.Line(0,0)-(125,0):
Picture1.Line(0,0)-(0,16000)
Picture1.CurrentX=125:
Picture1.CurrentY=-300:
Picture1.Print"Ua(km/h)"
Picture1.CurrentX=125:
Picture1.CurrentY=192:
Picture1.Print"→"
Picture1.CurrentX=5:
Picture1.CurrentY=16000:
Picture1.Print"F/N"
Picture1.CurrentX=-2:
Picture1.CurrentY=16000:
Picture1.Print"↑"
Picture1.CurrentX=-5:
Picture1.CurrentY=-1:
Picture1.Print"0"
Fori=20To120Step20
Picture1.Line(i,0)-(i,200)
Picture1.CurrentX=i-5:
Picture1.CurrentY=-10:
Picture1.Printi
Nexti
Fori=1000To15000Step1000
Picture1.Line(0,i)-(1.5,i)
Picture1.CurrentX=-15:
Picture1.CurrentY=i+50:
Picture1.Printi
Nexti
Picture1.DrawWidth=2
Forn=600To4000
Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)^2+40.874*(n/1000)^3-3.8445*(n/1000)^4
Forj=1To5
Ft=Tq*i0*ηt*x(j)/r
Ff=f*9.8*m
Ua=0.377*r*n/(i0*x(j))
Fw=0.5*1.2258*ca*(Ua/3.6)^2
Picture1.Circle(Ua,Ft),0.1,vbBlue
Picture1.Circle(Ua,(Ff+Fw)),0.1,vbRed
Umax=Umax
IfUa>UmaxThen
Umax=Ua
Else
Umax=Umax
EndIf
Nextj
Nextn
Uumax=CInt(Umax*100)/100
Picture1.CurrentX=40:
Picture1.CurrentY=16000:
Picture1.Print"最高车速为:
";Uumax;"km/h"
EndSub
'...........动力特性图
PrivateSubCommand3_Click()
Picture1.DrawWidth=1
Picture1.Cls
Dimi,j,nAsInteger
DimFt,Fw,DAsSingle
Picture1.Scale(-20,90)-(150,-10)
Picture1.Line(0,0)-(125,0):
Picture1.Line(0,0)-(0,85)
Picture1.CurrentX=125:
Picture1.CurrentY=-3:
Picture1.Print"Ua(km/h)"
Picture1.CurrentX=125:
Picture1.CurrentY=0.9:
Picture1.Print"→"
Picture1.CurrentX=5:
Picture1.CurrentY=85:
Picture1.Print"D"
Picture1.CurrentX=-2:
Picture1.CurrentY=85:
Picture1.Print"↑"
Picture1.CurrentX=-5:
Picture1.CurrentY=-1:
Picture1.Print"0"
Fori=20To120Step20
Picture1.Line(i,0)-(i,1)
Picture1.CurrentX=i-5:
Picture1.CurrentY=-1:
Picture1.Printi
Nexti
Fori=20To80Step20
Picture1.Line(0,i)-(2,i)
Picture1.CurrentX=-10:
Picture1.CurrentY=i+1:
Picture1.Print"0";i/200
Nexti
Picture1.DrawWidth=2
Forn=600To4000
Forj=1To5
Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)^2+40.874*(n/1000)^3-3.8445*(n/1000)^4
Ft=Tq*i0*ηt*x(j)/r
Ua=0.377*r*n/(i0*x(j))
Fw=0.5*1.2258*ca*(Ua/3.6)^2
D=200*(Ft-Fw)/(m*9.8)
IfD>0Then
Picture1.Circle(Ua,D),0.1,vbBlue
EndIf
Nextj
Nextn
EndSub
'.............功率平衡图
PrivateSubCommand4_Click()
Picture1.DrawWidth=1
Picture1.Cls
Dimi,j,nAsInteger
DimPe,Pf,PwAsSingle
Picture1.Scale(-20,80)-(150,-10)
Picture1.Line(0,0)-(125,0):
Picture1.Line(0,0)-(0,75)
Picture1.CurrentX=125:
Picture1.CurrentY=-3:
Picture1.Print"Ua(km/h)"
Picture1.CurrentX=125:
Picture1.CurrentY=0.9:
Picture1.Print"→"
Picture1.CurrentX=5:
Picture1.CurrentY=75:
Picture1.Print"Pe/kw"
Picture1.CurrentX=-2:
Picture1.CurrentY=75:
Picture1.Print"↑"
Picture1.CurrentX=-5:
Picture1.CurrentY=-1:
Picture1.Print"0"
Fori=20To120Step20
Picture1.Line(i,0)-(i,1)
Picture1.CurrentX=i-5:
Picture1.CurrentY=-1:
Picture1.Printi
Nexti
Fori=10To70Step10
Picture1.Line(0,i)-(2,i)
Picture1.CurrentX=-10:
Picture1.CurrentY=i+1:
Picture1.Printi
Nexti
Picture1.DrawWidth=2
Forn=600To4000
Forj=1To5
Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)^2+40.874*(n/1000)^3-3.8445*(n/1000)^4
Pe=Tq*n/9550
Ua=0.377*r*n/(i0*x(j))
Pf=(m*f*Ua/3600)/ηt
Pw=(ca*Ua^3/76140)/ηt
Picture1.Circle(Ua,Pe),0.1,vbBlue
Picture1.Circle(Ua,(Pf+Pw)),0.1,vbRed
Nextj
Nextn
EndSub
'...........外特性曲线
PrivateSubCommand5_Click()
Picture1.DrawWidth=1
Picture1.Cls
Dimi,nAsInteger
DimPeAsSingle
Picture1.Scale(-400,250)-(5000,-20)
Picture1.Line(0,0)-(4500,0):
Picture1.Line(0,0)-(0,200)
Picture1.CurrentX=4300:
Picture1.CurrentY=-3:
Picture1.Print"n(r/min)"
Picture1.CurrentX=4500:
Picture1.CurrentY=3:
Picture1.Print"→"
Picture1.CurrentX=100:
Picture1.CurrentY=200:
Picture1.Print"Ttq(N*m)"
Picture1.CurrentX=100:
Picture1.CurrentY=80:
Picture1.Print"Pe(kw)"
Picture1.CurrentX=-60:
Picture1.CurrentY=205:
Picture1.Print"↑"
Picture1.CurrentX=-5:
Picture1.CurrentY=-1:
Picture1.Print"0"
Fori=500To4000Step500
Picture1.Line(i,0)-(i,3)
Picture1.CurrentX=i-200:
Picture1.CurrentY=-1:
Picture1.Printi
Nexti
Fori=20To180Step20
Picture1.Line(0,i)-(50,i)
Picture1.CurrentX=-300:
Picture1.CurrentY=i+3:
Picture1.Printi
Nexti
Picture1.DrawWidth=2
Forn=600To4000
Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)^2+40.874*(n/1000)^3-3.8445*(n/1000)^4
Pe=Tq*n/9550
Picture1.Circle(n,Pe),2,vbRed
Picture1.Circle(n,Tq),2,vbBlue
Nextn
EndSub
2.数据图表:
驱动力与行驶阻力平衡图:
动力特性图:
爬坡度图:
发动机外特性曲线:
发动机功率平衡图:
3.2实验记录(核心代码及调试过程)
1.核心代码:
'.........加速度的倒数曲线
PrivateSubCommand7_Click()
Picture1.DrawWidth=1
Picture1.Cls
Dimi,j,nAsInteger
DimFf,Ft,Fw,a,δAsSingle
Picture1.Scale(-20,160)-(150,-10)
Picture1.Line(0,0)-(125,0):
Picture1.Line(0,0)-(0,150)
Picture1.CurrentX=125:
Picture1.CurrentY=-3:
Picture1.Print"Ua(km/h)"
Picture1.CurrentX=125:
Picture1.CurrentY=1.8:
Picture1.Print"→"
Picture1.CurrentX=5:
Picture1.CurrentY=150:
Picture1.Print"1/a"
Picture1.CurrentX=-2:
Picture1.CurrentY=150:
Picture1.Print"↑"
Picture1.CurrentX=-5:
Picture1.CurrentY=-1:
Picture1.Print"0"
Fori=20To120Step20
Picture1.Line(i,0)-(i,1.5)
Picture1.CurrentX=i-5:
Picture1.CurrentY=-1:
Picture1.Printi
Nexti
Fori=10To140Step10
Picture1.Line(0,i)-(2,i)
Picture1.CurrentX=-10:
Picture1.CurrentY=i+1:
Picture1.Printi/10
Nexti
Picture1.DrawWidth=2
Forn=600To4000
Forj=1To5
Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)^2+40.874*(n/1000)^3-3.8445*(n/1000)^4
Ft=Tq*i0*ηt*x(j)/r
Ua=0.377*r*n/(i0*x(j))
Fw=0.5*1.2258*ca*(Ua/3.6)^2
Ff=f*9.8*m
δ=1+Iw/(m*r^2)+If1*x(j)^2*i0^2*ηt/(m*r^2)
a=(Ft-Ff-Fw)/(δ*m)
Ifa>0Then
Picture1.Circle(Ua,10/a),0.1,vbBlue
EndIf
Nextj
Nextn
EndSub
'..............直接挡加速时间曲线
PrivateSubCommand8_Click()
Picture1.DrawWidth=1
Picture1.Cls
Dimi,nAsInteger
DimFf,Ft,Fw,a,δ,t,ttAsSingle
Picture1.Scale(-10,90)-(60,-10)
Picture1.Line(0,0)-(55,0):
Picture1.Line(0,0)-(0,75)
Picture1.CurrentX=53:
Picture1.CurrentY=-3:
Picture1.Print"t(s)"
Picture1.CurrentX=55:
Picture1.CurrentY=0.9:
Picture1.Print"→"
Picture1.CurrentX=2:
Picture1.CurrentY=75:
Picture1.Print"Ua(km/h)"
Picture1.CurrentX=-0.7:
Picture1.CurrentY=75:
Picture1.Print"↑"
Picture1.CurrentX=-3:
Picture1.CurrentY=-1:
Picture1.Print"0"
Fori=10To50Step10
Picture1.Line(i,0)-(i,1)
Picture1.CurrentX=i-1.5:
Picture1.CurrentY=-1:
Picture1.Printi
Nexti
Fori=10To70Step10
Picture1.Line(0,i)-(1,i)
Picture1.CurrentX=-5:
Picture1.CurrentY=i+1:
Picture1.Printi
Nexti
t=0
ForUa=0To70Step0.01
n=Ua*i0*x(4)/0.377/r
Ifn>=600Then
Tq=-19.313+295.27*(n/1000)-165.44*(n/1000)^2+40.874*(n/1000)^3-3.8445*(n/1000)^4
Ft=Tq*i0*ηt*x(4)/r
Fw=0.5*1.2258*ca*(Ua/3.6)^2
Ff=f*9.8*m
δ=1+Iw/(m*r^2)+If1*x(4)^2*i0^2*ηt/(m*r^2)
a=(Ft-Ff-Fw)/(δ*m)
t=t+1*0.01/a/3.6
Picture1.Circle(t,Ua),0.1,vbBlue
EndIf
NextUa
tt=CInt(t*100)/100
Picture1.CurrentX=15:
Picture1.CurrentY=80:
Picture1.Print"0-70(km/h)直接挡加速时间为:
";tt;"s"
EndSub
2.数据图表:
加速度曲线图:
加速度倒数曲线:
直接挡加速时间图:
3.2实验记录(核心代码及调试过程)
1.核心代码
'.........最高挡百公里耗油量
PrivateSubCommand1_Click()
Dimn(1To8),B0(1To8),B1(1To8),B2(1To8),B3(1To8),B4(1To8)
n
(1)=815:
n
(2)=1207:
n(3)=1614:
n(4)=2012:
n(5)=2603:
n(6)=3006:
n(7)=3403:
n(8)=3804
B0
(1)=1326.8:
B0
(2)=1354.7:
B0(3)=1284.4:
B0(4)=1122.9:
B0(5)=1141#:
B0(6)=1051.2:
B0(7)=1233.9:
B0(8)=1129.7
B1
(1)=-416.46:
B1
(2)=-303.98:
B1(3)=-189.75:
B1(4)=-121.59:
B1(5)=-98.893:
B1(6)=-73.714:
B1(7)=-84.478:
B1(8)=-45.291
B2
(1)=72.379:
B2
(2)=36.657:
B2(3)=14.524:
B2(4)=7.0035:
B2(5)=4.4763:
B2(6)=2.8593:
B2(7)=2.9788:
B2(8)=0.71113
B3
(1)=-5.8629:
B3
(2)=-2.0553:
B3(3)=-0.51184:
B3(4)=-0.18517:
B3(5)=-0.091077:
B3(6)=-0.05138:
B3(7)=-0.047449:
B3(8)=-0.00075215
B4
(1)=0.17768:
B4
(2)=0.043072:
B4(3)=0.0068164:
B4(4)=0.0018555:
B4(5)=0.00068906:
B4(6)=0.00035032:
B4(7)=0.0002823:
B4(8)=-0.000038568
Picture1.Scale(-10,50)-(150,-10)
Picture1.Line(0,0)-(120,0):
Picture1.Line(0,0)-(0,45)
Picture1.CurrentX=120:
Picture1.CurrentY=-3:
Picture1.Print"Ua(km/h)"
Picture1.CurrentX=120:
Picture1.CurrentY=1:
Picture1.Print"→"
Picture1.CurrentX=5:
Picture1.CurrentY=45:
Picture1.Print"Qs(L/100km)"
Picture1.CurrentX=-2.5:
Picture1.CurrentY=46:
Picture1.Print"↑"
Picture1.CurrentX=-3:
Picture1.CurrentY=-1:
Picture1.Print"0"
Fori=20To100Step20
Picture1.Line(i,0)-(i,1)
Picture1.CurrentX=i-6:
P