一种锂电BMS四级报警系统的设计

2020-12-28 10:12
通信电源技术 2020年17期
关键词:框图标定警告

庞 昆

(上海迈翀电子科技有限公司,上海 201800)

0 引 言

《巴黎协定》的签署,进一步提高了国际社会对气候变化的认识。各国对新能源发展的扶持力度不断增大,尤其在汽车领域。燃料电动汽车、纯电动汽车以及超级电容汽车快速进入大众视野[1]。目前,被大众所熟知的纯电动汽车、商用储能以及家用储能中大规模使用锂电池,但引入的电池存在寿命短、稳定性差、安全性差甚至爆炸等严重问题,这是有待解决的紧迫议题。因此,提供具备监控、管理、预警以及基本保护功能的电池管理系统是各相关企业研究的重点内容[2]。本文侧重探讨BMS系统中的数据监控、报警、报警后的处理以及报警任务监控等重要软件模块是否一直处于稳定运行中,以期提高锂电系统运行的安全性和可靠性。

1 系统组成及模块化框图

BMS软件系统框图如图1所示。本文重点讨论报警监控和执行处理这两个模块的部分工作,并智能监控各重要软件模块的运行。在报警监控模块中,需要使用数据采集模块和其他相关模块得到的数据,在综合处理后得到预警的结果。而执行模块则是使用报警模块和状态估算模块的结果,控制各继电器和充放电的进程等,防止过充过放、高低温时仍大功率运行以及严重问题发生时不能及时切断等问题。此外,还要防止出现诸如报警模块等重要软件模块失效仍在盲目运行的现象,从而达到安全稳定运行和延长电池使用寿命的目的。

图1 BMS软件系统框图

2 可标定四级报警的实现策略

对应BMS来讲,报警监控模块是利用监控模块所得的各种基础数据,并依据系统当前的运行状态,综合分析而得出的一些可供其他系统模块,如通知预警、状态估算、诊断以及保护执行等使用的警告状态[3-4]。本设计相对常见的三级报警系统,增加了致命警告这一等级,形成了如图2所示的四级报警系统。在第四级报警中,主要是在以往BMS三级报警系统基础上,进一步轮询监控单压过高/过低和温度过高/过低这个4个警告结果,即二级监控这4个对电池安全至关重要的监测值。若出现异常则立即做出强制切断和降低充放电电流等必要处理。这4个警告的标定阈值均大于对继电器进行正常延时切断的严重报警阈值。该致命警告等级存在的目的是防止因未知异常导致的三级报警失效、系统仍在继续充放电、(电动汽车时存在的)回馈以及外界温度过高/过低时继续运行等严重安全隐患,强化了系统的保护能力。

图2 四级报警划分

可标定的阈值,使得该软件设计方案可方便灵活地运用在不同配置的系统上。各个报警项可通过标定值来配置为是否支持,每个报警不同等级的触发条件也可通过标定值来改变。此外,标定上位机软件和该设计方案可以检测当前的标定值是否有效,防止因错误操作等将标志值设置错误而引入的一些安全隐患。

标定时要注意是否带符号和单位,是否在合理的范围内,还要注意充放电的场景等细节。本设计方案使用C#编写的上位机标定程序界面的截图如图3所示。

图3 上位机标定程序界面

3 基于SHA256的智能问答式软件运行监控策略

由于普通看门狗(watchdog)的处理方式一般是定时刷新,因此当报警监控等模块发生异常,运行时断时续时,很难判断报警任务和其他重要任务是否仍在实时运行。这就给整个系统带来了较大的潜在安全隐患,可能使各种高性能的传感器和其他设计优良的软硬件模块成为摆设。因此,本方案提出了一种基于SHA256哈希加密算法,通过智能问答来确保能发现Watchdog任务和报警监控任务以及其他重要任务之间的工作状态。智能问答功能框图如图4所示。

图4 智能问答功能框图

这里通过看门狗所在任务前,必须通过由Watchdog任务给出问题,监控报警等重要任务们回答的方式来确认重要任务的运行是否正常。因SHA256散列算法的特性,只要S0不重复,则给出的Hash结果Sr也不会重复,那么当某个重要任务运行异常时,该重要任务也不可能给出匹配的结果[5]。若出题方Watchdog任务自身发生异常,则Watchdog不会被refresh,从而发生系统重启。这也是将更新S0动作和比对Hash结果的动作放在该任务的原因。

哈希算法可以将任意一串数据通过计算生成一个长度固定的数据[4]。SHA256是哈希算法的一种,其Hash结果的长度为256 bit。之所以选择SHA256是因为MD5和SHA-1曾被暴力碰撞破解,而SHA-2中数字越大的算法产生的结果越长,防止暴力破解的安全性越高,但运算速度也越慢。因此本方案综合选择SHA256算法,可满足当前和未来一段时间的需求。

3.1 问答周期的设定

SHA256计算相对耗时,在此设置为2 s,Watchdog设置为10 s重启。连续两次发生错误后,设定不刷新监视器,引导其他模块进行后续关机前处理,如数据存储、降流、安全提示以及有序切断保护等。

3.2 字符串S0的选取

字符串S0的选取条件为不可产生连续多个完全重合的字符串组合,避免回答问题一方“蒙对”结果。本方案中,将下面的数据按顺序叠加一起共12字节。4字节精度为1 s的RTC时间、用系统tick做随机因子和系统函数rand()产生的4字节的随机结果、2字节的单体最高电压以及2字节的单体最低电压。

上述组合中,问答周期为2 s而RTC精度为1 s。因此RTC和系统tick(大部分MCU都可配置为1 ms精度)的存在可以得到保证,不会有连续重叠的字符串组合S0。由于单体电压是实时ADC采集的,因此在整机系统的运行中,引入的两个单体电压也是相对连续变化的变量,且有低精度的误差跳动性,从而进一步增加了数据的离散型。

4 报警后的保护处理建议

报警后的安全执行策略不在本文的重点讨论范围内。本文综合计算出的各种警告结果,将按照等级用于声/光/电/显示屏幕的预警报警、SOP的估算(降低充放电电流和跛行)、SOC/SOE的估算修正、充电/放电/加热继电器的控制、主被动均衡以及故障存储,为以后诊断行为存储重要数据。

智能问答连续2次失败后建议上报上级系统,发生“软件运行异常”故障,立即保存各重要数据,择机降流,延时4 s切断继电器,并在1 s后重启。即总时间控制在Watchdog重启前,主动有序完成重启。

5 测试与验证

根据以上两个策略实现的BMS报警模块和智能问答式监控任务运行模块合入原有BMS软件系统中,使用测试台对其进行对比测试。测试台示意框图如图5所示。

进行四级报警及可标定测试时,使用图5测试台和图3上位机标定该BMS软件系统。经多轮标定及测试,监控显示器中可得到各警告结果,且同标定结果一致。

图5 测试台示意框图

第四级报警的有效性测试中,故意移除前三级报警,仅保留第四级报警。监控显示器中第四级报警可被触发,并立即切断继电器等必要安全保护动作。而原BMS系统在移除这四个报警的前三级报警后,将不再识别这4种故障的任何级别,且不会进行必要的保护。因此该第四级报警的实现,强化了对单压过高过低、温度过高过低的保护。

对于智能问答式监控软件运行状态的测试,在新方案BMS软件系统和原BMS软件系统中,修改代码使报警任务均运行120 s后停止。并在120 s后,将“单压高”调解至二级报警。此时,原方案中一直未出现“单压高”二级警告,BMS一直处于无故障运行状态,而新方案中也一直未出现“单压高”二级警告,在约124 s时BMS提示“软件运行异常”,在约128 s后BMS切断各继电器,约129 s后BMS重启,该结果同预期结果一致。同理使用其他报警进行此类比对测试,发现结果也都一致。

6 结 论

本设计可有效综合分析监控采集模块采集的各种数据,得到可被其他模块使用的四级警告结果,为后续执行模块的保护动作和正常运行提供了可靠依据。第四级致命警告的引入,进一步加强了电池系统的安全性。而基于SHA256的智能问答策略,为软件系统的安全有序运行提供了保证,可有效避免如报警模块等重要软件模块运行异常的现象。此外,该设计为整个BMS系统的安全可靠运行提供了保障,且设计方案中的两个实现策略,均可运用于其他软件系统。

猜你喜欢
框图标定警告
实验室警告
使用朗仁H6 Pro标定北汽绅宝转向角传感器
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
CT系统参数标定及成像—2
CT系统参数标定及成像—2
“毁容”警告:你的“牙龈线”正在后移
电路图2017年凯迪拉克XT5
算法框图的补全
基于MATLAB 的CT 系统参数标定及成像研究
ECAS下线检测及标定系统开发