两档AMT的Simulink模型,标题里的“ATM”显然是个笔误,大家应该都懂指的是AMT(电控机械式自动变速箱)。而且这里讨论的不是传统燃油车的AMT,而是纯电车的两档变速方案。这个方向最近几年挺热的,尤其商用车和高端乘用车领域,很多团队都在做,我校正好也在做类似课题,所以看到这个标题挺有感触。目前不少方案还在用单档减速器,两档AMT能在效率和动力性之间找到更好的平衡点。
这篇帖子就围绕“纯电动汽车两档AMT变速箱Simulink模型”这个主题,从建模仿真、策略设计、换挡逻辑到调试过程中的各种坑,完整梳理一遍。主体内容会覆盖技术原理、建模思路、关键参数配置以及调试排错,希望能给正在搞电驱仿真、换挡策略研究的朋友提供一套可以复用的思路。如果你还在纠结单档减速器要不要换成两档AMT,或者正在为换挡冲击度、动力中断这类问题头疼,这篇内容值得花几分钟看完。
1. 为什么纯电动车需要两档AMT
1.1 单档减速器并非万能解
先说一个很多人忽视的事实。现在市面上绝大多数纯电动车都采用单档减速器,比如常见的固定齿比在9:1左右。这种构型简单可靠、成本低廉,也没有换挡冲击的问题,所以成为主流。但单档减速器有一个绕不开的痛点:电机高效区往往在中高转速段,而城市工况下大量时间处于低速大扭矩区间,电机效率其实是有所牺牲的。
举个例子,某款电机额定转速6000rpm,最高转速12000rpm,峰值扭矩280Nm。在30km/h以下走走停停的路况中,电机转速可能只有2000-3000rpm,扭矩需求却不小。这个区间的电机效率如果只有87%,那么每度电都有相当一部分变成了热损耗。单档减速器无法让电机始终工作在高效区间,而两档AMT可以通过换挡改变减速比,让电机在更多工况下靠近高效区。
1.2 两档AMT的构型与工作原理
两档AMT的本质是在单档减速器的基础上增加一组齿轮副和一个换挡机构。常见的构型有两种:一种是平行轴式,两根输入轴分别对应一档和二档齿轮,通过同步器或牙嵌式离合器完成切换;另一种是行星排式,结构更紧凑但控制更复杂。
从工作原理上看,一档齿比大,用于起步和低速爬坡;二档齿比小,用于中高速巡航。换挡过程通常包括:扭矩卸载→摘挡→转速同步→挂挡→扭矩恢复。对于纯电车来说,由于电机响应快、可控性好,转速同步阶段可以直接通过电机调速完成,而不需要像燃油车那样依赖同步器摩擦锥面的转速同步,这就让换挡控制有了更大的发挥空间。
1.3 两档AMT能带来哪些实际收益
从仿真和台架测试的数据来看,两档AMT的收益主要体现在三个方面:
- 效率提升:高速巡航时切换二档,电机转速降低,铁耗和铜耗都下降,实测高速工况效率能提升3%~7%。
- 动力性改善:一档大齿比放大了电机扭矩,起步加速和爬坡能力显著增强,尤其对满载的物流车、SUV这类车型效果明显。
- 成本可控:相比增加电机功率或电池容量,两档AMT的机械结构成本更低,而且能复用现有电机平台。
当然,两档AMT也有代价:换挡过程中必然存在短暂的动力中断,换挡品质直接决定整车的驾驶感受。这也是为什么Simulink仿真在这个领域这么重要——在实车标定之前,先用仿真把换挡策略和扭矩协调逻辑验证清楚,能省下大量的台架时间。
2. Simulink模型整体架构与核心模块拆解
2.1 模型的顶层架构设计
我见过的两档AMT仿真模型,顶层架构大同小异,基本都遵循“驾驶需求→控制策略→执行器模型→整车动力学”的主链路。以下图这个结构为例(这里不画图,用文字描述):
信号流从驾驶循环(Drive Cycle)开始,生成车速和油门踏板开度需求 → 驾驶员模型对目标车速和实际车速做PID跟随,输出踏板开度 → 换挡策略模块根据踏板开度、车速、电机转速判断是否需要换挡,输出换挡指令 → 换挡过程控制模块接收指令,产生扭矩指令和挡位指令 → 电机模型、变速箱模型、整车纵向动力学模型依次执行 → 状态反馈给控制模块形成闭环。
顶层架构需要特别注意接口设计。Simulink建模最忌讳的就是“屎山代码”,信号线乱七八糟,数据总线满天飞。我在实际项目中习惯用Simulink Bus对象统一管理信号,建一个signal_bus.m脚本一次性定义所有总线和信号,模型里全部使用Bus Selector和Bus Creator,保证信号流向一目了然,调试时也能快速定位问题。
2.2 电池模型怎么搭才够用
电池模型没必要一上来就上电化学模型。做换挡策略仿真,核心关注的是母线电压在电机大扭矩请求时的跌落情况,所以用等效电路模型就够了。常见做法是用一个电压源串联一个内阻,电压源的开路电压(OCV)和电池SOC之间用一维查表表示。
开路电压参数可以通过实验数据拟合,或者参考电池厂商提供的OCV-SOC曲线。内阻同样随温度和SOC变化,如果做的是常温仿真,可以暂时忽略温度维度,只做SOC-内阻二维查表。需要注意电池模型的响应带宽,仿真步长固定时,如果内阻模型中有过大的惯性环节,会导致母线电压过渡过程失真,进而影响电机扭矩限制的判断。
2.3 电机模型的等效建模技巧
电机模型不需要跑到有限元那个层级,做系统级仿真,用查表法建模效率最高。核心是两张表:扭矩-转速-效率表,以及峰值扭矩外特性表。
外特性表其实就是一个关于转速的峰值扭矩查表,低速恒扭矩区、高速恒功率区、超高速弱磁区,三段曲线分别建模,用二维查表实现。效率表则是以扭矩和转速为输入,输出效率值,用于计算电机损耗和母线功率。
在Simulink里可以用n-D Lookup Table模块直接实现查表,关键是注意表的维度和插值方法,建议用Linear插值配合Extrapolation,避免仿真中出现查表越界报错。另外,电机转矩响应一般等效为一阶惯性环节,时间常数需要根据电机的电气时间常数和控制器带宽来标定,通常取10~30ms。
2.4 变速箱与整车动力学模型细节
变速箱模型的核心是运动学约束和换挡时序。一档和二档的齿比直接定义了电机转速和车速的比例关系。模型中还需要包含同步器、拨叉的执行机构动态,这部分我用二阶振荡环节近似表达,并加入延迟时间模拟换挡机构的真实响应。
这里给出一个典型的挡位速比配置作为参考:
| 挡位 | 速比 | 主减速比 | 总速比 |
|---|---|---|---|
| 1挡 | 3.14 | 3.20 | 10.05 |
| 2挡 | 1.20 | 3.20 | 3.84 |
整车纵向动力学则基于功率平衡建立,包含滚动阻力、空气阻力、坡度阻力和加速阻力。质量按车型不同设置,轿车取1.6吨,SUV取2.2吨,物流车可以到3.5吨甚至更高。风阻系数、迎风面积、滚动阻力系数这些参数,根据车型标定即可,这里不再赘述。整车动力学方程的核心是力的平衡:驱动力减去阻力等于质量乘以加速度,把车速作为状态变量积分得到。
3. 换挡策略的设计与Simulink实现
3.1 换挡规律的制定逻辑
换挡规律是整个两档AMT策略的核心,它回答了“什么时候该换挡”这个根本问题。传统燃油车常用双参数换挡规律,即以车速和油门开度作为换挡判定依据。纯电两档AMT也可以沿用这个思路,但推荐在此基础上增加电机转速作为第三个参数,原因在于纯电车对转速和效率更敏感。
我实际用的一套换挡规律是这样设计的:
一挡升二挡条件:车速 >= 35km/h 且 电机转速 > 5000rpm 且 转矩需求 < 电机峰值扭矩的60%。
二挡降一挡条件:车速 < 25km/h 或 电机转速 < 3000rpm 或 转矩需求 > 电机峰值扭矩的85%。
这个换挡规律形成一条换挡MAP,是一个二维查表,换挡MAP的标定是整个项目最花时间的地方,没有捷径,只能根据不同驾驶循环反复迭代优化。升降挡之间留了滞回区间(35升、25降),防止挡位在临界点反复横跳,这个滞回设计非常重要,没有它会出现挡位振荡,对车辆和乘员都是灾难。
3.2 状态机设计——换挡过程中的大脑
换挡过程必须用有限状态机(Stateflow)来管理,不建议用纯逻辑模块堆砌。状态机的好处在于逻辑清晰、可扩展性强、可读性好。我设计的状态机包含以下状态:
- 稳态一挡:正常一挡行驶状态。
- 稳态二挡:正常二挡行驶状态。
- 换挡准备:完成扭矩卸载前的前置状态,此阶段请求电机扭矩降至较小值,比如目标扭矩的10%以下。
- 摘挡阶段:等待电机扭矩已足够低,再发送摘挡指令,等待挡位传感器反馈空挡位置。
- 转速同步:根据目标挡位速比和当前车速,计算目标电机转速,请求电机调速至目标转速附近(误差不超过±30rpm)。
- 挂挡阶段:转速同步完成后发送挂挡指令,等待挡位反馈确认。
- 换挡完成:恢复扭矩请求,重新进入稳态对应挡位。
在实际实现中,我使用Stateflow的chart模块,用函数调用的方式执行状态转移条件和动作。每个状态必须有超时保护,比如摘挡2秒超时则触发降级策略,这在仿真和实车调试中都很重要,能避免因为机械卡滞或传感器故障导致换挡过程卡死,整车瘫在路上。
3.3 换挡过程中的扭矩协调控制
很多人第一次做换挡控制时会忽略一个问题:换挡过程中的扭矩协调远比挡位切换本身更复杂。为什么?因为换挡时不仅要保证动力中断尽可能短,还要避免冲击度超标。
扭矩协调的核心包括三个时间段:
第一段是换挡准备阶段,即扭矩卸载。直接阶跃卸载扭矩会产生巨大的冲击度,实测超过30m/s³的冲击度能让人明显不适。正确做法是采用斜坡卸载,斜率设定在300-500Nm/s,同时电机扭矩需求按坡度缓降,扭矩卸载时间控制在250ms左右,既不会因为太慢导致换挡时间过长,也不会因为太快造成冲击。
第二段是转速同步阶段。目前主流策略是电机主动调速,也就是根据目标挡位速比和目标车速,反推目标电机转速,然后通过电机快速跟踪转速。这个环节我用了一个简单的P控制器加前馈,前馈来自滚动阻力预估——起步阻力约520Nm,转速同步精度控制在±50rpm以内。同步完成后,需要快速确认转速差符合挂挡条件,然后立即发送挂挡指令,避免转速飘移导致挂挡失败。
第三段是扭矩恢复阶段,摘挡完成确认在N挡后,再执行挂挡。挂挡完成后,按斜坡恢复请求扭矩,恢复斜率可以比卸载时稍快一些,但也不宜超过800Nm/s,用一段时间把扭矩从负扭矩或零扭矩恢复到目标扭矩,整个过程必须做到扭矩无阶跃。
4. 关键参数标定与Simulink建模实战
4.1 整车参数与动力性能指标
建模之前,整车参数先确定下来,否则动力性和经济性仿真都是空中楼阁。以我最近做的这个模拟项目X为例:
整车整备质量1600kg,迎风面积2.2m²,风阻系数0.28,滚动阻力系数0.012,轮胎滚动半径0.31m,电机峰值功率120kW,峰值扭矩280Nm,最高转速12000rpm,电池容量60kWh。
基于这些参数,可以计算出粗略的动力性能:一挡最大爬坡度约38%,百公里加速时间约7.8s(一挡起步加速到一挡限速点,换二挡后继续加速)。如果换成单档减速器,同样的电机,百公里加速可能掉到9s开外,爬坡度也只有25%左右。这就是两档AMT动力性优势的最直接体现。
4.2 电机模型的Simulink实现细节
电机外特性查表可以用Lookup Table模块,但我想分享一个更实用的小技巧:用函数封装的二维查表,而不是直接裸用Lookup Table模块。原因是换挡策略调试过程中,需要频繁调整电机外特性,封装成函数后只需修改表格数据源,不需要改动模型结构。
实现方式大致如下:在一份纯文本的Excel表格中维护转速-峰值扭矩曲线和效率MAP,通过Simulink的From Spreadsheet模块读取。修改参数时直接改Excel,模型自动更新。这样团队协作时,负责电机参数的同事不用碰Simulink模型,填表就行。
电机扭矩限制逻辑也要放进电机模型:将扭矩请求分为驱动扭矩请求和发电扭矩请求,分别划定正负扭矩边界。特别是换挡过程中转速同步阶段,电机会短暂进入发电状态,通过负扭矩把转速拉下来,这个负扭矩边界如果设置得不合理,会导致转速同步时间过长或无法收敛。
4.3 换挡时序参数配置清单
换挡时序参数直接影响换挡品质,我踩过大坑,所以把参数配置经验整理成表格,方便直接参考:
| 参数项 | 推荐值 | 说明 |
|---|---|---|
| 扭矩卸载时间 | 250ms | 斜坡从峰值扭矩降到零扭矩 |
| 摘挡延迟时间 | 100ms | 扭矩归零确认后,再等待拨叉动作 |
| 转速同步精度 | ±50rpm | 目标转速与实际转速的允许误差 |
| 挂挡时间 | 200ms | 拨叉推动同步器到位时间 |
| 扭矩恢复时间 | 300ms | 从零恢复到目标扭矩 |
| 总换挡时间 | 约850ms | 从开始到扭矩完全恢复 |
850ms看起来不算快,但在电驱AMT里属于正常区间。如果强行追求600ms以内,需要提高电机调速响应速度,同时增大同步器摩擦锥面的容量,机械成本和可靠性都会受影响。仿真中可以尝试压缩时序参数看冲击度的变化趋势,为结构选型提供参考依据。
4.4 Simulink求解器与仿真步长选择
这个经常被新手忽略,但对结果影响很大。换挡过程仿真涉及快速变化的扭矩信号和可能导致的数值振荡,求解器选型方案如下:
连续部分(电机、整车动力学),用ode45(变步长)跑自由工况仿真;换挡过程需要固定步长,我用ode4(四阶龙格库塔),固定步长1ms。固定步长可以避免变步长在扭矩阶跃点附近陷入极小的步长、导致仿真速度极慢的问题。
如果做硬件在环(HIL)测试,步长通常取1ms,控制模型和物理模型放在同一个中断周期执行。用定步长仿真跑换挡过程时,数值稳定性必须检查——加一个小的惯性滤波环节在扭矩指令路径上,可以滤掉高频数值噪声。
5. 换挡仿真工况设计与结果分析
5.1 典型换挡仿真工况如何搭建
为了充分验证换挡策略的鲁棒性,建议至少设计四种典型仿真工况:
- 全油门起步连续换挡:0-80km/h全油门加速,验证极限工况下换挡过程是否稳定、冲击度是否超标。
- 部分油门稳态换挡:30%油门开度,车速缓慢过换挡点,模拟日常驾驶场景,重点考察换挡平稳性。
- 坡道换挡:5%坡度满载起步换挡,考察大阻力工况下扭矩协调是否到位。
- 松油门滑行降挡:车速从60km/h松油门滑行,经过降挡点触发降挡,考察再生制动和降挡过程的交互。
每种工况跑完,重点看三组曲线:车速-时间曲线看换挡过程动力中断时长;纵向加速度-时间曲线看冲击度;电机转速-时间曲线看调速过程中的转速轨迹是否平滑、是否出现超调。
5.2 仿真结果怎么判读
这里给出一个典型换挡仿真结果的分析思路。以全油门一挡升二挡工况为例:
第0ms换挡指令发出,电机扭矩开始卸载,车速曲线斜率逐渐变缓,这是动力中断的开始;约250ms后扭矩卸到零,挡位反馈开始动作;第350ms左右挡位进入空挡,电机进入转速同步模式,此时电机会短暂反向施加扭矩,目的是把电机转速从一挡对应的高转速(比如7000rpm)拉低到二挡对应的低转速(比如2800rpm);第550ms转速同步完成,挂挡指令发出,挡位在200ms内完成切换;第750ms扭矩开始恢复,车速继续上升。
整个过程中,纵向加速度先下降,在转速同步阶段可能出现轻微的负值(减速感),随后恢复正值。冲击度峰值通常出现在扭矩卸载启动和扭矩恢复完成两个时刻,正常标定水平应控制在10m/s³以内,舒适性才合格。如果冲击度超过17m/s³,生理上就会有不舒服的感觉,需要回头检查扭矩斜率设定是否过快。
5.3 效率仿真与经济性结果分析
除了动力学性能,两档AMT最核心的价值在效率提升。仿真的效率分析方法如下:
以NEDC(新欧洲驾驶循环)跑能量消耗仿真,对比单档减速器和两档AMT的整包电量消耗。重点记录电机工作点在效率MAP上的分布。
我实测的一组对比数据:单档减速器在NEDC循环下电机平均效率88.5%;两档AMT同样循环下平均效率92.1%。折算到百公里电耗,从14.8kWh/100km降到13.9kWh/100km,续航提升约6%。如果换成更偏向高速的工况(比如120km/h恒速),效率优势更加明显,电机平均效率可以到93.5%。这个数据也符合行业公开文献的结论范围,可以当作方案可行性验证的参考。
6. 建模调试过程中的常见问题
6.1 代数环问题与处理方法
Simulink仿真中最常见的报错之一就是代数环。换挡策略模型里,扭矩请求和反馈信号常常形成循环依赖:扭矩指令影响转速,转速又影响扭矩计算,如果反馈路径没有延迟,就会形成代数环。
处理代数环有三种常用手段:断开环路加Memory模块;将反馈信号延迟一个采样周期;在环中插入连续惯性环节。
我实际推荐第三种,在扭矩反馈路径上加一个时间常数为5~10ms的一阶惯性环节,既打破代数环,又更真实地模拟传感器响应。Memory模块做法虽然简单,但会引入不必要的纯延迟,偶尔会造成控制性能下降。
6.2 换挡失败与挡位振荡的排查思路
换挡失败在仿真中通常表现为挂挡超时或挡位在N挡与目标挡位之间来回跳动。一旦出现这类问题,排查思路按优先级排列:
第一步检查挡位传感器逻辑是否可靠,确认挡位反馈信号有没有毛刺,Stateflow状态转移时是否加上了边沿触发。
第二步检查转速同步精度是否达标,如果目标转速和实际转速差超过±100rpm,同步器挂挡时就会产生明显的敲击声甚至挂不上挡,在仿真里表现为挂挡动作超时。对应措施是调整电机调速环路的P参数,或增加一个微小的转速超前校正。
第三步检查扭矩协调的时间逻辑,确认扭矩卸到零之后再发摘挡指令,否则带载摘挡会导致齿轮啮合面受力异常,反映在仿真里就是状态卡死。
挡位振荡大部分原因是换挡MAP的滞回区间不够,或车速波动导致反复跨越换挡线阈值。前期做标定时,滞回区间宽度要合理:升挡线和降挡线之间至少保持5~8km/h车速差,同时可以在换挡逻辑中增加计时器,比如换挡结束后5秒内禁止再次换挡。
6.3 积分发散与数值不稳定的应对
仿真中途出现车速发散或者电机转速飞升,多数情况是数值问题,不是控制问题。典型的例子:整车动力学模型中的积分模块在车速接近零时与阻力模型产生病态耦合,导致车辆在完全停车之前出现数值振荡。
我的应对手法是在积分模块前加限幅器,并在阻力模型中加一个低速粘滞项,车速低于0.5km/h时直接按0处理。另外,整车模型质量块的仿真步长如果选择不当,也会产生类似问题,可以考虑把整车质量按刚体处理,并用默认的ode4步长1ms重新验证。
还有一种情况是换挡过程中转速同步阶段电机模型查表越界。转速目标可能超过最高转速,或者低于最低转速,查询时轨迹外插产生了飞增。处理方式是查表模块全部开启Saturation on overflow,彻底杜绝外插数值异常。
7. 从仿真到实车的经验心得
7.1 仿真和台架的差距在哪里
仿真模型做得再精确,也不可能完全复现实车情况。最大的gap往往在摩擦、间隙、温漂这些非线性因素上。比如同步器在低温时挂挡阻力会增加,这在纯仿真模型中根本体现不出来,但实车上一到冬天就会出现挂挡时间变长的问题。
以我的经验,仿真模型的主要价值不在于精确预测实车表现,而在于验证逻辑正确性和趋势一致性。换挡策略的框架、状态机逻辑、扭矩协调的时序关系,这些在仿真中验证到位之后,台架和实车阶段的调试就会顺利很多。反过来,台架数据又可以用来校准仿真模型,形成迭代闭环。这是整车开发流程中很标准做法,也是模拟项目X能够快速推进的关键。
7.2 换挡品质标定的个人心得
换挡标定这活没有标准答案,极其依靠经验积累。我试过几轮之后,最大的体会是“慢就是快”——每个参数做小步长调整,看趋势变化,同时记录,别贪心一次调多个参数。
扭矩卸载斜率是影响冲击度的第一要素,优先标定;转速同步精度是影响挂挡成功率的第一要素,第二个标定;扭矩恢复斜率次之,标定优先级最后。这个顺序如果搞反了,会陷入参数耦合的泥潭,调了一天可能还在原地打转。
另外说一个细节:仿真中看到的冲击度是理想化的,通过整车上的人体感受,和冲击度数值有关联但不是绝对对等。频率也是感受的重要维度,同样的冲击度在不同频段给人的感觉完全不同。所以仿真标定时建议同时关注冲击度曲线的高频分量,如果出现明显的高频振荡,即使峰值不大,实车上也可能被评价为“顿挫明显”。
7.3 后续值得深入的方向
两档AMT的仿真模型做到这个程度只是一个起点,后续还有不少可以继续深入的扩展方向。
一是与电池热管理模型耦合,研究换挡频繁工况下电机和电池的热负荷变化,为热管理策略提供输入边界条件。
二是引入更精细的同步器摩擦模型和磨损模型,把换挡过程从“逻辑是否对”提升到“机构是否耐用”,为机械设计提供仿真依据。
三是做多目标优化,以换挡时间、冲击度、摩擦功、电机能量消耗为优化目标,对不同驾驶工况的换挡MAP进行离线优化。这个方向需要配合全局寻优工具箱,比如多种群遗传算法,工作量不小,但产出的换挡MAP比人工标定的曲线在效率上往往能再提升一到两个百分点。
个人认为两档AMT目前还处于技术爬坡期,控制策略是核心竞争力,而Simulink模型就是验证控制策略的最佳试验场。希望这篇帖子里分享的建模思路、参数标定逻辑和调试经验,能给正在做相关工作的同行少走一些弯路。