商用车动力电池故障诊断系统开发
2023-08-27曹学自宋兴鑫王涛王秀鑫
曹学自 宋兴鑫 王涛 王秀鑫
【摘 要】为提高商用车动力电池的安全性和可靠性,保证车辆安全平稳地行驶,开发一套动力电池的故障诊断系统。该系统基于SAE J1939协议选取诊断参数组,搭建Simulink诊断策略模型,并通过CANoe完成系统的仿真测试。测试结果表明:开发的故障诊断系统能够对商用车动力电池的实时数据进行故障分析及处理,实现对动力电池故障诊断功能,保证车辆的行驶安全。
【关键词】SAE J1939协议;电池管理系统;故障诊断;Simulink仿真
中图分类号:U469.72 文献标志码:B 文章编号:1003-8639( 2023 )08-0017-03
Development of Power Battery Diagnosis System for Commercial Vehicles
CAO Xue-zi,SONG Xing-xin,WANG Tao,WANG Xiu-xin
(Weichai Power Co.,Ltd.,Weifang 261200,China)
【Abstract】In order to improve the safety and reliability of commercial vehicle power batteries and ensure safe and smooth driving of vehicles,a fault diagnosis system for power batteries has been developed. The system selects diagnostic parameter groups based on the SAE J1939 protocol,builds a Simulink diagnostic strategy model,and completes system simulation testing through CANoe. The test results show that the developed fault diagnosis system can analyze and process real-time data of commercial vehicle power batteries,achieve fault diagnosis function for power batteries,and ensure the driving safety of the vehicle.
【Key words】SAE J1939 protocol;battery management system;fault diagnosis;Simulink simulation
作者简介
曹学自(1995—),男,硕士,初级工程师,主要研究方向为智能硬件测试。
随着新能源动力技术的全球普及,商用车电池動力技术迎来了高速发展。动力电池作为车辆行驶的核心动力发挥着至关重要的作用,电池的安全性和可靠性越来越成为人们关注的焦点。为了实时监控商用车动力电池的工作状态,避免因电池发生故障威胁到驾驶员和车辆的行驶安全,开发了商用车的动力电池故障诊断系统。
1 故障诊断系统总体架构设计
图1为故障诊断系统的总体架构。电动商用车的动力电池由多个单体电池串联而成,系统通过两种方式获取电池组数据,一种是系统自身对电池组进行数据采集,例如电池电压和电池温度;另外一种是通过CAN总线接收来自于电池管理系统的电池组数据,例如工作电流以及电池电量等。系统对获取的数据进行分析整理,发送到诊断上位机进行故障显示。
1.1 故障诊断系统硬件架构设计
故障诊断系统主要用于动力电池的故障分析,核心外围硬件电路包括A/D采集电路、CAN收发电路以及供电电路。故障诊断系统硬件架构如图2所示。单片机为系统核心控制单元,负责数据的分析与处理;单片机供电电压为5V,DCDC将车载24V电源转化为5V电压给单片机供电。CAN通信电路由CAN收发器、共模滤波器及CAN接口组成,用于外部通信。选用高收发速率及抗电磁干扰能力强的CAN收发器可以进行高效的数据传输;共模滤波器用于过滤电路中的干扰信号,提高CAN总线的抗干扰能力;CAN接口为控制器与外部通信的CAN总线接口。A/D采集电路用于采集动力电池的电压、电流等参数,作为单片机故障诊断分析的数据输入来源。
1.2 故障诊断系统软件架构设计
1.2.1 故障诊断协议
SAE J1939协议是美国汽车工程协会为中重型道路车辆制定的推荐标准协议,本文基于SAE J1939协议选取3个诊断参数组实现对动力电池的故障诊断,分别为当前故障代码DM1、历史故障代码DM2和清除历史故障代码DM3,对应的参数组编号PGN分别为0x00FECA、0x00FECB和0x00FECC[1-3]。诊断上位机通过CAN总线对故障诊断系统发出请求,报文数据中携带被请求的参数组PGN,然后系统回复请求并将相应的故障诊断码(DTC)信息打包发送给上位机,最后诊断上位机接收故障信息并进行处理[4]。在诊断流程中诊断参数组DM1不需要诊断工具的请求,系统就可以周期性地向诊断工具发送故障消息。
故障诊断码DTC由4个部分组成,分别为可疑参数组编号(SPN)、故障模式标志(FMI)、可疑参数组编号转化方式(CM)和故障发生的次数(OC)。商用车动力电池部分故障如表1所示。
当动力电池无故障发生或者仅有单个故障发生时,故障信息采用单包发送方式,单帧报文的数据格式如表2所示。其中字节1为故障灯状态字节,第3~6字节为DTC所在的字节,其余为保留字节。当动力电池发生多个故障时,仅凭一个CAN数据帧无法发送全部的故障数据,系统发送故障时需要采用协议中规定的数据多包发送方式[5]。系统首先发送一个TP.CM_BAM公告信息,信息包含报文字节数、参数组编号和被拆分的数据包数目等内容,接着发送被拆分的TP.DT数据包信息。协议规定将所有的故障信息拆分为多个数据帧,然后将拆分的数据打包发送到CAN总线,其中每个数据包的字节1为数据帧的编号,第1个数据包的字节2为故障灯状态字节,字节3为保留字节,剩余字节填充动力电池的故障码DTC,其余数据包字节格式为数据帧编号加DTC。其中DTC按故障发生的顺序依次填充到数据帧中,当最后一个数据帧的数据小于7个字节时,剩余的字节填充为0xFF[6-7]。表3为TP.DT数据包信息,表4为TP.CM_BAM公告报文数据格式。
1.2.2 故障诊断策略
本文进行动力电池故障诊断功能设计时,首先需要根据商用车的实际工作状况以及所实现的功能进行诊断策略分析,分析可能出现并影响商用车电池安全的故障,然后结合SAE J1939协议进行故障归类以及对故障代码进行定义。诊断系统对采集的数据进行分析,若超出数据范围即可认定动力电池产生故障,诊断系统计算出故障发生的次数然后打包DTC,通过CAN总线发送到系统诊断工具。当诊断工具发送请求时,若请求的诊断参数组为DM2,诊断系统会将历史故障码通过DM2报文发送到诊断工具,其中DM2与DM1报文数据格式相同,若请求的诊断参数组為DM3,VCU将清除历史故障码来释放存储空间故障[8]。
图3为诊断系统Simulink策略模型。模型中On_Switch为系统唤醒信号数组,包含Key_On整车唤醒信号、RTC_On时钟唤醒信号及Charge_On充电唤醒信号,是系统诊断策略执行的钥匙,Switch模块对唤醒信号值分析处理后输出WakeUp_Switch作为故障整理模块Error的执行信号;Cell1_Vol、Cell2_Vol、Cell3_Vol、Cell4_Vol为56路单体电压输入值,每个输入变量为14路单体电压数组,Cell1_Temp、Cell2_Temp、Cell3_Temp、Cell4_Temp为16路单体温度输入值,每个输入变量为4路单体温度数组;I_Chr为充电电流,I_Work为放电电流,SOC为电池SOC,Total_Vol为电池总压。
Error_Cell_Vol模块、Error_Cell_Temp模块、Error_Current模块、Error_SOC模块、Error_Total_Vol模块分别为对应数据采集值的故障分析模块,确认为故障后,将故障状态发送给Error模块进一步分析处理,然后得到Error_SPN、Error_FMI、Error_OCC填充到DTC中。
2 系统测试仿真
CANoe是Vector公司推出的针对CAN总线开发的软件,可以对CAN总线进行在线仿真测试[9]。在完成策略模型的搭建后,关联需要的信号线与信号名称,利用Simulink中的自动代码生成技术生成嵌入式C代码,将生成的c文件和h文件与系统控制器的底层代码结合,把程序写入到控制器中[10],然后将系统控制器的CAN线引出并与CANoe进行连接,对故障诊断系统的诊断功能进行实际测试,实物连接图如图4所示。
系统诊断上位机包含故障指示部分、故障解析部分及控制部分。故障指示部分用于显示对应的故障状态,包含单体电压、单体温度、电池总压、快/慢充充电电流、放电电流、电池SOC 6个种类的故障,不同等级的故障对应不同的指示灯,从左到右分别为红灯、黄灯和绿灯,代表着严重故障、一般故障和无故障。故障解析部分用于故障信息显示,显示故障的序号、名称、故障码、故障等级及故障值。控制部分为上位机的控制按钮,START为上位机启动按钮,END为上位机关断按钮,历史故障按钮用于请求系统的历史故障信息,保存故障按钮可以保存故障信息,并保存成文件,便于故障报文分析。清除故障按钮可以清除当前故障页面显示的故障信息。图5为诊断上位机界面。
1)单故障测试:对系统控制器的输入端注入30V的模拟电池总压,制造电池总压过低故障,上位机单故障诊断页面如图6所示。系统检测到电池总压故障后,将故障信息打包转发给系统诊断上位机,电池总压故障亮红灯表示系统存在严重的电池总压故障,然后显示模块解析出电池总压的故障信息,其余指示灯为绿灯表示动力电池无相关故障,故障解析正确。
2)多故障测试:对系统制造单体电压、快充充电电流、放电电流及系统SOC相关的4个故障,并注入相关故障的数值,其中单体电压及电池SOC注入最严重等级故障,快充充电电流及放电电流注入一般等级故障。上位机多故障诊断页面如图7所示,单体电压与电池SOC诊断亮红灯表示其存在严重等级故障,快/慢充充电电流与放电电流亮黄灯表示其存在一般等级故障,显示模块解析出相关部分的故障信息,故障解析准确。
3 结论
本次设计中,研究开发的商用车动力电池故障诊断功能基于SAE J1939协议,通过实际测试得到以下结论。
1)选取的诊断参数组,符合商用车实际工作时的需要。
2)制定的商用车动力电池故障诊断策略,符合诊断的需求。
3)CANoe测试的结果,符合实际的故障状况。系统控制单元能够将采集的数据进行分析,将不符合要求的数据进行故障分析,产生相应的故障报文发送到CAN总线上,以便诊断工具读取相应故障数据进行处理,保证了新能源商用车工作时对故障检测的实时性和准确性,做到不遗漏故障。
4)本文对新能源商用车动力电池故障诊断功能的研究和开发符合设计需要,能够满足不同车辆故障工况下动力电池的故障诊断,提高了故障诊断的效率。
参考文献:
[1] 翟霄雁,郭庆波,高发廷. 车辆电控系统故障诊断的去抖动方法研究[J]. 汽车电器,2020(10):46-48.
[2] 刘畅,覃永新,陈文辉. J1939协议在车载诊断仪的应用研究综述[J]. 科技展望,2016,26(1):119-120.
[3] 潘文卿,李圣展,王梦,等. CANFD协议在故障诊断中的研究与应用[J]. 汽车电器,2022(7):46-48.
[4] 李桉楠,季金强. 浅谈纯电动车辆故障诊断及处理[J]. 汽车电器,2019(10):29-31.
[5] 谢娟娟,李晋,郑创明. SAE J1939多包传输协议及应用分析[J]. 周口师范学院学报,2016,33(2):66-70.
[6] 温晶晶,韩峻峰,郭毅锋,等. 基于CAN的纯电动汽车电驱动故障诊断研究[J]. 工业控制计算机,2016,29(11):35-36.
[7] 许星. 浅谈汽车线控技术及其故障诊断[J]. 汽车电器,2017(8):67-68.
[8] 张继辉,许勇. 基于SAE J1939的车辆监测与故障诊断车载系统[J]. 计算机系统应用,2013,22(3):73-77.
[9] 丁志华,罗峰,孙泽昌. 基于CANoe的汽车故障诊断系统研制[J]. 汽车工程,2007,29(5):449-452.
[10] 冯辉宗,孙瑞雪,蒋建春,等. 基于Simulink的汽车电控单元标定工具箱设计与实现[J]. 科学技术与工程,2014,14(6):203-206,230.
(编辑 凌 波)