P2构型混合动力汽车前向仿真模型
项目介绍
本项目是一个基于MATLAB脚本开发的P2构型(发动机-分离离合器-电机-变速箱)混合动力汽车前向仿真系统。该模型不依赖Simulink/Stateflow环境,而是完全通过MATLAB代码(
.m文件)实现了整车的动力学仿真闭环。系统模拟了驾驶员对目标车速的跟随过程,集成了整车控制器(HCU)、变速箱逻辑(TCU)以及发动机、电机、电池和车辆纵向动力学的物理模型,主要用于评估混合动力策略在特定工况下的燃油经济性和动力响应。
功能特性
- P2混合动力架构:高保真模拟了位于发动机与变速箱之间的P2电机布局,包含分离离合器(Clutch)的结合与断开逻辑。
- 多物理场建模:
*
发动机:基于万有特性(BSFC Map)计算燃油消耗,支持扭矩与转速查表。
*
电机:包含效率Map(Efficiency Map)模型,精确计算电动与发电模式下的能量损耗。
*
电池:采用内阻模型(Rint Model),考虑OCV(开路电压)随SOC变化的非线性特性。
*
变速箱:模拟6速自动变速箱,包含传动比及换挡逻辑。
- 前向仿真闭环:采用PID驾驶员模型跟随目标车速,通过物理公式反推部件需求,而非后向推导。
- 规则基础能量管理(Rule-based HCU):实现了包含纯电驱动、行车充电、并联助力、再生制动等多种模式的逻辑切换。
- 合成工况生成:内置代码自动生成包含低速、中速、高速及减速停车的组合驾驶循环。
系统要求
- MATLAB R2016b 及以上版本
- 无需额外的Simulink或Stateflow工具箱支持
使用方法
- 下载本项目代码。
- 在MATLAB中打开并运行主程序脚本。
- 程序将自动执行时长为1200秒的前向仿真。
- 仿真结束后,通过工作区(Workspace)中的
rec 结构体查看仿真结果数据(速度、SOC曲线、档位、能耗等)。
核心算法与实现逻辑分析
本项目的所有逻辑均在单一脚本中通过离散时间步进(Time Step = 0.1s)迭代实现,主要包含以下六大核心模块:
1. 全局参数构建与Map生成
代码首先定义了整车物理参数(质量、风阻等)。对于关键部件的非线性特性,采用了算法生成的方式构建Map,而非外部导入:
- 发动机BSFC Map:使用二次多项式公式,基于转速和扭矩网格生成燃油消耗率曲面,模拟中间转速负荷区效率最高的特性。
- 电机效率 Map:同样采用公式法生成凹形效率曲面,包含驱动(正扭矩)与发电(负扭矩)区域。
- 电池OCV曲线:定义了11个SOC节点的开路电压插值表。
2. 驾驶员模型 (Driver Model)
采用PID控制算法模拟人类驾驶员:
- 输入:目标工况车速与当前实际车速的偏差。
- 控制:包含比例(P)、积分(I)、微分(D)环节以及前馈控制(基于阻力公式和目标加速度)。
- 输出:整车需求的轮端驱动力,并进一步转化为变速箱输入轴的需求扭矩。
3. 变速箱控制 (TCU)
实现了简化的双参数换挡策略:
- 根据当前车速判断是否满足升挡或降挡阈值。
- 定义了6个挡位的传动比和对应的车速换挡Map(
shift_map_up 和 shift_map_down)。 - 为了防止频繁换挡,逻辑中保留了当前挡位状态作为下一时刻的输入。
4. 混合动力策略 (HCU)
这是代码的核心部分,使用基于规则(Rule-based)的逻辑状态机控制能量流:
- 输入信号:需求扭矩、电池SOC、当前车速。
- 模式判断逻辑:
*
再生制动模式:当需求扭矩为负时,断开离合器,由电机承担制动扭矩进行能量回收(受限于电机最大扭矩)。
*
驱动模式:
*
纯电模式 (EV):当SOC充足且需求扭矩较小、车速较低时,离合器断开,发动机停机,仅电机驱动。
*
行车充电模式 (Series/Charge):当SOC低于目标值(0.6)时,发动机启动并运行在较高负载点(
eng_opt_trq),多余扭矩驱动电机发电。
*
并联模式 (Parallel):当需求极大或SOC充足时,发动机为主驱动源。若需求超过发动机极限,电机提供助力。
- 输出指令:由策略计算出发动机扭矩指令、电机扭矩指令以及离合器的开闭状态。
5. 部件响应与能耗计算
根据HCU发出的指令,计算各部件的实际物理响应:
- 发动机:根据实际转速和指令扭矩,通过二维插值查询BSFC Map,计算瞬时燃油消耗率并累计。
- 电机与电池:
* 根据电机工况查表得到效率,计算电池端功率(包含附件功耗)。
* 通过解一元二次方程(基于电池等效电路模型 $P = V cdot I = (OCV - I cdot R_{int}) cdot I$)精确计算电池电流。
* 通过电流积分(安时积分法)实时更新SOC。
6. 整车纵向动力学
仿真车辆的物理运动:
- 计算实际到达轮端的驱动力(考虑离合器状态、传动比、主减速比及机械效率)。
- 根据牛顿第二定律($F_{驱动} - F_{阻力} = m cdot a$)计算实际加速度。
- 对加速度积分更新实际车速,完成仿真闭环。