汽车理论课设说明书.docx
《汽车理论课设说明书.docx》由会员分享,可在线阅读,更多相关《汽车理论课设说明书.docx(32页珍藏版)》请在冰豆网上搜索。
汽车理论课设说明书
汽车理论课程设计说明书
在汽车设计中和改进中,需对样车的性能进行预测、评价、多方案选优或进行传动系的优化匹配,这些都必须进行汽车动力性的计算。
如采用手算并在坐标纸上作图,工作量大,费时费力,而且手算和作图误差较大,易出错。
考虑到计算机在当前设计工作中的普遍应用,有必要利用计算机编程序进行模拟计算,以方便迅速得到具有相当精确度的数据和图形。
1.设计任务及要求
1.1设计任务
采用MATLAB软件,编制程序对汽车的动力性能进行计算,有关参数可参考《汽车理论》习题1.3。
要求得到以下数据和图形:
数据:
1)最高车速Uamax;
2)加速时间t;
3)最大爬坡度imax;
图形:
1)驱动力阻力平衡力图;
2)加速时间曲线图;
3)爬坡度图;
4)动力特性图;
5)功率平衡图;
最终根据上述的设计计算,进行GUI界面设计。
1.2设计要求
程序应满足以下要求:
1)在给定了足够参数时能自动计算得到以上所有数据和图形,并能保证一定的计算精度;
2)程序具有一定的通用性,能尽量满足多种车型动力性能计算的要求;
3)界面友好,使用灵活方便;
4)课程设计完成后,将所有的同课程设计有关的计算机文件保存在自建的以“班号+学号+姓名的文件中”;
2.车辆数据
以《汽车理论》习题1.3车辆数据为例设计程序进行绘图计算。
已知某一轻型车的有关数据:
汽油发动机使用外特性的T
—n曲线的拟合公式为:
T
=-19.313+295.27(
)-165.44(
)
+40.874(
)
-3.8445(
)
式
(1)
发动机的最低转速
=600(r/min);最高转速
=4000(r/min);
装载质量m1=2000;整车整备质量m2=1800;
总质量m3=3880;车轮半径r=0.367;
传动系机械效率:
=0.85;滚动阻力系数f=0.013;
空气阻力系数*迎风面积C
A=2.77;主减速器传动比I
=5.83;
飞轮转动惯量I
=0.218;二前轮转动惯量比I
=1.798;
四后轮转动惯量比I
=3.598;轴局距L=3.2;
质心至前轴距高a=1.947;质心高h
=0.9;
表2.1变速器传动比
汽车档位
一档I
二档I
三档I
四档I
五档I
传动比
5.56
2.769
1.644
1.00
0.793
3.汽车动力性计算
3.1驱动力-行驶阻力平衡图
为全面地评价汽车在各个挡位和不同车速下的动力性,需要绘制驱动力-行驶阻力平衡图,以便清晰地表明汽车行驶时的受力情况及其平衡关系。
汽车的驱动力(单位为N)为:
Ft=
式
(2)
式中,Ft为汽车的驱动力;
为对应于每一个汽车转速的汽车转矩;
为汽车的减速器传动比;
汽车的主减速器比;
汽车的传动效率;r汽车的车轮半径;
在动力性计算中,目前一般采用稳态工况时发动机台架实验所得到的使用外特性中的功率与转矩曲线(常为采用最小二乘法拟合得到的多项式)。
=
式(3)
式中,n代表汽车转速;拟合阶数k随特性曲线而异,一般在2,3,4,5中选取。
这里选取k=4。
汽车在良好路面上行驶时经常遇到的滚动阻力
和空气阻力
为
+
=Gf+
式(4)
其中车速
(km/h)与发动机转速n(r/min)之间的关系为
=0.377
式(5)
在程序中,二重循环计算各档位下发动机最低转速
到最高转速
对应的驱动力,并连接成线即得到驱动力图(Ft—
);并计算汽车行驶过程中经常遇到的滚动阻力和空气阻力,连接成线即得到阻力曲线((
+
)—
)。
绘制五挡车驱动力-行驶阻力平衡图如图1所示。
4
图1五挡车驱动力-行驶阻力平衡图
3.2确定最高车速
请说明确定最高车速的方法。
本程序求解最高车速的方法采用的是利用汽车的驱动力-行驶力平衡途中五档车速情况下的驱动力和汽车的行驶阻力的交点所对应的汽车的速度就是汽车的最高车速。
求解此点的方法是创建一个关于驱动力和行驶阻力差的一个函数句柄,然后再利用fzero求解此函数的零点即为汽车的最高车速点。
关键程序段;
n=600:
4000;
i0=5.83;r=0.367;
ig=[5.562.7691.6441.000.793];
[n1,ig1]=meshgrid(n,ig);
n2=n1./1000;
eta=0.85;
f=0.013;m=3880;
cda=2.77;
p=[-3.844540.874-165.44295.27-19.313];
Tq=polyval(p,n2);
ua=0.377.*r.*n1./(ig1.*i0);
Ft1=Tq(1,:
).*i0.*ig1(1,:
).*eta./r;
Ft2=Tq(2,:
).*i0.*ig1(2,:
).*eta./r;
Ft3=Tq(3,:
).*i0.*ig1(3,:
).*eta./r;
Ft4=Tq(4,:
).*i0.*ig1(4,:
).*eta./r;
Ft5=Tq(5,:
).*i0.*ig1(5,:
).*eta./r;
ua1=[0:
max(ua(5,:
))];
Fw=cda.*ua1.^2./21.15;
Ff=9.8*3880*f;
Fz=Fw+Ff;
gridon
boxon
holdon
plot(ua(1,:
),Ft1,'k','linewidth',2);
plot(ua(2,:
),Ft2,'--b','linewidth',2);
plot(ua(3,:
),Ft3,'-.g','linewidth',2);
plot(ua(4,:
),Ft4,':
m','linewidth',2);
plot(ua(5,:
),Ft5,'linewidth',2);
plot(ua1,Fz,'r','linewidth',2);
xlabel('ua/(km/h)'),ylabel('F/N'),title(‘汽车驱动力行驶阻力平衡图’);
legend('Ft1','Ft2','Ft3','Ft4','Ft5','Fz');
%fff=@(n)0.13.*(0.377.*0.367.*n/(0.793*5.83)).^2-(0.377.*0.367.*n/(0.793*5.83))+494.312;
%fff=@(n)n.^2-50000;
%fff=@(n)2.77./21.15.*(0.377.*0.367./(0.793.*5.83).*n).^2-0.377.*0.367./(0.793*5.83).*n+3880*9.8*0.013;
fff=@(n)0.000117.*n.^2+494.312-0.793.*5.83.*0.85./0.367.*(-19.313+295.27.*(n/1000)-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4);
[x,favl]=fzero(fff,4000);
uamax=0.377.*r.*x/(0.793.*i0)
计算结果;
图2汽车的最大车速
最大车速uamax=99.1898km/h
3.3加速时间t
请说明计算加速时间的方法。
要有必要的理论计算公式等。
说明编程的主要思想
在求解加速时间的时候,因为计算的是该车从二档起步加速到70km/h的时间,而且该车在四档的时候就可以达到70km/h,所以只需计算汽车在二档、三档、四档所用的时间。
在计算加速时间的时候利用到的函数是trapz。
在计算时间的时候采用的公式为
T=
式(6)
关键程序段;
Ft1=Tq(1,:
).*i0.*ig1(1,:
).*eta./r;
Ft2=Tq(2,:
).*i0.*ig1(2,:
).*eta./r;
Ft3=Tq(3,:
).*i0.*ig1(3,:
).*eta./r;
Ft4=Tq(4,:
).*i0.*ig1(4,:
).*eta./r;
Ft5=Tq(5,:
).*i0.*ig1(5,:
).*eta./r;
Fw1=cda.*ua(1,:
).^2./21.15;
Fw2=cda.*ua(2,:
).^2./21.15;
Fw3=cda.*ua(3,:
).^2./21.15;
Fw4=cda.*ua(4,:
).^2./21.15;
Fw5=cda.*ua(5,:
).^2./21.15;
Fw=cda.*ua1.^2./21.15;
Ff=9.8*3880*f;
Fz=Fw+Ff;
efcela=1+Iw/(m*r^2)+If.*ig1.^2.*i0.^2.*eta/(m*r^2);
a1=(Ft1-Ff-Fw1)./(efcela(1,:
).*m);
a2=(Ft2-Ff-Fw2)./(efcela(2,:
).*m);
a3=(Ft3-Ff-Fw3)./(efcela(3,:
).*m);
a4=(Ft4-Ff-Fw4)./(efcela(4,:
).*m);
a5=(Ft5-Ff-Fw5)./(efcela(5,:
).*m);
%t2=trapz(ua(2,:
),1./a2)/3.6;
%t3=trapz(ua(2,1775:
3401),1./a3(:
1775:
3401))/3.6;
%t4=trapz(ua(3,1834:
2351),1./a4(:
1834:
2351))/3.6;
%t=t2+t3+t4;
[y2,k2]=min(abs(ua(2,3401)-ua(3,:
)));
[y3,k3]=min(abs(ua(3,3401)-ua(4,:
)));
[y4,k4]=min(abs(70-ua(4,:
)));
t2=trapz(ua(2,:
),1./a2)/3.6;
t3=trapz(ua(3,k2:
3401),1./a3(:
k2:
3401))/3.6;
t4=trapz(ua(4,k3:
k4),1./a4(:
k3:
k4))/3.6;
t=t2+t3+t4
t21=1:
3400;
fork=2:
3401
if(k<3402)
t21(1,k-1)=trapz(ua(2,1:
k),1./a2(:
1:
k))/3.6;
k=k+1;
else
break
end
end
t21;
w=k2+1;
t31=1:
(3400-k2);
fore=w:
3401
if(e<3402)
t31(1,e-k2)=trapz(ua(3,k2:
e),1./a3(:
k2:
e))/3.6;
e=e+1;
else
break
end
end
t31;
h=k3+1;
t41=1:
(k4-k3-1);
forb=h:
k4
if(b<(k4+1))
t41(1,b-k3)=trapz(ua(4,k3:
b),1./a4(:
k3:
b))/3.6;
b=b+1;
else
break
end
end
t41;
t54=1:
(k4-1089);
forkk=1090:
k4
if(kk<(k4+1))
t54(1,kk-1089)=trapz(ua(4,1089:
kk),1./a4(:
1089:
kk))/3.6;
kk=kk+1;
else
break
end
end
t54;
gridon
boxon
holdon
plot(t21,ua(2,2:
3401),'linewidth',2);
plot((t31+t21(1,3400)),ua(3,(k2+1):
3401),'linewidth',2);
plot((t41+t21(1,3400)+t31(1,1625)),ua(4,(k3+1):
k4),'linewidth',2);
plot(t54,ua(4,1090:
2351),'r','linewidth',2);
xlabel('t/s'),ylabel('ua/(km/h)'),title('加速时间曲线');
legend('II原地起步加速时间');
计算结果;
图3。
加速时间
T=25.9991s
相应的图;
图4汽车加速时间曲线
必要的图与结果的分析;
由图可以看出该车的二档起步加速时间较长,加速性能不佳,直接档加速表示的是汽车在超车时的加速性能。
3.3.1数学表达式
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
(设F
=0)式(7)
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
3.3.2换档点的确定
换档点的位置首先是根据汽车的加速度倒数曲线求解出来的,若汽车的加速度倒数曲线有交点则在交点位置处换档,若加速度倒数曲线没有交点则在每档的最高转速下所对应的车速处换档。
汽车的加速度倒数曲线的绘制
主要程序:
Ft1=Tq(1,:
).*i0.*ig1(1,:
).*eta./r;
Ft2=Tq(2,:
).*i0.*ig1(2,:
).*eta./r;
Ft3=Tq(3,:
).*i0.*ig1(3,:
).*eta./r;
Ft4=Tq(4,:
).*i0.*ig1(4,:
).*eta./r;
Ft5=Tq(5,:
).*i0.*ig1(5,:
).*eta./r;
Fw1=cda.*ua(1,:
).^2./21.15;
Fw2=cda.*ua(2,:
).^2./21.15;
Fw3=cda.*ua(3,:
).^2./21.15;
Fw4=cda.*ua(4,:
).^2./21.15;
Fw5=cda.*ua(5,:
).^2./21.15;
Fw=cda.*ua1.^2./21.15;
Ff=9.8*3880*f;
Fz=Fw+Ff;
efcela=1+Iw/(m*r^2)+If.*ig1.^2.*i0.^2.*eta/(m*r^2);
a1=(Ft1-Ff-Fw1)./(efcela(1,:
).*m);
a2=(Ft2-Ff-Fw2)./(efcela(2,:
).*m);
a3=(Ft3-Ff-Fw3)./(efcela(3,:
).*m);
a4=(Ft4-Ff-Fw4)./(efcela(4,:
).*m);
a5=(Ft5-Ff-Fw5)./(efcela(5,:
).*m);
gridon
boxon
holdon
plot(ua(1,:
),1./a1,'k','linewidth',2);
plot(ua(2,:
),1./a2,'--m','linewidth',2);
plot(ua(3,:
),1./a3,'-.b','linewidth',2);
plot(ua(4,:
),1./a4,':
g','linewidth',2);
plot(ua(5,1:
2500),1./a5(:
1:
2500),'r','linewidth',2);
xlabel('ua/(km/h)'),ylabel('1/a'),title('汽车的加速度倒数曲线');
legend('1/a1','1/a2','1/a3','1/a4','1/a5');
显示结果:
图5加速度倒数曲线
3.4动力因素曲线
在画动力因素曲线的时候利用到的公式是
D=
式(8)
+
式(9)
主要程序段:
Ft1=Tq(1,:
).*i0.*ig1(1,:
).*eta./r;
Ft2=Tq(2,:
).*i0.*ig1(2,:
).*eta./r;
Ft3=Tq(3,:
).*i0.*ig1(3,:
).*eta./r;
Ft4=Tq(4,:
).*i0.*ig1(4,:
).*eta./r;
Ft5=Tq(5,:
).*i0.*ig1(5,:
).*eta./r;
ua1=[0:
max(ua(5,:
))];
Fw=cda.*ua1.^2./21.15;
Ff=9.8*3880*f;
Fz=Fw+Ff;D1=(Ft1-cda.*ua(1,:
).^2./21.15)/(9.8*3880);
D2=(Ft2-cda.*ua(2,:
).^2./21.15)/(9.8*3880);
D3=(Ft3-cda.*ua(3,:
).^2./21.15)/(9.8*3880);
D4=(Ft4-cda.*ua(4,:
).^2./21.15)/(9.8*3880);
D5=(Ft5-cda.*ua(5,:
).^2./21.15)/(9.8*3880);
cla
gridon
boxon
holdon
plot(ua(1,:
),D1,'k','linewidth',2);
plot(ua(2,:
),D2,'--b','linewidth',2);
plot(ua(3,:
),D3,'-.g','linewidth',2);
plot(ua(4,:
),D4,':
m','linewidth',2);
plot(ua(5,:
),D5,'linewidth',2);
xlabel('ua/(km/h)'),ylabel('D'),title('汽车动力因素图');
legend('D1','D2','D3','D4','D5')
显示结果:
图6动力因素曲线
3.5功率平衡图
在画功率平衡图的时候用到的公式为
式(10)
主要程序:
n=600:
4000;
i0=5.83;r=0.367;
ig=[5.562.7691.6441.000.793];
[n1,ig1]=meshgrid(n,ig);
n2=n1./1000;
eta=0.85;
f=0.013;m=3880;
cda=2.77;
p=[-3.844540.874-165.44295.27-19.313];
Tq=polyval(p,n2);
ua=0.377.*r.*n1./(ig1.*i0);
ua1=[0:
max(ua(5,:
))];
Fw=cda.*ua1.^2./21.15;
Ff=9.8*3880*f;
Fz=Fw+Ff;
Ft1=Tq(1,:
).*i0.*ig1(1,:
).*eta./r;
Ft2=Tq(2,:
).*i0.*ig1(2,:
).*eta./r;
Ft3=Tq(3,:
).*i0.*ig1(3,:
).*eta./r;
Ft4=Tq(4,:
).*i0.*ig1(4,:
).*eta./r;
Ft5=Tq(5,:
).*i0.*ig1(5,:
).*eta./r;
Pe1=Tq(1,:
).*n/9550;
Pe2=Tq(2,:
).*n/9550;
Pe3=Tq(3,:
).*n/9550;
Pe4=Tq(4,:
).*n/9550;
Pe5=Tq(5,:
).*n/9550;
Pez=Fz.*ua1./(3600.*eta);
gridon
boxon
holdon
plot(ua(1,:
),Pe1,'b','linewidth',2);
plot(ua(2,:
),Pe2,'--k','linewidth',2);
plot(ua(3,:
),Pe3,'-.m','linewidth',2);
plot(ua(4,:
),Pe4,':
','linewidth',2);
plot(ua(5,:
),Pe5,'g','linewidth',2);
plot(ua1,Pez,'r','linewidth',2);
xlabel('ua/(km/h)'),ylabel('Pe/kw'),title('汽车的功率平衡图');
legend('Pe1','Pe2','Pe3','Pe4','Pe5','Pez');
显示结果:
图7功率平衡图
3.6爬坡度图
绘制爬坡度图所利用到的公式:
式(11)
式(12)
主要程序:
n=600:
4000;
i0=5.83;r=0.367;
ig=[5.562.7691.6441.000.793];
[n1,ig1]=meshgrid(n,ig);
n2=n1./1000;
eta=0.85;
f=0.013;m=3880;G=9.8.*m;
cda=2.77;
p=[-3.844540.874-165.44295.27-19.313];
Tq=polyval(p,n2);
ua=0.377.*r.*n1./(ig1.*i0);
Ft1=Tq(1,:
).*i0.*ig1(1,:
).*eta./r;
Ft2=Tq(2,:
).*i0.*ig1(2,:
).*eta./r;
Ft3=Tq(3,:
).*i0.*ig1(3,:
).*eta./r;
Ft4=Tq(4,:
).*i0.*ig1(4,:
).*eta./r;
Ft5=Tq(5,:
).*i0.*ig1(5,:
).*eta./r;
ua1=[0:
max(ua(5,:
))];
Fw1=cda.*ua(1,:
).^2./21.15;
Fw2=cda.*ua(2,:
).^2./21.15;
Fw3=cda.*ua(3,:
).^2./21.15;
Fw4=cda.*ua(4,:
).^2./21.15;
Fw5=cda.*ua(5,:
).^2./21.15;
Ff=9.8*3880*f;
alfa1=asin((Ft1-(Ff+Fw1))./G);
alfa2=asin((Ft2-(Ff+Fw2))./G);
alfa3=asin((Ft3-(Ff+Fw3))./G);
alfa4=asin((Ft4-(Ff+Fw4))./G);
alfa5=asin((Ft5-(Ff+Fw5))./G);
I1=tan(alfa1).*100;
I2=tan(alfa2).*100;
I3=tan(alfa3).*100;
I4=tan(alfa4).*100;
I5=tan(alfa5).*100;
gridon
boxon
holdon
plot(ua(1,:
),I1,'r','linewidth',2);
plot(ua(2,:
),I2,'--b','linewidth',2);
plot(ua(3,:
),I3,'-.k','linewidth',2);
plot(ua(4,:
),I4,':
m','linewidth',2);
plot(ua(5,:
),I5,'g','linewidth',2);
xlabel('ua/(km/h)'),ylabel('i(%)'),title('汽车的爬坡度图');
legend('I1','I2','I3','I4','I5');
Imax=max(I1)
显示结果:
图8爬坡度图
显示最大的爬坡度:
Imax=35.2197图9最大爬坡度结果
4.GUI界面设计
所设计的界面贴图,主要过程,重要功能如何实现,关键程序说明,主要结果贴图显示等;
首先进入GUI的编辑界面,根据自己界面的需要设置出一定数量的按钮。
图10界面一
界面一:
根据需要在此处我设置了两个按钮,“输入参数”、“输出结果”
界面二:
图11界面二
图12默认参数下的界面二
根据汽车的基本参数我设置出了一系列的图框用于输入该车的基本参数,并且设置了两个按钮“确认”“默认参数”。