第三章 车辆纵向动力学:驱动力与行驶阻力

各位工程师朋友,今天我们来聊聊车辆纵向动力学。说实话,这是整车动力学里最基础、也最绕不开的一块。你想想看,一辆车能不能跑起来、能跑多快、油耗怎么样,归根结底就是看驱动力和行驶阻力谁说了算。

我个人习惯把纵向动力学比作一场拔河比赛。驱动力是往前拉的那帮人,行驶阻力是往后拽的那帮人。谁赢了,车就往哪边动。就这么简单。

3.1 驱动力是怎么来的?

驱动力,说白了就是轮胎和地面之间的摩擦力。发动机把扭矩传出来,经过变速箱、主减速器,最后到驱动轮上。轮子想转,地面不让它打滑,于是地面就给轮胎一个向前的反作用力——这就是驱动力。

计算公式其实不复杂:

F_t = (T_e * i_g * i_0 * η_t) / r

其中:

  • F_t — 驱动力 (N)
  • T_e — 发动机输出扭矩 (N·m)
  • i_g — 变速箱传动比
  • i_0 — 主减速器传动比
  • η_t — 传动系效率(一般在0.85~0.95之间)
  • r — 车轮滚动半径 (m)
我的经验:传动效率η_t这个参数,很多初学者喜欢取0.9完事。我在项目中吃过亏——某次做电动车仿真,取了0.92,结果实测续航差了8%。后来发现,低速大扭矩工况下,传动效率会掉到0.85以下。所以,别偷懒,查数据手册或者做台架试验。

3.2 行驶阻力:四个"拦路虎"

车要往前走,必须克服四种阻力。我一个个说。

3.2.1 滚动阻力

轮胎不是刚体,它压在地面上会变形。变形就会消耗能量。这个阻力就是滚动阻力。公式很简单:

F_f = f * m * g * cos(α)

f是滚动阻力系数。一般沥青路面f≈0.01~0.02,沙地能到0.3。我建议你记住一个经验值:良好路面取0.015,保守点。

注意:滚动阻力系数不是常数!胎压低了、车速高了、路面湿了,f都会变。我曾经在高速项目里发现,车速超过120km/h后,滚动阻力系数会明显上升,因为轮胎驻波效应开始显现。

3.2.2 空气阻力

车速一上来,空气阻力就是老大。它和车速的平方成正比:

F_w = 0.5 * ρ * C_D * A * v²
  • ρ — 空气密度,一般取1.225 kg/m³
  • C_D — 风阻系数,轿车0.25~0.35,SUV 0.35~0.45
  • A — 迎风面积 (m²)
  • v — 车速 (m/s)

你想想看,车速翻倍,空气阻力变成四倍。这就是为什么高速上油耗飙升的原因。我做电动车续航仿真时,最敏感的参数就是C_D。差0.01,NEDC续航能差3~5公里。

3.2.3 坡度阻力

上坡时,重力会分出一部分往后拽你:

F_i = m * g * sin(α)

α是坡度角。一般公路坡度不超过10%,也就是α≈5.7°。但你要是做越野车项目,30°的坡也得算。

核心观点:坡度阻力只和车重、坡度有关,和车速无关。所以重载卡车爬坡时,速度再慢也得硬扛。

3.2.4 加速阻力

车要加速,就得克服惯性。这个惯性包括平移质量和旋转质量两部分:

F_j = δ * m * a

δ是旋转质量换算系数,一般1.05~1.15。a是加速度。

为什么要有δ?因为发动机飞轮、变速箱齿轮、车轮都在转,加速时它们也要消耗能量。我见过有人直接取δ=1.1,结果百公里加速时间算出来比实测快了0.3秒。后来老老实实按转动惯量算了。

3.3 动力平衡方程

好了,把驱动力和四个阻力放一起,就是车辆纵向动力学的核心方程:

F_t = F_f + F_w + F_i + F_j

展开写就是:

(T_e * i_g * i_0 * η_t) / r = f*m*g*cos(α) + 0.5*ρ*C_D*A*v² + m*g*sin(α) + δ*m*a

这个方程能干什么?能干的事太多了:

  • 已知发动机扭矩和阻力,求加速度a
  • 已知车速和坡度,求需要的驱动力
  • 已知加速要求,反推发动机需要多大扭矩
我的习惯:做仿真时,我会把这个方程写成Python函数,输入车速、坡度、加速度,输出需要的驱动力。然后和发动机外特性曲线对比,就知道动力够不够了。

3.4 知识体系总览

下面这张图,是我梳理的本章知识结构。你可以把它当作一个检查清单——做纵向动力学分析时,看看自己漏了哪一块。

车辆纵向动力学 驱动力 F_t F_t = (T_e · i_g · i_0 · η_t) / r 发动机 → 变速箱 → 主减速器 → 车轮 行驶阻力 ΣF_res 滚动阻力 F_f F_f = f·m·g·cosα 空气阻力 F_w F_w = 0.5·ρ·C_D·A·v² 坡度阻力 F_i F_i = m·g·sinα 加速阻力 F_j F_j = δ·m·a 动力平衡方程 F_t = F_f + F_w + F_i + F_j

3.5 一个简单的Python计算示例

纸上谈兵没意思,我写个简单的脚本。假设我们要算一辆车在平路上以120km/h巡航时,需要多少驱动力:

import math

# 车辆参数
m = 1500          # 质量 kg
f = 0.015         # 滚动阻力系数
C_D = 0.30        # 风阻系数
A = 2.2           # 迎风面积 m²
ρ = 1.225         # 空气密度 kg/m³
g = 9.81          # 重力加速度

# 工况:平路巡航,120 km/h
v = 120 / 3.6     # 转换为 m/s
α = 0             # 坡度角,平路为0
a = 0             # 匀速,加速度为0

# 计算各阻力
F_f = f * m * g * math.cos(α)
F_w = 0.5 * ρ * C_D * A * v**2
F_i = m * g * math.sin(α)
F_j = 0           # 匀速,加速阻力为0

F_total = F_f + F_w + F_i + F_j

print(f"滚动阻力: {F_f:.1f} N")
print(f"空气阻力: {F_w:.1f} N")
print(f"总驱动力需求: {F_total:.1f} N")
print(f"对应功率: {F_total * v / 1000:.1f} kW")

跑一下这个脚本,你会发现空气阻力占了总阻力的大头。这就是为什么高速巡航时,降低风阻系数比减轻车重更有效。

一句话总结:车辆纵向动力学,就是算清楚驱动力和行驶阻力之间的账。账算明白了,动力性、经济性、甚至制动性能都能分析到位。

专注资料整理