新闻  |   论坛  |   博客  |   在线研讨会
零跑新能源动力电池CAN数据采集BMS协议速锐得DBC开发方案
suruide | 2024-04-07 10:43:26    阅读:30   发布文章

电池系统是电动车发展的瓶颈,除了电池材料外,充电方式是影响电池性能的重要因素。目前,动力电池厂家在电池包中设计一个电池管理系统(Battery Management System,BMS)对电池进行维护,因为电动汽车往往采用汽车行业通用 CAN 总线控制网络,所以动力电池厂家的电池管理系统一般提供 CAN 总线接口。设计具有的 CAN 总线接口智能充电机,实现充电机与 BMS的通信,读取电池的参数,如电池只数、电池容量、电池荷电状态(State-Of-Charge,SOC)以及电池的温度等,实现智能充电,克服过充等不良充电行为,提高动力电动汽车电池管理系统和充电机的协调性,动力电池预警评估数据采集协议开发具有实际推动意义。

零跑C11-01.jpg

 

一、数据采集CAN盒硬件接入

速锐得采用GD系列的高速混合信号微控制器 F105类型 作为主控单元,实现对充电机电压、电流、温度、故障、开关机等的采集和控制,并实现与电池管理系统的通信。高速混合信号微控制器结合NXP,系统就包含一个完整的 CAN 数据收发,可以实现 CAN 标准 2.0B 通信。在实际应用中,CAN 总线需要与微控制器单元电气隔离, 实现系统可靠运行。我们采用NXP公司2008年推出的专用于混合动力电动汽车的双通道数字隔离器ATJ1044 进行隔离,采用 Philips Semiconductors公司的 PCA82C250 作为总线驱动器。

零跑.jpg

 

三、数据采集解析工具选择

动态采集电动汽车电池组的参数研究和电池性能参数,我们选SPY3工具,将USB转CAN用的软件分析仪和诊断仪配合,解码匹配获取支持电动汽车电池预警的CAN数据并记录,分析并应用于动力电池CAN数据采集和解析。我们EST558SCAN采集是完全集成的混合信号片上系统型 MCU,具有 64 个数字 I / O 引脚,片内集成了一个CAN 2.0B 控制器。片内 JTAG 调试电路允许使用安装在最终应用系 统上的产品MCU 进行非侵入式(不占用片内资源)、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和指定CANID监测命令。在使用 JTAG 调试时,所有的模拟和数字外设都可全功能运行,为研究电池性能提供可靠的数据参考。

CAN与电池管理系统的交互通信,为了增加可靠性,CAN总线必须隔离,可以使用高速光耦进行隔离,对车速电池功率、电池温度特性要求较高的混合动力电动汽车极具挑战性的应用环境中,光电耦合能满足可靠性和质量的要求。

 

四、数据流向

根据零跑BMS动力电池CAN数据采集协议开发需求,动力电池实时数据最终会显示和存储,为此,我们把动力电池数据分成三个部分,数据采集、数据传输和数据管理。该项目,我们只需要处理数据采集即零跑车型车载BMS电池端子系统相关的CAN数据。

零跑C11-02.jpg

 

五、服务方案

1、车型数据匹配

项目方提供零跑样车用于调试,因为当下零跑车型在市面上见到不多,而且租赁公司或者租车车队里,并不包括有这款汽车。

2、CAN卡口工具

我们通过淘宝或者其他电商渠道或者诊断仪经销商,购买到对应的CAN卡口工具,可能会存在资源缺乏的情况,但是我们一定会尽力而为,通过工具和工程师二者的配合,交付零跑汽车必要的CAN数据。

3、数据采集

根据项目车型找出该车的CAN接口、网关、控制单元位置,并标记拍图。连接后,如果一个参数的数据长度大于8个字节,那么用一个CAN数据帧就不足以传输该组参数组的所有内容,我们采用新的传输协议,用于长度大于8个字节的参数进行打包重组,连接管理以及数据传输,在使用传输协议对参数组进行采集和传输时候,将参数组拆分成若干个数据包,每个CAN数据帧表示一个数据包,CAN数据帧中的8个字节数据场,首字节定义为数据包的序列编号,其余字节为参数组中包含的数据内容,数据包发送按序列编号的增递顺序发送,直到所有数据都被传输完毕,逆向开发出该车型的动力电池数据。

零跑C11-03.jpg

 

4、自用的软件设计

采集系统采用C语言进行软件编程,按照模块化设计思路进行编译,包括主程序、初始化程序、CAN发送数据程序,CAN接收数据程序,A/D转换及定时中断唤醒等,可以支持独立CAN报文发送和无用帧CAN数据的总线激活。

5、数据验证管理

通过SPY3的USB转CAN模块与电池管理系统BMS进行数据通信,主要用于仪器控制、数据采集、数据分析等领域,是一个功能强大、方便灵活的虚拟仪器开发环境,它提供了大量的连接机制,通过DLLs、共享库、ActiveX等途径实现与外部程序代码或软件系统的连接。通过实际路况的数据采集对数据进行统计分析。运行内容包括:电池组动态一致性、电压、电压、平均电压、输出电流、制动电流、输出能量、反向制动能量、温度、温度等。然后对系统进行上位机的软件设计与开发,能够采集并存储大量的测试数据,为建立完善的电池组数据库提供了可靠的数据资源,对电池技术的发展与完善做出可靠的实验数据。

零跑C11-04.jpg 

我们还可以通过打开保存的DBC数据文件,经分析计算电池组一致性、电池组容量、电池组内阻等重要参数,统计分析电池状态,打印电池运行情况,做到真正意义上的数据解码,同步我们会输出自定义的DBC逻辑,以便于最终交付验证使用。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客