高明裕 蔡林辉 孙长城 刘才明 张照娓董哲康*③ 何志伟 高伟伟
①(杭州电子科技大学电子信息学院 杭州 310018)
②(装备电子研究重点实验室 杭州 310018)
③(浙江大学电气工程学院 杭州 310027)
④(天能电池集团股份有限公司 长兴 313100)
锂离子电池因其具有优秀的能量密度,高工作电压和低自放电率等优点,已经被广泛应用于便携式消费电子设备和大功率电动汽车上[1–3]。锂电池的续航能力直接与能量密度挂钩,然而高能量密度也伴随着高风险[4,5],在消费电子领域,能源系统电池组热失控是其最大的问题之一,考虑到电动汽车在复杂的环境下工作,如何确保电池组的可靠性和安全性将会是一个巨大的挑战。
过充放电、传感器故障、外部短路(External-Short-Circuit, ESC)、内部短路(Internal-Short-Circuit, ISC)等问题是锂离子电池组故障中常见的故障[6,7]。相比过充放电等故障,短路故障更具危险性,短路故障通常伴随着异常高的发热速率,容易引发热失控,一个电池失控将会影响相邻电池的安全运行,并进一步触发连锁放热反应[8]。在短路故障中,内部短路被认为是电池组热失控的最根本的原因之一[9],因此,对电池组的ISC的研究非常有必要。
目前,针对电池组的ISC故障导致容量损失、额外的电荷耗尽、发热增加、电池单元不一致性增加等问题,常用的检测方案有以下3种。
(1)基于信号处理的方案。其通常分析电池组系统的外部电压和温度响应,捕捉到异常电池组响应。Xia等人[10]通过温度上升速率超过一定的阈值来确定ESC的发生,通过电压的下降速率和温度的上升速率共同确定ISC故障。Sun等人[11]提出了一种结合相对熵和3个标准差的方法来检测电池组短路。通常,当电压、温度等电池系统响应参数超过阈值时,才能检测出故障。但如果阈值设置不当,容易造成漏检或者误报[6]。
(2)基于模型的方案。基于模型的方法更容易通过挖掘故障与模型状态或参数之间的关系来量化和定位特定故障,许多学者提出过一系列有效的方法,但主要是通过电压、电流、热量等量纲参数建立模型对锂离子电池组的故障进行检测。Chiu等人[12]提出了一种锂离子电池钉穿透的电化学模型,借助热失控方程模拟热失控电池的温度分布,可以准确预测钉穿透期间和之后的电池温度变化。Xiong等人[13]提出了一种两步等效电路电池模型,用于分离极化引起的电压变化和大电流引起的大电压降,使ISC故障发生时模型预测的误差小于25 mV。但是基于模型的方法受限于模型构建的准确程度,其对每个电池单元都进行准确的在线参数估计,而参数估计的好坏直接决定了模型的检测能力,故很难在实际中部署,所以提高模型的泛化能力是该领域亟待解决的问题之一。
(3)基于数据驱动的方案。其在泛用性能上有着非常优秀的能力[14,15],非常适合在锂离子电池组的故障检测中应用。文献[6,16]分别提出使用随机森林(Random Forest, RF)分类器在线检测锂离子电池中电解液泄露现象和由机械滥用引起的ISC,Yang等人[17]提出了一种基于人工神经网络的方法估计短路电池的电流。但是受限于电动汽车复杂的工作环境,以及锂离子电池组故障数据的采集难度,基于人工神经网络的方法在这一方面的表现并不是很好。其中,针对不同种类的电池的电压电流等量纲参数差异很大,不能简单地设定阈值使模型适应其他的电池,需要耗费大量的精力去采集足够的训练数据,然而通过这种量纲参数所训练的模型也很难应用于其他的电池组中。
上述3类方法均能在一定程度上对电池组内部短路故障进行检测,但是也都存在各自的问题,具体的对比信息汇总于表1。由于电动汽车能源系统拓扑情况复杂,通常由数百个串联和并联的电池单元组合而成[18,19],各组锂离子电池间在实际中存在相应联系。基于此,本文提出一种基于斯皮尔曼秩相关结合TBi-GRU神经网络的电池组内部短路故障检测算法,主要贡献如下。
表1 故障检测算法对比
(1) 提出了利用斯皮尔曼秩相关系数使得锂电池单元之间的故障特征无量纲化、标准化,为解决传统模型在电池组短路数据量较少时泛化能力不足的问题提供一种新的思路。
(2) 设计了一种卷积和双向门控循环单元融合的TBi-GRU(Three-channel convolution Bidirectional Gating Recurrent Unit) 网络,通过实验验证了其在抑制噪声,提高模型故障检测能力的可行性。
(3) 本模型使用一种无监督的动态阈值计算方法,融合多个锂离子电池组检测结果,提高检测能力,减少误报。
基于文献[20],在ISC故障的初始阶段,当隔板上的损坏导致ISC且局部热量导致隔板关闭时,故障单元的端电压将先下降然后恢复,其异常波动电压在允许的范围内。本文从检测电池组中单元电池异常突变的角度入手,主要研究检测ISC故障的初始阶段发生的时间及定位具体的故障电池单元。
如图1所示,内部短路故障检测可以分为4个步骤:特征提取、TBi-GRU模型训练、故障检测和检测评价。需要说明的是,TBi-GRU模型训练只在训练时存在,而在实际的检测过程中,只需加载训练好的模型即可,检测时需动态计算该通道模型的阈值并结合各个通道数据优化检测结果。
图1 整体架构
从多维度的电池组电压数据中提取出ISC的故障特征,有利于模型对故障特征的学习。模型通过大量的数据集训练的过程本身可以视为一种对ISC故障特征的学习过程,而通过斯皮尔曼提取特征后,其对于数据的需求降低,有利于故障检测的实现。
常见的相关系数有皮尔逊(Pearson)积差相关系数[21]、斯皮尔曼(Spearman)秩相关系数[22]、肯德尔(Kendall)秩相关系数等。通常,皮尔逊积差相关适用于两个变量线性相关的情况下,其对极端值的反应很大,肯德尔相关用于反映分类变量相关性的指标,而本文所使用的斯皮尔曼秩相关的适用范围较皮尔逊更广。它是利用变量的秩次大小做线性相关分析,相关系数越大,两变量的相关性越强,反之相关性越弱。
假设两个变量X和Y为n维向量,表现形式为:X=[X1, X2,···, Xn],Y=[Y1, Y2,···,Yn] ,对X,Y进行降序或者升序,取其中元素的顺序形成x=[x1,x2, ···, xn],y=[y1,y2,···,yn],则斯皮尔曼秩相关如式(1)所示。
需要说明的是,由于锂离子电池组本身具有不一致性,各节点电池由于工艺、材料和老化程度的不同其开路电压、内阻天然会有差异。斯皮尔曼秩相关比较数据在序列中的大小关系,故其值不随静态偏置和幅值大小进行变化,在电池组ISC故障发生的情况下,其电池单元电压的变化趋势会和其他节点电压的变化出现差异,故其相关系数也会随之减小,从而有利于对其故障特征进行提取,如图2所示为电池组故障特征提取过程。
图2 电池组故障特征提取的过程
步骤1 通过电池管理系统(Battery Management System, BMS),分别采集电池组的电池单元的原始电压和电流。
步骤2 采集到电池单元的信息后,需要对数据进行预处理操作,首先通过均值插补处理缺失值,然后用双指数平滑法对多维度的电压数据进行滤波操作。
步骤3 对预处理后的数据按照电池单元的相邻信息进行两两计算斯皮尔曼秩相关系数Dsp,同一电池组的首尾两节电池单元当作相邻单元用于计算相关系数,滑动窗口的大小设置为23个样本点,其滑动窗口的大小根据实际部署BMS上的采集情况进行调整。在特征提取后为获得Din,将Dsp按式(2)进行处理。
前一步所获得斯皮尔曼秩相关数据的处理结果Dinput,将用于TBi-GRU神经网络进行训练。神经网络赋予该检测方法更强大的泛用性及对噪声更好的抑制能力。
2.2.1 TBi-GRU神经网络
如图3所示,本文使用的TBi-GRU模型由3个带1维卷积的并行Bi-GRU(Bidirectional Gating Recurrent Unit, Bi-GRU)模型构成,1维卷积的数量主要考虑到模型的大小,并通过实际试验最终确定。模型共n个输入,每层Bi-GRU分别有64128个隐藏神经单元,1个Dropout层,输出层预测n个值。卷积层主要是对特征时间序列的局部特征信息进行抽取,Bi-GRU用于获取序列中的长距离的依赖关系。
(1) 卷积层。卷积层使用卷积核对输入的时间序列进行卷积运算,得到时间序列局部的特征信息,特征提取后的时间序列矩阵H∈Rk×n,其中k为时间序列的长度,n为电池组的电池单元数,将卷积核S定义为S∈Rw×n,w为卷积核的大小,其计算为
其中,yi表示通过卷积输出时间序列的第i个特征,c是偏置,·是矩阵的点乘,ƒ是激活函数,本文使用的是LeakyReLUs激活函数。
(2) Bi-GRU层。本文所用到的Bi-GRU是将2个相同结构的门控循环单元(Gated Recurrent Unit, GRU)[23]按序列相反连接在一起构成,其将GRU网络中的神经元分为前向层和后向层,从时间层面来讲就是既考虑正向时间轴上的信息,又考虑负向时间轴上的信息,Bi-GRU网络结构由式(4)定义。在通常情况下GRU和长短期记忆网络(Long-Short-Term Memory, LSTM)的性能类似[24,25],但是由于GRU中的单元可以通过重置门和更新门来控制信息的流动,相较于LSTM需要遗忘门、输入门、输出门来说,GRU的参数更少,训练更容易收敛,能够有效地降低训练的时间。
其中,ht代表在t时刻的对应状态,在Bi-GRU中可分为前向和后向两种情况,zt, rt代表更新门和重置门,为哈达玛(Hadamard)积,Wz,Wr,Wh,Uz,Ur和Uh分别代表该模型的参数矩阵和循环矩阵,bZ, br, bh为偏置向量,σ代表Sigmoid函数,tanh代表双曲正切函数。
2.2.2 TBi-GRU模型训练
如图4所示,多维度时间序列Am,组别为m,维度为n,长度为b,m的长度代表同时有m组电池组数据进行处理,每组ab=[ab1,ab2,···,abn]有b个通道的数据,[ab1,ab2,···,abn]中的数据对应提取后的特征序列。长度b决定了模型从输入到预测的数量,训练时用下一时间点的输入与当前输出计算损失,测试时模型的输出与当前时间的输入的差值计算出预测的模型异常检测结果,并计算基准阈值并记录。实际中需要为每个电池组的输入数据进行独立建模,方便后期对每个模型进行微调,因为每个电池组的电池数量并不一致,故训练达到我们所需求的时间也各不相同,独立的训练可以防止某些模型过拟合现象的出现。
图4 可视化模型输入和输出的计算过程
2.3.1 故障检测过程
本文中,故障检测的过程分为3个阶段,即基于TBi-GRU模型故障预测过程、基于多通道优化的故障检测过程和基于检测结果的故障定位过程,其检测过程如图5所示。
图5 故障检测过程
(1)阶段1。故障预测。将需要检测的故障特征y作为模型的输入,获得预测结果ypre,根据式(5)计算预测误差yerror,然后根据预测误差的均值和标准差计算动态阈值。
(2)阶段2。多通道优化。多通道优化算法是指融合不同的电池组的检测结果,基于一定的规则,对预测结果进行修正,减少误报,规则如下。
(a) 电动汽车的多个电池组在同一个检测时间段内只存在单组出现内部短路故障。
(b) 同组内同一个检测时间段不存在大量相似幅度的异常。
需要说明的是,在只执行单电池组检测时,其只执行规则(b),并且本文提出的模型可单独为所有组别生成多个模型,模型可以自由升级和更换,每个模型对测试数据都能独立输出结果,在动态阈值的基础上融合各个通道的结果获得来获得总体上的最优。
(3)阶段3。故障定位。基于多通道优化的阈值th并根据式(6)获得ISC发生的时间TimeISC。
根据式(7)获得结果result存放特征异常的电池节点序号i和故障时间t,Celli(t)∈yerror(t)是电池组中一个电池单元与后一节电池单元的相关性特征。
若3号电池单元发生ISC故障,则3号和4号的特征Cell3将会增大,2号和3号的特征Cell2也将会增大,通过找到两个增大的故障趋势该算法就能将锂离子电池组中具体故障的电池单元区分出来进行预警,如果发生多个电池同时故障的情况,该种方法依旧成立。
2.3.2 动态阈值计算
基于预测结果在原始数据中划分出内部短路的异常区域,基于3个标准差的阈值计算方法[11]之上提出一种无监督的动态阈值计算方法,其计算过程为
其中, th 是需要计算的阈值,µtrain(errt)是训练中预测误差的均值,σtrain(errt)是训练中预测误差的标准差,λ是动态系数,其对应的数学表达式为
其中,µtest( errt), σtest(errt)分别代表测试中预测误差的均值和标准差,异常阈值 th随着λ变动,A存放测试和训练的均值的比值,B存放测试和训练的标准差的比值。
本文将电池组的ISC故障检测作为一个二分类的问题,最终检测结果为:故障P、正常N。检测指标的具体描述如表2所示。其中,P为异常数据,N为正常数据,并采用召回率Recall、精确率Precission、F1Score和Accuracy作为算法的评价指标[26]。本文在评价模型对噪声的抑制效果上采用Δd来评价模型对误差的抑制效果,Vp和Gp分别是噪声波动的峰值和同一位置预测结果的峰值,Δd越大,模型对误差的抑制效果越强,Δd的描述如(10)所示。
表2 检测指标的描述
为了验证所提出的ISC故障的检测效果,本文在分别在仿真平台和实验平台上进行了测试。其中仿真平台主要用于验证所提出的方法在理想条件下的检测效果,实验平台主要验证在存在测量噪声等复杂情况下所提出方法的效果和稳定性。
3.1.1 仿真设置
首先介绍本文实验过程中的硬件设备:计算机(I5-6300HQ, GTX950,Windows 10操作系统)。同时本文仿真使用的软件平台为Matlab2020b,仿真所采用的工况为城市测功机行驶时间表(Urban Dynamometer Driving Schedule, UDDS)。
仿真中共8节锂电池串联,电池的参数如表3所示,电池的SOC随机设置,并通过并联电阻器和理想断路器的的方式来模拟故障信号,在使用10 Ω,5 Ω,1 Ω,分别并联1号,3号,8号3节并联的锂电池上,并设定理想断路器的短路时间统一为10 s,短路起始时间统一为1000 s,进行3次实验。
表3 仿真的锂离子电池Lithium-lon的性能参数
需要说明的是,本文对比使用的RNN, LSTM,GRU与本文所用的网络参数如表4进行设置。
表4 对比模型参数设置
3.1.2 仿真结果分析
图6—图8给出了在UDDS工况下电池组总的响应,并分别放大了1, 3, 8号电池的发生短路时的局部响应, 从图8可以发现在1 Ω短路电阻的情况下,短路电池两端电压出现了100 mV左右的压降,而在10 Ω短路电阻的情况下,只存在10 mV左右的压降,随着ISC电阻的变大,其节点两端的电压变化也越来越不明显,并且由于设定的电池组SOC不一致,在仿真时间靠后的数据中其中两个节点之间的电压差异甚至超过了故障电池所造成的电压差异。所以如果采用通常使用的电压阈值的方式去检测短路情况,首先会遇到电池组SOC不一致导致压差过大的情况,从而很难检测出类似10 Ω短路电阻情况下电池单元电压下降后恢复的异常现象。
图6 10 Ω仿真实验电压响应及局部放大图
图7 5 Ω仿真实验电压响应及局部放大图
图8 1 Ω仿真实验电压响应及局部放大图
图9比较了7种方法的实验效果,可以看到由于初始SOC不一致,在仿真实验的末期各种方法都出现了不同大小的噪声,其中动态时间归整(Dynamic Time Warping, DTW)和欧几里得距离(Euclidean distance, ED)的效果相对于Pearson相关和Spearman秩相关较差,仅能对1Ω电阻造成的短路有较为明显的效果,无法检测出5 Ω和10 Ω电阻造成的短路,Pearson相关和Spearman秩相关的结果相差不大。故采用Spearman秩相关系数的提取方法能够较好使得锂电池单元之间的故障特征无量纲化、标准化,在故障的检测中能够更容易地检测出故障。表5显示为各种方法的检测结果,“无”代表未能正确检测出故障,标号代表发生ISC故障的电池单元信息。
表5 模型检测结果
图9 模型预测结果图
通过图10可以看到,在延长ISC时间w的情况下,局部电压下降时间也相应延长,其Spearman秩相关在前段时间中能提取ISC电压的特征,并且在w大于滑动窗口后,其能够明显的捕捉到异常电压的下降沿,所以该方法不仅可以用于捕捉由ISC引发的局部电压短期下降又恢复的异常,也能捕捉到由于ESC引发的长时间压降故障。
图10 不同ISC时间的电压响应和特征提取结果对比
3.2.1 实验设置
如图11所示,构建了由多个电池组成的电池组,该平台包括:(1) MC-711小型超低温试验箱;(2)IT8818B直流电子负载; (3)采集控制系统,用于采集电池单元和电池组的电压,电流信息,并控制电子负载。
图11 锂离子模拟ISC实验设置
一个手动开关控制与电池组单元并联的ISC电阻。当开关打开时,ISC电阻被连接以模拟ISC的短路电气效应,当开关关闭时,ISC电阻被切断,本次实验如下。
(1)实验1由8个型号相同的锂离子电池串联构成,通过并联短路电阻模拟ISC故障,使用实验室测试用工况进行放电情况下的工作状态的记录,短路电阻为1/5/10 Ω(10 W),在每组实验中随机进行2次ISC测试,并以0.5 Hz的采样频率对电池单元进行采样。
(2)实验2中电池组以0.5A恒定电流放电,以0.5 Hz的采样频率对电池单元进行采样。
3.2.2 实验平台验证模型检测效果
为了验证所提出的方法的检测效果,进行实验1的测试,相邻单元电池的Spearman秩相关系数被计算出来绘制在图12—图14(a)中,移动窗口的大小为23个样本值,在实验中其相邻单元的相关系数基本都接近1,每组结果各有两次开启开关进行短路模拟。
图12 10 Ω短路模型前后对比图
图13 5 Ω短路模型前后对比图
从图12—图14(a)中可以看出,通过Spearman提取的相关故障特征中明显存在两个呈现周期性变化的噪声,其通常出现在放电电流相对平坦的区域,这是由于电压平缓导致局部小的噪声被放大。故只是通过基于电压的阈值的判断方法,很容易对本实验中短路产生错误的检测,而通过训练TBi-GRU模型,能够将训练集中学习到的传感器噪声规律用于降低模型对故障的误判。图12—图14(b)中绘制了6组对照实验,ED与DWT构建的检测方法能很好的将平缓区域的噪声排除,但是其对于故障不敏感,在1 Ω与5 Ω的实验中均弱于Person相关与Spearan秩相关的方法,并无法检测10 Ω引发的内部短路。RNN, LSTM与GRU模型相比TBi-GRU缺少卷积层以及并行结构,对故障的检测有一定的效果,而本文使用的TBi-GRU模型对于数据噪声的学习更好,效果更加显著,其模型的检测结果指标如表6所示。特别地,LSTM和GRU是RNN的变种,可以更好地处理长期依赖问题,而RNN的检测结果略低于LSTM与GRU,在一定程度上反映出电池组的ISC故障存在长期依赖。
表6 模型预测结果指标对比(%)
图14 1 Ω短路模型前后对比图
表7比较了3种阈值计算方法在Spearman+TBi-GRU模型上的结果,max指将训练结果的最大值作为预测结果的阈值,μ+3σ是指测试结果的均值加3倍标准差的异常阈值处理方法。3种方法中本文所使用的可动态调整的阈值计算方法表现最好,使用max的方法表现最差,虽然Precission最高,但是经常出现误检的情况,而μ+3σ的方法则容易漏检。而本文提出的方法是根据μ+3σ和max两种方法改进的,结合两种方法的优点,在实际的使用中验证了本文提出的阈值计算方法在ISC的检测中是有效的,能够有效地减少误报。
表7 各种阈值方法对比结果(%)
表8显示4种方法的预测结果对比原始数据Dor对噪声的抑制效果和对较低ISC的抑制效果。Dor通过如式(11)处理Spearman秩相关数据Dsr=[cell1,cell2,···,cell8]而来,指沿着采样点数计算8组相关系数的最大值。
表8 预测结果与原始数据对噪声和较低ISC的抑制效果(%)对比
为了方便进行对比故进行了归一化处理,实际的预测过程中不能将其归一化后进行预测。如本文提出的方法在不同短路电阻下其较高的ISCr造成的偏差被归一化到1,而较低ISCr的波动下降了–4.44%, 18.65%, 8.09%,其值越小表示对二次故障的检测效果越好,而噪声造成的偏差波动下降12.52%, 22.61%, 16.16%,其值越大代表模型对噪声的抑制效果越好,结果显示TBi-GRU模型能取得很好的检测结果。
3.2.3 鲁棒性分析
实验2验证所提出的方法在正常放电下的鲁棒性情况,电池组的端电压从32.82 V缓慢下降到29.69 V,放电电流大小为0.5 A,在整个放电的过程中用所提出的基于相关系数的TBi-GRU故障检测方法对其短路情况进行检测,未检测出故障,故该方法在电池组正常放电情况下不会发生误判。
虽然在恒流放电的情况下,其模型的预测结果未达到我们训练完成时计算出的异常阈值,但是通过对图15(a)与图15(b)的Spearman相关特征进行分析,我们可以得到在恒流放电的过程中其相关误差更容易受到传感器测量误差的影响,所以进一步确定在工况条件下得到相关系数的周期性尖峰也是由于恒流放电的影响,扩大一点的说法就是放电电流在一定时间内变化较小,造成计算结果偏差过大。
图15 0.5 A恒流放电过程对比
采用其在0.5A恒流放电时的数据去训练模型则计算出来的Threshold=0.2468,而采用实验1条件下的电池组电压数据,其计算出来的Threshold=0.2228,但是仍然适用于在0.5 A恒流放电的条件,故在实际的部署中可以减少针对性的重复训练模型的次数,简化部署。
本文主要研究基于斯皮尔曼秩相关结合TBi-GRU神经网络的电池组内部短路故障检测算法。首先,基于斯皮尔曼秩相关系数,滑动窗口联合无量纲化,标准化多维度的电池组运行特征;其次,利用提取的正常状态下电池组运行特征训练TBi-GRU神经网络;再次,基于已训练好的TBi-GRU模型检测内部短路状态下的电池组运行特征,结合预测结果与各通道的动态阈值对电池组状况进行检测;最后,通过理想条件的仿真分析与实际环境的平台验证,对比当前现有的特征提取与神经网络的方法,验证了本文方法能够充分结合斯皮尔曼秩相关系数的鲁棒性强和TBi-GRU神经网络泛用性强的特点,能准确地检测出电池组的内部短路故障。未来的工作将会转向对软短路等更大短路电阻的研究,以期更早地发现电池组的故障,保障电池组的安全性。