汽车整体动力性MATLAB仿真计算
- 格式:ppt
- 大小:3.72 MB
- 文档页数:23
[精品]基于MATLAB的汽车动力性和燃油经济性仿真1. 简介汽车动力性和燃油经济性是评价一辆汽车性能的两个重要指标。
基于MATLAB的仿真可以帮助工程师和研究人员更好地理解汽车的动力性能和燃油经济性,从而优化设计和改进汽车技术。
本文将介绍基于MATLAB的汽车动力性和燃油经济性仿真的方法和技术。
2. 动力性仿真汽车的动力性指的是汽车加速性能、最高速度、扭矩特性等。
基于MATLAB的动力性仿真可以通过建立数学模型来预测和评估汽车的动力性能。
以下是一个基本的汽车动力性仿真流程:- 建立车辆动力学模型:可以使用MATLAB的Simulink工具箱,将汽车的运动学、动力学和能量转换等方程建立为一个系统模型。
- 定义输入信号:输入信号可以包括驾驶员的驾驶指令、动力系统的输入等。
例如,加速踏板的输入信号可以用一个阶跃函数模拟。
- 仿真和分析:运行仿真模型,获取汽车的速度、加速度、油耗等数据。
通过对仿真结果的分析,可以评估汽车的动力性能,比较不同设计和控制策略的效果。
3. 燃油经济性仿真燃油经济性是指车辆在单位里程下消耗的燃油量,通常以百公里行驶的油耗来表示。
基于MATLAB的燃油经济性仿真可以通过模拟车辆的行驶过程和能量转换来评估汽车的油耗。
以下是一个基本的燃油经济性仿真流程:- 建立车辆行驶模型:可以使用MATLAB的Simulink工具箱,将车辆的行驶阻力、发动机效率、行驶工况等建立为一个系统模型。
- 设置行驶循环:选择合适的行驶循环来模拟不同的驾驶工况,如城市驾驶、高速驾驶等。
- 仿真和分析:运行仿真模型,获取车辆的行驶速度、驱动力、油耗等数据。
通过对仿真结果的分析,可以评估汽车的燃油经济性,比较不同设计和控制策略的效果。
4. 结论基于MATLAB的汽车动力性和燃油经济性仿真可以为汽车工程师和研究人员提供一个快速、准确和可靠的评估工具。
通过仿真分析,可以优化汽车的设计和控制策略,提高汽车的性能和燃油经济性。
汽车整车动力性仿真计算汽车整车动力性仿真计算是指通过计算机模拟的方式,对汽车整车在行驶过程中的动力性能进行分析和评估的过程。
该计算是基于车辆的动力学模型和各种输入参数,通过数值计算方法得出的结果,可以用于优化车辆的设计和调整工艺参数,以提高汽车的动力性能。
1.动力系统模型:汽车整车动力性仿真计算首先要建立动力系统的模型,包括发动机、变速器、传动轴、驱动轴和车轮等组成部分。
这些部分的动力学模型要准确地描述各个部件之间的作用和相互影响。
2.输入参数设置:仿真计算需要确定一系列的输入参数,如车辆的质量、空气阻力系数、轮胎的摩擦系数、发动机的功率和扭矩曲线等。
这些参数对于仿真计算的结果有着重要的影响,需要根据实际情况进行准确的测量和设置。
3.常规工况仿真计算:仿真计算通常会对车辆在不同的工况下进行仿真计算,如加速、匀速和制动等情况。
通过这些仿真计算可以得到车辆在各个工况下的加速性能、最高速度、制动距离等数据,用于评估车辆的动力性能。
4.特殊工况仿真计算:除了常规工况外,还需要对一些特殊工况进行仿真计算,如起步时的爆发力、高速行驶时的超车能力等。
这些特殊工况对于车辆的动力性能有着重要的影响,需要进行详细的仿真计算和评估。
5.仿真计算结果分析:对仿真计算的结果进行详细的分析,比如加速时间、最高速度、制动距离等数据。
通过这些数据的分析,可以找出车辆的优点和不足之处,为进一步的优化工作提供依据。
6.参数优化和调整:根据仿真计算的结果,对车辆的各个参数进行优化和调整,以提高车辆的动力性能。
比如调整发动机的进气和排气系统,改善传动系统的效率等。
总之,汽车整车动力性仿真计算是一项非常复杂和关键的工作,通过对汽车的动力性能进行仿真计算和分析,可以为汽车的设计和优化提供参考依据,从而提高汽车的动力性能和性价比。
汽车动⼒性试验仿真matlab基于matlab 的⼀款轻型货车动⼒性试验仿真段##(武汉理⼯⼤学汽车学院,汽车##班;1049####)摘要:利⽤⼀款轻型货车发动机外特性的转矩拟合曲线及整车的其他配置参数建⽴了整车的动⼒学模型,在matlab 环境下⽤m 语⾔完成了仿真过程。
动⼒性是汽车的最基本性能,是汽车整车性能道路试验的必备项⽬之⼀,但道路试验需要较好的试验场地和有经验的试验⼈员,过程也很繁琐。
但若利⽤发动机及整车的参数建⽴数学模型,在软件中进⾏试验仿真则会⽅便很多。
设计合理的数学模型及⾼效的仿真程序,能得出接近真实试验的结果,为⼯作⼈员提供了重要参考,有很强的实⽤性。
关键词:汽车;动⼒性;试验仿真;matlab ;m 语⾔;实⽤性1 汽车动⼒性试验的基本内容汽车动⼒性评价指标有最⾼车速、加速时间、最⼤爬坡度等,与之对应的试验内容有最⾼车速的测试、汽车起步连续换挡加速时间与超车加速时间的测试和汽车最⼤爬坡度的测试。
另外,按照我国标准,动⼒性评价试验均在满载情况下进⾏。
1.1 最⾼车速汽车的最⾼车速是指汽车标准满载状态,在⽔平良好的路⾯(清洁、⼲燥、平坦的混凝⼟或沥青路⾯,纵向坡度在0.1%以内)上所能达到的最⾼⾏驶速度。
1.2 加速时间常⽤原地起步加速时间与超车加速时间来表明汽车的加速能⼒。
原地起步加速时间是指汽车由Ⅰ挡或Ⅱ挡起步,并以最⼤的加速度(包括选择最恰当的换挡时间)逐步换⾄最⾼挡到某⼀预定的距离或车速所需的时间。
⼀般常⽤0—100km/h 所需的时间来表明原地起步的加速能⼒。
超车加速是指⽤最⾼挡或次⾼挡有某⼀较低车速全⼒加速⾄某⼀⾼速所需的时间。
对超车加速能⼒还没有⼀致的规定,采⽤较多的是⽤最⾼挡或次⾼挡由30km/h 或40km/h 全⼒加速⾄某⼀⾼速所需的时间。
本⽂所取模型为⼀款轻型货车,动⼒性⼀般,再结合⽣活使⽤实际需要,现⽤40km/h 全⼒加速⾄70km/h 所⽤的时间来评价汽车的加速性能,因为此速度区间是城市道路在较佳的通车情况下加速时的常⽤⼯况。
汽车动力性matlab仿真源程序clcn=[1500:500:5500];%转速范围T=[78.59 83.04 85.01 86.63 87.09 85.87 84.67 82.50 80.54];%对应各转矩dt=polyfit(n,T,3);%对发动机输出转矩特性进行多项式拟合,阶数取4n1=1000:100:5500;%t=polyval(dt,n1);figure(1)title('发动机外特性')plot(n1,t,n,T,'o'),grid on%图示发动机输出转矩特性%汽车驱动力计算G=input('整车重力/N,G=');%输入970*9.8ig=[3.416 1.894 1.28 0.914 0.757];%变速器速比k=1:5;%5个前进档r=0.272;i0=4.388;eta=0.9;ngk=[800 800 800 800 800];ngm=[5500 5500 5500 5500 5500];ugk=0.377.*r.*ngk(k)./(ig(k).*i0);%计算每一档发动机800rpm 时的最低行驶速度ugm=0.377.*r.*ngm(k)./(ig(k).*i0);%计算每一档发动机5400rpm最高行驶速度for k=1:5%依次计算5个档的驱动力u=ugk(k):ugm(k);n=ig(k)*i0.*u./r/0.377;t=54.8179+2.2441.*(n./100)-4.8003.*(n./1000).^2+2.815e-10.*n.^3Ft=t.*ig(k).*i0*eta/r;figure(2)plot(u,Ft)hold on,grid on %保证K的每次循环的图形都保留显示end%行驶阻力计算f0=0.009;f1=0.002;f4=0.0003;%三者都是轿车滚动阻力系数% disp'空气阻力系数Cd=0.3--0.41,迎风面积A=1.7--2.1'Cd=input('空气阻力系数Cd=');%输入0.3A=input('迎风面积/m2,A=');%输入2.3u=0:10:180;f=f0+f1.*(u./100)+f4.*(u./100).^4;Ff=G*f;%计算滚动阻力Fw=Cd*A.*u.^2./21.15;%计算空气阻力F=Ff+Fw;%滚动阻力、空气阻力之和title('驱动力-阻力图(五档速比为3.416 1.894 1.28 0.914 0.757)')plot(u,F,'mo-');grid on%图解法求最高车速for u=50:180;k=5;n=ig(k)*i0.*u./r/0.377;t=54.8179+2.2441.*(n./100)-4.8003.*(n./1000).^2+2.815e-10.*n.^3;Ft=t.*ig(k).*i0*eta/r;f=f0+f1.*(u./100)+f4.*(u./100).^4;Ff=G*f;Fw=Cd*A.*u.^2./21.15;F=Ff+Fw;if abs(Ft-F)<1;umax=u;breakendenddisp('== == =汽车动力性能仿真计算结果== == =')disp('驱动力-行驶阻力平衡图及最高车速')fprintf('汽车理论最高车速(驱动力与行驶阻力曲线交点)Vmax=%3.3f km/h\n',umax)(注:文档可能无法思考全面,请浏览后下载,供参考。
车辆理论作业第三组第一大题确定一辆轻型货车的动力性能 1、绘制发动机的使用外特性曲线 n=600:1:4000 N=n/1000T=-19.313+295.27*n/1000-165.44*N.*N+40.874*N.*N.*N-3.8445*N.*N.*N .*NPe=T.*n/9550 %发动机的净功率 figure(1) plot(n,T) xlabel('转速n') ylabel('转矩T') figure(2) plot(n,Pe) xlabel('转速n') ylabel('功率Pe')5001000150020002500300035004000100110120130140150160170180转速n转矩T5001000150020002500300035004000010203040506070转速n功率P e2、绘制驱动力---行驶阻力平衡图 i0=6.17; %减速器的传动比 ig(1)=6.09 % 一档的传动比 ig(2)=3.09 ig(3)=1.71 ig(4)=1.00 nT=0.85 r=0.367 f=0.013 m1=3880 m2=9590 CdA=2.77 Ff1=m1*9.8*f Ff2=m2*9.8*fft1=T*ig(1)*i0*nT/r %一档所产生的驱动力 ft2=T*ig(2)*i0*nT/r ft3=T*ig(3)*i0*nT/r ft4=T*ig(4)*i0*nT/r Ft=[ft1;ft2;ft3;ft4]';ua1=0.377*r*n/(ig(1)*i0) %一档的速度 ua2=0.377*r*n/(ig(2)*i0) ua3=0.377*r*n/(ig(3)*i0) ua4=0.377*r*n/(ig(4)*i0) ua=[ua1;ua2;ua3;ua4]';fw1=CdA*ua1.^2/21.15+Ff1 %一档的行驶阻力 fw2=CdA*ua2.^2/21.15+Ff1 fw3=CdA*ua3.^2/21.15+Ff1 fw4=CdA*ua4.^2/21.15+Ff1Fz1=[fw1;fw2;fw3;fw4]'; figure(3)plot(ua,Ft) %绘制各档的驱动力曲线hold onplot(ua,Fz1) %绘制行驶阻力曲线 hold onplot(ua4,Ff2) %绘制滚动阻力曲线 xlabel('ua/(km.h)')ylabel('F/N')title('汽车驱动力-行驶阻力平衡图')text(20,12000,'Ft1'); text(30,6000,'Ft2'); text(40,4000,'Ft3'); text(80,3000,'Ft4');text(90,2200,'(空载)Ff+fw'); text(105,1450,'满载Ff')102030405060708090200040006000800010000120001400016000ua/(km.h)F /N汽车驱动力-行驶阻力平衡图Ft1Ft2Ft3Ft4(空载)Ff+Fw满载Ff一档的驱动力很大,可用于爬坡且坡度较大;二档用于直接原地起步加速 3、绘制动力特性图D=(Ft-Fw)/(m1*9.8) %求动力因数f1=0.0076+0.000056*ua %一定车速条件下的滚动阻力 figure(4) plot(ua,D) hold onplot(ua,f1) text(20,0.3,'I') text(20,0.154,'II') text(40,0.1,'III') text(80,0.05,'IV') text(110,0.025,'f') title('汽车动力特性图') xlabel('ua/(km.h)') ylabel('D')1020304050607080900.050.10.150.20.250.30.350.40.45IIIIIIIVf汽车动力特性图ua/(km.h)DIf=0.218Iw1=1.798 Iw2=3.598die1=1+(Iw1+Iw2)/(m1*r^2)+(If*i0^2*nT*ig(1).^2)/(m1*r^2);%一档的旋转质量换算系数die2=1+(Iw1+Iw2)/(m1*r^2)+(If*i0^2*nT*ig(2).^2)/(m1*r^2); die3=1+(Iw1+Iw2)/(m1*r^2)+(If*i0^2*nT*ig(3).^2)/(m1*r^2); die4=1+(Iw1+Iw2)/(m1*r^2)+(If*i0^2*nT*ig(4).^2)/(m1*r^2); die=[die1;die2;die3;die4]';a1=9.8*D(:,1)/die1-9.8*f/die1; %求一档的加速度 a2=9.8*D(:,2)/die2-9.8*f/die2; a3=9.8*D(:,3)/die3-9.8*f/die3; a4=9.8*D(:,4)/die4-9.8*f/die4; aI=1./a1 %求一档的加速度倒数 aII=1./a2 aIII=1./a3 aIV=1./a4aa=[aI,aII,aIII,aIV]';figure(5) %绘制各档的加速度倒数曲线 plot(ua1,aI) hold on plot(ua2,aII) hold onplot(ua3,aIII) hold onplot(ua4,aIV)axis([5 99 0.01 10])10203040506070809012345678910aI aII aIIIaIV加速度倒数曲线ua/(km.h)1/a由图可知,加速度倒数没有交点,则可以在每档达到最大车速时换挡 nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=6.17;If=0.218; Iw1=1.798;Iw2=3.598;L=3.950;a=2.000;hg=0.9;m=3880;g=9.8; G=m*g; ig=[6.09 3.09 1.71 1.00 ]; nmin=600;nmax=4000; u1=0.377*r*nmin./ig/i0; u2=0.377*r*nmax./ig/i0;deta=0*ig; for i=1:4deta(i)=1+(Iw1+Iw2)/(m*r^2)+(If*(ig(i))^2*i0^2*nT)/(m*r^2); endua=[0:0.01:99];N=length(ua);n=0;Tq=0;Ft=0;inv_a=0*ua;delta=0*ua; Ff=G*f;Fw=CDA*ua.^2/21.15; for i=1:N k=i;if ua(i)<=u2(2)n=ua(i)*(ig(2)*i0/r)/0.377;Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000)^.4;Ft=Tq*ig(2)*i0*nT/r;inv_a(i)=(deta(2)*m)/(Ft-Ff-Fw(i)); delta(i)=0.01*inv_a(i)/3.6; elseif ua(i)<=u2(3)n=ua(i)*(ig(3)*i0/r)/0.377;Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4;Ft=Tq*ig(3)*i0*nT/r;inv_a(i)=(deta(3)*m)/(Ft-Ff-Fw(i)); delta(i)=0.01*inv_a(i)/3.6;else ua(i)<=u2(4)n=ua(i)*(ig(4)*i0/r)/0.377;Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4; Ft=Tq*ig(4)*i0*nT/r;inv_a(i)=(deta(4)*m)/(Ft-Ff-Fw(i)); delta(i)=0.01*inv_a(i)/3.6; enda=delta(1:k); t(i)=sum(a); endplot(t,ua,'b','LineWidth',2);axis([0 100 0 100]);title('四档汽车二档原地起步换挡加速时间曲线'); xlabel('时间t (s )');ylabel('速度ua (km/h )');1020304050607080901000102030405060708090100四档汽车二档原地起步换挡加速时间曲线时间t (s )速度u a (k m /h )第二大题n=600:1:4000 N=n/1000T=-19.313+295.27*n/1000-165.44*N.*N+40.874*N.*N.*N-3.8445*N.*N.*N .*NPe=T.*n/9550 figure(1) plot(n,T)text(1000,120,'转矩T') hold on plot(n,Pe)text(2000,20,'发动机净功率Pe')5001000150020002500300035004000020406080100120140160180转矩T发动机净功率Pei0=6.17; ig(1)=6.09 ig(2)=3.09 ig(3)=1.71 ig(4)=1.00 nT=0.85 r=0.367 f=0.013 m1=3880 m2=9590 CdA=2.77ua1=0.377*r*n/(ig(1)*i0) ua2=0.377*r*n/(ig(2)*i0) ua3=0.377*r*n/(ig(3)*i0) ua4=0.377*r*n/(ig(4)*i0); ua=10:1:100Pf=m1*9.8*f.*ua/(3600) Pw=CdA*ua.^3/(76140) figure(2) plot(ua1,Pe) hold on plot(ua2,Pe) hold on plot(ua3,Pe) hold onplot(ua4,Pe) hold onplot(ua,(Pf+Pw)/nT)010203040506070809010010203040506070评价:一二三档的后备功率都比较大,可在一定坡度的道路上直接启动加速; 在最高档达到最高车速时,n0=[815 1207 1614 2012 2603 3006 3403 3884]B00=[1326.8 1354.7 1284.4 1122.9 1141.0 1051.2 1233.9 1129.7] B10=[-416.46 -303.98 -189.75 -121.59 -98.893 -73.714 -84.478 -45.291] B20=[72.379 36.657 14.524 7.0035 4.4763 2.8593 2.9788 0.71113]B30=[-5.8629 -2.0533 -0.51184 -0.18517 -0.091077 -0.05138 -0.047449 -0.00075215]B40=[0.17768 0.043072 0.0068164 0.0018555 0.00068906 0.00035032 0.00028230 -0.000038568] B0=spline(n0,B00,n) B1=spline(n0,B10,n) B2=spline(n0,B20,n) B3=spline(n0,B30,n) B4=spline(n0,B40,n)Pf3=m1*9.8*f.*ua3/(3600) Pw3=CdA*ua3.^3/(76140) Pf4=m1*9.8*f.*ua4/(3600) Pw4=CdA*ua4.^3/(76140) Ff1=m1*9.8*ffz3=CdA*ua3.^2/21.15+Ff1 fz4=CdA*ua4.^2/21.15+Ff1 %Pe3=fz3.*ua3./(3600*nT); %Pe4=fz4.*ua4./(3600*nT); Pe3=(Pf3+Pw3)/nTPe4=(Pf4+Pw4)/nTb3=B0+B1.*Pe3+B2.*Pe3.^2+B3.*Pe3.^3+B4.*Pe3.^4 b4=B0+B1.*Pe4+B2.*Pe4.^2+B3.*Pe4.^3+B4.*Pe4.^4Qs4=Pe4.*b4./(1.02*ua4*7.10*9.8) Qs3=Pe3.*b3./(1.02*ua3*7.10*9.8) figure(3)plot(ua4,Qs4) hold on plot(ua3,Qs3)01020304050607080901.41.61.822.22.42.62.8n=600:1:4000 N=n/1000T=-19.313+295.27*n/1000-165.44*N.*N+40.874*N.*N.*N-3.8445*N.*N.*N .*NPe=T.*n/9550 i0=6.17; ig(1)=6.09 ig(2)=3.09 ig(3)=1.71 ig(4)=1.00 nT=0.85 r=0.367 f=0.013 m1=3880 m2=9590 CdA=2.77ua1=0.377*r*n/(ig(1)*i0) ua2=0.377*r*n/(ig(2)*i0) ua3=0.377*r*n/(ig(3)*i0) ua4=0.377*r*n/(ig(4)*i0);n0=[815 1207 1614 2012 2603 3006 3403 3884]B00=[1326.8 1354.7 1284.4 1122.9 1141.0 1051.2 1233.9 1129.7] B10=[-416.46 -303.98 -189.75 -121.59 -98.893 -73.714 -84.478 -45.291]B20=[72.379 36.657 14.524 7.0035 4.4763 2.8593 2.9788 0.71113]B30=[-5.8629 -2.0533 -0.51184 -0.18517 -0.091077 -0.05138 -0.047449 -0.00075215]B40=[0.17768 0.043072 0.0068164 0.0018555 0.00068906 0.00035032 0.00028230 -0.000038568]B0=spline(n0,B00,n)B1=spline(n0,B10,n)B2=spline(n0,B20,n)B3=spline(n0,B30,n)B4=spline(n0,B40,n)Pf3=m1*9.8*f.*ua3/(3600) %三档的滚动阻力功率Pw3=CdA*ua3.^3/(76140) %三档的的空气阻力功率Pf4=m1*9.8*f.*ua4/(3600)Pw4=CdA*ua4.^3/(76140)Ff1=m1*9.8*fPe3=(Pf3+Pw3)/nT %三档的发动机净功率Pe4=(Pf4+Pw4)/nT %四档的发动机净功率b3=B0+B1.*Pe3+B2.*Pe3.^2+B3.*Pe3.^3+B4.*Pe3.^4b4=B0+B1.*Pe4+B2.*Pe4.^2+B3.*Pe4.^3+B4.*Pe4.^4Qs4=Pe4.*b4./(1.02*ua4*7.10) %四档的百公里油耗Qs3=Pe3.*b3./(1.02*ua3*7.10) %三档的百公里油耗ua=[25 40 50]ss=[50 250 250]fz=CdA*ua.^2/21.15+Ff1 %匀速条件下的阻力Pee=fz.*ua/(3600*nT);b=spline(b4,Pe4,Pee) %匀速条件下的燃油消耗率Qsy=Pee.*b./(1.02*ua*7.10)a=[0.2 0.2 -0.36]dt1=1/(3.6*0.2)dt2=1/(3.6*0.2)dt3=1/(3.6*(0.36))ua11=25:1:40ua22=40:1:50ua33=50:-1:25b11=spline(ua4,b4,ua11) %在加速条件下的各个速度节点的燃油消耗率b22=spline(ua4,b4,ua22)b33=spline(ua4,b4,ua33)If=0.218Iw1=1.798Iw2=3.598die4=1+(Iw1+Iw2)/(m1*r^2)+(If*i0^2*nT*ig(4).^2)/(m1*r^2);Pej1=(m1*9.8*f.*ua11/(3600)+CdA.*ua11.^3/(76140)+(die4*m1.*ua11/3600)*0.2)/nT %在三个加速条件下的各个速度节点Pej2=(m1*9.8*f.*ua22/(3600)+CdA.*ua22.^3/(76140)+(die4*m1.*ua22/3 600)*0.2)/nT %的发动机净功率Pej3=(m1*9.8*f.*ua33/(3600)+CdA.*ua33.^3/(76140)+(die4*m1.*ua33/3 600)*0.2)/nT %Qstj1=Pej1.*b11/(367.1*7.10) %在三中加速条件下的,各自的单位时间的燃油消耗量Qstj2=Pej2.*b22/(367.1*7.10)Qstj3=Pej3.*b33/(367.1*7.10)i11=size(Qstj1)i22=size(Qstj2)i33=size(Qstj3)i1=i11(2)i2=i22(2)i3=i33(2)Qt1=Qstj1(2:i1-1)Qt2=Qstj2(2:i2-1)Qt3=Qstj3(2:i3-1)q1=((Qstj1(1)+Qstj1(i1))*dt1./2+sum(Qt1)*dt1)/10q2=((Qstj2(1)+Qstj2(i2))*dt2./2+sum(Qt2)*dt2)/10q3=((Qstj3(1)+Qstj3(i3))*dt3./2+sum(Qt3)*dt3)/10Qall=(q1+q2+q3+Qsy(:,1)+Qsy(:,2)+Qsy(:,3))*100/1075q1 =5.8526q2 =4.9810 q3 =6.0186 Qall =2.7916第三大题(1)m0=4880; %空载质量m/kghg0=0.845; %空载质心高L0=3.95; %空载轴距a0=2.100; %空载质心至前轴距离m=9290; %满载质量m/kghg=1.170; %满载质心高L=3.95; %满载轴距a=2.950; %满载质心至前轴距离BB=0.38; %B为制动力分配系数g=9.8;G=m*g;b=L-a;G0=m0*g;b0=L0-a0;Fu1 =0:1000:100000;Fu2=1/2*(G/hg*(b^2+4*hg*L/G*Fu1).^0.5-(G*b/hg+2*Fu1));Fu02=1/2*(G0/hg0*(b0^2+4*hg0*L0/G0*Fu1).^0.5-(G0*b0/hg0+2*Fu1));F2=(1-B)*Fu1/B;plot(Fu1,Fu2) %绘制满载时的I曲线hold onplot(Fu1,Fu02) %绘制空载时的I曲线hold onplot(Fu1,F2); %%绘制beta曲线title('beta线和I曲线')text(30000,50000,'beta曲线')text(25000,10000,'空载时I曲线')text(25000,30000,'满载时I曲线')xlabel('Fu1')ylabel('Fu2')figure(2)fe=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9];for i=1:10Fxb1fk=0:100:120000;Fxb1rk=0:100:120000;Fxb2fk=(L0-fe(i)*hg0)/(fe(i)*hg0).*Fxb1fk-G0*b0/hg0;Fxb2rk=(-1*fe(i)*hg0)/(L0+fe(i)*hg0).*Fxb1rk+fe(i)*G0*a0/(L0+fe(i )*hg0);plot(Fxb1fk,Fxb2fk)hold onplot(Fxb1rk,Fxb2rk,'r')hold onendxlabel('Fxb1')ylabel('Fxb2')axis([0 120000 0 40000])title('空载时的f、r线组图')figure(3)for i=1:10Fxb1fk=0:100:220000;Fxb1rk=0:100:220000;Fxb2fk=(L-fe(i)*hg)/(fe(i)*hg).*Fxb1fk-G*b/hg;Fxb2rk=(-1*fe(i)*hg)/(L+fe(i)*hg).*Fxb1rk+fe(i)*G*a/(L+fe(i)*hg); plot(Fxb1fk,Fxb2fk)hold onplot(Fxb1rk,Fxb2rk,'r')hold onendxlabel('Fxb1')ylabel('Fxb2')axis([0 220000 0 80000])title('满载时的f、r线组图')012345678910x 104-2024681012141618x 104beta 线和I 曲线beta 曲线空载时I 曲线满载时I 曲线Fu1F u 2024681012x 10400.511.522.533.54x 104Fxb1F x b 2空载时的f 、r 线组图00.20.40.60.81 1.21.4 1.6 1.822.2x 105012345678x 104Fxb1F x b 2满载时的f 、r 线组图(2)-(3)m0=4880; %空载质量m/kghg0=0.845; %空载质心高L0=3.95; %空载轴距a0=2.100; %空载质心至前轴距离m=9290; %满载质量m/kghg=1.170; %满载质心高L=3.95; %满载轴距a=2.950; %满载质心至前轴距离BB=0.38; %B 为制动力分配系数g=9.8;G=m*g;b=L-a;G0=m0*g;b0=L0-a0;z=0:0.1:1; %制动强度fef=B*z*L./(b+z*hg);fef0=B*z*L0./(b0+z*hg0);fer=(1-B)*z*L./(a-z*hg);fer0=(1-B)*z*L0./(a0-z*hg0);figure(1)plot(z,fef,z,fef0,z,fer,z,fer0,z,z)text(0.8,1.5,'空车后轮')text(0.8,1.2,'满载后轮')text(0.7,0.6,'满载前轮')text(0.8,0.4,'空车前轮')figure(2)Ef=z./fef*100Ef0=z./fef0*100Er=z./fer*100Er0=z./fer0*100plot(fef,Ef,fer,Er)hold onplot(fef0,Ef0,fer0,Er0)axis([0 1 0 100])text(0.3,90,'Ef')text(0.8,90,'Er 满载')text(0.3,70,'Er 空载')00.10.20.30.40.50.60.70.80.9100.20.40.60.811.21.41.61.82空车后轮满载后轮满载前轮空车前轮00.10.20.30.40.50.60.70.80.910102030405060708090100Ef Er 满载Er 空载m0=4880;hg=0.845;l=3.950;a=2.100;b=1.850;beita=0.38;g=9.8;G0=m0*g ;m=9290;Hg=1.170;L=3.950;A=2.950;B=1.050;beita=0.38;g=9.8;G=m*g;t1=0.02;t2=0.02;ua0=30;fai=0.80;z=0:0.01:1.0;faifk=beita*z*l./(b+z*hg);faifm=beita*z*L./(B+z*Hg);fairk=(1-beita)*z*l./(a-z*hg);fairm=(1-beita)*z*L./(A-z*Hg);Efk=z./faifk*100;Efm=z./faifm*100;Erk=z./fairk*100;Erm=z./fairm*100;ak1=Erk(81)*g*fai/100;am1=Erm(81)*g*fai/100;Sk1=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*ak1);Sm1=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*am1);disp('空载时,汽车制动距离Sk1=');disp(Sk1);disp('满载时,汽车制动距离Sm1=');disp(Sm1);ak2=fai*g*a/(l+fai*hg);am2=fai*g*A/(L+fai*Hg);ak3=fai*g*b/(l-fai*hg);am3=fai*g*B/(L-fai*Hg);Sk2=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*ak2);Sm2=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*am2);Sk3=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*ak3);Sm3=(t1+t2/2)*ua0/3.6+ua0^2/(25.92*am3);disp('空载时,前制动器损坏,汽车制动距离Sk2=');disp(Sk2);disp('满载时,前制动器损坏,汽车制动距离Sm2=');disp(Sm2);disp('空载时,后制动器损坏,汽车制动距离Sk3=');disp(Sk3);disp('满载时,后制动器损坏,汽车制动距离Sm3=');disp(Sm3);空载时,汽车制动距离Sk1=7.8668满载时,汽车制动距离Sm1=5.6354空载时,前制动器损坏,汽车制动距离Sk2=10.0061满载时,前制动器损坏,汽车制动距离Sm2=7.5854空载时,后制动器损坏,汽车制动距离Sk3=8.0879满载时,后制动器损坏,汽车制动距离Sm3=12.9629。
提供全套毕业论文图纸,欢迎咨询编号毕业设计(论文)题目基于Matlab的汽车动力性与经济性分析计算二级学院专业车辆工程班级学生姓名学号指导教师职称时间目录摘要 (I)Abstract (II)1绪论 (1)1.1选题背景 (1)1.2国内外汽车动力性经济性仿真研究发展过程与现状 (2)1.3课题研究主要内容与意义 (3)2汽车动力性经济性计算中发动机模拟的理论基础 (5)2.1发动机数学模型的建立 (5)2.1.1发动机外特性 (5)2.1.2发动机万有特性 (8)2.2本章小结 (10)3汽车动力性模拟计算 (12)3.1汽车最高车速的计算 (13)3.2加速时间的计算 (16)3.2.1原地起步加速时间 (17)3.2.2超车加速时间 (19)3.3最大爬坡度的计算 (19)3.4各档动力因数的计算 (21)3.5小结 (23)4汽车燃油经济性模拟计算 (24)4.1汽车燃油经济性的评价指标 (24)4.2不同行驶工况的汽车燃油经济性计算 (25)4.2.1等速工况 (25)4.2.2加速工况 (25)4.2.3减速工况 (27)4.2.4怠速工况 (27)4.2.5多工况循环百公里油耗 (27)4.3等速行驶工况的汽车燃油经济性计算 (27)4.4影响汽车燃油经济性的因素 (31)4.5小结 (38)5动力性和燃油经济性的参数敏感性分析 (39)5.1汽车动力性的参数敏感度分析 (39)5.2汽车燃油经济性的灵敏度分析 (40)5.3本章小结 (42)6结论 (44)致谢 (46)参考文献 (47)附录 (49)附录一 (49)附录二 (51)附录三 (62)附录四 (68)文献综述 (85)摘要本文首先利用了最小二乘法和回归分析法对所给试验数据拟合,得到了一个函数化的发动机外特性模型和万有特性模型,为后文汽车动力与燃油经济性的仿真奠定了基础。
然后,我们建立了汽车的动力性数学模型,详细分析了汽车动力性的几个评价指标,给出各个指标的计算方法及计算公式,并绘制出汽车的动力特性图,在完成动力性仿真分析之后,我们建立了汽车燃油经济性的数学模型,分析不同工况下汽车的燃油经济性并重点分析等速百公里的燃油消耗量,得到不同档位下不同车速的等速百公里燃油消耗量,并从汽车的使用方面和汽车结构方面详细的分析了影响汽车燃油经济性的因素。
汽车性能仿真计算实验实验报告实验⼀汽车动⼒性仿真计算实验⽬的1.掌握汽车动⼒性评价指标和评价⽅法2.学会使⽤matlab 对汽车动⼒性指标进⾏计算实验内容1.学习汽车动⼒性理论2.编写计算程序3.绘制汽车动⼒性图形实验设备硬件环境:汽车虚拟仿真实验室软件环境:matlab2016a 及以上版本实验步骤1.学习汽车动⼒性理论2.编写计算程序3.绘制汽车动⼒性图形实验报告1. 运⽤matlab 解决《汽车理论》第⼀章习题1.31)绘制汽车驱动⼒与⾏驶阻⼒平衡图汽车驱动⼒Ft=ri i T to g tq η⾏驶阻⼒F f +F w +F i +F j =G ?f +2D 21.12A C a u +G ?i+dt dum δ发动机转速与汽车⾏驶速度之间的关系式为:0g i nr 0.377ua i ?= 由本题的已知条件,即可求得汽车驱动⼒和⾏驶阻⼒与车速的关系,编程即可得到汽车驱动⼒与⾏驶阻⼒平衡图。
2)求汽车最⾼车速,最⼤爬坡度及克服该坡度时相应的附着率①由1)得驱动⼒与⾏驶阻⼒平衡图,汽车的最⾼车速出现在5档时汽车的驱动⼒曲线与⾏驶阻⼒曲线的交点处,Ua max =99.08m/s 2。
②汽车的爬坡能⼒,指汽车在良好路⾯上克服w f F F +后的余⼒全部⽤来(等速)克服坡度阻⼒时能爬上的坡度,此时0=dt du,因此有()w f t i F F F F +-=,可得到汽车爬坡度与车速的关系式:()+-=G F F F i w f t arcsin tan ;⽽汽车最⼤爬坡度为Ⅰ档时的最⼤爬坡度。
利⽤MATLAB 计算可得,352.0max =i 。
③如是前轮驱动,1?C =qb hg q L L -;相应的附着率1?C 为1.20,不合理,舍去。
如是后轮驱动,2?C =qa hg q L L+;相应的附着率2?C 为0.50。
3)绘制汽车⾏驶加速度倒数曲线,求加速时间利⽤MATLAB 画出汽车的⾏驶加速度图和汽车的加速度倒数曲线图:忽略原地起步时的离合器打滑过程,假设在初时刻时,汽车已具有Ⅱ档的最低车速。
确定以轻型五档货车的动力性:解:1.绘制汽车驱动力与行驶阻力平衡图Matlab 编写程序如下n=600:4000; r=0.367; nt=0.85; f=0.013; CA=2.77; io=5.83; m=3880; g=9.8; Tq=-19.313+295.27.*n./1000-165.44.*(n./1000).^2+40.874.*(n./1000).^3-3.8445.*(n./1000).^4;ig1=5.56; Ua1=0.377.*r.*n./(ig1.*io); Ft1=Tq.*ig1.*io.*nt./r;ig2=2.769; Ua2=0.377.*r.*n./(ig2.*io); Ft2=Tq.*ig2.*io.*nt./r;ig3=1.644; Ua3=0.377.*r.*n./(ig3.*io); Ft3=Tq.*ig3.*io.*nt./r;ig4=1.00; Ua4=0.377.*r.*n./(ig4.*io); Ft4=Tq.*ig4.*io.*nt./r;ig5=0.793; Ua5=0.377.*r.*n./(ig5.*io); Ft5=Tq.*ig5.*io.*nt./r;Fr=m.*g.*f+(CA/21.15).*Ua5.^2;plot(Ua1,Ft1,Ua2,Ft2,Ua3,Ft3,Ua4,Ft4,Ua5,Ft5,Ua5,Fr);02040608010012002000400060008000100001200014000Ua(Km/h)F t (K N )驱动力行驶阻力平衡图2.求最高车速,最大爬坡度及相应附着率2.1 最高车速Uamaxfunction Uamax=Uamax(Ua5)r=0.367; nt=0.85; f=0.013; CA=2.77; io=5.83; m=3880; g=9.8;ig5=0.793; n=Ua5.*ig5.*io./(0.377.*r);Tq=-19.313+295.27.*n./1000-165.44.*(n./1000).^2+40.874.*(n./1000).^3-3.8445.*(n./1000).^4;Ft5=Tq.*ig5.*io.*nt./r;Fr=m.*g.*f+(CA/21.15).*Ua5.^2;Uamax=Ft5-Fr;>> x=fzero(@Uamax,99)x =99.08342.2 最大爬坡度 imaxr=0.367; nt=0.85; f=0.013; CA=2.77; io=5.83; m=3880; g=9.8;Tq=-19.313+295.27.*n./1000-165.44.*(n./1000).^2+40.874.*(n./1000).^3-3.8445.*(n./1000).^4;ig1=5.56; Ua1=0.377.*r.*n./(ig1.*io);i=(Tq.*ig1.*io.*nt./r-m.*g.*f)./(m.*g);imax=m>> imaximax =0.33252.3 该爬坡度时的附着率Co>> a=1.947; L=3.2; hg=0.9; q=0.3325;Co=q./(a./L+hg.*q./L)Co =0.47373.绘制加速度倒数曲线,计算二档起步加速至70Km/s 的时间Matlab 编写程序如下n=600:4000; r=0.367; nt=0.85; f=0.013; CA=2.77; io=5.83; m=3880; g=9.8; Iw1=1.798; Iw2=3.598; If=0.218;Tq=-19.313+295.27.*n./1000-165.44.*(n./1000).^2+40.874.*(n./1000).^3-3.8445.*(n./1000).^4;ig1=5.56; Ua1=0.377.*r.*n./(ig1.*io); inv_a1=(m+(Iw1+Iw2)./r.^2+(If.*ig1.^2.*io.^2.*nt)./r.^2)./(Tq.*ig1.*io.*nt./r-m.*g.*f-(CA./21.15).*Ua1.^2);ig2=2.769; Ua2=0.377.*r.*n./(ig2.*io);inv_a2=(m+(Iw1+Iw2)./r.^2+(If.*ig2.^2.*io.^2.*nt)./r.^2)./(Tq.*ig2.*io.*nt./r-m.*g.*f-(CA./21.15).*Ua2.^2);ig3=1.644; Ua3=0.377.*r.*n./(ig3.*io); inv_a3=(m+(Iw1+Iw2)./r.^2+(If.*ig3.^2.*io.^2.*nt)./r.^2)./(Tq.*ig3.*io.*nt./r-m.*g.*f-(CA./21.15).*Ua3.^2);ig4=1.00; Ua4=0.377.*r.*n./(ig4.*io); inv_a4=(m+(Iw1+Iw2)./r.^2+(If.*ig4.^2.*io.^2.*nt)./r.^2)./(Tq.*ig4.*io.*nt./r-m.*g.*f-(CA./21.15).*Ua4.^2);ig5=0.793; Ua5=0.377.*r.*n./(ig5.*io); inv_a5=(m+(Iw1+Iw2)./r.^2+(If.*ig5.^2.*io.^2.*nt)./r.^2)./(Tq.*ig5.*io.*nt./r-m.*g.*f-(CA./21.15).*Ua5.^2);axis([0 80 0 10]);plot(Ua1,inv_a1,Ua2,inv_a2,Ua3,inv_a3,Ua4,inv_a4,Ua5,inv_a5);01020304050607080012345678910Ua(Km/h)i n v a加速度倒数曲线求加速时间tr=0.367;io=5.83;n1=4000;nt=0.85;ig=[5.56 2.769 1.644 1.000.793];If=0.218;Iw1=1.798;Iw2=3.598;m=3880;g=9.8;f=0.013;CA=2.77;for i=1:2Ua=0.377.*r.*n1./(io.*ig(i)):0.00001:0.377.*r.*n1./(io.*ig(i+1));n=Ua.*io.*ig(i+1)./(0.377.*r);Tq=-19.313+295.27.*(n./1000)-165.44.*(n./1000).^2+40.874.*(n./1000).^3-3.8445.*(n./1000).^4;Ft=Tq.*ig(i+1).*io.*nt./r;Fw=m.*g.*f+(CA./21.15).*Ua.^2;p=1+(Iw1+Iw2+If.*ig(i+1).^2.*io.^2.*nt)./(m.*r.^2);inv_a=p.*m./(Ft-Fw);s=0;s=s+trapz(Ua,inv_a);endUa=0.377.*r.*n1./(io.*ig(3)):0.00001:70;n=Ua.*io.*ig(4)./(0.377.*r);Tq=-19.313+295.27.*(n./1000)-165.44.*(n./1000).^2+40.874.*(n./1000).^3-3.8445.*(n./1000).^4;Ft=Tq.*ig(4).*io.*nt./r;Fw=m.*g.*f+(CA./21.15).*Ua.^2;Iw1=1.798;Iw2=3.598;p=1+(Iw1+Iw2+If.*ig(4).^2.*io.^2.*nt)./(m.*r.^2); inv_a=p.*m./(Ft-Fw);acctime=(s+trapz(Ua,inv_a))./3.6acctime =19.64950.4737。
基于MATLAB的汽车动力性仿真实验【摘要】文章从车辆动力学的角度建立了汽车动力性数学模型,用MATLAB编程,对某轻型货车的动力性能参数进行计算并仿真出其驱动力-行驶阻力平衡图、行驶加速度及加速度倒数曲线图,计算出该轻型货车的最高车速及II档起步加速到70km/h所需的时间,为研究该型载货汽车的动力性能提供了很好的依据。
【关键词】MATLAB;轻型货车;动力性能;仿真一、前言汽车动力性是评价汽车性能的重要指标,通常用汽车的最高车速、加速时间和最大爬坡度来评定。
绘出汽车驱动力-行驶阻力平衡图和汽车加速度曲线图是求出最高车速、加速时间和最大爬坡度的前提,本文通过MATLAB仿真求出实验用轻型货车的动力性指标,使其参数指标优化轻型货车的动力性匹配实验。
二、实验用轻载货汽车本实验用使用的汽车是福田轻型厢式货车。
其主要的技术参数见表1。
变速器传动比数据见表2。
三、建立汽车动力性数学模型1.发动机的外特性利用FZD发动机综合实验台测出该型厢式货车汽车的外特性的功率与转矩曲线,利用多项式拟合求出发动机的转矩多项式,(1)式中,为发动机转矩();为发动机转速(r/min);系数可由曲线拟合中的最小二乘法来确定;k取4。
求得:发动机最低转速=600r/min,最高转速=4000r/min2.汽车行驶方程的建立及计算模型汽车行驶时的一般方程式为:式中:分别是驱动力、滚动阻力、空气阻力、坡度阻力和加速阻力;为发动机转矩;分别为变速器传动比、主减速器传动比;为传动系机械效率;为滚动阻力系数;为空气阻力系数;A为迎风面积;为车速;为道路坡度;为汽车旋转质量换算系数;分别为汽车质量、行驶加速度。
不考虑坡度阻力和加速阻力时,方程(2)变为:(3)可得最高车速:(4)不考虑坡度阻力由汽车行驶方程可得加速时间:(5)由动力学可知:(6)汽车等速行驶时得到最大坡度:四、仿真过程1.汽车汽车驱动力-行驶阻力平衡图仿真编写程序在MATLAB中做出汽车驱动力-行驶阻力平衡图,图1。
%% 汽车动力性计算(自己编的动力性计算程序,供大家计算动力性时参考,具体参数大家根据所给程序对应输入,并对坐标轴数值按需要进行修改)clc; clear;close all;%%根据所给发动机数据拟合外特性曲线(发动机数据按照你所得到的数据进行输入)n_test=[500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200];T_test=[975 1108 1298 1496 1546 1620 1670 1785 1974 1974 1970 1889 1829 1748 1669 1700 1524 1105];figure(1)plot(n_test,T_test,'g');hold ongrid on%p=polyfit(n_test,T_test,7);p=polyfit(n_test,T_test,2);n=[450:1:2200];Ttq=polyval(p,n);plot(n,Ttq,'k');xlabel('发动机转速n(r/min)');ylabel('发动机转矩Ttq(N*m)');title('发动机转矩曲线');legend('测试曲线','拟合曲线');%%所给车型动力总成相关参数ig=[3.07 2.16 1.48 1.0 0.82];i0=4.0; eta=0.78; r=0.57; M=25000; g=9.8; c=1.5; f0=0.01; f1=0.0002; f4=0.0005; CD=1; A=8;Iw=3.6;If=0.04;%% 发动机外特性曲线图figure(2)hold ongrid onfor i=length(n);Pe=Ttq.*n/9550;end[AX,H1,H2]=plotyy(n,Ttq,n,Pe);xlabel('发动机转速n(r/min)');ylabel('发动机转矩Ttq(N*m)');ylabel(AX(2),'发动机功率Pe(Kw)');title('发动机外特性曲线');%% 各挡位速度曲线%计算各挡位车速for i=1:length(ig);ua(i,:)=0.377*r*n/ig(i)/i0;end%计算各档位最高车速uamax=ua(:,length(ua(1,:)));figure(3)hold onfor i=1:length(ig);plot(n,ua(i,:),'k');endhold ongrid onxlabel('转速n(r/min)');ylabel('各挡位车速(km/h)');title('各挡位车速-转速表');legend('1挡车速','2挡车速','3挡车速','4挡车速','5挡车速'); %% 驱动力和行驶阻力平衡图%计算滚动阻力系数for i=1:length(ig);f(i,:)=f0+f1*(ua(i,:)/100)+f4*(ua(i,:)/100).^4;end%计算滚动阻力for i=1:length(ig);Ff(i,:)=c*M*g*f(i,:);end%计算空气阻力for i=1:length(ig);Fw(i,:)=CD*A*(ua(i,:).^2)/21.15; end%计算行驶阻力for i=1:length(ig);F(i,:)=Ff(i,:)+Fw(i,:);end%计算汽车驱动力for i=1:length(ig);Ft(i,:)=Ttq*ig(i)*i0*eta/r;endfigure(4)hold onfor i=1:length(ig);plot(ua(i,:), Ft(i,:),'k');plot(ua(i,:), F(i,:),'r');plot(ua(i,:), Ff(i,:),'b');endhold ongrid onxlabel('车速(km/h)');ylabel('驱动力、行驶阻力(N)');legend('驱动力Ft','行驶阻力Ff+Fw','滚动阻力Ff'); title('驱动力-行驶阻力平衡图');%% 汽车功率平衡图%计算各档位功率for i=1:length(ig);P(i,:)=Ft(i,:).*ua(i,:)/(3600*eta);end%计算风阻阻力功率for i=1:length(ig);Pw(i,:)=CD*A*ua(i,:).^3/(76140*eta);end%计算滚动阻力功率for i=1:length(ig);Pf(i,:)=M*g*f(i,:).*ua(i,:)/(3600*eta);end%计算总阻力功率for i=1:length(ig);Pz(i,:)=Pw(i,:)+Pf(i,:);endfigure(5)hold onfor i=1:length(ig);plot(ua(i,:), P(i,:),'k');plot(ua(i,:), Pz(i,:),'r');endhold ongrid onxlabel('车速(km/h)');ylabel('发动机功率、阻力功率(kW)');legend('发动机功率P','阻力功率Pz','Location','NorthWest'); title('功率平衡图');%% 动力特性图(动力因数图)for i=1:length(ig);D(i,:)= (Ft(i,:)- Fw(i,:))/M/g;endfigure(6)hold onfor i=1:length(ig);plot(ua(i,:), D(i,:),'k');plot(ua(i,:), f(i,:),'r');endhold ongrid onxlabel('车速(km/h)');ylabel('动力因数D');legend('动力因数D','滚动阻力系数f');title('动力特性图');%% 爬坡度曲线图for i=1:length(ig);I(i,:)= (tan(asin((Ft(i,:)-(Ff(i,:)+Fw(i,:)))/(M*g))))*100; endfigure(7)hold onfor i=1:length(ig);if i==1plot(ua(i,:),I(i,:),'r');elseplot(ua(i,:),I(i,:),'k');endendhold ongrid onxlabel('车速(km/h)');ylabel('最大爬坡度(%)');legend('Ⅰ挡','高速档');title('爬坡度曲线图');%% 加速度曲线图deta=1+1/M*4*Iw/r^2+1/M*If*ig.^2*i0^2*eta/r^2; for i=1:length(ig);a(i,:)=(Ft(i,:)-Ff(i,:)-Fw(i,:))./deta(i)/M;if i==5for j=1:length(n)if a(i,j)<0a(i,j)=0;elseendendendendfigure(8)hold onfor i=1:length(ig);if i==1plot(ua(i,:),a(i,:),'r'); elseplot(ua(i,:),a(i,:),'k');endendhold ongrid onxlabel('车速(km/h)');ylabel('加速度a(m/s^2)');legend('Ⅰ档','高速档');title('加速度曲线图');axis([0 120 0 1.5])%% 加速度倒数曲线for i=1:length(ig);for j=1:length(n)b(i,j)=1./a(i,j);endendfigure(9)hold onfor i=1:length(ig)plot(ua(i,:),b(i,:),'k');endhold ongrid onxlabel('车速(km/h)');ylabel('各档加速度倒数1/a');legend('各档加速度倒数1/a曲线','Location','NorthWest'); title('各档加速度倒数曲线图');axis([0 120 0 10])ad1=b(1,:);ad2=ua(1,:);for i=1:(length(ig)-1);for j=1:length(n)if ua(i+1,j)>=ua(i,length(n)) flag(i)=j;break;endendad1=[ad1 b(i+1,j:length(n))]; ad2=[ad2 ua(i+1,j:length(n))];endfigure(10)hold onplot(ad2,ad1,'k');hold ongrid onxlabel('车速(km/h)');ylabel('加速度倒数1/a');legend('加速度倒数1/a曲线','Location','NorthWest');title('加速度倒数曲线图');axis([0 120 0 10])%% 加速时间曲线k=length(n);for i=1:length(ig);t(i,1)=0;for j=2:kt(i,j)=abs(ua(i,j)-ua(i,j-1))*(b(i,j)+b(i,j-1))/2;endendfor i=1:length(ig);for j=1:kat(i,j)=sum(t(i,1:j))/3.6;endendtotalat=at(1,:);for i=1:(length(ig)-1);for j=flag(i):ktotalat=[totalat totalat(length(totalat))+t(i+1,j)/3.6];endendfigure(11)hold onplot(totalat,ad2,'k');hold ongrid onxlabel('时间(s)');ylabel('车速(km/h)');legend('加速时间','Location','NorthWest'); title('加速时间曲线图');axis([0 100 0 120])Welcome To Download !!!欢迎您的下载,资料仅供参考!。
公式章 1 节 0 基于 MATLAB的车辆动力性和制动性仿真分析摘要:动力性和制动性是评价车辆性能的关键指标,在对关键部件进行定参数、零部件选型、匹配优化时需要进行大量计算,现在企业多采用EXCEL进行计算,导致效率低下、直观性不强。
本文基于MATLAB软件的App Designer模块,开发了车辆动力性和制动性仿真分析软件,具有良好的人机界面和曲线输出功能,并以某型号汽车的实际参数进行了动力性和制动性仿真验证,证明了软件仿真分析的可行性,能够为汽车设计提供良好的支撑,提高设计效率。
关键词:汽车;MATLAB;仿真分析;App Designer中图分类号:U462.3 文献标志码:A0引言近年来国内外汽车行业发展迅猛,截至2021年7月,全国家用车保有量达3.84亿辆。
我国正由汽车制造大国往汽车制造强国过渡,汽车的正向研发技术越来越受到各汽车设计单位的重视。
车辆的动力性和制动性是评价车辆性能的关键指标之一[1],其性能的好坏影响到车辆的品质和市场。
如今国内外对App Designer在各领域的应用进行了研究[2],韦超毅[3]等采用App Designer对汽车的爬坡能力进行建模与仿真,开发设计了一款软件,测试了试验车的爬坡性能;张晓荣[4]等针对调节阀工作流量特性的畸变问题,设计了工作流量校正算法,并采用App Designer开发了操作简单、功能完整的操作界面;李晶[5]等基于MATLAB对实际汽车进行动力性仿真,假设节气门开度处于最大情况下,通过仿真分析绘制出该工况下车辆动力性曲线并分析结合实际实验测量数据,验证了该仿真系统的准确性;陈利娜[6]使用MATLAB对汽车制动性能分析,获得了车辆制动力分配曲线,为汽车制动性仿真分析提供了准确的操作方法与可视化数据。
目前针对汽车性能的理论研究非常成熟,但多数只是将汽车部分性能通过MATLAB分析,如果改变整车参数后还需要繁琐的源代码修改,实用性不强。
n=linspace(600,4000,100);%均分计算指令,600最低转速,4000最高转速,均分为100等分r=0.367;i0=5.83;nt=0.85;G=3880*9.8;f=0.013;CDA=2.77;If=0.218;Iw1=1.798;Iw2=3.598;m=3880;L=3.2;a=1.947;hg=0.9;ig=[6.09,3.09,1.71,1.00];%输入参数ua1=0.377*r*n/i0/ig(1);ua2=0.377*r*n/i0/ig(2);ua3=0.377*r*n/i0/ig(3);ua4=0.377*r*n/i0/ig(4);%各转速各挡位下的速度Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4;%从600~4000rpm油拟合公式计算发动机转距Ft1=Tq*i0*ig(1)*nt/r;Ft2=Tq*i0*ig(2)*nt/r;Ft3=Tq*i0*ig(3)*nt/r;Ft4=Tq*i0*ig(4)*nt/r;%从600~4000rpm各挡位的驱动力Ff=G*f;ua=linspace(0,200,100);Fw=CDA*ua.*ua/21.15;%空气阻力plot(ua1,Ft1,ua2,Ft2,ua3,Ft3,ua4,Ft4,ua,Ff+Fw);%画出各挡位的Ua-Ft,及Ua-Ff+Ftxlabel('ua/ km/h');ylabel('F/N');%标注横纵轴title('汽车驱动力-行驶阻力平衡图');%标注图形题目gtext('Ft1'),gtext('Ft2'),gtext('Ft3'),gtext('Ft4'),gtext('Ff+Fw');%给每根线条添加符号legend('Ft1','Ft2','Ft3','Ft4','Ff+Fw');%标注图例umax=max(ua4);disp('汽车最高车速=');disp(umax);disp('km/h');imax=tan(asin(max((Ft1-(Ff+Fw))/G)));%最大爬坡度的公式disp('汽车最大爬坡度=');disp(imax);%输出最高车速,与最大爬坡度的结果n=600:1:4000;%600最低转速,4000最高转速,相邻数组间隔1 r=0.367;i0=5.83;eff=0.85;f=0.013;CdA=2.77;m=3880;g=9.8; %输入参数G=m*g;Ttq=-19.313+295.27*n/1000-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4; %从600~4000rpm油拟合公式计算发动机转距for ig=[6.09,3.09,1.71,1.00]Ua=0.377*r*n/ig/i0; %各转速各挡位下的速度Pe=Ttq.*n/9550; %各转速下的功率plot(Ua,Pe);hold on; %使当前轴及图形保持而不被刷新,准备承受此后将绘制的图形,多图共存endUa=0:0.1:max(Ua);Pf=G*f*Ua/3600; %滚动阻力Pw=CdA*Ua.^3/76140; %空气阻力plot(Ua,(Pf+Pw)/eff);title('汽车的功率平衡图'),xlabel('Ua/(km/h)'),ylabel('P/kw');%画出汽车的功率平衡图gtext('Ft1'),gtext('Ft2'),gtext('Ft3'),gtext('Ft4'),gtext('(Pf+Pw)/nt');legend('Ⅰ','Ⅱ','Ⅲ','Ⅳ','Pf+Pw/nt');n=600:1:4000;%600最低转速,4000最高转速,相邻数组间隔r=0.367;i0=5.83;nt=0.85;f=0.013;CdA=2.77;m=3880;g=9.8; %输入参数G=m*g;Ttq=-19.313+295.27*n/1000-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4; %从600~4000rpm油拟合公式计算发动机转距for ig=[6.09,3.09,1.71,1.00]Ua=0.377*r*n/ig/i0;Ft=Ttq*i0*ig*nt/r;Fw=CdA*Ua.^2/21.15;D=(Ft-Fw)/G %汽车动力因子公式plot(Ua,D); %画出汽车动力特性图hold on; %使当前轴及图形保持而不被刷新,准备承受此后将绘制的图形,多图共存endf=0.0076+0.000056*Ua%滚动阻力与速度之间的关系plot(Ua,f); %画出速度与滚动阻力图title('汽车动力特性图'),%给图加题目xlabel('Ua/(km/h)'),ylabel('D');gtext('Ⅰ'),gtext('Ⅱ'),gtext('Ⅲ'),gtext('Ⅳ'),gtext('f');legend('Ⅰ','Ⅱ','Ⅲ','Ⅳ','f');n=600:10:4000; %600最低转速,4000最高转速,相邻数组间隔10m=3880;g=9.8;nmin=600;nmax=4000;G=m*g;ig=[6,09 3.09 1.71 1.00];nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83;L=3.2;a=1.947;hg=0.9;If=0.218;Iw1=1.798;Iw2=3.598;%输入参数Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4;%从600~4000rpm油拟合公式计算发动机转距Ft1=Tq*ig(1)*i0*nT/r;Ft2=Tq*ig(2)*i0*nT/r;Ft3=Tq*ig(3)*i0*nT/r;Ft4=Tq*ig(4)*i0*nT/r; %各转速各挡位下的驱动力ua1=0.377*r*n/ig(1)/i0;ua2=0.377*r*n/ig(2)/i0;ua3=0.377*r*n/ig(3)/i0;ua4=0.377*r*n/ig(4)/i0; %各挡位各转速下的速度Fw1=CDA*ua1.^2/21.15;Fw2=CDA*ua2.^2/21.15;Fw3=CDA*ua3.^2/21.15;Fw4=CDA*ua4.^2/21.15; %不同速度下的空气阻力Ff=G*f;deta1=1+(Iw1+Iw2)/(m*r^2)+(If*ig(1)^2*i0^2*nT)/(m*r^2);deta2=1+(Iw1+Iw2)/(m*r^2)+(If*ig(2)^2*i0^2*nT)/(m*r^2);deta3=1+(Iw1+Iw2)/(m*r^2)+(If*ig(3)^2*i0^2*nT)/(m*r^2);deta4=1+(Iw1+Iw2)/(m*r^2)+(If*ig(4)^2*i0^2*nT)/(m*r^2); %不同挡位下的汽车旋转质量换算系数a1=(Ft1-Ff-Fw1)/(deta1*m);ad1=1./a1;a2=(Ft2-Ff-Fw2)/(deta2*m);ad2=1./a2;a3=(Ft3-Ff-Fw3)/(deta3*m);ad3=1./a3;a4=(Ft4-Ff-Fw4)/(deta4*m);ad4=1./a4; %各挡位下的加速度plot(ua1,ad1,ua2,ad2,ua3,ad3,ua4,ad4);title('汽车的加速度倒数曲线');xlabel('ua(km/h)'); ylabel('1/a〕'); %作汽车加速度倒数曲线gtext('1/a1'),gtext('1/a2'),gtext('1/a3'),gtext('1/a4');legend('1/a1','1/a2','1/a3','1/a4');n=600:10:4000;m=3880;g=9.8;nmin=600;nmax=4000;G=m*g;ig=[6.09 3.09 1.71 1.00];nT=0.85;r=0.367;f=0.013;CDA=2.77;i0=5.83;L=3.2;a=1.947;hg=0.9;If=0.218;Iw1=1.798;Iw2=3.598; %输入参数Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4; %从600~4000rpm油拟合公式计算发动机转距Ft1=Tq*ig(1)*i0*nT/r;Ft2=Tq*ig(2)*i0*nT/r;Ft3=Tq*ig(3)*i0*nT/r;Ft4=Tq*ig(4)*i0*nT/r;%各转速各挡位下的驱动力ua1=0.377*r*n/ig(1)/i0;ua2=0.377*r*n/ig(2)/i0;ua3=0.377*r*n/ig(3)/i0;ua4=0.377*r*n/ig(4)/i0;%各挡位各转速下的速度Fw1=CDA*ua1.^2/21.15;Fw2=CDA*ua2.^2/21.15;Fw3=CDA*ua3.^2/21.15;Fw4=CDA*ua4.^2/21.15;%不同速度下的空气阻力Ff=G*f;i1=asin((Ft1-Ff-Fw1)/G);i2=asin((Ft2-Ff-Fw2)/G);i3=asin((Ft3-Ff-Fw3)/G);i4=asin((Ft4-Ff-Fw4)/G);%不同档位下的坡度plot(ua1,i1,ua2,i2,ua3,i3,ua4,i4);title('汽车的爬坡度图');xlabel('ua/(km*h^-1)');ylabel('i/%');%作汽车的坡度图gtext('Ⅰ'),gtext('Ⅱ'),gtext('Ⅲ'),gtext('Ⅳ');m=3880;g=9.8;r=0.367;nt=0.85;f=0.013;CdA=2.77;i0=5.83;pg=7.1;%汽油的重度取7.1N/Lig=[6.09 3.09 1.71 1];n=600:1:4000;n0=[815 1207 1614 2012 2603 3006 3403 3804];B00=[1326.8 1354.7 1284.4 1122.9 1141.0 1051.2 1233.9 1129.7];B10=[-416.46 -303.98 -189.75 -121.59 -98.893 -73.714 -84.478 -45.291];B20=[72.379 36.657 14.524 7.0035 4.4763 2.8593 2.9788 0.71113];B30=[-5.8629 -2.0553 -0.51184 -0.18517 -0.091077 -0.05138 -0.047449 -0.00075215];B40=[0.17768 0.043072 0.0068164 0.0018555 0.00068906 0.00035032 0.00028230 -0.000038568]; %输入参数B0=spline(n0,B00,n);B1=spline(n0,B10,n);B2=spline(n0,B20,n);B3=spline(n0,B30,n);B4=spline(n0,B40,n);%使用三次样条插值,保证曲线的光滑连续ua3=0.377*r*n/ig(3)/i0;ua4=0.377*r*n/ig(4)/i0; %求出发动机转速围对应的3、4档车速Pe3=(m*g*f*ua3/3600+CdA*ua3.^3/76140)/0.85;Pe4=(m*g*f*ua4/3600+CdA*ua4.^3/76140)/0.85; %发动机功率for i=1:1:3401 %用拟合公式求出各个燃油消耗率b3(i)=B0(i)+B1(i)*Pe3(i)+B2(i)*Pe3(i).^2+B3(i)*Pe3(i).^3+B4(i)*Pe3(i).^4;b4(i)=B0(i)+B1(i)*Pe4(i)+B2(i)*Pe4(i).^2+B3(i)*Pe4(i).^3+B4(i)*Pe4(i).^4; %插值得出对应速度的燃油消耗率endQ3=Pe3.*b3./(1.02.*ua3.*pg);Q4=Pe4.*b4./(1.02.*ua4.*pg); %3.4挡等速百公里燃油消耗量plot(ua3,Q3,ua4,Q4);title('最高档与次高档等速百公里油耗曲线'); %画出最高档与次高档等速百公里油耗曲线xlabel('ua(km/h)'); ylabel('百公里油耗〔L/100km〕');gtext('3档'),gtext('4档');。
附:计算使用的MATLAB程序代码及其含义%不同i0对应车速为40、50、60时的发动机转数clearclcclose allr=0.4275; %车轮半径u0=[40 50 60]; %速度i0=[4.22 4.68 4.88 5.01 5.28 5.48]; %主减速比n=(i0'*u0)/(0.377*r); %对应发动机转数n%加速燃油消耗率clearclcclose allyita=0.89;G=9160*9.8;f=0.02;CDA=4.64;a=0.1704;Iw1=1.798;Iw2=3.598;r=0.4 275;m=9160;If=0.218;ig=1;i0=[4.22,4.68,4.88,5.01,5.28,5.48];for x=1:1:6n=1000:100:2800; %等距取数ua5=(0.377*r.*n)/i0(x); %求转数对应车速F5=f*G+CDA*(ua5.^2)/21.15; %求阻力P_fw5=F5.*ua5./(yita*3.6*1000); %阻力功率ua0=50:1:60; %50到60公里加速ua1=50:1:60;delta=1+(Iw1+Iw2)/(m*r^2)+(If*ig^2*i0(x)^2*yita)/(m*r^2);%求旋转质量换算系数P0=(G*f.*ua0./3600+CDA.*ua0.^3/76140+(delta*m.*ua0/3600)*a)/yita;%初速度为ua0时的阻力功率P=(G*f.*ua1/3600+CDA.*ua1.^3/76140+(delta*m.*ua1/3600)*a)/yita;%末速度为ua1时的阻力功率b1=0.0133.*P.^2-2.0715.*P+287.47; %燃油消耗率Qt=P.*b1./(367.1.*8); %燃油消耗i1=size(Qt); %求Qt向量长度i=i1(2);Qt1=Qt(2:i-1);dt=1/(3.6*a); %速度每增加1km/h所需要的时间q=(Qt(1)+Qt(i))*dt./2+sum(Qt1)*dt; %加速段燃油消耗量qend%减速油耗clearclcclose allua1=60;ua2=40;a=0.2584;Qi=191;Q=(8*Qi)/(367.1*8); %计算怠速燃油消耗Qd=((ua1-ua2)*Q)/(3.6*a); %减速燃油消耗Qd%六工况油耗clearclcclose allQ=[237.1422 238.6344 241.21566 241.6732 244.3986 246.7512];Qs=(Q./(125+175+1000))*100 %六工况燃油消耗量clearclcclose alln1=linspace(0,50000); %先求各个档位的驱动力nmax=2800;nmin=1000;r=0.4275;yita=0.89;CDA=4,64;f=0.02;G=(9160)*9.8;ig= [8.69,5.01,2.91,1.7,1.00];i0=5.01;for i=1:1:5 %i为档数uamax(i)=chesu(nmax,r,ig(i),i0); %计算各个档位的最大速度与最小速度uamin(i)=chesu(nmin,r,ig(i),i0);ua(i,:)=linspace(uamin(i),uamax(i),30);n(i,:)=zhuansu(ua(i,:),r,ig(i),i0); %计算各个档位的转速范围Ttq(i,:)=zhuanju(n(i,:)); %求出各档位的转矩范围Ft(i,:)=qudongli(Ttq(i,:),ig(i),i0,yita,r); %求出驱动力F(i,:)=f*G+CDA*(ua(i,:).^2)/21.15; %求出滚动阻力和空气阻力的和delta(i,:)=1+(1.798+3.598+0.218*(ig(i)^2)*(i0^2)*yita)/(9160*r^2); %转动质量换算系数a(i,:)=1./(delta(i,:).*14000./(Ft(i,:)-F(i,:))); %求出加速度c=1./a(i,:);plot(ua,c);title('加速度倒数曲线');xlabel('ua'); %x轴名称ylabel('1/a'); %y轴名称F2(i,:)=Ft(i,:)-F(i,:);endtemp1(1,:)=ua(2,:)/3.6; %下面分各个档位进行积分,求出加速时间temp1(2,:)=1./a(2,:);n1=1;for j1=1:1:30if ua(3,j1)>max(ua(2,:))&&ua(3,j1)<=90temp2(1,n1)=ua(3,j1)/3.6;temp2(2,n1)=1./a(3,j1);n1=n1+1;endendn2=1;for j1=1:1:30if ua(4,j1)>max(ua(3,:))&&ua(4,j1)<=90;temp3(1,n2)=ua(4,j1)/3.6;temp3(2,n2)=1./a(4,j1);n2=n2+1;endendn3=1;for j1=1:1:30if ua(5,j1)>max(ua(4,:))&&ua(5,j1)<=90;temp4(1,n3)=ua(5,j1)/3.6;temp4(2,n3)=1./a(5,j1);n3=n3+1;endendy=temp1(1,1)*temp1(2,1)+qiuji(temp1(1,:),temp1(2,:))+qiuji(temp2(1,:),t emp2(2,:))+qiuji(temp3(1,:),temp3(2,:))+qiuji(temp4(1,:),temp4(2,:));ygtext('ig1'),gtext('ig2'),gtext('ig3');gtext('ig4');gtext('ig5');function ua=chesu(n,r,ig,i0); %由转速计算车速ua=0.377*r.*n/(ig*i0);function n=zhuansu(ua,r,ig,i0); %求转速n=ig*i0.*ua./(0.377*r);endfunction y=zhuanju(n); %求转矩函数y=-6.4e-5*n.^2+0.2453*n+139.69;function y=qudongli(Ttq,ig,i0,yita,r); %求驱动力函数y=(ig*i0*yita.*Ttq)/r;end%C曲线clearclcclose allb=[18.2417 18.5902 18.7999 18.9809]; %燃油消耗t=[36.1848 33.8979 32.0154 28.4538]; %加速时间plot(b,t,'+r') %绘制i0散点图用+表示hold on; %保持图像b1=linspace(b(1),b(4),100); %b1到b4划100点t1=spline(b,t,b1); %三次样条差值plot(b1,t1); %绘制c曲线title('燃油经济性—加速时间曲线'); %图表标题xlabel('百公里油耗(L/100km)'); %x轴名称ylabel('加速时间s'); %y轴名称gtext('i0=4.22'),gtext('i0=5.01'),gtext('i0=5.28');gtext('i0=5.48');%驱动力图clearclcclose allm=9160;uamax=90; %最大车速imax=0.3; %最大爬坡度Ttqmax=380; %发动机最大转矩nPemax=2800; %最大功率转数d=0.855; %轮胎直径r=d/2; %轮胎半径Ttq=[331,341,355,367,375,386,370,351,340,323]; %发动机转矩n=[1000,1200,1400,1600,1800,2000,2200,2400,2600,2800]; %发动机转数io=(0.377*r*2800)/uamax; %最小传动比afamax=atan(imax); %最大爬坡度角度aitT=0.89;g=9.8;f=0.02;ig1=8.69;ig5=1;ig4=1.7ig3=2.91;ig2=5.01;ua1=(0.377*r*n)/(ig1*io); %一档对应车速ua2=(0.377*r*n)/(ig2*io);ua3=(0.377*r*n)/(ig3*io);ua4=(0.377*r*n)/(ig4*io);ua5=(0.377*r*n)/(ig5*io);Ft1=(Ttq*ig1*io*aitT)/(1000*r); %一档对应驱动力Ft2=(Ttq*ig2*io*aitT)/(1000*r);Ft3=(Ttq*ig3*io*aitT)/(1000*r);Ft4=(Ttq*ig4*io*aitT)/(1000*r);Ft5=(Ttq*ig5*io*aitT)/(1000*r);figure,plot(ua1,Ft1,ua2,Ft2,ua3,Ft3,ua4,Ft4,ua5,Ft5);title('驱动力图');xlabel('车速/(km/h)'),ylabel('驱动力(kN)') ;gtext('ig1'),gtext('ig2'),gtext('ig3');gtext('ig4');gtext('ig5');%动力特性图clearclcclose allTtq=[331,341,355,367,375,386,370,351,340,323]; %发动机转矩io=5.01;nt=0.89; %机械效率%r=0.4275;g=9.8;m=9160;G=m*g;CDA=4.64;n=[1000,1200,1400,1600,1800,2000,2200,2400,2600,2800]; %发动机转数ig1=8.69;ua=0.377*r*n/ig1/io; %1档对应车速D=(Ttq.*ig1.*io.*nt/r-CDA*ua.*ua/21.15)/G; %求1档动力因数plot(ua,D);hold on;ig2=5.01;ua=0.377*r*n/ig2/io;D=(Ttq.*ig2.*io.*nt/r-CDA*ua.*ua/21.15)/G;plot(ua,D);hold on;ig3=2.91;ua=0.377*r*n/ig3/io;D=(Ttq.*ig3.*io.*nt/r-CDA*ua.*ua/21.15)/G;plot(ua,D);hold on;ig4=1.7;ua=0.377*r*n/ig4/io;D=(Ttq.*ig4.*io.*nt/r-CDA*ua.*ua/21.15)/G;plot(ua,D);hold on;ig5=1;ua=0.377*r*n/ig5/io;D=(Ttq.*ig5.*io.*nt/r-CDA*ua.*ua/21.15)/G;plot(ua,D);title('汽车动力特性图D-ua');xlabel('ua(km/h)');ylabel('D');gtext('ig1'),gtext('ig2'),gtext('ig3');gtext('ig4');gtext('ig5');%爬坡度图clearclcclose allTtq=[331,341,355,367,375,386,370,351,340,323];io=5.01;nt=0.89; %机械效率r=0.4275;g=9.8;ma=9160;CDA=4.64;n=[1000,1200,1400,1600,1800,2000,2200,2400,2600,2800]; %发动机转数G=ma.*g; %汽车重力f=0.02;ig1=8.69; %1档传动比ua=0.377*r.*n/ig1/io; %相应发动机转数对应的车速a=namelengthmax; %标识符的最长长度a=asin((Ttq.*ig1.*io.*nt/r-(G.*cos(a).*f+CDA*ua.*ua/21.15))/G); %计算1档爬角度i=100*tan(a); %计算爬坡度plot(ua,i);hold on;ig2=5.01;ua=0.377*r.*n/ig2/io;a=namelengthmax;a=asin((Ttq.*ig2.*io.*nt/r-(G.*cos(a).*f+CDA*ua.*ua/21.15))/G);i=100*tan(a);plot(ua,i);hold on;ig3=2.91;ua=0.377*r.*n/ig3/io;a=namelengthmax;a=asin((Ttq.*ig3.*io.*nt/r-(G.*cos(a).*f+CDA*ua.*ua/21.15))/G);i=100*tan(a);plot(ua,i);hold on;ig4=1.7;ua=0.377*r.*n/ig4/io;a=namelengthmax;a=asin((Ttq.*ig4.*io.*nt/r-(G.*cos(a).*f+CDA*ua.*ua/21.15))/G);i=100*tan(a);plot(ua,i);hold on;ig5=1;ua=0.377*r.*n/ig5/io;a=namelengthmax;a=asin((Ttq.*ig5.*io.*nt/r-(G.*cos(a).*f+CDA*ua.*ua/21.15))/G);i=100*tan(a);plot(ua,i);title('汽车爬坡度图');xlabel('ua(km/h)');ylabel('i(%)');gtext('ig1'),gtext('ig2'),gtext('ig3');gtext('ig4');gtext('ig5');%功率平衡图clearclcclose allm=9160;uamax=90;imax=0.3;Ttqmax=380; %最大转矩nPemax=2800; %最大功率转数d=0.855;r=d/2;Pe=[33.8,42.7,51.5,62.0,72.8,78.5,84.5,89.2,92.8,97.0,92,81]; %发动机转矩n=[1000,1200,1400,1600,1800,2000,2200,2400,2600,2800,3000,3200 ]; %发动机转数B1=2.45;H=2.76;CD=0.92;io=5.01;afamax=atan(imax); %最大爬坡度aitT=0.89;f=0.02;g=9.8;ig1=8.69;ig5=1;ig4=1.7ig3=2.91;ig2=5.01;ua1=(0.377*r*n)/(ig1*io); %1档车速ua2=(0.377*r*n)/(ig2*io);ua3=(0.377*r*n)/(ig3*io);ua4=(0.377*r*n)/(ig4*io);ua5=(0.377*r*n)/(ig5*io);nzuli=[0,1000,1200,1400,1600,1800,2000,2200,2400,2600,2800];uazuli=(0.377*r*nzuli)/(ig5*io); %计算阻力功率的车速Pf=m*g*f*uazuli/3600; %滚动阻力功率CDA=4.64; %迎风面积Pw=CDA*uazuli.^3/76140; %空气阻力功率figure,plot(ua1,Pe,ua2,Pe,ua3,Pe,ua4,Pe,ua5,Pe,uazuli,(Pf+Pw)/aitT);title('功率平衡图'); %图表标题xlabel('车速/(km/h)'),ylabel('功率/kW')zoom on;[x,y]=ginput(1);zoom off;disp(x)gtext('ig1'),gtext('ig2'),gtext('ig3');gtext('ig4');gtext('ig5');gtext( 'Pf+Pw/ηt');%等速百公里油耗图clearclcclose allm=9160;uamax=90;imax=0.3;Ttqmax=420;nPemax=2800;d=0.855;r=d/2;b=[219.2,209.9,206.2,199.4,205.5,208.0,214.1,220.7,223.1,229.8]; %各转速燃油消耗率Pe=[33.8,42.7,51.5,62.0,72.8,78.5,84.5,89.2,92.8,97.0]; %各转速对应功率n=[1000,1200,1400,1600,1800,2000,2200,2400,2600,2800]; %转数B1=2.45; %车宽H=1.8725; %车高CD=0.8;io=(0.377*r*2800)/uamax; %求最小传动比afamax=atan(imax); %最大爬坡度所对应的坡道角aitT=0.89; %传动系机械效率g=9.8;f=0.02;ig1=(m*g*(f*cos(afamax)+sin(afamax))*r)/(Ttqmax*io*aitT); %1档传动比igmax=ig1*io; %最大传动比ig5=1; %五档传动比ua5=(0.377*r*n)/(ig5*io); %5挡车速nzuli=[1000,1200,1400,1600,1800,2000,2200,2400,2600,2800]; %计算阻力功率的发动机转速uazuli=(0.377*r*nzuli)/(ig5*io); %计算阻力功率的车速Pf=m*g*(0.0076+0.000056*uazuli).*uazuli/3600; %滚动阻力功率A=B1*H; %迎风面积Pw=CD*A*uazuli.^3/76140; %空气阻力功率P=(Pf+Pw)/aitT; %阻力功率Qs=P.*b./(1.02.*ua5*8); %燃油消耗量figure,plot(ua5,Qs); %绘图title('等速百公里油耗');xlabel('ua/(km/h)'),ylabel('Qs/(L/100km)')C曲线为汽车主减速器对主传动比(i0)值不同时,相应传动比对应的汽车的动力性(100公里加速时间)和经济性(百公里油耗),通常运用此曲线来进行最小传动比的优化,已获得最优的燃油经济性和动力性的匹配。
%电动汽车的动力性计算% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%n1=[180:35:2000]n2=[2000:100:7200]im=2.93m=17000A=7.95CD=0.7R=0.475eta=0.92deta=1.29k=0.90i0=6.2E=180etab=0.95ua1=0.377*n1*R/(i0*im)%行驶速度ua2=0.377*n2*R/(i0*im)%行驶速度f1=0.0076+0.000056*ua1f2=0.0076+0.000056*ua2b0=447.52b1=-0.165465b2=3.60772*10^-5b3=-3.61349*10^-9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(1)Tm1=1146Tm2=b0+b1*(n2-4518.2)+b2*(n2-4518.25).^2+b3*(n2-4518.2).^3;F1=Tm1*im.*i0.*eta/R%驱动力F2=Tm2*im*i0*eta/R%驱动力ua1=0.377*n1*R/(i0*im)%行驶速度ua2=0.377*n2*R/(i0*im)%行驶速度Fw1=CD*A*ua1.^2/21.15Fw2=CD*A*ua2.^2/21.15Ff1=m*9.8*f1%滚动阻力Ff2=m*9.8*f2%滚动阻力Fz1=Ff1+Fw1Fz2=Ff2+Fw2plot(ua1,F1,ua2,F2,ua1,Fz1,ua2,Fz2)title('驱动力-行驶阻力平衡图')xlabel('ua/(km.h)')ylabel('F(N)')grid on %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(2)Pe1=n1.*Tm1/9550;%发动机功率计算公式Pe2=n2.*Tm2/9550;%发动机功率计算公式Pef1=n1.*Fz1/9550;Pef2=n2.*Fz2/9550;plot(ua1,Pe1,ua2,Pe2)title('功率平衡图-驱动力')xlabel('ua/(km.h)')ylabel('P/kW')grid onfigure(3)plot(ua1,Pef1,ua2,Pef2)title('功率平衡图-阻力')xlabel('ua/(km.h)')ylabel('P/kW')grid on %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(4)D1=(F1-Fw1)/(m*9.8)D2=(F2-Fw2)/(m*9.8)j1=sin(D1-f1.*((1+f1.^2-D1.^2)/(1+f1.^2)))j2=sin(D2-f2.*((1+f2.^2-D2.^2)/(1+f2.^2)))q1=asin(j1)q2=asin(j2)i1=tan(q1)%爬坡度i2=tan(q2)%爬坡度%dua/dt=9.8*(D-f)/deta%plot(ua1,j1,ua2,j2)title('爬坡度曲线')xlabel('ua/(km.h)')ylabel('角度')grid on %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(5)aa1=9.8*(D1-f1)/detaaa2=9.8*(D2-f2)/detaplot(ua1,aa1,ua2,aa2)title('加速度曲线')xlabel('ua/(km.h)')ylabel('加速度(m.s^-2)')grid on %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(6)aa1=9.8*(D1-f1)/detaaa2=9.8*(D2-f2)/detabb1=aa1.^-1bb2=aa2.^-1plot(ua1,bb1,ua2,bb2)title('加速度曲线')xlabel('ua/(km.h)')ylabel('加速度的倒数(s^-2。
SCIENCE &TECHNOLOGY VISION 科技视界0引言动力性和燃油经济性是汽车性能的重要指标,石油价格的飞速上涨,对汽车性能有了更高的要求。
动力性和燃油经济性的计算机仿真能准确、快速、有效的预测性能指标。
节省实车试验中不必要的巨额浪费及实车道路试验中驾驶员、道路环境、气候等因素对汽车使用性能测定的影响,在新车设计中迅速且经济地选择最佳方案。
1发动机数学模型发动机数学模型是整车动力性和燃油经济性仿真计算的重要依据,包括外特性数学模型和万有特性数学模型。
本文以发动机台架实验数据为依据,采用插值法描述发动机万有特性;采用最小二乘法曲线拟合描述发动机外特性。
1.1发动机的外特性在进行动力性估算时,一般仍沿用稳态工况时发动机台架试验所得到的使用外特性中的功率与转矩曲线。
稳定工况时发动机转矩曲线基本呈抛物线形状,并且为转速的一元函数,所以采用最小二乘法曲线拟合法描述。
T tq =a 0+a 1n+a 2n 2+…+a k nk式中n 为发动机转速(r/min);T tq 为稳定工况下发动机转矩(N ·m);系数a 0,a 1,a 2,…,a k 可由最小二乘法来确定;拟合阶数k 随特性曲线而异,一般在2、3、4、5中选取。
1.2发动机万有特性发动机的万有特性是个二元函数,燃油消耗率b 是发动机转速n 和功率p 的函数,国内外多采用试验数据的矩阵描述方法,需要时插值提取;国内也有采用曲面拟合法的,但要小心其系数矩阵可能出现病态。
本文采用插值法比较迅速,精度的高低取决于数据点的疏密程度,可真实的反映万有特性的局部特点。
二元插值公式:b=b (n ,p )=i+2m =i∑i+2k =jb (n j ,p i )[]j =m{其中n k ,p m ,b(n k ,p m )为给定的万有特性上的节点。
发动机转矩、油门开度与转速之间的关系复杂,通过试验测试只能得到部分点值。
为了得到任意工况下的燃油消耗率值,必须仿真出燃油消耗率值与发动机转速和转矩之间的函数关系,建立发动机燃油消耗率模型。