汽车作为一个上万零部件组成的工业品,从设计研发到试制调试再到路试可靠性测试再到车辆批量生产,要经历一个相当长的周期。在设计研发阶段,从设计方案与原理上尽量减少故障出现的可能,在试制调试阶段,通过全面的调试测试发现问题进行优化,减少故障出现的可能,在路试可靠性测试阶段通过各种工况,包括高温、高寒、高原、坏路、山路等极限工况的实车测试,进一步将产生的故障进行原因分析及优化。即使这样,在实际用车过程中,仍然可能会出现一些故障,因此,我们要将故障检测出来,由车辆控制器进行故障情况下的处理,保证人员及车辆安全,另外,要将故障码发送出来,由仪表显示故障码,提示驾驶员小心驾驶,并将车辆送至维修站维修。本文介绍电动汽车VCU的故障分类,故障码发送策略以及Simulink建模方法。
目录
一、电动汽车VCU故障分类
故障检测与处理模块是VCU必备的模块,VCU检测到的故障类型一般分为以下4类:
1、控制器供电电压异常
主要包括供电电压过低和供电电压过高,比如12V系统的控制器正常工作范围为9-16V,超出此范围,控制器无法正常工作,判定为供电电压异常故障。
2、与其他控制器通讯丢失
主要包括与BMS、MCU通讯丢失,此时无法正常通讯控制,车辆处于失控状态,需进行下高压停车处理;此外还有EPS通讯丢失、ABS通讯丢失等故障,需要根据故障严重程度进行判断处理。
3、油门、制动、档位等信号故障
采集的油门信号超出设定的正常范围,制动开关与制动行程值不一致,没有档位信号有效或两个以上档位信号同时有效,此时也会严重影响行车安全,VCU将判定故障,并根据故障严重程度进行判断处理。
4、接触器响应超时故障
主要包括主负接触器闭合断开超时故障,主正预充接触器闭合超时故障,主正接触器闭合超时故障等,当VCU发出相应控制指令后,规定时间内,未接收到PDU反馈的接触器闭合或断开状态信号,即报接触器响应超时故障,这类故障一般会影响车辆上高压,导致车辆无法行车。
二、VCU故障码发送策略
VCU进行故障判定后,VCU会根据故障严重程度进行相应的故障处理,另一方面会将故障码发送出来,由仪表接收后显示,提示提示驾驶员小心驾驶,并将车辆送至维修站维修。
1、故障码发送触发条件,一般在判定钥匙ON挡信号有效后开始发送故障码。
2、VCU判定故障后,最初只有故障状态标志位而没有故障码,因此需要将标志位进行排序输出,比如1、2、3……,当检测到该故障发生时,则发送该故障的故障序列号
3、故障码发出后,是要显示在仪表,由于需要驾驶员及维修人员观察,因此故障码显示变化的周期不能太短,避免跳动过快,无法看清,一般将故障码发送的周期定为1s
4、在VCU进行故障判定时,需要对设定的故障依次进行判定,如果出现该故障,则报出对应的故障序列号,如果未出现该故障,则跳过该故障判定模块,进入下一故障判定模块,循环判定,并发送检测出的故障序列号
5、由于整车有很多控制器,每个控制器都会进行故障判定与故障码输出,如果各控制器都发送1、2、3……这样的序列号,在仪表显示时会造成混乱,无法判定是哪个系统的故障,因此,一般在车辆设计之初,各系统会约定故障码显示区间,比如VCU显示区间为100-199,当故障序列号报出后再进行转换,转换为该控制器分配的故障码范围。
三、故障码发送Simulink模型搭建
1、输入信号
KeyON_Sw:钥匙ON挡信号
VDIAG_BatOvv_Flt:供电电压过高故障
VDIAG_BatUdv_Flt:供电电压过低故障
BMS_CANTimeOut_Flt:BMS通讯丢失故障
MCU_CANTimeOut_Flt:MCU通讯丢失故障
EPS_CANTimeOut_Flt:EPS通讯丢失故障
ABS_CANTimeOut_Flt:ABS通讯丢失故障
VDIAG_PreChrg_Flt:主正预充接触器闭合超时故障
VDIAG_MainRly_Flt:主正接触器闭合超时故障
VDIAG_MainNegRlyON_Flt:主负接触器闭合超时故障
VDIAG_MainNegRlyOFF_Flt:主负接触器断开超时故障
VDIAG_APBat1_Flt:油门踏板1供电电压故障
VDIAG_APBat2_Flt:油门踏板2供电电压故障
VDIAG_APDiff_Flt:两路油门踏板信号差异过大故障
VDIAG_APVolt_Flt:油门踏板故障(两路油门踏板均有故障)
VDIAG_AP1OvPc_Flt:油门踏板1信号电压超限故障
VDIAG_AP2OvPc_Flt:油门踏板2信号电压超限故障
VDIAG_Brk_Flt:制动踏板故障
VDIAG_Gear_Flt:档位故障
2、输出信号
VDIAG_FltCode:故障代码
3、控制逻辑模块
1)故障码发送触发条件,当检测到钥匙ON挡信号后,开始发送故障代码
2)故障代码发送控制逻辑架构
当接收到钥匙ON挡信号进入故障码发送模块后,将判定的故障状态标志位输入到stateflow,并输入故障码发送周期1000ms,由于VCU应用层程序运行周期为10ms,即10ms运行1次,因此输入周期值乘以0.1。故障判定后输出的CodeNmb为故障码序列号,从1开始,需将此序列号进行转换,转换为VCU定义的故障码范围100-199
3)故障码判定及输出模块
进入故障码判定模块后,开始逐一判定输入的故障判定结果即Flt_Flg是否为1,如果为1,则说明当前存在该故障,比如检测到Flt_Flg1=1,进入Flt1故障模块,输出故障码CodeNmb=1,同时开始计时,当计时超过1000ms后,进入下一个故障的判定,如果Flt_Flg2≠1,则跳过Flt2模块,进入下一个故障码判定模块,以此类推,将所有故障码判定一遍之后,如果当前Flt_Flg1~Flt_Flg18存在为1的,则继续循环判定故障码,如果Flt_Flg1~Flt_Flg18全部为0,则退出故障码判定循环,进入无故障模块NoFlt,故障码输出为0
4)整个故障码判定循环
5)故障代码转换模块
将输出的故障码序列号输出后,输入给Multiport Switch模块,数据端口数量设定为18,输出故障码与输入故障码序列号一一对应,比如1对应100、2对应101,以此类推
四、总结
本文介绍了电动汽车VCU故障分类、VCU故障码发送策略及故障码发送Simulink模型搭建方法,本文中介绍的故障码只是一些关键的故障码,实际车辆的故障代码要远多于此,但是判定方法是一样的,希望能给相关技术人员带来一些参考帮助。
欢迎关注同名微信公众号:汽车电控研习室