HEV串并联混合动力车辆Simulink正向仿真模型及参数全开源解析

张开发
2026/4/11 8:30:01 15 分钟阅读

分享文章

HEV串并联混合动力车辆Simulink正向仿真模型及参数全开源解析
HEV串并联混合动力车辆仿真模型全部采用simulink正向仿真开发无黑盒模型和参数全部开源透明几乎涵盖了所有的串并联构型包括本田immd 比亚迪dmi以及串并联变种的其他构型simulink正向仿真模型t51具体包括如下 后驱电机在变速箱前面的p1p2构型 后驱电机在变速箱后边的p1p3构型 还有p1p4的地面耦合动力传动构型 电机带离合器带减速比 发电机带减速比等等。 整车控制策略采用基于规则的控制策略可用于指导实车vcu开发模型能够直接能用于车辆vcu开发的mil测试hil测试具有较大的参考借鉴能够分析整车能量流油耗统计电耗soc发动机工作点等。 模型采用美国阿贡实验室开发的autonomie软件模型库进行构建命名和模块连接非常标准规范命名很清晰且容易理解考虑了离合器变速箱的换挡瞬态变化对动力部件例如发动机或者电机影响过程能够反应出车辆的瞬态状态。 vcu策略考虑了发动机启停控制电机助力发电机功率跟随极限加速工况下的性能模式仿真等。 可基于模型进行动力性加速计算爬坡度计算经济性仿真辅助vcu硬件在环控制系统搭建等。 文件夹后默认操作如下 1、将文件夹和子文件夹添加到MATLAB工作路径 2、在results文件夹中打开整车仿真模型文件在工作空间中加载 data.mat即可进行仿真 3、model文件夹中为组成整车仿真模型的零部件模型从整车模块中拆分而来 4、pic 文件夹中为整车模型文件的子模块的mask图片必须添加到MATLAB工作路径下否则模型中的子系统图片加载不出来 5、scripts文件夹中为初始化文件、前处理文件、以及模型运行结果后处理文件其中初始化文件与前处理文件为模型提供仿真参数后处理文件处理模型输出信号的结果data.mat文件为方便模型运行保存了已经运行好的模型输出结果和初始化参数等这玩意儿能直接当VCU开发指南用这是我打开T51混合动力仿真模型后的第一反应。玩过Simulink的朋友都知道市面上九成的HEV模型不是藏着黑盒就是参数加密但这个开源项目直接掀了桌子——从本田i-MMD到比亚迪DMI的传动拓扑全都摊开给你看连变速箱换挡时的扭矩冲击都算得明明白白。先说个硬核的在P1P3后驱构型里电机直接怼在变速箱输出端。对比本田i-MMD的平行轴结构咱们的模型用Simulink Stateflow搞了个骚操作% 驱动模式切换逻辑 if SOC 0.3 VehicleSpeed 120 set_param(HEV_model/DriveMode,Value,1); % EV模式 elseif Motor_Temp 80 || Engine_Status 1 set_param(HEV_model/DriveMode,Value,2); % 并联驱动 end这段代码藏在ControlStrategy子系统里实时监控着SOC和车速。有意思的是当电机温度超标时模型会自动唤醒发动机分担负载这种热管理策略比某些量产车还细致。再看传动系统建模的魔鬼细节。Autonomie的齿轮箱模块被魔改后连换挡时的转速突变都能捕捉到。比如这个变速箱模型% 变速箱速比计算 function GearRatio Transmission(ShiftSignal,InputSpeed) persistent CurrentGear; if isempty(CurrentGear) CurrentGear 1; end ShiftDelay 0.2; % 换挡延迟时间 if ShiftSignal ~ CurrentGear CurrentGear ShiftSignal; % 瞬态过程模拟 GearRatio interp1([0 ShiftDelay/2 ShiftDelay],... [GetGearRatio(CurrentGear-1) 0.8*GetGearRatio(CurrentGear) GetGearRatio(CurrentGear)],... rem(t,ShiftDelay)); else GearRatio GetGearRatio(CurrentGear); end这个函数在换挡时会产生0.2秒的扭矩震荡实测数据跟实车采集的CAN信号波形神似。做HIL测试时VCU就是被这种瞬态工况虐得死去活来。HEV串并联混合动力车辆仿真模型全部采用simulink正向仿真开发无黑盒模型和参数全部开源透明几乎涵盖了所有的串并联构型包括本田immd 比亚迪dmi以及串并联变种的其他构型simulink正向仿真模型t51具体包括如下 后驱电机在变速箱前面的p1p2构型 后驱电机在变速箱后边的p1p3构型 还有p1p4的地面耦合动力传动构型 电机带离合器带减速比 发电机带减速比等等。 整车控制策略采用基于规则的控制策略可用于指导实车vcu开发模型能够直接能用于车辆vcu开发的mil测试hil测试具有较大的参考借鉴能够分析整车能量流油耗统计电耗soc发动机工作点等。 模型采用美国阿贡实验室开发的autonomie软件模型库进行构建命名和模块连接非常标准规范命名很清晰且容易理解考虑了离合器变速箱的换挡瞬态变化对动力部件例如发动机或者电机影响过程能够反应出车辆的瞬态状态。 vcu策略考虑了发动机启停控制电机助力发电机功率跟随极限加速工况下的性能模式仿真等。 可基于模型进行动力性加速计算爬坡度计算经济性仿真辅助vcu硬件在环控制系统搭建等。 文件夹后默认操作如下 1、将文件夹和子文件夹添加到MATLAB工作路径 2、在results文件夹中打开整车仿真模型文件在工作空间中加载 data.mat即可进行仿真 3、model文件夹中为组成整车仿真模型的零部件模型从整车模块中拆分而来 4、pic 文件夹中为整车模型文件的子模块的mask图片必须添加到MATLAB工作路径下否则模型中的子系统图片加载不出来 5、scripts文件夹中为初始化文件、前处理文件、以及模型运行结果后处理文件其中初始化文件与前处理文件为模型提供仿真参数后处理文件处理模型输出信号的结果data.mat文件为方便模型运行保存了已经运行好的模型输出结果和初始化参数等能量流分析更是个宝藏。跑完WLTC工况后打开scripts里的后处理脚本%% 能耗统计 load(results/EnergyFlow.mat); Engine_Eff interp2(Engine_Map.RPM, Engine_Map.Torque, Engine_Map.Efficiency,... Engine_Actual_RPM, Engine_Actual_Torque); Fuel_Consumption trapz(Engine_Fuel_Flow)/1000; % 转换为升 disp([等效油耗: ,num2str(Fuel_Consumption*100/mean(DrivingDistance)),L/100km]);这个脚本直接把发动机万有特性图上的工作点可视化还能标出运行在高效区的比例。有次我把某自主品牌的标定数据导入发现他们的控制策略让发动机30%时间都运行在低效区——难怪实车油耗比仿真高15%。模型有个特别实用的设计在P4电驱桥构型中前轴发动机和后轴电机的扭矩分配居然用到了路面附着系数估计。看这个扭矩限制模块function Motor_Torque_Limit RoadFrictionEstimation(Vx, WheelSlip) % 基于滑移率的路面识别 if mean(WheelSlip) 0.15 Mu 0.3; % 冰雪路面 elseif max(WheelSlip) 0.1 Mu 0.6; % 湿滑路面 else Mu 1.1; % 干燥铺装路 end Motor_Torque_Limit (Mu * VehicleMass * 9.8 * WheelRadius) / 2;这套算法在雪地模式下的扭矩控制精度能达到±5Nm直接省去了VCU开发时写路面识别模块的工作量。说到使用技巧千万别漏掉pic文件夹里的mask图标。上次我手贱删了路径结果整个模型界面变成一堆白方块——那些自定义的离合器接合动画、电池充放电图标全挂了。正确的打开姿势是直接运行这个脚本% 初始化脚本 addpath(genpath(model)); addpath(genpath(pic)); load(data.mat); set_param(HEV_model,SimulationCommand,update);模型会自动加载所有子系统图标连变速箱的齿轮啮合动画都能动起来。搞VCU标定的兄弟用这个做演示客户看到动态变化的能量流图当场就签单了。最后说个真实案例某新势力车企拿着这个模型调发动机启动策略原本冷启动时总有顿挫。后来在Engine_Start子系统中找到这个状态机% 发动机启动扭矩补偿 if Clutch_Status 0 Engine_Speed 500 Motor_Assist_Torque interp1([0 0.5 1],[50 30 0],SOC); Motor_Torque_Command Base_Torque Motor_Assist_Torque; end他们发现SOC低于30%时助力扭矩消失太快把插值表改成[50 40 20]后顿挫神奇地消失了。现在这群人已经把模型魔改成增程式专用版连减速器敲击声都仿出来了。

更多文章