简介:这份资源是《纯电动汽车动力系统速比优化设计》的期刊论文PDF,面向新能源汽车、整车电控与传动系统方向的研发人员及高校车辆工程专业师生。论文针对固定速比方案下驱动电机长期工作在高转矩、大电流区间导致能效偏低的问题,提出两挡电控机械式自动变速器(AMT)驱动方案,并在Cruise平台建模、通过Isight集成构建联合优化仿真流程。压缩包共1个PDF文件,约2.24MB,内容完整保留论文的摘要、关键词、英文摘要及正文,包含优化目标设定、约束条件、仿真流程与结果对比。读者可从中获取速比优化的完整技术路线:以100km/h加速时间与NEDC工况百公里能耗为优化目标,并学习以车速和负荷率为参考的双参数经济性换挡策略。研究结果显示,NEDC循环工况能耗降低0.52kWh/100km,经济性改善率3.78%,百公里加速时间缩短2.23%,可作为动力总成匹配、多挡化改造与联合仿真建模的参考依据。目前已有100人学习。
1. 速比选错,续航掉 8%:纯电动汽车动力系统速比优化设计在解决什么
同样一款 60 kWh 的纯电轿车,只把主减速器速比从 9.5 换到 11.2,CLTC 续航可能掉 6% 到 8%,零百却快出 0.4 秒;反过来把速比压到 8.2,高速 120 km/h 巡航电耗明显下降,但 0-50 km/h 起步会变肉。这就是《纯电动汽车动力系统速比优化设计》要处理的矛盾:单挡减速器只有一个自由度,却同时被动力性、经济性、电机高效区、最高车速和爬坡能力五方拉扯。本文面向做电驱匹配、整车能耗仿真和减速器选型的工程师,讲清楚速比这个标量是怎么被定义、怎么被建模、怎么在 MATLAB/Python 里跑出 Pareto 前沿,以及台架上怎么验证选出来的那个值。不涉及具体车型,只给可复现的方法和参数口径。
2. 纯电动汽车动力系统速比的定义与整车纵向动力学建模
速比优化的第一步不是调参,而是把「速比 → 轮端扭矩 → 整车响应」这条链路写成方程。写错了,后面所有优化都是在错误的曲面上找极值。
2.1 总速比的定义口径与常见混淆点
纯电动力系统里说的「速比」,严格讲是总减速比(i_g = i_{gearbox} \times i_{final})。单挡减速器常见做法是把减速箱和主减速器集成成一个箱体,铭牌上标的往往是单级或双级的综合传动比,工程里习惯直接叫主减速比。行业里出现分歧的地方在于:做电机 MAP 仿真的人用量纲为 1 的传动比,做整车能耗的人还要把它和轮胎滚动半径 (r)、风阻系数 (C_d) 放在一个公式里算。
轮端需求扭矩和车速的关系:
[ T_{wheel} = (m g f + m g \sin\alpha + \frac{C_d A}{21.15} v^2 + \delta m \frac{dv}{dt}) \cdot r ]
[ n_{motor} = \frac{v \cdot i_g}{0.377 \cdot r}, \quad v = \frac{0.377 \cdot n_{motor} \cdot r}{i_g} ]
其中 (v) 单位 km/h,(n_{motor}) 单位 rpm,(r) 单位 m。这个 0.377 的换算系数是速比计算里被抄错最多的常数,来自 (60/(2\pi \times 1000)) 的单位整合,一旦换成 r/min 或把 r 写成 mm,整条曲线都会平移。
提示:确定轮边还是轴边之前先统一口径。轮边速比算出来的车速会和轴边差一个轮毂电机内置减速比,混用会导致仿真车速偏高 10% 以上。
2.2 整车纵向动力学方程的参数怎么取
把上面的公式落到代码里,我一般写成函数形式,方便被优化算法反复调用。参数取值的依据是整车基本参数表加实测修正,而不是拍脑袋。
import numpy as np def vehicle_demand(v_kmh, a_mps2, params): """ v_kmh : 车速 km/h a_mps2: 加速度 m/s^2 返回轮端需求扭矩 (Nm) 与轮端转速 (rpm) """ m = params['mass'] # 整车质量 kg,含 75kg 驾驶员 g = 9.81 f = params['roll_coef'] # 滚阻系数,常用 0.008~0.012 CdA = params['Cd'] * params['A'] # 风阻面积 m^2 r = params['wheel_r'] # 滚动半径 m delta = params['rot_inertia'] # 旋转质量换算系数,纯电常用 1.03~1.08 v_ms = v_kmh / 3.6 F_roll = m * g * f F_aero = CdA * v_ms ** 2 / 1.63 # 0.5*rho*Cd*A, rho=1.2258 F_acc = delta * m * a_mps2 F_total = F_roll + F_aero + F_acc T_wheel = F_total * r n_wheel = v_kmh / (0.377 * r) return T_wheel, n_wheel def motor_operating_point(v_kmh, a_mps2, i_g, params): T_w, n_w = vehicle_demand(v_kmh, a_mps2, params) T_m = T_w / (i_g * params['eta_drivetrain']) n_m = n_w * i_g return T_m, n_meta_drivetrain取 0.95 到 0.97,指的是减速器加半轴的机械效率;rot_inertia对纯电来说比燃油车小,因为没有往复质量,取 1.03 到 1.05 就够。这两个参数看着不起眼,实际对 NEDC 或 CLTC 循环能耗的影响在 2% 量级,做速比对比时必须固定住,不能一个方案取 1.03、另一个取 1.08,否则优化的其实是参数噪声。
2.3 电机外特性与高效区 MAP 的建模方式
优化速比本质上是在电机的效率 MAP 上挪工作点。电机的外特性和效率 MAP 一般从台架或厂家数据拿到,工程上的简化做法是用分段函数描述基速以下恒扭矩、基速以上恒功率:
def motor_torque_limit(n_m, T_peak, n_base, n_max, k_power=1.0): """恒扭矩区 + 弱磁区外特性""" if n_m <= n_base: return T_peak if n_m <= n_max: return T_peak * n_base / n_m * k_power return 0.0n_base是基速,典型值 3000-4500 rpm;n_max是最高转速,现在多合一电驱普遍到 14000-16000 rpm。速比大,电机工作转速被整体抬高,很容易把大量循环工况点推进弱磁区,弱磁区效率下降快,这正是「速比大反而费电」的物理来源。做优化前一定要把效率 MAP 用二维插值建好,或者用下节的损失模型近似,不能只靠峰值效率一个数判断。
3. 速比优化的目标函数、约束与两类能量损失模型
有了动力学模型,速比就变成了一个单变量或多变量优化问题。目标函数写错,优化出来的速比就像用一个错误的尺子量出来的合格件。
3.1 动力性与经济性目标函数的写法
纯电速比优化几乎没有只优化一个目标的,标准做法是双目标:经济性用 CLTC 或 WLTC 循环百公里电耗,动力性用 0-100 km/h 加速时间或 0-50 km/h 加速时间。
经济性目标通过循环工况逐秒求解电机工作点、查 MAP 得瞬时功率积分:
def cycle_energy(cycle, i_g, params, motor_eff_map): """cycle: (t, v, a) 三元组序列,返回百公里电耗 kWh/100km""" E = 0.0 distance = 0.0 for t, v, a in cycle: T_m, n_m = motor_operating_point(v, a, i_g, params) eff = motor_eff_map(n_m, T_m) # 插值得到效率 P_mech = T_m * n_m * np.pi / 30 # W if P_mech >= 0: # 驱动 P_elec = P_mech / max(eff, 0.01) else: # 制动回收 P_elec = P_mech * eff * params['regen_ratio'] E += P_elec * cycle_dt # 逐秒积分 distance += v / 3.6 * cycle_dt return E / 1000 / (distance / 1000) # kWh/100kmregen_ratio是制动能量回收可接受比例,一般取 0.6 到 0.8,取决于 BMS 充电窗口和驾驶策略。动力性目标更直接,反解最大爬坡或加速时的轮端扭矩需求,检查是否超过电机外特性和轮胎附着极限。注意 0-100 加速里存在换挡点,单挡车不用管,但如果是两挡 AMT,速比优化会和换挡规律耦合。
3.2 电机与减速器损失模型的精度要求
速比优化的分辨率通常只有 0.1 到 0.2 的速比差异,对应的能耗差异可能就在 1% 到 2%。这意味着损失模型必须比这个精度更细,否则结论完全被噪声淹没。
| 损失来源 | 建模方式 | 对速比优化的影响 |
|---|---|---|
| 电机铜损 | (I^2R),随扭矩平方增长 | 低速大速比时恶化的主因 |
| 电机铁损 | 与转速的 1.5-2 次方相关 | 高速小速比时的主要代价 |
| 弱磁损失 | 查表或等效电流修正 | 高速段效率陡降的来源 |
| 减速器搅油损失 | 与转速近似线性加常数 | 高速小速比方案略优 |
| 轴承与齿轮啮合损失 | 与传递扭矩相关,效率 0.96-0.98 | 对所有速比一视同仁 |
注意:只用一个固定效率值(比如 0.93)代表整个电驱系统,优化出来往往偏向大速比,因为固定效率模型看不见铁损随转速的增长。至少要把电机 MAP 用效率网格插值进去。
减速器效率常见用法是随输入转速和扭矩查一张小表,或者干脆用常值加转速修正的近似式。对单挡固定速比来说,减速器效率对最优速比的偏移影响一般在 0.05 以内,优先级低于电机 MAP 精度。
4. 用 Python 和 MATLAB 跑出一个可复现的速比优化流程
算法本身不复杂,单变量在区间内做扫描加局部细化就足够,复杂的是让每一步都能被人检查。
4.1 参数化扫描确定速比可行区间
先用最笨但最可信的方式把区间扫出来,看电耗和加速时间的整体形状,避免一上来就掉进局部最优。
import numpy as np results = [] for i_g in np.arange(7.0, 13.01, 0.1): # 约束一:最高车速能力 n_at_vmax = params['v_max'] / (0.377 * params['wheel_r']) * i_g if n_at_vmax > motor['n_max']: continue # 约束二:最大爬坡度下的轮端扭矩需求 T_need = vehicle_demand(20, 0, params)[0] # 20km/h 爬坡工况 if T_need / (i_g * params['eta_drivetrain']) > motor['T_peak']: continue # 约束三:电机工作转速不超过 MAP 上限 e = cycle_energy(cltc_cycle, i_g, params, motor_eff_map) t100 = accel_time(i_g, params, motor) results.append((i_g, e, t100))这一步的一行np.arange(7.0, 13.01, 0.1)决定了后面所有结论的分辨率,0.1 对单挡速比选型够用,若做两挡匹配则要缩到 0.02 以上。三个约束里,最高车速约束通常是制约小速比的下界,爬坡约束是制约大速比的上界,两者把可行域卡在 8.5 到 11.5 这个典型带内。
4.2 Pareto 前沿与归一化权重法怎么选
扫描完得到一组 (i_g, 电耗, 加速时间),两条目标互相冲突,需要对 Pareto 前沿做取舍。常见做法有两种,我一般看场合选:
- 归一化权重法:把电耗和加速时间各自归一化后线性加权,权重 (w_{econ} + w_{perf} = 1)。整车项目里经济性权重常取 0.6 到 0.7,性能取向车型取 0.4 以下。
- 约束法:锁定加速时间不高于某阈值,在此约束下最小化电耗。法规或车型定义里已有 0-100 硬指标时优先用这个。
MATLAB 里可以直接用paretosearch或gamultiobj,但对于单变量、非凸程度不高的场景,扫描法加fminbnd的混合策略更好调试:
% 在扫描粗解附近做局部细化 fun = @(x) energy_obj(x, params, cltc_cycle, eff_map); options = optimset('TolX', 1e-4, 'Display', 'iter'); [i_opt, E_opt] = fminbnd(fun, 9.2, 9.8, options);TolX设 1e-4 已经远超必要的工程精度,关键是fminbnd的初始区间不能跨越两个局部极小值,所以前面扫描那步不可省。
4.3 多目标结果的敏感性检查
选定速比后,必须做敏感性检查:把质量、滚阻、风阻、电机 MAP 各扰动 5%,看最优速比是否还在同一侧。如果质量 +5% 就让最优速比从 9.4 跳到 10.1,说明这个方案对载荷太敏感,实际量产就要留余量或重新考虑。
| 扰动项 | 扰动幅度 | 最优速比偏移 | 判断 |
|---|---|---|---|
| 整车质量 | +5% | +0.25 | 可接受 |
| 风阻系数 Cd | +5% | -0.15 | 可接受 |
| 电机基速 | -5% | +0.30 | 需复算 |
| 滚阻系数 | +10% | -0.10 | 可接受 |
这张表才是速比优化报告里最有价值的部分,单点最优值反而不那么重要,因为实际车速、载荷、温度都会让工作点偏离仿真。
5. 从仿真值到台架:速比验证与常见踩坑
仿真给的是一个数,量产要的是那个数附近一整个区间的可接受性,验证环节决定了优化结论能不能落地。
5.1 台架 EOL 与整车转鼓验证的关键测点
台架验证分两步。第一步在电驱总成台架上固定速比,测电机工作点效率图谱,重点复现仿真里循环工况落在哪些格子:把 CLTC 的每一个采样点映射到电机 MAP 上,标注哪些样本点效率误差超过 2%,逐一回溯 MAP 来源。第二步是整车转鼓或实车道路,用同一段 CLTC 或 WLTC,对比仿真电耗与实测电耗偏差。
# 台架数据快速对齐脚本片段,先统一时间戳与转速单位 awk -F',' 'NR>1 {printf "%.3f,%.2f,%.2f\n", $1, $2/60, $3*9.5493}' \ dyno_raw.csv > dyno_norm.csv # 第1列时间 s,第2列电机转速 r/min->r/s,第3列扭矩 Nm->kW 换算系数对不齐的原因八成是单位:转速 rpm 和 r/s 差 60 倍,扭矩 Nm 换算成功率还要乘角速度。转鼓实测电耗和仿真偏差如果超过 5%,优先排查环境温度、轮胎气压和电池可用容量这三个和速比无关的变量,别急着否定速比方案。
5.2 速比优化最常见的五类错误
以下是我在实际项目和复算里反复见到的错法,按出现频率排:
- 用固定传动效率代替电机 MAP,结论系统性偏向大速比,误差常在 0.3 以上。
- 循环工况采样间隔不一致,NEDC 是 1s、CLTC 采样加密后有些片段是 0.1s,积分结果会偏。
- 旋转质量系数随方案变化,等于把一个物理常数变成了自变量。
- 忽略轮胎滚动半径随车速和载荷的变化,用静态值算高速段车速偏低约 2%。
- 初始扫描步长过大,0.5 的步长直接跳过真实的效率谷底,选出次优解。
提示:把上面五条写成一个 checklist,每次跑优化前对一遍。速比优化的失败绝大多数不是算法问题,而是参数口径和 MAP 精度问题。
5.3 两挡与多挡方案的速比组合取舍
当单挡确实无法同时满足最高车速和起步爬坡时,会转向两挡方案。此时速比优化从一维变成二维,两个速比加上换挡点转速,共三个变量。可行做法是固定换挡策略(按车速或按电机转速),先对低速挡速比做扫描,再对高速挡速比做扫描,最后合成 Pareto 面。但要留意两挡带来的额外质量、成本和换挡冲击,如果单挡目标区间内有可行解,优先单挡;多挡的价值要在高速占比很高的车型上才体现得出来,市区为主的车型通常得不偿失。判断依据用一句话概括:把两挡方案相比单挡的最优速比计算出的电耗差值,跟换挡机构带来的 30 到 50 kg 增重和成本做对比,差值小于 3% 就没必要上两挡。
本文还有配套的精品资源,点击获取