logo资料库

汽车整车性能计算(MATLAB编写).doc

第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
资料共21页,剩余部分请下载后查看
%%%—————————————————— %%% 整车总体设计计算之一 %%% 动力性、经济性计算 %%% —————————————————— %%% 1. 开始程序,清空变量并确定发动机参数 %%% 1.1 清空所有变量,引入全部油门的发动机参数 close all clc clear %%%重力加速度系数 %%%****-(输入部分) %% 1 整车的基本参数情况 vehicle_type=input('整车型号: \n','s'); save_file_name=strcat(vehicle_type,'总体计算文件.rtf') m_all=7.4*1000; %%整车的组合质量 m=7.4*1000; %%整车所有驱动轮承担的质量 g=9.81; r_r=0.369; %%车轮滚动半径 r_r=Fd/2/PAI,d-轮胎自由直径 F=3.05 子午胎, F=2.99 斜交胎 n_v=0.377*r_r; %%速度转换系数 Ua=0.377r_r*n/ig*i0; n_km=1000/(2*3.14159*r_r); %%每公里车轮的转动圈数 all_wheel=4; %%车轮数量 %load_wheel=0; %% 非驱动车轮数量 dis_axle=3830; %% 轴矩 mm high_w=1200; %% 质心高度 mm w_coef1=0.25 ; %% 前桥载荷占整车的比例 dis_a=(1-w_coef1)*3830; %% 前桥到质心在 X 方向的距离 dis_b=dis_axle-dis_a; %% 后桥到质心在 X 方向的距离 %% 2 发动机参数(风扇功率一般占发动机功率的 5%-12%) Engine_type='发动机型号:ZD30 '; eta_engine_1=0.05; %% 发动机的最小附件功率比重 eta_engine_2=0.10; %% 发动机的最大附件功率比重,如果有空调,可以适当增加 rou_diesel=0.819; %%柴油密度 rou*g=7.94-8.13 N/L %% 3 变速箱参数 Gearbox_type='变速器型号:1700010-H01111 '; gear_shift_num=5; i_gf=[5.015 2.543 1.536 1.000 0.789 ] i_gr=[4.481] eta1=[0.95 0.95 0.95 0.965 0.95]; eta_r=0.95; %% 分动器参数 Transfer_type='普通的两轮驱动,无分动器. '; %Have_Differential='含有差速器'; %%i_transfer=[1 1];%%分动器速比
i_axle=5.286; %%驱动桥的速比 i_wheel=1.0; %%轮边减速器的速比 %% 轮边减速器的传动效率 if i_wheel==1 eta_w=1 else eta_w=0.98 end eta2=0.98*0.94*eta_w; %eta2 分动器 0.97、传动轴 0.98、单/双级主减速器 0.96/0.92、轮边减 速器的传动效率 %%分动器到轮边减速器的效率 eta21=0.98*0.94*eta_w; %%分动器高档、双级主减速器、轮边减速器的传动效率 eta22=0.98*0.94*eta_w; %%分动器低档、双级主减速器、轮边减速器的传动效率 %%驱动力参数系数 fai_max=0.7; %%极限附着系数 %% 变滚动阻力系数 ff=0.015;%%滚动阻力系数 ,计算爬坡度时需要. f_v=0.0076+0.000056*max(Vmax(:)); Cd=0.56;%%空气阻力系数 A=2.005*2.34;%%迎风面积 Coef_Fw=Cd*A/21.15; %%确定发动机参数 %%2.1 引入全部油门的发动机参数 %Engine_file='engine_para'; %% 发动机参数输入(开始);***************------------- %%2.2 扭矩、功率、油耗率 n_min=1000; n_max=3200; Eng_tab_step=12;throat_num=10; eng_step=Eng_tab_step-1 n=[1000 1200 1440 1600 1800 2000 2200 2400 2600 2800 3000 3200] throat_all=[1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1] throat_state=throat_all'; %%throat_s=10; %%% 发动机数据赋值 P_net_all=[21.8 19.7 17.5 16.3 13.1 10.9 8.8 6.6 5.4 2.2 29 26 23 21.6 17.4 14.5 11.6 8.6 7.2 2.9 36.9 33.2 29.5 27.8 22.1 18.4 14.7 11.1 9.2 3.7 42.2 38 33.7 31.7 25.3 21.1 16.9 12.7 10.5 4.2 49.9 44.9 39.9 37.3 29.9 24.9 19.9 15 12.4 4.9 55.6 50 44.5 41.7 33.4 27.8 22.3 16.6 13.9 5.6
58.7 52.9 47 44.1 35.3 29.4 23.4 17.5 14.6 5.9 61.4 55.4 49.2 46.1 36.9 30.7 24.6 18.4 15.3 6.2 65.7 59.2 52.5 49.3 39.4 32.8 26.3 19.7 16.4 6.6 70 63 56 52.5 41.9 34.9 28 21 17.4 6.9 73 65.8 58.5 54.8 43.9 36.4 29.1 21.9 18.3 7.3 75 67 59.6 55.9 44.7 37.2 29.8 22.4 18.7 7.4]'; T_net_all=[208.2 187.7 167.3 156.2 125.6 103.9 83.5 62.8 51.8 20.6 230 206.9 183.6 172.1 138.2 115.1 92.2 68.8 57.2 23.2 244.9 220.4 195.8 184.1 146.5 122.2 97.6 73.3 61 24.4 251.7 226.9 201.2 188.9 151.2 125.8 100.8 75.7 62.9 25.3 264.5 238.2 211.7 198.1 158.7 132.1 105.8 79.7 65.9 26.1 266 238.8 212.7 199.1 159.6 132.8 106.4 79.4 66.6 26.6 255 229.5 204.1 191.4 153.1 127.6 101.5 76.2 63.3 25.5 244.5 220.3 195.8 183.6 146.8 122.3 97.8 73.1 60.9 24.5 241.4 217.4 192.9 181.1 144.8 120.4 96.5 72.5 60.1 24.2 238.6 214.7 191 179.1 143 119 95.6 71.5 59.5 23.4 232.5 209.4 186.2 174.5 139.7 116 92.8 69.7 58.2 23.2 224 200 177.9 166.9 133.4 111 88.8 66.7 55.7 22.1]'; ge_all_all=[240.8 235.1 232.9 233.2 232.9 242.8 254.8 276.2 300.2 486.7 222.4 222.5 223.7 223.7 224.8 230.9 239.1 258.4 279.6 443.2 212.8 212.9 213.4 213.6 221.8 227.9 238.5 256 272.9 424 208.2 208.9 210.2 210.8 217.9 225.2 235.2 250.7 271.4 420.2 206.2 207.4 209.1 210.2 216.6 222.9 233.9 252.1 271.3 438.6 208.1 208.6 209.6 210.3 217.8 225.6 237.8 259.4 275.4 443.4 209 210.5 211.8 215 223.4 232 249 270.1 292.8 483.9 211.6 213.3 218 222.1 231.7 241.7 259.2 287.4 308.5 513.2 216.2 219.3 224.2 226.5 237.8 250 266.8 295.5 323.9 547.7 223.7 225.2 229.6 233.3 245.5 260.1 276.6 309.6 337.6 587.4 229.6 232.7 236.9 240.2 254.7 268.4 294.4 328.5 356.3 620.6 237.3 239.3 245.7 250.3 265.3 281.8 309.2 351.5 382.6 680.5]'; %% 发动机的净输出功率、实际输出功率 p=a*n^2+b*n^ Coef_p_consum_1=(eta_engine_1*n_max-eta_engine_2*n_min)/(n_min-n_max)/(n_min*n_max) ; Coef_p_consum_2=(eta_engine_1-Coef_p_consum_1*n_min^2)/n_min; eta_eng_vary=1-(Coef_p_consum_1*n.*n+Coef_p_consum_2*n); %Temp1=input('1-Input any symble to go on','s') for j_eng_step=1:eng_step+1 P_consum_all(:,j_eng_step)=(Coef_p_consum_1*n(j_eng_step)^2+Coef_p_consum_2*n(j_eng_st ep)).*P_net_all(:,j_eng_step);
T_out_all(:,j_eng_step)=(1-Coef_p_consum_1*n(j_eng_step)^2-Coef_p_consum_2*n(j_eng_step) ).*T_net_all(:,j_eng_step); P_out_all(:,j_eng_step)=(1-Coef_p_consum_1*n(j_eng_step)^2-Coef_p_consum_2*n(j_eng_step)) .*P_net_all(:,j_eng_step); end t_all=T_out_all P_consum=P_consum_all p_all=P_out_all; ge_all=ge_all_all; %% 发动机极限转速的确定 n0max=max(n); n0min=min(n); % 发动机参数输入(结束);***************------------- Gearbox_torque=max(t_all(:)); % 输入结束 %% 1.4 分段拟合开始 n1=n; %%%%1.5 扭矩\功率\油耗表示************* %%%%% 同转速,不同油门下的曲线拟合********* %%%%% 同油门,不同转速下的曲线拟合********* for i_th=1:throat_num At_n(i_th,:)=polyfit(n1,t_all(i_th,:),4); Ap_n(i_th,:)=polyfit(n1,p_all(i_th,:),4); Age_n(i_th,:)=polyfit(n1,ge_all(i_th,:),4); %AGe_n(i_th,:)=polyfit(n1,Ge_all(i_th,:),4); end for i_n=1:Eng_tab_step At_th(:,i_n)=polyfit(t_all(:,i_n),throat_state,4); Ap_ge(:,i_n)=polyfit(p_all(:,i_n),ge_all(:,i_n),4); %At_Ge(:,i_n)=polyfit(t_all(:,i_n),Ge_all(:,i_n),4); At_p(:,i_n)=polyfit(t_all(:,i_n),p_all(:,i_n),4); end % 分段拟合结束----------
%% ------------------ % 1.6 发动机图象(开始)------- %------------------ %基本曲线绘制点确定 for ii=1:throat_num P01(ii,:)=Ap_n(ii,5)+Ap_n(ii,4)*n1+Ap_n(ii,3)*n1.^2+Ap_n(ii,2)*n1.^3+Ap_n(ii,1)*n1.^4; T01(ii,:)=At_n(ii,5)+At_n(ii,4)*n1+At_n(ii,3)*n1.^2+At_n(ii,2)*n1.^3+At_n(ii,1)*n1.^4; ge1(ii,:)=Age_n(ii,5)+Age_n(ii,4)*n1+Age_n(ii,3)*n1.^2+Age_n(ii,2)*n1.^3+Age_n(ii,1)*n1.^4; %Ge1(ii,:)=AGe_n(ii,5)+AGe_n(ii,4)*n1+AGe_n(ii,3)*n1.^2+AGe_n(ii,2)*n1.^3+AGe_n(ii, 1)*n1.^4; end %% 发动机拟合图形-调试用(绘图)--------------开始-------- figure plot(n1,T_net_all(1,:),'k-') hold on plot(n1,t_all(1,:),'k--') hold on grid on plot(n1,P_net_all(1,:)*4,'g-.') hold on plot(n1,p_all(1,:)*4,'g--.') hold on %plot(n1,Ge_all(1,:)/5,'b-') %hold on plot(n1,ge_all(1,:)*2,'b--') hold on title('发动机外特性曲线(节气门全开)'); hold on %legend('净(毛)扭矩 Nm-转速','实际输出扭矩 Nm-转速','4x 净(毛)功率 kW-转速','实际输出功 率 kW-转速','油耗 mL/h /5-转速拟合','2x 油耗率 g/kWh-转速') legend('净(毛)扭矩 Nm-转速','实际输出扭矩 Nm-转速','4x 净(毛)功率 kW-转速','实际输出功率 kW-转速','2x 油耗率 g/kWh-转速') xlabel('发动机输出转速 r/min'),ylabel('发动机输出扭矩、功率、油耗率'), %Temp1=input('1-Input any symble to go on','s') hold off %% 4.整车的速比驱动力变化情况
%% 4.7 坡道阻力(0 度) alfa=0/180*pi; %%%最大爬坡角(度) alfa1=4/180*pi; %%%最大爬坡角(10 度) alfa2=8/180*pi; %%%最大爬坡角(15 度) alfa3=12/180*pi; %%%最大爬坡角(20 度) alfa4=16/180*pi; %%%最大爬坡角(25 度) Fi=m_all*g*sin(alfa); Fi1=m_all*g*sin(alfa1); Fi2=m_all*g*sin(alfa2); Fi3=m_all*g*sin(alfa3); Fi4=m_all*g*sin(alfa4); %% ———————————— %%% 5 总速比计算 %%%———————————— %%% 分动器高档速比 transfer(1) %%% 分动器低档速比 transfer(2) ig_h=i_gf*i_axle*i_wheel; ig_rh=i_gr*i_axle*i_wheel; %ig_l=i_gf*i_axle*i_wheel; %ig_rl=i_gr*i_axle*i_wheel; %% ———————————— %%% **分动器高档计算***** %%%———————————— %%分动器高低档选择 ig_t=ig_h;trans_state=char('普通两轮驱动:'); %% 质量换算系数(与驱动形式有关) rear_axle_drive=1 %% 1 表示仅后桥驱动 if rear_axle_drive==1 Drive_axle_type='后桥驱动'; dis_a_c=dis_a; else Drive_axle_type='前桥驱动'; dis_a_c=dis_b; end drive_wheel=2;%%只有桥驱动 load_wheel=2; %% 非驱动车轮数量
%%无轮边减速器 1+delta1+delta2<1.05 delta1=(2*load_wheel+5*drive_wheel)/(r_r^2*m_all); delta2=(7.4*(max(P_net_all(:))/305)^2)/(r_r^2*m_all); %%%不同的档位 figure Vmax(gear_shift_num)=0; V_shift=gear_shift_num; for ij=1:gear_shift_num %ij ig=ig_t(ij); %%高档 eta=eta1(ij)*eta2; n_co_work=n1; n1_wsk=n1; %%全油门特性 Tt_co_work=T01(1,:); Pt_co_work=P01(1,:); P_eng=P_net_all(1,:); ge_eng=ge_all(1,:); ge_eng_c=ge_eng; %Ge_eng=Ge_all(1,:); %Ge_eng_c=Ge_eng; n_g=n1./ig; v1=n_v.*n_g v_all(ij,:)=v1(:) f_all(ij,:)=0.0076+0.000056.*v_all(ij,:)%%货车轮胎 %% 4.5 滚动阻力 Ff(ij,:)=m*g*cos(alfa).*f_all(ij,:); Ff1(ij,:)=m*g*cos(alfa1).*f_all(ij,:); Ff2(ij,:)=m*g*cos(alfa2).*f_all(ij,:); Ff3(ij,:)=m*g*cos(alfa3).*f_all(ij,:); Ff4(ij,:)=m*g*cos(alfa4).*f_all(ij,:); %temper=input('速度','s'); F_t1_all(ij,:)=Tt_co_work.*ig*eta/r_r; %% 单桥驱动的极限附着 F_t1_lim=m*g*dis_a_c/dis_axle*fai_max; for i_ground=1:Eng_tab_step if F_t1_all(ij,i_ground)>= F_t1_lim
F_t1_all(ij,i_ground)=F_t1_lim; end end v1_max(ij)=max(v1(:)); v_Nmax(ij)=n_v*n_max/ig; v_Nmin(ij)=n_v*n_min/ig; %F_t1=F_t1_all(ij,:); %Ft_all(ij,:)=F_t1_all(ij,:); plot(v_all(ij,:),F_t1_all(ij,:),'k') %cc=input('v-Ft 数量','s') hold on F_tc=Tt_co_work.*ig*eta/r_r %%% 有效数据拟合图象用-----结束 %% 不同档位的驱动力图形 A_delta_F(ij,:)=polyfit(v_all(ij,:),F_t1_all(ij,:),4) %% 6.2.1 动力性换档规律计算 %% 6.2.1.1 阻力计算 %%整车的加速阻力为 0(加速阻力为 0) %%% 换档时,整车的车速不会发生突变,因此基本阻力不变 %%% 唯一变化的是加速阻力。 %%% 效率 eta=0.85 F_fwi(ij,:)=Ff(ij,:)+Coef_Fw*v1.^2+Fi; F_wi(ij,:)=Coef_Fw*v1.^2; T_fwi(ij,:)=F_t1_all(ij,:)*r_r/ig/eta; F_fwic(ij,:)=Ff(ij,:)+Coef_Fw*v1.^2+Fi; F_fwi_1(ij,:)=Ff1(ij,:)+Coef_Fw*v1.^2+Fi1; F_fwi_2(ij,:)=Ff2(ij,:)+Coef_Fw*v1.^2+Fi2; F_fwi_3(ij,:)=Ff3(ij,:)+Coef_Fw*v1.^2+Fi3; F_fwi_4(ij,:)=Ff4(ij,:)+Coef_Fw*v1.^2+Fi4; P_need_all(ij,:)=F_fwi(ij,:).*v1/3600./(1-eta_engine_1)/eta; a_v(ij,:)=(F_t1_all(ij,:)-F_fwi(ij,:))./(m_all*(1+delta1+delta2*ig^2*eta)); %a_v(ij,:)=(F_t1_all(ij,:)-F_fwi(ij,:))./(m_all); D_all(ij,:)=(F_t1_all(ij,:)-F_fwi(ij,:))./m_all/g; %% 对轿车 f=f0+f1*Ua/100+f4*(Ua/100)^4 f=c*fz 沥青路 c=1.2 水泥路 c=1.3-1.4 a_v_al(ij,:)=a_v(ij,:);
分享到:
收藏