《储能科学与技术》推荐|蒋方明等:基于孤立森林算法的锂离子电池微内短路故障诊断方法

科技   2024-12-19 14:14   北京  

作者:郭煜1,2,3,4(), 王亦伟1,3,4, 彭鹏1,3,4, 王银飞1,3,4,5, 丘意书1,3,4(), 蒋方明1,3,4(

单位:1. 中国科学院广州能源研究所;2. 东风汽车集团有限公司研发总院;3. 中国科学院可再生能源重点实验室;4. 广东省新能源和可再生能源研究开发与应用重点实验室;5. 沈阳化工大学机械与动力工程学院

引用: 郭煜, 王亦伟, 彭鹏, 等. 基于孤立森林算法的锂离子电池微内短路故障诊断方法[J]. 储能科学与技术, 2024, 13(11): 4102-4112. 

DOI:10.19799/j.cnki.2095-4239.2024.0509

本文亮点:将孤立森林算法用于锂离子电池内短路故障诊断,发现(1)孤立森林算法可以对串联18650三元锂离子电池组中短路电阻小于1000 Ω的电池短路故障可以做到准确诊断,算法准确率超过了95%;对于短路电阻小于3000 Ω的短路故障可以进行初步诊断,算法准确率超过了80%;且算法对电池在电动汽车中的实际运行工况具有良好的适用性。(2)孤立森林算法对于电池储能系统在实际运行过程中的发生微内短路故障能够进行准确的识别诊断,对于短路电阻为25Ω的电池短路故障识别召回率超过了98%。

摘 要 电池系统的内短路故障是造成电池热失控和火灾事故的主要原因之一,因此有必要对电池内短路故障进行诊断对事故做出早期预警。孤立森林算法是一种无监督的异常检测算法,被广泛应用于异常数据识别领域。根据串联电池组中内短路电池的电压会与正常电池发生偏离的特点,本文提出了基于孤立森林算法的锂离子电池微内短路故障诊断方法。为了对方法进行验证,本文构建了串联电池组进行了不同短路电阻和充放电工况的短路实验,并在实际运行工况下对一个锂离子电池储能系统进行了电池短路实验,然后利用孤立森林算法对实验数据进行分析诊断。结果表明,对于循环充放电工况,孤立森林算法对短路电阻为1000 Ω的短路故障诊断精准率超过了74%,召回率超过了76%,准确率超过了91%;在模拟电动汽车实际驾驶的动态工况中,算法对300 Ω的短路故障诊断精准率和召回率超过了86%,准确率超过了95%;算法对电池储能系统在实际运行工况下25 Ω的内短路故障检测召回率大于98%。实验结果表明,孤立森林算法可以在多种工况下对锂离子电池微内短路故障进行有效检测,被检测出的锂离子电池内短路电阻达到了千欧姆数量级。
关键词 锂离子电池;孤立森林算法;微内短路故障;电池储能系统
为了满足日益增长的能源需求并减少污染物和温室气体排放,锂离子电池(lithium-ion battery,LIB)储能系统(energy storage system, ESS)装机容量不断上升,电动汽车保有量也不断上升。近年来,各种与锂离子电池热失控有关的储能系统与电动汽车起火爆炸事故层出不穷。据应急管理部统计,2022年第一季度涉及新能源汽车的火灾事件超过600起,平均每天超过6起,而2023年第一季度新能源汽车自燃率增长了32%,平均每天有8辆新能源汽车起火(包括自燃),这些事故大部分涉及锂离子电池内短路(internal short circuit,ISC)或外短路故障。在近年来频发的锂离子电池储能系统火灾事故中,电池系统的短路故障被认为是可能导致热失控和火灾的最主要原因之一。因此,锂离子电池短路故障的检测诊断对提高电动汽车及电池储能系统的安全性具有重要意义。锂离子电池内短路故障的发展过程可以分为初期、中期和末期3个阶段。在内短路故障的初期,内短路电阻较大,短路电池的电压和温度等电热特征不明显,故障难以被识别和诊断;当电池内短路故障发展到中后期,电池的温度会迅速升高,电压会迅速下降,在该阶段电池极易发生热失控事故。因此,有必要在锂离子电池内短路故障发展的初期对内短路故障进行诊断以防止热失控的发生,内短路故障发展初期也被称为微内短路阶段,短路电阻数量级为100 Ω/10 Ω/1 Ω。
孤立森林算法(isolation forest, iForest)由周志华教授等在2008年第八届IEEE国际数据挖掘会议上提出,被用于数据挖掘领域的连续数据异常检测与识别,是一种无监督的异常检测算法,不需要额外建立数学模型,不需要人工标记异常数据点进行训练,对计算机内存占用小,易于实施和应用,被广泛应用在各个领域的异常数据检测中。程贤福等基于孤立森林算法和滑动窗口,依托车联网平台数据,提出了锂离子电池不一致性检测方法。Jiang等将电动汽车中采集到的电池电压数据分解为与一致性高度相关的静态分量和反映异常信息的动态分量,然后提取静态分量和动态分量的特征参数,并将其输入孤立森林算法中进行异常电池检测。杨双齐通过多种传感器采集舰船轮机设备振动信号,经小波变换降噪后,提取舰船轮机设备振动信号特征,然后通过孤立森林算法对舰船轮机设备多发故障进行检测。在正常状态下,锂离子电池组中所有电池的电压应具有较好的一致性,当某个电池发生内短路故障时,其电压会逐渐与其他电池电压发生偏离,产生异常的电压信号。本文将孤立森林算法应用于锂离子电池内短路故障检测,通过实验获得串联锂离子电池组在多种短路工况下的电压数据,并在一个电池储能系统中进行了实际运行工况下的电池短路实验。然后利用孤立森林算法识别短路电池的电压异常,进而对电池组中内短路故障进行检测。结果显示,孤立森林算法能够对多种工况下的千欧姆数量级的微内短路故障进行有效识别,该算法计算复杂度低,故障检测准确率高,仅利用电池管理系统对电压监测的时序数据进行分析即可对短路故障进行诊断,具有较强的时效性,易于在线部署和应用。

1 方法原理介绍

1.1 孤立森林算法

孤立森林算法将异常数据定义为“容易被孤立的离群点”,即分布稀疏且距离高密度数据群体较远的点,其理论基础有两点:①异常数据占数据总量的比例很小;②异常数据与正常数据存在明显不同。孤立森林算法依据异常数据的特点,随机选取一个数据特征(数据维度)和特征值(位于最大值和最小值之间)对数据集进行递归切分,直到所有的数据点都被孤立出来,在这种随机分割的策略下,异常数据往往经过较少次数的分割就被孤立到一个单独的子空间内,而正常数据是聚集分布的,数据密度较高,往往需要经过多次分割才能被孤立到一个子空间内。孤立森林算法依据数据点在数据集中被随机分割直到被孤立出来时所需分割的次数对数据是否异常进行判断。如图1所示,在一个数据集中,异常点x0仅仅需要较少的次数就被分割出来,而正常数据点xi因为分布在数据密度较大的区域,需要多次分割才能被隔离出来。

图1   数据集分割示意图 (a) 异常点隔离;(b) 正常点隔离

孤立森林算法对数据集的这种递归分割可以用树形结构来表示,在分割过程中,异常点由于需要较少的分割次数,往往更靠近树的根部,而正常数据需要多次分割而分布于树的冠部,这种用于分割数据集的树形结构被称为孤立树或iTree。如图2所示,孤立树由根节点、内部节点和叶节点组成。定义样本点的在孤立树中路径长度h(x):数据点xi的路径长度h(xi)为样本点从孤立树的根节点到叶子节点经过的边的数量,即到分割终止时,数据点被分割的次数。对一个数据集构建多个孤立树便形成了孤立森林,在形成孤立森林后,若要检测数据集中某一个点xi是否为异常点,则将该样本点遍历孤立森林内每一棵孤立树,求解该样本点在每棵孤立树上的平均路径长度,若样本点为正常点,则其平均路径长度将较长,反之则较短。直接利用h(xi)难以判断数据点是否异常,需要将平均路径长度转化为异常分数进而对数据点是否异常进行判断。异常分数的计算方法见式(1)~(2)。

图 2   孤立树与孤立森林

(1)

(2)
式中,为包含个数据的数据集构建的孤立森林中孤立树的平均路径长度;为调和数;为欧拉常数,约为0.5772156649。被用于对平均路径长度进行标准化。异常分数的计算,如式(3)所示。

(3)
其中为数据点在一组孤立树中的平均路径长度。
本文基于Python语言Scikit-learn机器学习库中孤立森林算法对锂离子电池组数据进行异常分数计算,该库中孤立森林算法异常值的原始计算结果(score_samples)与孤立森林算法原始论文中异常分数的结果相反,取值范围为[-1,0],且该库中的决策函数(decision_function)对异常分数进行计算时存在一个默认为-0.5的算法偏移量,因此通过该库中的决策函数计算出的异常分数范围为[-0.5,0.5],样本点异常判断标准如下。
①若异常分数接近-0.5,则样本点为异常值;②若异常分数接近0.5,则样本点为正常值;③若所有样本的异常分数都接近0,则不存在明显的异常值。

1.2 混淆矩阵

为了评价孤立森林算法对锂离子电池内短路故障诊断的准确性和有效性,有必要构建一些指标对故障诊断结果进行评价,本节介绍基于混淆矩阵和精准率、召回率、准确率的评价指标,利用这些指标对基于孤立森林算法的串联电池组内短路故障诊断方法进行评估。
混淆矩阵如表1所示,其中数据的实际情况有正常和异常两种,算法对数据的检测结果也有正常和异常两种,互相组合后混淆矩阵共有4种结果。其中,对于实际数据情况为异常,算法检测也为异常的数据标记为TP;实际数据为异常,算法检测为正常的数据标记为FN;实际数据为正常,算法检测为异常的数据标记为FP;实际数据为正常,算法检测也为正常的数据标记为TN。基于混淆矩阵,可以得到精准率(precision)、召回率(recall)、准确率(accuracy)的计算方法分别如式(4)、式(5)、式(6)所示,其中为对应标记数据的数目。

表 1   混淆矩阵表



(4)

(5)

(6)

2 实验与结果分析

为了获得锂离子电池组在发生微内短路故障时的电压数据以验证基于孤立森林算法的故障检测方法,本文构建了一个由6节18650三元锂离子电池组成的电池组,电池标称容量为2.75 Ah,充电截止电压为4.2 V,放电截止电压为2.7 V。利用电池测试系统对这6节电池进行筛选,电池内阻、容量和开路电压基本一致,其中电池间内阻最大偏差为1 mΩ,容量最大偏差为5 mAh,开路电压最大偏差为0.005 V,以确保电池组中单体电池具有较强的初始一致性,且每次实验过后都对电池组进行电压均衡,确保电池组中电池单体间最大开路电压差小于0.005 V。如图3所示,其中S为电阻接入开关,为了获得锂离子电池在内短路状态下的运行数据,采用在电池外部短接电阻的方法模拟电池内短路故障,这种方法可以很好模拟电池在微内短路故障状态下的电学特征而不破坏电池结构,且易于对电池是否发生短路故障进行控制。

图3   串联锂离子电池组
首先,选取电池组中的2号电池,对该电池分别短接300 Ω、510 Ω、710 Ω的电阻,然后对电池组进行循环充放电实验。循环充放电工况为先以0.5 C的倍率将电池组放电至截止电压2.7 V,然后以0.5 C倍率将电池组恒流充电至截止电压4.2 V,然后将电池组搁置1小时后进行下一次循环。2号电池短接不同电阻后电池单体的电压曲线,如图4所示。可以看出,在充放电循环的初始阶段,每个电池的单体电压几乎一致,电压曲线重合在一起,随着循环的进行,2号电池的电压逐渐与其他电池的电压发生偏离,且随着充放电的进行,这种偏离的幅度越来越大;当增大2号电池的短路电阻后,2号电池的电压曲线偏离幅度变小。

图 4   2号电池不同短路程度下电池组单体电压曲线 (a) Risc=300 Ω (b) Risc=510 Ω (c) Risc=710 Ω


为了进一步模拟电池在实际使用中的工况,研究电池组在实际工况中发生短路故障时电池组的电压变化,对电池组进行动态压力测试(dynamic stress test, DST),DST工况可以有效模拟电动汽车在实际驾驶过程中发生的动态工况,图5为USABC标准中给出的DST工况每一个循环中电池充放电功率随时间变化的曲线,其中功率为正表示电池放电,为负表示充电。分别对电池组中5号电池短接一个100 Ω和300 Ω的电阻用以模拟电池内短路故障。图6给出了测试过程中不同短路电阻情况下电池组中电池单体电压变化曲线,可以看出,在DST后期,被短路的5号电池电压曲线存在较明显的向下偏移,且300 Ω短路工况下的电压偏移幅度要小于100 Ω短路工况。DST试中发生短路的5号电池的电压曲线相比循环充放电工况中2号电池的偏移幅度要小。

图 5   DST工况功率-时间关系

图 6   DST工况单体电池电压随时间变化曲线 (a) Risc=100 Ω(b) Risc=300 Ω


根据中国国家标准GB/T 31486— 2015,锂离子电池模组在静置28天后需要保持其85%的初始容量。因此,为满足这一标准本次实验中用到的锂离子电池的内短路电阻Risc应该满足式(7)。

(7)
其中为电池额定电压,为电池的额定容量。
为了进一步检验孤立森林算法对电池短路故障的检测能力,给6号电池分别短接1000 Ω、2000 Ω、3000 Ω、4000 Ω的电阻,然后对电池组以0.5 C的倍率进行循环充放电测试,图7给出了在6号电池短接不同电阻时电池组中不同电池单体的电压曲线。从图7中可以看出,由于短路电阻很大,达到了千欧姆数量级,6号电池的电压曲线没有明显的偏离,在循环末期,当短路电阻为1000 Ω、2000 Ω、3000 Ω时,6号电池的电压曲线相较其他电压曲线发生了微小的偏移,且随着短路电阻的增大这种偏移逐渐变小;当短路电阻为4000 Ω时,6号电池的电压曲线与其他电池的电压曲线混杂在一起,无明显偏移和区别。

图 7   6号电池不同短路程度下电池组单体电压曲线 (a) Risc=1000 Ω(b) Risc=2000 Ω(c) Risc=3000 Ω(d) Risc=4000 Ω


为了验证孤立森林算法对实际运行中的储能系统内短路故障诊断识别的有效性和准确性,利用如图8所示的储能系统进行电池短路实验,以获得电池发生内短路故障时的运行数据。如图8所示,储能系统中包含了4簇磷酸铁锂电池和4簇三元锂离子电池,其中每个磷酸铁锂电池簇包括12个串联电池模组,每个模组由12个电池单体串联构成,磷酸铁锂电池单体的额定电压为3.2 V,额定容量为220 Ah。

图 8   储能系统样机结构示意图
为了获得电池在发生不同程度内短路故障时的电压特征,将3个阻值分别为25 Ω、100 Ω以及500 Ω的电阻并联在第2簇3个不同位置的磷酸铁锂电池上,如表2所示,即77号、80号以及89号电池,通过开关控制短路电阻的连接,以模拟电池在发生不同程度内短路故障时的电压特征。值得注意的是,根据式(7),该储能系统磷酸铁锂电池的临界内短路电阻为65.2 Ω,短路电阻为100 Ω和500 Ω的80号和89号电池严格来说不是短路电池,但是出于实验过程中储能系统的安全性考虑,以及储能系统在长期运行过程中电池本身可能已经发生了微内短路,本文没有将短路电阻设置过小。

表2   不同严重程度内短路实验

图9(a)、(b)分别是该液冷储能系统第2簇所有锂离子电池(共144个)在2021年12月23日和12月27日的电压数据。图9中进行了短路实验的77号、80号和89号电池的电压曲线为加粗的彩色曲线,其余黑色曲线为第2簇其他电池的电压曲线。77号电池的电压明显比其他电池的电压小,因为它的内短路电阻Risc最小,内短路程度最大。而80号电池的电压多数情况下也比除了77号电池以外的电池的电压小。因此,可以认为77号电池和80号电池的故障实验数据是有效的。而89号电池的电压和正常电池的电压没有明显区别。

图 9   第2簇电池电压变化曲线 (a) 2021年12月23日;(b) 2021年12月27日


3 方法验证

3.1 孤立森林算法检测结果

首先,利用孤立森林算法对第2章获得的2号电池分别短接300 Ω、510 Ω、710 Ω的短路电阻时获得的电池组单体电压数据进行分析处理。由于电池电压数据为时间序列数据,且故障电池的电压数据随着时间变化在不断偏移,因此采用滑动窗口的方法分割数据集,窗口每移动一次,旧的数据将被剔除,新的数据将流入窗口被用于孤立森林的训练以及异常数据的识别,实现对时序数据不断更新与计算,为了保证滑动窗口内有足够的样本数量用以训练孤立树,设定滑动窗口宽度为420秒。
图10给出了在短接不同短路电阻情况下电池单体的异常分数随滑动窗口的变化曲线,异常分数0为异常与正常之间的分界线,从图10中可以看出,在初始阶段,由于电池之间的电压仍具有微小的初始不一致性,孤立森林算法对异常电池的识别并不稳定,每节电池都有可能被识别为异常电池,随着滑动窗口的移动,电池组充放电的进行,短路电池与其他电池的电压不一致性随着时间变化不断累积发展,2号电池的异常分数开始稳定低于阈值0,可以判定2号电池为短路电池,且从图10中可以看出,当短路电阻增大时,2号电池异常分数低于阈值时的窗口序号随之增加,即算法报警时间向后延长。

图 10   2号电池不同短路程度时异常分数曲线 (a) Risc=300 Ω;(b) Risc=510 Ω;(c) Risc=710 Ω


接下来利用孤立森林算法对DST工况下5号电池短接100 Ω和300 Ω电阻时的电压测试结果进行诊断,结果如图11所示:由于DST工况下电池充放电功率变化频率较高,因此测试过程中对电池组电压的采样频率较大,相应的滑动窗口的大小也变为42秒。从图11(a)可以看出,当短路电阻为100 Ω时,被短路的5号电池异常分数在整个测试过程中都低于阈值0;从图11(b)可以看出,当短路电阻为300 Ω时,在大部分滑动窗口内,5号电池的异常分数都低于阈值0,这表明在DST工况下,孤立森林算法可以将故障电池诊断出来。

图 11   DST工况下异常分数曲线 (a) Risc=100 Ω(b) Risc=300 Ω


利用孤立森林算法对两端分别短接1000 Ω、2000 Ω、3000 Ω、4000 Ω电阻的6号电池的电压数据进行诊断识别,结果如图12所示。从图12中可以看出,当短路电阻小于3000 Ω时,在大部分滑动窗口内,短路电池的异常分数曲线均低于0,随着短路电阻的增大,曲线开始低于0的窗口序号向后延长。对于短路电阻为3000 Ω的情况,从图12(c)中可以看出,在所有低于阈值0的异常分数点中,6号电池占比最大,据此可以初步判断6号电池发生了短路故障。对于短路电阻为4000 Ω的电池[图12(d)],不存在某个电池的异常分数曲线稳定低于阈值0的情况,所有电池的分数曲线都在阈值0附近上下变动,无法将发生了短路故障的6号电池识别出来。

图 12   6号电池不同短路程度时异常分数曲线 (a) Risc=1000 Ω;(b) Risc=2000 Ω;(c) Risc=3000 Ω;(d) Risc=4000 Ω


利用孤立森林算法对运行两天储能系统所有电池的电压数据进行分析处理,获得了每个电池的异常评分,如图13所示。图13中进行了短路实验的77号、80号和89号电池的异常分数为加粗的彩色曲线,其余黑色曲线为第2簇其他电池的异常分数曲线。从图13中可以看出,在23日和27日这两天的运行中,77号电池的异常分数显著低于阈值0,可以判断77号电池出现了故障;80号电池的异常分数在多个时间段内都小于0,也可以判断80号电池存在异常;而89号电池的异常分数则一直大于0,无法对89号电池的短路故障进行诊断。此外,可以发现部分电池的异常分数曲线低于0,这说明由于采用退役电池和储能系统长时间运行的原因,实验所用的第2簇电池一致性较差,这些存在多段曲线小于0的电池可能已经发生了微内短路或容量衰减等故障,有必要对这些电池进行进一步检测以确保储能系统安全运行。

图 13   孤立森林算法诊断结果 (a) 2021年12月23日;(b)2021年12月27日


3.2 异常检测评价指标

利用精准率、召回率和准确率对上述诊断结果进行评价,结果如表3、表4所示,可以看出随着短路电阻的增大,诊断结果的精准率、召回率和准确率指标均减小。在循环充放电工况下,当短路电阻小于1000 Ω时,诊断结果的精准率高于74%,召回率高于76%,准确率高于91%,故障电池的异常分数曲线在大部分时间窗口内均小于0,可以准确对短路电池进行诊断;当短路电阻大于1000 Ω小于3000 Ω时,诊断结果的精准率、召回率超过了42%,准确率超过了80%,故障电池的异常分数曲线随着检测时间窗口的增加会逐渐小于0,可以对短路电池进行初步判断,但有必要对电池进行进一步检测;当短路电阻为4000 Ω时,诊断结果的精准率、召回率很小,难以对短路电池进行识别,但是随着时间推移,短路电池的电压偏移会逐渐增大,因此增加检测时间和采样数量,可以让算法在循环后期识别出短路电池的电压异常,进而对短路电阻大于3000 Ω的内短路故障进行检测。在DST工况下,孤立森林算法对电池内短路故障的识别精准率和召回率超过了86%,准确率超过了95%,该结果显著高于文献[18]报道的基于支持向量机(support vector machine, SVM)的电池内短路故障诊断方法的准确率。在储能系统运行工况下,考虑到储能系统中使用的是退役锂离子动力电池,可能有部分电池已经发生了内短路故障,故仅计算召回率,可以看出除了2021-12-23日短路电阻为100 Ω的工况外,孤立森林算法对储能系统中内短路故障的识别召回率高于60%,可以准确识别出短路电池。

表3   串联电池组算法有效性指标

表4   储能系统算法召回率

综上所述,对于18650三元锂离子电池内短路故障,循环充放电工况下,短路电阻小于或等于1000 Ω的内短路故障可以被孤立森林算法诊断出来,算法对电池电压数据是否异常的检测准确率大于91%;对于DST工况,短路电阻小于或等于300 Ω的内短路故障可以被孤立森林算法诊断出来,算法对电池电压数据是否异常的检测准确率大于95%;对于储能系统中的磷酸铁锂电池,短路电阻小于或等于25 Ω的内短路故障可以准确被孤立森林算法诊断出来,算法对电池电压数据是否异常的检测召回率大于98%。

4 结 论

本文针对锂离子电池微内短路故障诊断问题,将孤立森林算法用于电池内短路故障检测中,提出了利用孤立森林算法和滑动窗口对内短路电池进行诊断的方法,并利用混淆矩阵对诊断结果进行了评估。通过对串联电池组和电池储能系统在不同工况下进行的短路实验,并利用孤立森林算法对获得的电池在微内短路故障状态下的电压数据进行分析,得出了以下结论。
(1)串联电池组中某节电池发生内短路故障后该电池的电压会逐渐低于其他电池的电压,且这种偏移会越来越大,当内短路电阻增大时,这种偏移的发生会向后延长。
(2)对串联18650三元锂离子的电池组,在循环充放电工况中,本文提出的基于孤立森林算法的内短路故障诊断方法可以准确诊断短路电阻小于或等于1000 Ω的电池短路故障;在电动汽车中的实际运行工况中,孤立森林算法可以准确诊断小于或等于300 Ω的电池内短路故障。
(3)孤立森林算法对电池储能系统在实际运行过程中发生的微内短路故障能够进行准确识别诊断,可以诊断出短路电阻小于或等于25 Ω的短路故障,诊断召回率超过了98%。

第一作者:郭煜(1999—),男,硕士研究生,研究方向为锂离子电池故障诊断与电池热管理,E-mail:shiyanguo@mail.ustc.edu.cn;

通讯作者:丘意书,副研究员,研究方向为锂离子电池热安全管理,E-mail:qiuys@ms.giec.ac.cn;蒋方明,研究员,研究方向为电化学能量/动力系统、增强型地热系统、微热流体系统、燃料电池水、热管理,以及高效节能技术/产品等理论研究和技术/产品研发,E-mail:jiangfm@ms.giec.ac.cn

本刊推荐

(点击图片可跳转到相应文章合集)

邮发代号:80-732

联系热线:010-64519601/9602/9643

投稿网址:http://esst.cip.com.cn/CN/2095-4239/home.shtml

储能科学与技术
中文核心、科技核心和cscd核心期刊,化学工业出版社和中国化工学会主办,主编黄学杰研究员。投稿及下载官网:http://esst.cip.com.cn/CN/2095-4239/home.shtml;欢迎给公众号投稿
 最新文章