提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
本篇博文主要用来记录汽车系统动力学课程的学习,仅供课程阶段参考,与实际工程应用还有较大距离。
本实例主要有以下任务。
1.建立汽车动力性数学模型。
2.建立汽车动力性仿真模型。
3.绘制汽车动力性仿真曲线。
提示:以下是本篇文章正文内容,下面案例可供参考
一、汽车纵向动力学
汽车动力性仿真所需参数见表3-1和3-2。
表3-1是汽车动力性仿真所需的汽车基本参数。
二、建模及仿真
1.行驶方程
装有固定传动比变速器的汽车的行驶方程为:
T
t
q
i
o
i
g
η
t
r
=
G
f
+
G
i
+
C
D
A
u
2
21.15
+
δ
m
d
u
d
t
(
1
)
\frac{{{T_{tq}}{i_o}{i_g}{\eta _t}}}{r} = Gf + Gi + \frac{{{C_D}A{u^2}}}{{21.15}} + \delta m\frac{{du}}{{dt}}(1)
rTtqioigηt=Gf+Gi+21.15CDAu2+δmdtdu(1)
其中
T
t
q
{T_{tq}}
Ttq 为发动机输出转矩(N.m),
i
o
{i_o}
io为主减速器传动比,
i
g
{i_g}
ig为变速器挡位的传动比,
G
G
G 为整车重力(N),
f
f
f为滚动阻力系数,
i
i
i为坡度,
δ
\delta
δ为旋转质量换算系数,
C
D
{C_D}
CD为空气阻力系数,
A
A
A为迎风面积,
u
=
0.377
n
r
i
g
i
0
u = \frac{{0.377nr}}{{{i_g}{i_0}}}
u=igi00.377nr为车速(km/h),
n
n
n为车轮转速(r/min),
r
r
r为轮胎半径(m)。各参数的取值见表3-1。
发动机外特性拟合,根据表3-2给出的实验数据,可以拟合发动机转速与转矩的关曲线。利用matlab中的polyfit库函数进行最小二乘拟合,取最高阶次为4,拟合结果如图(1)。
n=[1000 1500 2000 2500 3000 3500 4000 4500 5000];
t=[78.6 83.0 85.0 86.6 87.1 85.9 84.7 82.5 80.5];
plot(n,t,'Linewidth',1);
hold on;
p=polyfit(n,t,4);
x=[500:250:5000];
y=polyval(p,x);
plot(x,y,'Linewidth',1);
legend('试验值','拟合值');
xlabel('转速(r/min)');
ylabel('发动机转矩(N•m)');
title('发动机外特性');
图(1)发动机外特性拟合
2. simulink建模
根据公式(1),已知表3-1、3-2的参数,建立以下的simulink模型:
图(1)Simulink模型
3.仿真结果
设置仿真算法为ode45,仿真时间为10s,simulink模型运行结束后,采用附录中的matalb程序进行绘图,仿真结果见图(2)。
图(2)驱动力-行驶阻力平衡图
根据仿真结果来看,一挡时车辆具有的最大驱动力为4309N,此时对应的车速为19.33km/h,而在五档时,通过仿真,车辆可以达到的最高车速为169.1km/h。
图(3)加速度曲线图
根据仿真结果来看,一挡时车辆具有的最大加速度为2.99m/s²。
图(4)汽车爬坡度曲线图
根据仿真结果来看,一挡时车辆具有的最大爬坡度为0.4568rad。
3.模型及绘图文件附录
simulink模型搭建的具体内容在本篇文章附件,可在matlab2015b及以上版本打开并运行,仅供参考。附录为绘图脚本。
figure();plot(v,fd,'Linewidth',1);
hold on;plot(v(:,5),fz(:,5),'Linewidth',1);
legend('第一挡','第二挡','第三挡','第四挡','第五挡','行驶阻力');
xlabel('车速(km/h)');ylabel('牵引力(N)');
title('驱动力-行驶阻力平衡图');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure();plot(v,a,'Linewidth',1);
legend('第一挡','第二挡','第三挡','第四挡','第五挡');
xlabel('车速(km/h)');ylabel('加速度(m/s^2)');
title('加速度曲线图')
%%%%%%%%%%%%%%%%%
figure();plot(v,po,'Linewidth',1);
legend('第一挡','第二挡','第三挡','第四挡','第五挡');
xlabel('车速(km/h)');ylabel('爬坡度');
title('汽车爬坡度曲线图')