1. 项目概述
在新能源车领域,多电机系统已成为提升性能的主流方案,但随之而来的能效问题却常常被忽视。作为一名长期从事电驱动系统开发的工程师,我见过太多项目因为简单的扭矩均分策略而白白损失10%以上的续航里程。本文将分享一套在Simulink中实现的多电机功率分配能效优化方案,这个方案已经在三个量产项目中验证,最高可实现8.3%的能效提升。
核心思路:通过离线预计算和实时查表相结合的方式,在保证实时性的前提下实现最优功率分配。这种方法既避免了在线优化的计算负担,又能充分利用每台电机的高效工作区间。
2. 系统架构设计
2.1 整体控制框架
系统采用分层架构设计:
- 离线预处理层:通过MATLAB脚本遍历所有可能的工况点,生成最优分配比例表
- 实时控制层:在Simulink中实现查表法快速分配
- 执行层:将分配结果传递给电机控制器
这种架构的优势在于:
- 将复杂的优化计算转移到开发阶段
- 实车运行时仅需简单的查表操作
- 易于在不同平台间移植
2.2 关键数学模型
2.2.1 电机效率模型
电机效率η是扭矩T和转速ω的函数:
code复制η = f(T,ω)
在实际工程中,这个函数通常以二维查找表的形式实现,数据来自电机台架测试。
2.2.2 系统总损耗模型
对于双电机系统,总输入功率为:
code复制P_total = (k*T_req*ω)/η1 + ((1-k)*T_req*ω)/η2
其中k为分配系数,我们的目标就是找到使P_total最小的k值。
3. 详细实现步骤
3.1 离线优化阶段
3.1.1 数据准备
- 收集电机效率MAP图数据(通常由供应商提供)
- 确定扭矩和转速的范围及分辨率
- 典型值:扭矩0-200Nm,步长2Nm
- 转速0-8000rpm,步长80rpm
3.1.2 优化算法实现
matlab复制% 定义工况范围
T_vec = 0:2:200; % Nm
w_vec = 0:80:8000; % rpm
% 初始化结果矩阵
k_opt = zeros(length(w_vec), length(T_vec));
% 遍历所有工况点
for i
