12/28/2006

詹弘彥:汽車性能數值分析

汽車性能數值模擬
問題:請問這台Ferrari 360 Spider加速從0~100km/h需要幾秒?極速又為何?
Ferrari 360 Spider車輛規格介紹


1.外觀




2.性能規格
引擎形式:V形8汽缸雙頂凸輪軸40氣門
口徑x衝程:85×79mm
排量:3,586 cc
壓縮比;11:1
最大馬力:400bhp/8,500rpm
最大扭力:38kgm/4,750rpm
傳動形式:中置引擎,後輪傳動
變速器:六前速Fl半自動變速箱
齒輪比:
1:3.286 2:2.158
3:1.609 4:1.269
5:1.034 6:O.848
倒檔:3.300
Final drive ration:4.440
長×寬×高(mm):4,477×1,922×1,235
軸距(mm):2,600
前/後跨距(mm):1,521/l,49l
車重(kg):1,450
Af=1.72(m^2) ; Cd=0.24 ; h=0.4(m) ; re=0.332(m)
O-l OOkm/h(秒):4.6
極速(km/h): 290

基本假設
1.起步時,引擎轉速設定在最大扭力,起步離合器接合時間為0.5秒,之後引擎轉速與車速同步一致。
2.起步時必須以引擎最大扭力之輸出下與地面摩擦力比較,取其合用值使用。
3.換檔時間為0.5秒,此時引擎無動力輸出,車子自由滑行。換檔結束後,引擎轉速與車速同步一致。

基本參數
g=9.80665
1hp=746watt
Standard air density =1.225
Gear changing time=0.5 sec
Road adhesion=0.85
Overall mechanical efficiency=85%
Slip ratio=3%
Mass factor =1.04
fr=0.01



程式內容

function ab=ferrari360(rpm0)
%Example:ferrari360(4750)
g=9.80665;hp=746;lo=1.225;us=0.85;re=0.332;si=0.03;af=1.72;pi=3.1415;
h=0.4;cd=0.24;rm=1.04;fr=0.01;l1=1.521;l2=1.491;
n1=3.286;n2=2.158;n3=1.609;n4=1.269;n5=1.034;n6=0.848;fn=4.440;m=1450;l=l1+l2;
rr=m*g*fr;xi=n1*fn;ft=us*m*g*(l1-fr*h)/l/(1-us*h/l);
eta=0.85;
rpm=rpm0;ne=rpm*2*pi/60;
ne5=7500*2*pi/60;xi5=1.0*fn;
maxv5=ne5*re*(1-si)/xi5*3.6;d=0;

%起步,轉速4750rpm,扭力373N-m,時間0s-0.5s。

for j=0:0.01:0.5
rpm1=4750;me=373-[(rpm-4750)/4750*38];
f=me*xi*eta/re;
rm=1.04+0.0025*xi^2;
ne=rpm1*2*pi/60;
v0=ne*re*(1-si)/xi;
a1=v0/0.5;
v3=(a1*j)*3.6;
%plot(j,a1);hold on; %時間與加速度關係圖
plot(j,v3);hold on; %時間與速度關係圖
end
d1=0.5*a1*0.25;d=d+d1; %起步0s-0.5秒行走的距離
xi=n1*fn;rpm=rpm0;d3=0;
for i=0.51:0.01:10 %切換到1檔,轉速到9500rpm換至第2檔。
if and(4750<=rpm,rpm<=8500)
me=373-[(rpm-4750)/4750*38];end
f=me*xi*eta/re;
if f>ft
f=us*m*g*(l1-fr*h)/l/(1-us*h/l); %輪胎與地面之最大牽引力
end
rm=1.04+0.0025*xi^2;
ne=rpm*2*pi/60;
v1=ne*re*(1-si)/xi;
ra=0.5*cd*lo*af*v1^2;
a=(f-ra-rr)/rm/m;
v2=(v1+a*0.01)*3.6; %v2=v1+at
rpm=v2*xi*60/2/pi/re/(1-si)/3.6;
d2=v1*0.01+0.5*a*0.0001; %1檔時每0.01秒所行走的距離。
d=d+d2; %1檔時0.01秒的累加至轉速為9500rpm時停止。
plot(i,v2);hold on;
if rpm>9500 %當9500rpm時1檔結束。
t1=i; %1檔結束時之時間
v3=v2; %1檔結束時之速度
fprintf('t=%e\n',t1);
break;
end
end

未完~待續

執行結果

沒有留言: