基于LabView 的动力电池BMS 测试系统的研究*
2019-09-21刘凌飞李艺超赵帅郭昊
刘凌飞,李艺超,赵帅,郭昊
(1.天津职业技术师范大学 汽车与交通学院,天津 300222;2.天津动核芯科技有限公司,天津 300350)
前言
现阶段新能源汽车的安全发展问题受限制于车用动力蓄电池的材料与性能优化。动力蓄电池作为电动汽车的核心部分,其电池状态直接影响着整个电动汽车的安全与性能。因此,为了保证电动汽车的安全、高性能的使用环境,最大化的利用动力电池整个生命周期的使用价值,采用电池管理系统(Battery Management System,BMS)对动力蓄电池状态进行实时有效的监控则显得尤为重要。BMS 主要将电芯的电压、电流、温度等物理量作为计算依据,通过算法统计,得出各参数指标。因此,性能优良的电池管理系统需要兼具硬件系统的准确测量及软件系统的算法优化。
BMS 的功能展示可借助LabVIEW 实现。LabVIEW 是一款图形化的程序开发环境。与其他常见的编程语言相比,其图形化的编程语言可将工业测量与控制同计算机完美结合在一起,其简洁、明了的图形化显示界面,可使人机交互界面更加直观,更便于理解。为使得动力电池管理系统的监控平台更加可靠、功能更加完善,对程序的结构进行细化与优化显得尤为重要。
1 整体结构
系统由软件和硬件两部分组成。硬件主要实现数据的采集与处理,软件主要实现数据的分析与信息存储,通过软件发送指令至硬件,实现零部件的控制。硬件电路利用传感器检测电池的实时状态,并将信息反馈至电池管理系统(BMS)。通过BMS 的控制处理,可实现电池过流判断、电池过温保护、电池过充过放保护等功能。在硬件系统中,主从板之间采用CAN 总线的通讯方式,而PC 机采用USB 的对外接口。因此,在通过PC 端的USB 接口实现对CAN 总线网络的发送和接收数据的传输过程中,需要解决接口问题,并实现CAN 总线与USB 的协议转换,其系统结构图如图1所示。
图1 系统结构图
2 硬件部分
硬件系统采用主从结构,由采集板和主控板构成。作为从板的采集板,其MCU 模块采用MC9S08DZ60 芯片,可以实现对电池组状态数据的采集。采集板将采集到的信息,通过CAN 总线传输给主控板。数据采集模块采用MAX17830芯片,可将12 节18650 单体电池进行电压、温度测量,并将采集数据传输至MCU 模块。MCU 模块内的隔离IIC 接口电路、EE 存储器可对数据进行处理,再结合CAN 通信处理单元实现采集板的数据采集与传输功能。
主控板采用MC9S12XET256 芯片实现对电芯组及外围电路的管理,其电压、电流测量模块可实现总电压、总电流的测量。主控板可将采集板采集到的信息进行处理,并将此信息传输至上位机进行通讯,并通过上位机读取、显示电池实时状态。在对电流的采集过程中,由于单线电流过小,故而采取将电线绕缠电流传感器4 圈的方式,并在主控板的程序中,增加了电流偏置和RC 滤波处理,增加其防抖能力,图2 为其电流测量电路。在对电池总电压进行采集的过程中,需先检测采集板的数量再检测采集板所采集的电芯数量,并对总电压进行实时采集修正。
此外,系统根据电池实况,按照由LabView 所设计的电池控制策略,进行电池参数显示与状态预警,并将指令发送至主控板,通过主控板控制主正、主负、预充及充电接触器的动作,实现电池充放电状态。
图2 电流采集电路
3 软件部分
采用NI公司的LabVIEW 2018作为上位机的软件开发平台,能十分方便的实现监控平台的各项功能。软件开发平台利用LabVIEW 的多线程技术,通过调用LabVIEW 的动态链接库节,并对VI 的结构进行优化,使得程序界面更加的直观,可读性较强。软件部分,针对BMS 对动力电芯状态的数据采集、数据分析、参数标定及故障诊断与预警等的功能需求,将电芯电压、电池总电压、SOC、电池温度、电流故障状态等直观地显示在监控界面上,并可进行主正、预充及充电接触器的控制。
3.1 数据处理
图3 数据采集流程
在数据解析工具上,采用创芯科技的CAN 分析仪,并选用USBCAN-2E-U 型号,将PC 机与主控板连接起来,实现CAN 总线数据的实时显示。该型号的分析仪兼容DBC 协议解析功能,可以解析汽车J1939 协议,能有效读取电池信息。同时,可通过CANTest 软件接收、显示CAN2.0A 和 CAN2.0B 协议的所有报文,其包括:标准帧、扩展帧及其对应的数据帧和远程帧,并将收发到的所有数据按照事件发生的先后顺序保存至预留的专用文件中,方便数据的分析与处理。系统在启用CAN 卡后,首先要进行初始化处理,随后接收数据并将数据上传至上位机进行更新显示。如果出现异常,或需要中断数据传输,可停止CAN 卡。在数据传输过程中,将电池组的数据进行打包作为数据帧,并将数据帧根据指令发送至上位机中,此外,还可实现多帧发送。其数据采集流程如图3 所示。
在数据接收过程中,接收到的数据被打包成簇变量,并进行循环接收,直至收到停止接收的指令。在此过程中,通过调用VCI_Receive 接收函数、VCI_OpenDevice 函数,可自动接收数据并将数据压入缓冲区,有效避免丢帧现象。
CAN 通讯采用了29 位扩展帧,该报文含有优先级、报文的代码、目标地址或组扩展及发送此报文的源地址。如图4 所示。
图4 CAN 总线网络报文形式
3.2 监控界面展示
上位机界面可分别进行电芯电压、系统的运行电流、电池温度、电池总电压以及电池故障状态的检查。上位机界面采用动态波形图、柱状图、指示灯等数据与图形相结合的个性化、友好的界面设计,更方便用户观察电池的动态数据。
图5 电池故障显示界面
图6 电池故障程序图
以电池故障显示模块为例,该界面主要实现了远程控制与状态显示两个功能,如图5 所示。远程控制功能中,可通 过点击对应的拨杆开关,实现对动力电池线路中相应的接触器的控制,实现上下电、充电操作;状态显示模块中,可进行电流、温度、电量状态的故障显示,其程序图如6 所示。
在电池故障程序图中,前面板所对应的控制与显示功能主要通过事件结构与条件结构来实现。数据流的传输过程中,将本VI 中所引用的布尔类型的各电池参数制作成了数组,以方便用于后续的控制。在DAQ 设备中,可获取指定指针的数据作为输入信号。在数据传输至while 循环结构中时,设置有100ms 的延时,以控制循环的执行速率。在数据流入条件结构时,如果MAIN 中的全局变量等于5 时,方可展开该程序界面,随后进入判断为“真”的条件框内。在该框内,DAQ 设备控件所获取的指定簇数组,在FOR 循环中逐元素解捆绑,之后通过变体至数据转换 (函数)将变体转化为特定的数据输出。当通知器(全局)返回小于零或者返回错误时,循环结束。
在事件结构中,当前面板的对应开关触发时进入该界面。数据通过一串变换制成数组添加至DAQ 设备中,并通过DAQ 输出给下位机用于控制。
4 结论
该系统借助LabVIEW 平台,利用USB-CAN 设备及CAN总线的数据传输方式,实现了对12 节单体电芯的数据采集与记录,并通过上位机系统,实现对系统充、放电控制。该系统能够监控电池的实时状态,能够达到一定的系统标定与故障诊断功能,其上位机操作界面通过图形化结合的方式,可直观、方便地展示电池的动态信息,人机交互体验较好,能为电动汽车动力电池管理系统的开发与优化打下一定的技术基础。