您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 两挡电动汽车动力性仿真matlab程序
两挡电动汽车动力性仿真matlab程序%%拟合电机电机转速-扭矩曲线clc;clear;closeall;%%根据所给电机数据拟合外特性曲线(电机数据按照所测得到的数据进行输入)n_test=[98414191830230328013300380042004500];%测试转速9组数据T_test=[802777.1557.5479.2409.3347.3270.1236.5202.2];%测试转矩9组数据figure(1)plot(n_test,T_test,'x');%’g’表示绿线green,’b’blue,’r’red;’x’x-mark,+,*,s,d,oholdon%保留图像不被其他图像覆盖gridon%是否添加网格线p=polyfit(n_test,T_test,4);%p为高阶到低阶(左至右)拟合的多项式系数(包含0阶)n=[500:4500];%电机转速Ttq=polyval(p,n);%电机转矩特性拟合曲线plot(n,Ttq,'r');%’g’表示绿线green,’b’blue,’r’red;’x’x-mark,+,*,s,d,oxlabel('电机机转速n/rpm');ylabel('电机转矩Ttq(N*m)');title('75kW驱动电机峰值转矩特性曲线(拟合)');legend('峰值测试点','峰值拟合曲线',1);%图示命令,按曲线绘制先后顺序标记图示,0-最佳位置,1-右上角,2-左上角,3-左下角,4-右下角%%75kW电机外特性曲线图figure(2)holdonfori=length(n);%length:数组长度(即行数或列数中的较大值)Pe=Ttq.*n/9550;%For循环的一般形式是forx=array{commands}end在for和end语句之间的{commands}按数组中的每一列执行一次,%所以fori=1:length(y)就是获取y的长度值,然后i循环从1到length(y)循环end%本段也可以直接以Pe=Ttq.*n/9550作为运算,尝试无影响text(2400,800,'峰值功率曲线Pe')text(2000,600,'峰值扭矩曲线Ttq')figure(2)holdongridon[AX,H1,H2]=plotyy(n,Ttq,n,Pe,'plot');%返回三个参数,AX为坐标轴的句柄,AX(1)是左边的纵轴,AX(2)是右边的纵轴,H1和H2保存的是图形句柄%ylim(AX(1),[0,1000]);设置左侧y坐标轴的范围为[0,1000]%ylim(AX(2),[0,130]);设置右侧y坐标轴的范围为[0,130]xlabel('电机转速n(r/min)');ylabel(AX(1),'电机转矩Ttq(N*m)');ylabel(AX(2),'电机功率Pe(kW)');title('75kW电机外特性曲线');%%计算各挡位车速r=0.365;M=6000;g=9.8;CD=0.8;A=6.16;i0=6.17;%整车相关参数ig=[1.831];figure(3)holdongridoncolor='rgb';%%%%%%%%%%%%%%%%%%%%改曲线对应颜色,ig(i)为数组,ua(i,:)为矩阵fori=1:length(ig);ua(i,:)=0.377*r*n/ig(i)/i0;plot(n,ua(i,:),color(i));%%%%%%%%%%%%%%%%%%%%改曲线对应颜色endxlabel('电机转速n(r/min)');ylabel('车速(km/h)');title('各挡位车速—转速图');legend('1挡车速','2挡车速');%%驱动力和行驶阻力平衡图(滚阻+风阻状态下)eta=[0.780.88];%Ⅰ挡传动系统效率,Ⅱ挡传动系统效率%计算滚动阻力系数ffori=1:length(ig);f(i,:)=0.0076+0.000056*ua(i,:);%良好道路上货车轮胎的滚阻系数,是随车速变化的函数,ua(i,:)中的i,;表示矩阵ua的第i行所有元素end%计算滚动阻力Fffori=1:length(ig);Ff(i,:)=M*g*f(i,:)/1000;end%计算空气阻力Fwfori=1:length(ig);Fw(i,:)=CD*A*(ua(i,:).^2)/21.15/1000;end%计算行驶阻力Ffori=1:length(ig);F(i,:)=Ff(i,:)+Fw(i,:);end%计算汽车驱动力Ftfori=1:length(ig);Ft(i,:)=Ttq.*ig(i)*i0.*eta(i)/r/1000;%Ⅰ挡传动系统效率下的驱动力Ft,Ⅱ挡传动系统效率下的驱动力Ft,当驱动力Ft与行驶阻力F平衡,车辆达到最高时速98.531km/h(高挡),此时对应电机转速n=4418rpmendfigure(4)holdonfori=1:length(ig);plot(ua(i,:),Ft(i,:),color(i));%与车辆挡位有关,分为Ⅰ挡驱动力和Ⅱ挡驱动力endplot(ua(i,:),F(i,:),'k');%车辆行驶阻力,与车速对应plot(ua(i,:),Ff(i,:),'b');%车辆滚动阻力,与车速有关holdongridonboxon%坐标添加边框xlabel('车速(km/h)');ylabel('驱动力、行驶阻力(kN)');legend('Ⅰ挡驱动力Ft','Ⅱ挡驱动力Ft','行驶阻力Ff+Fw','滚动阻力Ff',1);title('两挡位,驱动力-行驶阻力平衡图');%%显示最高车速umax(km/h)j=1;while(Ft(2,j)-F(2,j))0.1;j=j+1;endnmax=499+j;umax=0.377*r*nmax/ig(2)/i0;disp('(1)汽车高挡行驶达到最高车速时驱动电机转速nmax(rpm)')fprintf('namax=%drpm\n',nmax)%其中d%,i%表示输出十进制有符号整数,u%表示输出十进制无符号整数,f%浮点数,s%字符串,查printf函数。disp('(2)汽车高挡行驶时达到最高车速Uamax(km/h)')fprintf('uamax=%3.3fkm/h\n',umax)%其中%3.3f指输出宽度为3,精度为3,实际长度超过3故应该按实际位数输出,小数位数超过3位部分被截去。\n表示换行。%%汽车功率平衡图(滚阻+风阻状态下)%计算各档车速下电机功率fori=1:length(ig);Pe(i,:)=Ft(i,:).*ua(i,:)./(3600*eta(i)/1000);%Ⅰ挡、Ⅱ挡下电机可输出功率,注:此处Ft单位为kNend%计算车速对应风阻阻力功率fori=1:length(ig);Pw(i,:)=CD*A*ua(i,:).^3./(76140*eta(i));%Ⅰ挡、Ⅱ挡下车速对应风阻功率end%计算车速对应滚动阻力功率fori=1:length(ig);Pf(i,:)=M*g*f(i,:).*ua(i,:)./(3600*eta(i));%Ⅰ挡、Ⅱ挡下车速对应滚动阻力功率end%计算总阻力功率fori=1:length(ig);Pz(i,:)=Pw(i,:)+Pf(i,:);%Ⅰ挡、Ⅱ挡下车速对应滚阻功率+风阻功率endfigure(5)holdonfori=1:length(ig);plot(ua(i,:),Pe(i,:),color(i));%Ⅰ挡车速、Ⅱ挡车速下对应电机功率图endc=[001;10.50.2];%%%定义颜色矩阵,两种颜色fori=1:length(ig);plot(ua(i,:),Pz(i,:),'color',c(i,:));%%c(i,:)不要写成c(i),此处c为一矩阵,非数组endholdongridonxlabel('车速(km/h)');ylabel('电机功率、阻力功率(kW)');legend('Ⅰ挡电机功率Pe','Ⅱ挡电机功率Pe','Ⅰ挡阻力功率Pz','Ⅱ挡阻力功率Pz',0);title('功率平衡图');%%动力特性图(动力因数图),总牵引力-空气阻力的值与汽车总重之比,该值越大,则汽车爬坡、加速、客服道路阻力能力越强figure(6)holdonc=[001;10.50.2];fori=1:length(ig);D(i,:)=(Ft(i,:)-Fw(i,:))*1000/(M*g);%Ⅰ挡、Ⅱ挡下动力因数图plot(ua(i,:),D(i,:),'color',c(i,:));endplot(ua(i,:),f(i,:),'g');gridonxlabel('车速(km/h)');ylabel('动力因数D');legend('Ⅰ挡动力因数D','Ⅱ挡动力因数D','滚动阻力系数f');%添加滚阻系数曲线,即当滚阻系数f与动力因数D相等时,车辆无力加速和爬坡,已无后备动力title('动力特性图');%%爬坡度曲线图figure(7)holdonfori=1:length(ig);I(i,:)=(tan(asin((Ft(i,:)-(Ff(i,:)+Fw(i,:)))*1000/(M*g))))*100;%Ⅰ挡、Ⅱ挡下爬坡度,该值以正切值(高度差/水平距离)的百分数表示endfori=1:length(ig);ifi==1plot(ua(i,:),I(i,:),'r');elseplot(ua(i,:),I(i,:),'k');endendholdongridonxlabel('车速(km/h)');ylabel('最大爬坡度(%)');legend('Ⅰ挡爬坡曲线','Ⅱ挡爬坡曲线');title('爬坡度曲线图');%%加速度曲线图Iw=0.8;Ie=0.5;%Iw轮胎转动惯量,Ie电机转子转动惯量figure(8)holdondeta=1+(1/M)*6*Iw/r^2+(1/M)*Ie*ig.^2*i0^2.*eta./r^2;%%%%%旋转质量换算系数δ1,Ⅰ挡、Ⅱ挡旋转质量换算系数,是一为数组fori=1:length(ig);a(i,:)=(Ft(i,:)-Ff(i,:)-Fw(i,:))*1000./deta(i)/M;%Ⅰ挡、Ⅱ挡下车辆加速度,deta(i)为数组中第i个数值参加运算;ua(i,:)为矩阵第i行的一串数字plot(ua(i,1:3919),a(i,1:3919),color(i));%按照计算显示的最高车速和高挡位驱动电机转速得到电机转速最终计算取样点数为:4418-499=3919。endholdongridonxlabel('车速(km/h)');ylabel('加速度a(m/s^2)');legend('Ⅰ挡加速度曲线','Ⅱ挡加速度曲线');title('加速度曲线图');axis([011005]);%x轴范围0-120,y轴范围0-5%%加速度倒数曲线fori=1:length(ig);%i挡下forj=1:3919;%n转速下b(i,j)=1./a(i,j);endendfigure(9)holdonfori=1:length(ig);plot(ua(i,1:3919),b(i,:),color(i));endholdongridonxlabel('车速(km/h)');ylabel('加速度倒数1/a(s^2/m)');legend('Ⅰ挡','Ⅱ挡',2);title('加速度倒数曲线图');axis([0110070]);%%①加速时间曲线,(低档起步3.9km/h→23.9km/h换挡→高挡98.531km/h),电机n=500时,Ⅰ挡车速3.9km/h,Ⅱ挡车速11.15km/h,②低挡起步加速至最高速,③高挡起步加速至最高速%低档起步加速至低挡最高速时间(3.9km/h→34.4km/h)Ta1=trapz(ua(1,[1,3919])./3.6,b(1,[
本文标题:两挡电动汽车动力性仿真matlab程序
链接地址:https://www.777doc.com/doc-4347050 .html