《电子技术应用》

基于CANalyzer的BMS软件设计虚拟平台技术的研究

2017年微型机与应用第6期 作者:姚航1,任晓明1,那伟1,王晴2,曹辉2
2017/4/10 20:48:00

  姚航1,任晓明1,那伟1,王晴2,曹辉2

  (1.上海电机学院 电气学院,上海 200240; 2.上海航天电源技术有限责任公司,上海 201615)

       摘要:电池管理系统(BMS)是电动汽车上的核心部件之一,其安全性、稳定性尤为重要。介绍了BMS的整体结构和软件流程图,从软件设计上介绍了V开发流程,并提出了一种基于CANalyzer的BMS软件虚拟平台技术;将采集到的实际运行数据导入到虚拟平台中,从而能够模拟真实情况下的软件运行环境,能够更可靠地对已编写好的软件代码进行测试和功能验证,缩短软件开发周期。最后通过试验,验证了该技术的有效性。

  关键词:BMS;V开发流程;软件开发;虚拟平台技术

  中图分类号:TP311文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.06.024

  引用格式:姚航,任晓明,那伟,等. 基于CANalyzer的BMS软件设计虚拟平台技术的研究[J].微型机与应用,2017,36(6):80-83.

0引言

  *基金项目:上海市闵行产学研合作项目(2016MH320);上海电机学院研究生科创项目随着“十三五”规划的制定和发布,新能源汽车行业再度被提及,新能源汽车的发展将进一步向前推进。电动汽车作为其中的主力军,其技术的发展和创新也是重中之重[1]。

  电池管理系统(BMS)作为电动汽车上的主要核心部分之一,管理着电动汽车的动力来源,其安全性、稳定性、可靠性显得尤为重要。近年来,随着电动汽车行业市场的崛起,BMS技术也得到了一定程度的发展和进步,但是也存在一些不足。文献[2]对新能源汽车技术及其产业化进行了总结,并展望了未来5年新能源汽车科技研发的重点。文献[3]从软件的系统架构、软件设计和研发过程管理3个方面对BMS的软件工程做了具体阐述。文献[4]介绍了基于AUTOSAR标准的BMS软件开发流程,采用dSPACE公司的SystemDesk和TargetLink软件为工具完成软件开发。

  本文研究了BMS的结构、功能,并介绍了软件V开发流程和BMS软件流程架构,设计了一种基于CANalyzer的软件开发虚拟平台技术。在BMS软件开发以及后期功能升级维护的时候,使用该虚拟平台技术,能够结合实际工况采集的数据,模拟出BMS系统在真实环境中的运行,从而检测软件程序的正确性和可靠性。

1BMS介绍

  本文介绍的BMS中电芯采用的是标称容量为60 Ah的磷酸铁锂电芯。磷酸铁锂电芯使用寿命长,循环寿命达2 000次以上,能量密度比较高,可达122 Wh/kg,同时制造原材料来源广泛,成本较低,使用安全性较高。该BMS采用分布式的结构方式[5],其整体结构示意图如图1所示。系统控制部分主要由一个电池管理系统主控模块BMU和若干个电池模块从控单元LECU所组成。

001.jpg

  BMU作为主控单元,主要管理整个电池组系统,包括电池组总电压、总电流的监测、电池组的荷电状态(SOC)计算、均衡策略的控制、绝缘检测以及故障诊断等。从控单元LECU采集各个电池组模块的信息,如单体电压、温度等;同时也通过接收BMU的指令,进行热管理处理、均衡控制,通过CAN总线与BMU之间进行数据交互。霍尔传感器主要是用来监测动力电池组母线分别在充电、放电时候的电流;绝缘监测仪主要监测高压母线的正极、负图1BMS整体结构示意图极对车身地之间的绝缘阻值,确保电池组系统的绝缘状态良好,不至于对车辆、人员造成安全隐患。这种分布式的结构方式使得动力电池组管理系统适用于动力电池组布局较为分散的系统中,并且可以通过增减电池组模块的数量来改变整体布局,大大提高了系统的兼容性,从而使其适应于不同车型的动力电池组系统,实际操作灵活度非常高[6]。

2BMS的软件开发设计

  软件算法是BMS的核心技术之一,因此开发设计一套具有极高安全性、稳定性的软件系统,能够最大程度地满足新能源行业发展对BMS系统的需求。随着行业的发展,BMS软件算法层面的研究将是未来BMS厂商争相竞争的核心领域。早期的BMS软件架构设计采用面向过程的应用执行体系,导致代码复用度低、函数相互间耦合度高、代码移植性差等诸多问题,无法满足功能需求不断扩展、算法更加复杂的BMS软件设计需求[7]。

  2.1V型软件开发模式

002.jpg

  图2V型开发流程图随着BMS系统的复杂性和功能性的不断增加,为了确保产品的最终质量,在软件开发的过程中,需要通过一系列的自动化测试手段来减少从定义、分析、设计到实现不同产品开发周期的人为失误。V型开发模式符合国际汽车行业标准(ASAM/ASAP),目前已在汽车电子开发领域得到了广泛的应用。V型开发模式强调在产品开发早期引入设计缺陷和错误验证,降低了设计风险,避免了传统开发流程中易存在的设计盲目性[89]。图2为针对BMS而设计的V型开发流程图。

  首先根据整车对电池组系统以及BMS系统的技术要求完成算法设计、功能分析;然后在MATLAB/Simulink中搭建功能模型,并进行仿真分析;再进行软件在环测试,对相关功能、算法的实现进行测试,之后便通过计算机自动生成C代码,将生成的代码下载至相应的硬件系统中进行硬件在环仿真测试;随后将BMS软件程序加载到真实的电池组系统中,进行系统相关参数的标定与测试;最后和需求进行对比测试验证,直到满足最初的设计需求为止。

  2.2软件控制流程设计

003.jpg

  图4LECU软件流程图电池组系统中BMS软件流程图如图3、图4所示。其中图3为主控部分BMU的流程图,首先进行初始化,初始化系统包括系统自检,自检通过以后再执行下一步;之后是系统参数检测,包括总压、电流、绝缘值的检测以及SOC计量;电池组系统相关参数检测完成以后,便进行数据处理和故障判断,有故障就进入故障处理机制,没有故障就进入下一步,把相关参数进行存储,如SOC、单体最大、最小电压,最大、最小温度等参数。数据处理完成以后,便通过三路CAN总线进行报文数据通信。CAN0主要担当电池组系统内部通信,包括与从控单元LECU、分流器、绝缘仪之间的通信;CAN1主要是和整车控制器进行通信;CAN2是和充电机以及外置监控终端进行通信。

004.jpg

  图4为从控部分LECU的软件流程图。类似于BMU的流程,首先进行初始化,也包括系统自检;之后是单体电压检测、温度检测;将检测的数据通过CAN总线上报给BMU,BMU通过数据进行判断是否进行均衡控制和热管理,再下发指令至LECU进行执行。同时,LECU也通过采集到的数据进行数据计算处理和故障判断,一旦触发故障便进入故障处理机制。最后是数据存储和CAN通信,LECU是通过CAN总线与BMU进行通信的。

3BMS的软件开发设计

  在BMS软件设计开发过程中,需要不断地进行测试以及功能验证,很多时候都仅仅依赖于所搭建的仿真模型或者硬件平台来进行的,与软件在真实环境中的运行的实际情况有很大的区别。CANalyzer是由德国Vector公司生产的一种网络和分布式系统的通用分析工具,不仅能方便地观察、分析和支持扩展多路CAN通道的数据传输,还能用于LIN、MOST、FlexRay总线通道。CANalyzer具有极其强大的图形可视化功能,能够通过图形化界面来搭建控制流程图,能够自适应绘制统计图表等;同时还能存储和回放记录的总线数据传输情况。CANalyzer能够覆盖所有的总线应用,从简单的演示培训到复杂系统的分析和仿真模拟。

  软件虚拟平台技术是通过CANalyzer软件导入实际行车过程中所采集的数据,通过回放采集的数据来建立一个真实的运行环境,再配合主控BMU控制板来运行软件程序;通过CANalyzer软件可以读出CAN总线中上传的报文,配合数据库进行报文解析得到相关参数,从而便可以进行BMS软件开发的测试和功能验证。图5为软件虚拟平台技术示意图。

005.jpg

  软件设计虚拟平台技术是利用真实行车过程中采集的实况数据来搭建一个真实的软件运行环境。实况数据利用CANalyzer软件将数据经过CAN总线上报给BMU,BMU接收到的数据是完全真实的运行数据,从而能够模拟出真实的运行环境。在进行软件测试验证之前,需要将CAN总线上的网络节点进行修改和调整。例如需要验证SOC算法,需要将CAN总线中的SOC发送节点去掉,同时将计算SOC所需要的参数从发送节点修改为接收节点,并送到BMU主控板节点中。基于此,在所建立的模型当中也需要进行相应的修改,修改完成以后,通过代码自动生成软件生成软件代码。

  在进行软件程序的测试过程中,首先将需要进行测试验证的软件代码通过烧录器写入BMU控制板中,再通过CAN总线分析仪连接BMU控制板搭建一个CAN网络,利用CAN总线分析仪的USB接口接入计算机中;CANalyzer软件需要加载相对应的数据库,用于解析报文中的信息。再导入实况数据,运行CANalyzer软件,通过软件本身强大的可视化界面来对软件运行过程进行检测和分析。

4BMS软件虚拟平台的应用

  在BMS中,SOC的精度对于电动汽车的安全性和经济性具有非常重要的意义,各大高校、科研院所以及BMS厂家也在探寻不同的方法来估算SOC值,使之更加接近真实值。本文中介绍的BMS系统中SOC的算法是结合安时积分法和开路电压法来估算的,同时配合一些边界修正条件来对SOC进行校正。

  通过长时间对电动汽车的行车数据进行采集和分析可知,一般情况下,由于电池单体的制造工艺的差异,导致在放电末期会出现某一颗或者某几颗单体电压偏低,从而使得SOC被拉低,即SOC大幅度跳变的情况。然后通过下电静置电池组处理以后,再重新上电,单体电压又恢复正常,从而出现SOC上电反弹的情况,使得SOC估算精度大大减小。因此本文针对BMS软件虚拟平台技术的应用,来测试验证SOC估算软件代码。

  通过对原来SOC算法进行修改,对边界校正的控制策略进行完善以后,生成软件代码。利用软件虚拟平台进行测试,直到达到软件开发的要求。再将改进后的SOC软件代码放在整车运行中进行试验分析。

  本次试验采用的是同一辆营运的纯电动公交车,在电池组系统装车之前,将系统内每颗电池单体进行电压、容量调平处理,确保电池单体的一致性处于最佳状态。图6为运行开始时,SOC估算安时积分法和通过校正以后上报CAN总线的情况,可以看出,起始时两种估算值保持高度一致,偏差也很小。连续进行每天接近8小时、近40天的营运试验,图7为试验后期采集的一段时间的SOC值变化情况,经过300多小时的运行试验以后,安时积分法和校正以后的SOC值出现了一些偏差,两者间的偏差大约在5%上下波动。根据SOC安时积分值和校正上报CAN总线的值可以初步估计经过300多小时的运行以后,SOC估算偏差能有效地控制在5%以内了,符合国标QC/T 8972011中对SOC值精度的要求[1011]。通过BMS软件虚拟平台技术对编写的软件程序进行测试和功能验证,能够大大缩减软件代码开发周期,提高软件代码的稳定性和可靠性。

006.jpg  

007.jpg

5结论

  本文简单介绍了电池组系统的整体结构、BMS软件开发流程和软件运行流程。介绍了一种基于CANalyzer的软件虚拟平台技术,利用该技术能够模拟出软件程序运行的真实环境,从而使软件的测试和功能验证更加可靠、可信,更加接近真实工况。同时,也极大地加快了软件开发设计的进程,缩短了开发周期,简化了软件测试方案和流程。以修改SOC算法为例,通过实际试验表明,BMS软件开发虚拟平台技术对于实际工程有重大意义。

参考文献

  [1] 万钢. 构建电动汽车发展新生态[J].汽车纵横, 2015(2):17-21.

  [2] 欧阳明高. 中国新能源汽车的研发及展望[J].科技导报, 2016, 34(6):13-20.

  [3] 涂成姣. 基于Targetlink的自动代码生成及其在电池管理系统开发中的应用[J].汽车零部件, 2014(4):40-43.

  [4] 韦琳. 纯电动汽车锂离子电池管理系统的研究 [D]. 哈尔滨: 哈尔滨理工大学, 2015.

  [5] 吴海东,任晓明,高俊丽,等. 轨交应急牵引电池组管理系统研究[J].电源技术, 2015,139(11):23912394.[6] Zhou Meilan, Wei Lin, Wen Jiabin. The parameters matching and cimulation of pure supply based on CRUISE [C]. Applied Mechanics and Materials (ICPMIMT2014), 2014, 602605: 2836-2839.

  [7] 李睿,余国伟,孙琼. 电池管理系统的软件工程介绍[J].上海汽车, 2014(5):7-11.

  [8] 丁勇. 基于AUTOSAR规范的BMS控制算法软件组件开发[D]. 长春:吉林大学, 2014.

  [9] 位正. 新一代硬件在环仿真平台的研究和开发 [D]. 北京:清华大学,2009.

  [10] 中华人民共和国工业和信息化部.QC/T 8972011电动汽车用电池管理系统技术条件[S]. 2011.

  [11] Zheng Kun, Chen Dong, Liu Yufeng. A study on battery management system for blade electric vehicle[C]. 2011 International Conference on Mechatronic Science, Electric Engineering and Computer (MEC),2011:2312-2315.


继续阅读>>