纯电动汽车Simulink整车仿真模型搭建与实战经验详解 Simulink整车仿真模型跑得通不代表跑得对。这是我想先跟大家说的一句话。很多刚接触纯电动汽车仿真的人拿到一个Matlab/Simulink模型双击打开点一下运行看到曲线出来了就以为完事了。但真正做过动力性、经济性仿真的人都知道模型搭起来容易把结果做准才是见功夫的地方。这篇内容主要围绕纯电动汽车的Simulink仿真模型展开从模型架构、参数标定、工况仿真到问题排查把我在实际项目中反复踩过、填平的坑一并整理出来。不管是正在做课程设计的学生还是刚接手整车性能仿真任务的工程师这篇文章都比较适合当作一份实践参考。1. 纯电动汽车仿真模型的整体架构与思路拆解1.1 为什么要用Matlab/Simulink做整车动力经济性仿真市面上能做整车仿真的工具其实不少比如GT-Suite、AVL Cruise、CarSim都有各自的用户群体。但Simulink依然是很多团队的首选原因很简单它足够灵活而且和Simulink生态里的其他工具链衔接非常顺畅。控制策略用Stateflow写、电机模型用Simscape搭、后处理直接用MATLAB脚本跑整个流程可以完全在一套环境里打通不用来回倒数据。另外一个很现实的原因是Simulink模型的“透明度”更高。Cruise这类工具更像黑盒很多物理公式已经封装在模块内部工程师能调的参数有限。而Simulink从动力学方程到电机效率map每一行逻辑都摊开在模型里出了问题可以直接追到公式层面去查。对于需要写论文或者做技术方案汇报的人来说这种可解释性太重要了。有人可能会问CarSim在底盘和操纵稳定性方面不是更强吗确实但CarSim强在车辆动力学细节比如悬架KC特性、轮胎侧偏特性这些。而纯电动汽车的动力性、经济性仿真核心是纵向动力学再加上电机、电池、传动这几个系统的能量流匹配这些东西恰好是Simulink最擅长、也是代码量最可控的部分。所以我的建议是如果你只关心动力性和经济性Simulink就够了没必要上更复杂的多体动力学工具。1.2 前向仿真与后向仿真的选型逻辑整车仿真模型从架构上分两派前向仿真和后向仿真。初学者往往搞不清楚两者的区别其实一句话就能说明白。后向仿真不考虑驾驶员的真实操作直接以目标车速为输入反推车辆需要提供的驱动力和功率需求。这种模型结构简单、计算速度快适合做概念阶段的粗略估算比如用NEDC工况跑一遍百公里电耗。前向仿真则是把驾驶员模型放在最前面驾驶员根据目标车速和实际车速的偏差去踩加速踏板踏板开度经过控制策略解析以后变成对电机扭矩的请求再经过传动系统、车轮最终驱动车辆前进。这个过程更贴近实车真实工作逻辑。我在实际项目里基本都是用前向仿真原因有三个第一前向仿真可以真实模拟驾驶员行为特别是急加速、急减速这种瞬态工况后向仿真很容易出现功率需求超限却不自知的情况第二前向仿真后续要接控制策略联合仿真比如接入VCU的Simulink模型做硬件在环架构上可以直接复用第三前向仿真里的再生制动策略可以实现这是后向仿真很难做细致的。当然前向仿真也有缺点其中最主要的问题是计算效率低模型刚性较强容易碰到收敛问题。后面我会专门讲怎么处理这些数值问题这个地方先记住结论模型架构优先选前向仿真如果项目周期极短、只求一个粗略结果再用后向仿真节约时间。2. 核心参数配置与动力经济性数学模型2.1 整车纵向动力学模型的搭建整车动力性、经济性仿真最底层的物理基础就是纵向动力学方程。公式不复杂但每一项参数的选择都会直接影响仿真精度。纵向行驶时车辆的阻力由四部分构成滚动阻力、空气阻力、坡道阻力和加速阻力。对应的受力平衡方程是Ft mgf·cos(α) 0.5·ρ·Cd·A·v² mg·sin(α) δ·m·a其中Ft是驱动力m是整车质量g是重力加速度f是滚动阻力系数α是道路坡度角ρ是空气密度Cd是风阻系数A是迎风面积v是车速δ是旋转质量换算系数a是加速度。这里我想特别强调两个容易被忽视的参数。第一个是旋转质量换算系数δ很多新手直接把δ设为1也就是完全忽略转动惯量的影响。对于纯电动汽车来说电机转子、减速器齿轮、半轴、车轮都有不小的转动惯量δ一般取1.08到1.15左右具体取决于传动比和部件惯量。如果忽略这个系数仿真出来的加速时间会比实际更短误差在低速段尤其明显。第二个是滚动阻力系数f它不是常数而是随车速变化的。简单做法是取常值0.012左右更精细的做法是用公式 f f0 f1·(v/100) f4·(v/100)^4很多轮胎厂商提供的阻力模型也是这种形式。在Simulink里搭建这个模块时我习惯用几个独立的Gain和Sum模块组合而不是用一个大而全的MATLAB Function。原因是我们团队后期经常需要单独查看某个阻力的数值拆开以后用Scope分别观察各项阻力对排查问题特别方便。如果全塞在一个函数里调试的时候还得一个一个看输出端口非常痛苦。2.2 驾驶员模型与加速踏板解析前向仿真离不开驾驶员模型。很多人把驾驶员模型理解成一个简单的PID控制器其实不够。实际整车仿真时驾驶员的行为分为几种工况加速工况要快速逼近目标车速但超调要小匀速工况要稳定维持车速不能一直抖动。用单一PID参数很难同时满足这两个要求。我的做法是把驾驶员模型分成两段第一段用一个带前馈的比例环节根据目标车速和当前车速的差值计算基础踏板开度请求前馈量按照当前阻力估算出一个大概的功率需求第二段再用一个PID控制器做闭环修正。为了避免积分饱和PID输出要加限幅而且积分项要采用条件积分策略——当踏板开度已经到100%或者制动踏板已经踩死时积分项不再累积。这个模块很多人会忽略一个细节油门踏板和制动踏板需要做互锁逻辑。也就是说驾驶员不可能同时踩加速和刹车。如果PID输出为正表示需要加速制动踏板输出为0如果PID输出为负表示需要减速这时要判断是需求再生制动还是机械制动。这部分逻辑直接影响经济性仿真的能量回收量实际上很多真实项目里踏板互锁和扭矩仲裁都是在控制策略层实现的仿真模型如果做得太简单会导致回收能量偏高或者偏低。建议在Simulink里用Stateflow做一块简单的仲裁逻辑把加速踏板开度、制动踏板开度分别输出给驱动控制和制动控制两条路径。另外提醒一下驾驶员模型的PID参数很影响仿真结果。同样的车PID参数不同跑出来的等速电耗可能差到5%这还不包括工况跟随误差的影响。所以调参的时候不要只看车速跟随得好不好还要看踏板开度的波动幅度。如果踏板一直在小幅震荡说明PID增益偏大实际能耗会偏高。后面我还会专门讲一套我常用的整定流程。2.3 电机模型与效率Map的应用纯电动汽车的驱动电机目前主流是永磁同步电机。整车仿真里不需要做电机的电磁设计只需要关心它的外特性曲线和效率Map。外特性曲线描述的是电机在不同转速下能输出的最大扭矩和最大功率基速以下恒扭矩基速以上恒功率但实际电机在高转速区会有弱磁控制扭矩会比恒功率曲线略有下降。效率Map是经济性仿真最重要的输入之一。它是一个二维表横轴是转速纵轴是扭矩表格数值是电机在该工况点的效率。这个Map通常由电机供应商提供或者通过台架试验测得。拿到Map以后在Simulink里用二维Lookup Table模块就可以直接插值使用。需要注意三点第一Map数据的边界要处理好。仿真时转速和扭矩不可能刚好落在数据网格点上超出数据范围时建议选择“边界值保持”而不是“线性外推”否则可能出现效率大于1或者小于0的荒唐结果。第二效率Map的网格密度要合适太稀疏会导致插值误差大太密又会增加模型文件体积。常规转速间隔取500rpm扭矩间隔取20Nm基本够用。第三电机效率Map必须包含发电工况。很多初学者只填了电动工况的效率忽略再生制动时的发电效率导致经济性仿真回收能量结果异常偏高。另外还有一个和效率相关的点电机控制器损耗通常已经包含在电机的效率Map里。因为这个Map本身就是电机加控制器的系统效率不要再额外串联一个控制器效率模块否则能量损耗被重复计算。2.4 电池模型与SOC估算动力电池的仿真模型有很多种从最简单的理想电压源到Rint模型、Thevenin模型再到电化学模型。整车动力经济性仿真用Rint模型或者一阶RC模型就够了我通常用一阶RC模型因为它在动态精度和计算复杂度之间平衡得更好。Rint模型的核心公式是U Uoc − I·R0也就是开路电压减去内阻上的压降。一阶RC模型在此基础上增加了一个RC并联回路用来模拟电池的极化效应相当于把电池内部的动态响应近似成一阶惯性环节。这个模型在急加速、急减速工况下电压响应会更接近实测结果。OCV和SOC的关系曲线是这个模型最重要的一张表。开路电压OCV随SOC变化的曲线不同电池化学体系差异很大。磷酸铁锂的OCV曲线在20%到80%区间非常平缓容易被SOC估算误差放大所以这个阶段要对电压测量噪声特别敏感。三元锂电池的OCV曲线则相对线性SOC估算要容易一些。建模时OCV-SOC曲线用Lookup Table模块输入SOC的计算则通过对电流积分获得SOC SOC0 − ∫(I/(Q·3600))dt其中Q是电池额定容量单位Ah。这里最容易犯的错误是SOC初值设置不当。现在很多模型直接给100%初始SOC但实际项目里续驶里程仿真往往是从某个非满电状态开始跑的要按实际需求设置。另外一个细节是充放电内阻不一样很多电池在充电时内阻比放电内阻略高建模时要把充放电内阻分开否则再生制动时的充电功率计算会有偏差。电池还有一个关键参数是充放电功率限制。这个限制往往不是常数而是随SOC和温度变化的。低温环境下放电功率受限严重续航缩水明显高SOC时充电功率受限再生制动回收功率上不去。这也强调了我的一个观点如果模型里没有温度维度就只能在常温工况下做仿真不要盲目把结果外推到零下十度的冬季场景。2.5 传动系统与整车主参数表纯电动汽车的传动系统比燃油车简单很多大多数乘用车采用固定速比减速器没有多挡位变速箱。在Simulink里传动系统的模型就是一个增益模块电机输出扭矩乘以传动比再乘以传动效率就得到驱动轮上的驱动力矩。公式为Twheel Tmotor × i × η其中i是减速器速比η是传动效率一般取0.92到0.97之间。速比的选择会直接影响动力性和经济性的平衡速比大起步加速猛但高速巡航时电机转速高、效率偏低速比小高速电耗低但动力性能会受影响。这个匹配过程就是整车动力经济性仿真的核心价值之一。整车质量、风阻系数、迎风面积、轮胎滚动半径这些基础参数看起来简单但往往是最容易出错的。我在评审其他人的模型时经常发现整备质量没包含电池包重量或者迎风面积用的是整车投影面积而不是正面迎风面积。一般来说乘用车迎风面积在2.0到2.4平方米风阻系数在0.24到0.32之间具体车型的数值需要从造型阶段的风洞试验中获取。下面给出一个典型紧凑型纯电动轿车的参数表可以当作后续仿真的参考模板参数名称单位参考值备注整备质量kg1650包含电池包满载质量kg2025按4名乘客加行李计算风阻系数-0.27风洞实测值迎风面积m²2.2正面投影面积轮胎滚动半径m0.317215/55R17滚动阻力系数-0.011沥青路面常温减速器速比-9.07单挡减速传动效率-0.95含差速器电机峰值功率kW15030秒峰值电机峰值扭矩Nm310基速以下电池容量kWh60三元锂电池额定电压V350系统额定3. 动力性仿真实操加速时间、最高车速与爬坡能力3.1 动力性仿真工况设定动力性仿真的三大指标是最高车速、加速时间、最大爬坡度。在Simulink里搭建动力性仿真场景核心思路是让驾驶员模型发出全油门或恒定目标车速指令然后看车辆能不能稳定达到性能指标。最高车速仿真相对简单把目标车速设成一个高于设计最大车速的值比如设计最高车速160km/h目标就设170km/h然后看车辆在水平路面上能稳定在哪个速度。这里有一个很容易忽略的细节最高车速受电机峰值功率和持续功率双重影响。如果峰值功率足够但持续功率不足车辆在高速段会逐渐掉速最后稳定在一个低于峰值功率对应的速度上。所以在设置电机模型时必须要区分峰值外特性和持续外特性。只按峰值扭矩跑仿真出来的一定是过于乐观的结果。0到100km/h加速时间仿真是动力性仿真里最直观的指标。驾驶员模型发出100%油门指令车辆从静止开始加速测量车速从0上升到100km/h的时间。这里有三点要特别注意第一起步阶段要考虑电机的外特性限制。很多电机的峰值扭矩在低转速时不能完全输出有一个扭矩爬升过程。如果不考虑这个限制在电机转速为0时就输出310Nm仿真出来的起步加速时间会远好于实车表现。第二加速过程中要计入电池的电压跌落。大功率放电时电池电压会下降进而影响电机可输出的峰值功率所以电机和电池必须联合仿真不能分开。第三仿真终止时间要设够同时注意步长。加速时间大约8秒的项目总仿真时长建议设15秒以上否则容易因为仿真时间不够导致曲线没跑完。3.2 仿真结果的可视化与曲线判读跑完一次加速仿真主要看三张图车速随时间变化曲线、加速度随时间变化曲线、以及电机扭矩转速轨迹。第一个曲线直接读加速时间第二个曲线可以看换挡特性不适用于单速比车型但能看到加速度在高速段的衰减趋势第三个曲线用于验证电机工作点是否超出外特性边界。判断加速时间是否可信有一个经验规律电机峰值功率在100kW左右的紧凑型轿车0到100km/h加速时间大概在9到11秒150kW级别的车大概在7到8秒。如果仿真结果远远优于这个区间比如100kW的车跑出5秒多半是模型里某处阻力没算进去最常见的是忘记加旋转质量换算系数或者电机扭矩外推得太离谱。还有一个细节值得注意加速时间仿真时的电池SOC初值要设高一些比如90%以上这样电池能输出较高功率。如果拿满电状态和半电状态的加速时间做对比后者可能慢1秒以上这个现象在实车上也非常明显。所以做性能仿真时一定要标明SOC条件否则不同人跑的结果根本没有可比性。3.3 爬坡能力仿真与驱动防滑的边界最大爬坡度仿真一般是低速工况车速通常在10到20km/h。这个工况下空气阻力可以忽略车辆克服的主要是重力沿坡道的分量。理论上的最大爬坡度由电机峰值扭矩和整车参数决定但在实际仿真中还要考虑一个限制驱动轮附着极限。附着极限由公式 Fmax μ·m·g·cos(α) 计算其中μ是路面附着系数一般干燥沥青路面取0.8到0.9。如果车辆需要的驱动力超过附着极限车轮就会打滑。很多Simulink模型默认轮胎不打滑只用驱动力和阻力的平衡关系计算爬坡能力结果会算出30%以上的爬坡度这显然不符合实际。所以做爬坡仿真时我建议在车轮模块里加入一个轮胎纵向力计算模块根据附着椭圆限制驱动力上限。虽然不是完整的轮胎魔术公式模型但已经能挡住绝大多数不合理的仿真结果。另外还要注意爬坡度数据的表达方式有两种百分比坡度和角度。道路标志上的坡度是百分比比如10%的坡度对应大约5.7度的坡角。写报告时这两者容易混淆我自己就被评审专家纠正过一次请大家务必检查单位。4. 经济性仿真循环工况下的电耗与续驶里程4.1 标准循环工况的选择与数据导入经济性仿真的核心是让模型在标准循环工况下运行统计整段工况消耗的电能。国内最常用的循环工况是NEDC和WLTC。NEDC是2020年之前的主流工况特点是匀速段多、加减速平缓测出来的电耗数字普遍偏低。WLTC是当前全球通用的工况分为低速、中速、高速、超高速四个阶段加减速频繁更贴近实际驾驶工况。WLTC工况的总时长是1800秒总里程约23.27公里最高车速131.3km/h。在Simulink里导入工况数据常见方式有两种用From Workspace模块从MATLAB工作区读取时间-车速数组或者用Signal Editor模块直接编辑工况数据。我的个人习惯是使用Signal Editor因为它内嵌图形化编辑界面可以很方便地查看工况曲线而且模型保存以后数据跟着模型走不容易出现换台电脑数据加载失败的问题。特别要提醒的是工况数据的单位。WLTC原始数据的车速单位是km/h但Simulink里如果做国际单位制计算需要先转换成m/s。很多新手直接在工况数据源里填了原始km/h数值导致车辆怎么加速都追不上目标车速仿真出来的电耗高得离谱。这个低级错误曾经让我白排查了一个下午。4.2 电耗计算结果与百公里电耗计算经济性仿真跑完以后怎么从结果里算出百公里电耗我的标准做法是用积分模块分别统计电池输出的能量和回收的能量电耗 ∫(电池功率放电为正)·dt / 行驶里程 × 100这里要注意“电池端电耗”和“电网充电电耗”的区别。仿真是统计电池输出端口的能量消耗这个数值和整车公告上的百公里电耗口径不一样。实车公告电耗是从电网充电端算起的包含了充电机效率、电池充放电效率损失、整车高压附件消耗。所以仿真结果通常比公告电耗低15%到25%。如果拿仿真电耗直接和官方数据对比肯定觉得模型不准。另一个常见的统计口径问题是循环工况仿真要不要算附件能耗。暖风、空调、音响、大灯这些低压附件的功率少则几百瓦多则几千瓦。WLTC工况默认是不开空调的但实际用户使用场景不可能不开。所以在仿真时我通常会把附件功率设成可配置参数做常温25度不开空调和高温35度开空调两种工况分别仿真。前者用来和公告数据对标后者用来评估用户实际续航表现。4.3 续驶里程预测方法续驶里程的仿真方法有两种一种是在标准循环工况下反复运行直到电池SOC降到设定阈值记录总行驶里程另一种是用某一循环的电耗线性外推。第一种方法精度高但仿真耗时很长。WLTC单次23公里如果续航400公里就要连续仿真17个循环总仿真时间可能超过几个小时。第二种方法虽然快但忽略了电池SOC变化带来的电压跌落和内阻变化误差比较大只适合快速评估方案.我的推荐做法是折中先用单次循环仿真得到百公里电耗再根据电池可用能量除以电耗估算续航。这个估算值虽然会偏乐观一些但在方案阶段足够快捷。到了详细设计阶段再跑多循环连续仿真把SOC从100%跑到10%为止这个结果可以用于算续航对标。跑多循环仿真时有一个小技巧把Model Data Parameter的Set Operation改成Tunable不用每次改参数都Rebuild全模型。用Set_param命令在循环之间动态修改SOC初值和里程累计清零逻辑能省很多建模时间。4.4 再生制动策略对经济性的影响分析再生制动是纯电动汽车拉开与燃油车能耗差距的核心技术也是经济性仿真里最值得花时间精细化建模的部分。再生制动的基本原理是车辆减速时电机反向工作把车辆的动能转化为电能回充到电池。但这里面有几个限制条件电机的再生制动能力受转速影响显著。在高速段可以提供的再生扭矩大在低速段一般低于500rpm大约相当于车速5到10km/h再生扭矩会急剧减小需要机械制动介入。电池的充电功率限制同样影响回收效果尤其在低温或高SOC的场景下电池能接受的充电功率很小超出部分的能量只能通过机械制动浪费掉。在Simulink模型里实现再生制动我常做的设计是制动踏板踩下时先由驱动控制根据电机转速、电池SOC、充放电功率限制计算最大可回收扭矩然后把这个扭矩作为制动扭矩的上限。如果驾驶员需求的制动力矩小于上限就完全用再生制动如果大于上限剩余部分由机械制动承担。这个分层逻辑看起来简单但在Simulink里实现时要注意代数环问题。比较好的做法是让扭矩仲裁逻辑成为单独的函数模块输入是踏板开度和车速输出是电机扭矩命令和机械制动扭矩命令不把车速的计算闭环放到同一个模块里。从仿真结果看再生制动对城市工况电耗的改善约在15%到25%之间。高速工况下制动频率低、减速强度大回收比例小整体改善效果不明显。这也解释了为什么WLTC工况的电耗一般比NEDC更有参考价值——它包含的高速城郊工况更真实不会把再生制动的优势放大得那么夸张。5. 常见问题与排查技巧实录5.1 仿真不收敛或高振荡的问题处理使用Simulink跑整车仿真最常遇到的一个问题是数值求解不收敛现象是仿真在中途报错或者车速曲线出现高频振荡。这个问题的根源不在车辆模型本身而在数值求解器的设置上。整车动力学模型在Simulink里是典型的刚性系统。所谓刚性简单理解就是模型中同时存在变化极快和变化极慢的状态量。比如电池的极化电压变化很慢但驾驶员PID控制器输出的踏板开度变化很快这两个状态在同一个系统里如果采用显式求解器为了匹配快速状态步长必须取得很小导致仿真严重变慢甚至发散。我的建议是整车主模型一律使用ode15s或者ode23t这类隐式求解器最大步长要限制在0.01秒左右相对容差设为1e-3绝对容差设为1e-6。还碰到一种情况即使换了求解器某些模块内部还是会报代数环错误。代数环的本质是信号从输出走向输入时中间没有任何延迟环节导致系统无法直接求解。解决代数环的思路很简单在反馈回路中增加一个Memory模块或者用 Unit Delay 模块引入一个仿真步长的延迟。实际建模中这样做对精度影响很小但能彻底打破代数环。5.2 工况跟随性差的排查思路仿真跑完了但车速曲线一直没有跟上目标工况动力性好的人一看就知道结果不对。排查这个问题我一般按照以下流程来先看驾驶员模型的输出是否达到饱和。如果踏板开度一直顶在100%说明车辆动力不足原因可能是电机峰值扭矩太小、电池功率受限或者是传动比设置不合理。再看轮胎驱动力和行驶阻力的计算模块尤其是坡度阻力项如果工况数据里有不规则的路面坡度这个影响会很明显。最后检查整车质量参数。我遇到过有人把满载质量填成了整备质量的十倍结果显示车辆死活加速不到60km/h查了很久才发现是质量单位错误。还有一个隐蔽点看控制器里是否有限速逻辑。很多驾驶员模型除了PID以外还会额外加一个根据目标车速前馈计算踏板开度的函数。如果前馈系数计算错误会导致稳态误差偏大车速缓慢爬升但始终追不上目标。判断方法很简单把前馈重置为0只保留PID闭环控制如果车辆依然能跟随目标说明前馈设置有问题而不是PID调参问题。5.3 仿真速度过慢的加速技巧多循环续驶里程仿真的时长动辄几个小时经常让人怀疑人生。这里分享几个我实际用过的加速手段。第一个方法是把模型求解器的最大步长适当放宽。比如从0.001秒放宽到0.01秒在大部分工况下精度影响很小但仿真速度可以提升数倍。如果发现放宽后结果有明显差异说明模型本身可能存在高频振荡的现象这时候应该先治振荡而不是守着小步长硬跑。第二个方法是尽量减少不必要的示波器模块。Scope模块本身对仿真速度影响不大但高频率数据记录到工作区会显著拖慢速度所以在跑大批量仿真时我把数据记录改成每0.1秒一个点而不是每个仿真步长都记录。第三个方法是用模型引用Model Reference代替子系统。Simulink普通子系统虽然本地可执行但每次仿真都要重新编译而模型引用可以把编译好的模块缓存起来批量跑直径参数扫描时能省下大量时间。特别是在做传动比选型和电机峰值功率选型这种参数量巨大的优化仿真时模型引用配合Parametric Sweep效率提升不是一点半点。5.4 模型参数版本管理还有一个在团队协作中容易翻车的问题参数版本管理。整车模型的参数分散在MATLAB脚本、模型工作区和Data Dictionary里不同人改了几轮以后经常出现模型文件一致但参数不一致的情况最后仿真结果对不上。我的实践经验是所有参数集中在一个MATLAB脚本里按车辆参数、电机参数、电池参数、工况参数、控制参数五个分类整理脚本文件名标注日期和版本通过Git管理。Simulink模型内部不保存任何参数全部通过From Workspace或者Data Dictionary引用外部参数。这样换电脑、换人只要拉取正确的脚本就能完整复现之前的仿真结果。还有一个细节脚本里所有参数必须写明单位和备注。我曾经因为一个参数同时存在kW和W两种版本导致对标出错后来强制大家在参数命名时带上单位后缀比如P_max_kW、T_max_Nm这个习惯救了很多人。6. 实操心得与进阶方向最后说几个我做Simulink整车仿真几年下来比较有感触的经验。第一仿真模型永远是服务于决策的工具不是越复杂越好。很多初学者喜欢把电池模型换成三阶RC、电机模型加上谐波损耗、轮胎模型换成刷子模型觉得这样才显得专业。但模型每复杂一个等级参数获取难度和维护成本都大幅上升。如果连电池内阻随温度变化的数据都没有强行建一个三阶RC模型只会让仿真结果更不靠谱。我的原则是模型复杂度匹配数据精度没有数据支撑的模型细节一律不做。第二仿真结果一定要留痕。仿真模型的参数是谁改的、模型版本是多少、仿真当时用的求解器设置是什么这些信息都要随结果一并保存。因为整车仿真结果往往需要做多轮评审评审专家问的第一个问题往往是“你这个结果是在什么条件下跑出来的”。如果不记录条件事后补记录往往已经想不起来当初的设置这个教训不止一次出现在我身上。第三如果想继续深入可以考虑把动力经济性模型和部件级仿真模型打通。比如用Simulink里的Simscape搭建电机电磁模型或电池电化学模型然后和整车Simulink模型做联合仿真。低速模型用于评估整车功耗与热管理系统的匹配高速模型则用于策略开发和控制标定。模型从系统级逐步细化到部件级每一层级都能回答不同的问题。这种分层建模的思路是整车仿真能力成熟度的关键标志。如果你手头正好在做纯电动汽车的整车主模型建议先从纵向动力学和驾驶员模型开始把整车参数表校准到和实车底盘数据一致然后逐项验证电机外特性、电池功率限制、再生制动策略的功能表现。跑通了以后再往里面加控制策略模型或者外部环仿真。一步一步来模型才不会变成一锅粥。希望这篇文章里提到的细节能帮你少走一些弯路。