基于充电电压的串联电池组早期多故障诊断
2023-10-20段双明常智博
段双明,常智博
(东北电力大学,现代电力系统仿真控制与绿色电能新技术教育部重点实验室,吉林 吉林 132012)
锂离子电池凭借能量密度高、循环寿命长、自放电率低、使用方便等优点,被广泛应用于电子产品(如手机、电脑等)、电动汽车、电网储能等领域[1]。
为了满足功率和能量需求,大量的锂离子电池被串并联成电池组使用[2]。此时,若电池之间的连接部件受机械应力、材料老化等原因而松动或断路,将导致接触电阻显著增加,对电池组性能造成严重影响。同时,锂离子单体电池受制造缺陷、使用操作、外部环境等因素的影响,也可能会产生各种故障,进一步加剧电池退化。如果不能及时诊断和采取措施,甚至会导致由电池热失控引发的自燃和爆炸等事故[3-4]。因此,及时准确地检测和识别电池故障,成为保证电池系统安全可靠运行的必要工作。
现有的电池故障诊断方法主要基于模型和数据驱动两类。基于模型的故障诊断方法通常是比较测量值与估计值之间的残差,通过残差大于设定阈值来判断电池发生故障。文献[5]根据一阶等效电路模型,利用扩展卡尔曼滤波和库仑计数的方法分别估算SOC,通过判断两者SOC 的差异是否大于设定阈值来检测软短路故障。文献[6]通过构建一阶等效电路模型,应用扩展卡尔曼滤波来估计每个电池的SOC,并利用移动窗口计算相邻电池的相关系数,检测到内短路电池相邻的两个相关系数低于预定的阈值。文献[7]根据一阶等效电路模型,将测量的电压和温度转换为内部状态和参数,通过状态和参数的差异设定合适的阈值,进而检测电池是否发生内短路故障。上述故障诊断方法依赖于高精度的电池模型,模型参数易受电池老化、环境等因素的影响,导致故障诊断方法精度降低。此外,该类方法只适用于特定的故障,诊断故障时间较长,难以实现故障实时在线诊断。
基于数据驱动的故障诊断方法主要是通过建立电池可测数据与故障特征的关系实现电池故障诊断。文献[8]提出了一种基于LSTM的并联锂离子电池组连接故障诊断方法,利用测量的端电压、总电流、SOC 估计支路电流分布,将电流残差与设定的阈值进行比较,从而判断电池是否发生连接故障。文献[9]提出了一种基于数据驱动的电池过放电故障诊断方法,利用实时电压和预测电压的残差与设定的三个阈值进行比较,进而检测电池是否发生过放电故障。文献[10]提出了基于云数据的内短路故障诊断方法,通过电池组中内短路电池电压低于正常电池的电压特性,对电池组中的电压进行归一化处理,最后利用聚类方法实现了内短路电池的自动识别。上述的故障诊断方法也仅适用于单一类型的故障,不具备对多种类型故障诊断的普适性。
由于电池成组后电池间的不一致性和使用环境的不确定性,电池组中很有可能出现不同类型的故障。因此,迫切需要一种能够在电池组中诊断多种故障的方法。文献[11]提出了一种基于交错式电压测量拓扑结构和改进相关系数的故障诊断方法,通过计算相邻电池之间的电压相关系数来诊断电池内部和外部短路故障、传感器故障和连接故障。文献[12]提出了一种基于SDO算法的电池组多故障诊断方法,通过电压的异常变化,对开路故障与短路故障进行故障识别。文献[13]提出了基于修正方差的微小故障诊断方法,通过计算滑动窗口内电池电压序列的修正方差,能够有效地识别早期开路故障与短路故障。上述方法的研究对象主要针对电池有明显的电压变化,对于电池早期故障,其电压降并不明显。此外,传统的方法不能同时满足精度与计算时间的要求,很少考虑到电池组中的不一致性,无法自动判断故障位置和故障发生时间。
针对上述问题,本工作提出一种基于充电电压的多故障诊断方法。首先,将计算出的与电池电压关联性较高的参数作为输入量,通过应用极限梯度提升算法(XGboost)进行电压预测,该算法支持并行计算,大大减少计算时间。其次,在电池组中考虑电池之间的不一致性,利用归一化的方法放大不同故障的电压特性,与原始电压相比,可以检测到更早期的电池故障。最后,通过应用基于密度的带有噪声的空间聚类算法(DBSCAN),实现对电池组中多种故障的自动分类与定位。
1 基于机器学习的电压预测方法
1.1 特征提取
为了建立输出电压与输入特征之间的联系,通常采用低成本的传感器测量参数,测量的所有参数不能直接作为输入特征,因为不相关的输入特征会对模型性能产生负面影响,皮尔逊相关系数(Pearson correlation coefficient,PCC)被用来计算输入特征与输出电压之间的相关性,如公式(1)所示。
式中,rxy为相关系数;xi为x的特征值;xav为x特征的平均值;yi为y的特征值;yav为y特征的平均值。
经上式计算各参数与电池电压的相关系数,最终选取相关系数较高的电池组总电压、SOC、电池温度、电流作为输入特征。
1.2 XGboost算法
极限梯度提升算法(extreme gradient boost)是由Chen和Guestrin在2016年提出的一种集成机器学习算法,主要用于回归与分类任务[14]。XGBoost是在梯度提升树(gradient boosting decision tree,GBDT)基础上改进的机器学习算法,XGboost目标函数包含了正则项,防止过拟合,此外,XGBoost使用一阶与二阶偏导数近似获得梯度方向信息,能够有效地最小化损失函数。近年来,XGboost因其优越的精度和速度,在电力负荷预测、医疗疾病预测等领域中被广泛应用。
机器学习模型主要是建立X={x1,x2,…xn}和输出Y之间的关系,基于XGboost算法的电池电压预测可表示为:
式中,γ表示叶子节点系数;T表示第k棵树的叶子节点数;λ表示叶子权重惩罚正则项;ω表示第k棵树的叶子节点权重值。正则项主要是对树和叶子节点进行制约,从而防止过拟合。
式中,gi和hi分别表示损失函数的一阶导数和二阶导数。通过合并正则项,重新构造的树模型表达式为:
对于固定结构q(x),可令上式一阶导数为零得到叶子j的最佳权重:
将求得的权重代入目标函数,得到表达式如下:
公式(9)通常被用来评价树结构q的质量,其值越小,表明树结构越合理。该函数无法枚举所有的结构,因此常用一种贪心算法,从单片叶子逐步迭代,不断向树添加分支,分支之后损失函数的减少量如下所示:
上式用于评估拆分候选对象,并通过连续生长不同结构的树来优化整个回归模型,实现电池电压的回归预测功能。
2 电池故障诊断原理
2.1 电池故障与MN的关系
电池的单体故障、电池之间的连接故障是电池组中最主要的故障[15-16],故本工作主要考虑了电池的内短路故障与电池之间的连接故障,为了更直观地了解两种故障,建立了简单的等效电路模型来分析两种故障的电压特性。图1(a)为正常电池等效电路模型,其中,Uoc为开路电压,Ut为端电压,r为电池内阻,I是电流。当电池发生内短路时,其等效电路如图1(b)所示,由短路电阻Risc与原电路并联,此时无论充电还是放电,由于短路电流Iisc持续消耗,内短路电池电压显示低于正常电池电压。当电池之间由于连接松动或接触不良发生连接故障时,其单体电池等效电路如图1(c)所示,Rcf表示连接件带来的接触电阻。在充电过程中,连接故障电池电压高于正常电池电压,在放电过程中,连接故障电池电压低于正常电池电压。总之,内短路电池与连接故障电池在放电过程中表现出相似的电压特性,在早期非常容易混淆这两种故障。
图1 电池等效电路模型Fig.1 Battery equivalent circuit model
基于上述分析,可以通过充电过程中的电压差来区分两种故障,将电池的故障诊断转化为识别异常电压差。然而,在电池发生内短路初期,其短路电阻阻值大于几百欧或几千欧,不能在电池组中产生明显的电压差。同样地,电池组发生轻微的连接故障会导致接触电阻阻值非常小,其电压与正常电池电压基本相同,采用常规的电压信号检测方法可能无法进行故障诊断。
针对以上电压特性不明显的情况,采用归一化的方法来放大故障电池的电压特性。在机器学习领域中,常采用归一化的方法消除数量级和量纲的影响,将数据缩放在一定范围内,例如最值归一化(max-min normalization)、均值归一化(mean normalization)、Z-score 标 准 化(Z-score normalization)。本工作选用均值归一化(MN)进行电池故障诊断,其中,电池组由n个单体电池串联组成,ΔU=Ureal-Upre,表示测量电压与估算电压之间的电压差,Ureal为电池真实的测量电压,Upre为预测电池正常工作时的估算电压,在ti时刻的MN 可表示为:
式中,ΔUk(ti)为在ti时第k个电池的电压差,i=[1,2…n];ΔUmean(ti)为所有电池在ti时的平均电压差;ΔUmax(ti)和ΔUmin(ti)分别为在ti时的最大和最小电压差;是无单位的MN值。对于电池正常工作与发生故障的区分主要依据公式(11),当电池正常工作时,ΔUk、ΔUmean、ΔUmax、ΔUmin基本不发生改变,每个电池的MN 值保持稳定。当电池组中同时出现内短路与连接故障时,通过测量的内短路电池电压相比通过预测得到的正常电池电压会逐渐减小,内短路电池电压差也会逐渐减小,即ΔUmin=ΔUisc<0,通过测量的连接故障电池电压相比通过预测得到的正常电池电压会逐渐增加,连接故障电池电压差会逐渐增大,即ΔUmax=ΔUcf>0,电池组中其余正常电池电压差基本保持不变,由于电池组是由多个单体电池串联组成,其电压差平均值ΔUmean在发生故障时基本不变。因此,由于ΔUmax-ΔUmin逐渐增大,内短路电池的ΔUisc-ΔUmean逐渐减小,故内短路电池的MN 迅速下降。连接故障电池的ΔUcf-ΔUmean逐渐增大,相比于正常电池,连接故障的MN迅速上升。对于电池组中其余正常电池相比未发生故障时,ΔUnormal>ΔUmean的MN值缓慢减小,ΔUnormal<ΔUmean的MN值缓慢增大,ΔUnormal=ΔUmean的MN值几乎不变。通过正常电池与不同故障电池的MN值差异,在检测电池是否发生故障的同时,还可以对电池组中不同故障进行分类。
在计算过程中,MN 值很容易受到测量噪声的干扰,需要一种滤波算法来平滑MN曲线。本工作采用了小波变换方法对MN曲线进行滤波,进一步提高了故障诊断的效率。
2.2 内短路故障与连接故障的自动识别
针对电池组在充放电循环中产生大量的MN曲线,人工观察识别故障非常烦琐,需要一种自动识别MN曲线进行不同故障分类与定位的方法。DBSCAN(density-based spatial clustering of applications with noise)聚类算法是Ester M、Kriegel H P 等人在1996 年提出的一种基于密度的聚类方法,该算法根据数据之间的距离对具有相似特征的数据进行分类,可以自动将数据划分成不同簇。DBSCAN算法还被应用于电池电压均衡和热失控诊断等领域[17-18],充分体现了该算法的优势。因此,本工作选择DBSCAN 算法实现电池内短路故障与连接故障的自动识别。
在使用DBSCAN 算法开始聚类之前,需要选取合适的eps和minpts参数,它们决定了最终的聚类效果。其中,eps参数表示某一样本的邻域大小阈值,minpts参数表示某一样本距离为eps的邻域样本个数阈值。当某一样本点满足在eps邻域包含的样本点个数大于阈值minpts,称为该样本的核心点。当某一样本点在eps邻域包含的样本点个数小于阈值minpts,且在某一核心点的邻域内,称为该样本的边界点。
本工作根据故障电池与正常电池的MN值的距离设定了合适的eps和minpts参数,即eps=0.5,minpts=1。基于这两个参数的DBSCAN 算法开始聚类,其基本思想是利用不同簇之间的密度连通性增长簇,直到簇与簇之间被离群点分开[19]。聚类过程可归纳为以下定义:
密度直达:给定数据集D,对于数据对象p,q∈D,对象q在p的eps邻域内且p为核心点,则称对象q是从对象p密度直达。
密度可达:给定数据集D,存在一个对象链p1,p2…pi…pn∈D,若pi+1是从pi密度直达,则称对象pn是从对象p1密度可达,密度可达是非对称的。
密度相连:给定数据集D,存在对象o∈D,使得对象p和q是从对象o密度可达的,则称对象p和对象q密度相连,密度相连是对称的。
本工作将每个电池的MN值作为输入,考虑到电池组中正常电池占比最多,可根据离群检测故障电池,进一步根据不同故障的MN值正负性存在差异,即内短路电池的MN值小于零,连接故障电池的MN值大于零,进而实现故障电池的分类,最后将内短路故障和连接故障相对应的电池编号作为输出,从而实现故障电池的自动检测分类与定位。综上所述,基于充电电压的锂离子电池多故障诊断策略流程图如图2所示。
图2 基于充电电压的故障诊断流程图Fig.2 Fault diagnosis flow chart based on charging voltage
3 仿真验证
为了验证上述故障诊断方法的有效性,利用Simulink仿真分析,在电池组中模拟了内短路故障与连接故障实验,如图3 所示,电池组是由6 个单体电池串联组成,考虑到电池在实际使用过程中存在一定的差异,将6个单体电池的初始SOC和温度设置不同,电池额定容量为2 Ah,标称电压3.6 V,在25 ℃的环境温度下,以0.5 C 进行恒流充电实验。
本工作主要针对电池早期内短路和轻微连接故障进行研究,其电压特性变化并不明显,在2号电池与3 号电池之间通过开关S1并联1 mΩ 接触电阻Rcf模拟了连接故障,当电池组中出现连接故障时,开关S1断开,当电池组正常工作时,开关S1闭合。在5号电池上模拟了内短路故障,采用开关S2串联500 Ω 短路电阻Risc,然后并联到电池两端来模拟内短路故障,当电池发生内短路故障时,开关S2闭合,当电池正常工作时,开关S2断开。
3.1 电压预测结果分析
通过前文所述,电压预测和故障诊断密切相关,准确迅速地预测电压能够为后续工作提供良好的基础。本工作使用平均绝对误差(MAE)和均方误差(MSE)来评估模型的性能,两个指标的定义式如下:
式中,n为数据量;yi为真实值;为预测值。
本工作随机利用1 号电池的充电数据建立了XGboost 电压预测模型。为进一步优化模型精度,本工作对超参数进行优化调节,最终设定树的数量为100,最大深度为6,最小叶子节点样本权重和为4,进而建立了优化后的电压预测模型。同时,根据1号电池最后一次充电数据验证了模型的准确性,预测结果如图4所示。
图4 正常电池充电电压预测结果Fig.4 Normal battery charging voltage prediction results
为了体现所提方法的优越性,将该方法分别与长短期记忆网络(long short-term memory,LSTM)方法、支持向量机(support vector machine,SVM)方法和随机森林(random forest,RF)方法进行比较,预测精度结果如图5 所示,SVM 方法的MAE 和MSE 均为最高,本工作所提出的XGboost方法的MAE 和MSE 均为最低,与SVM 相比,MAE 和MSE 分别降低了86.3%和97.8%,说明所提方法在预测精度上能够满足需求,具体比较结果如表1 所示。由表可知,LSTM 方法的计算时间最长,SVM 方法的计算时间最短,但无法满足精度需求,XGboost 方法计算时间略大于SVM 方法,远小于RF 方法和LSTM 方法,故本工作所提方法能够同时满足预测精度和计算时间的需求。
表1 不同方法的具体预测精度和计算时间Table 1 The specific prediction accuracy and calculation time of different methods
图5 不同方法的预测精度Fig.5 Prediction accuracy of different methods
将发生故障电池记录的数据输入到上述模型中,来预测此时正常电池的充电电压。然后,通过故障电池的真实值和预测正常电池的估算值得到电压残差。连接故障电池的充电电压如图6所示,电池在正常工作时,预测电压与真实电压非常接近,得到的电压残差在0 V左右对称,在电池发生连接故障时,其电压会迅速有一个小幅度的上升趋势,导致测量的电压大于预测的电压,使得残差在某一大于0的恒定数值范围内波动,最大电压残差达到了0.002849 V。
图6 连接故障电池充电电压预测结果Fig.6 Battery charging voltage prediction results of connection fault
内短路故障电池的充电电压如图7所示。在电池发生内短路故障时,其电压略有下降,残差也无明显变化,随着时间的累积,其电压逐渐下降,直到与预测电压有明显小于0 V 的残差,在此过程中,残差有逐渐减小的趋势,同时围绕着某一变量进行波动,最大电压残差达到了0.00339 V。
图7 内短路故障电池充电电压预测结果Fig.7 Battery charging voltage prediction results of internal short circuit fault
3.2 电池多故障诊断结果
仿真验证以6 节电池串联的电池组为例,2 号电池为连接故障电池,5 号电池为内短路故障电池,其余电池为正常电池。在3000 s 同时触发内短路故障与连接故障,记录周期为10 s,根据故障触发时间,将电压曲线分为正常阶段和故障阶段。
根据公式(11)可以得到各电池单元的MN曲线,如图8 所示。经过小波降噪后的MN 曲线可以识别出2 号和5 号电池为故障电池,因为2 号电池和5 号电池的MN 曲线与正常电池明显分离,同时,连接故障发生时,其MN曲线上升迅速,而内短路故障发生时,其MN曲线逐渐下降。因此根据不同故障的MN 曲线不同,可以人工识别出2 号电池为连接故障电池,5号电池为内短路故障电池。
图8 在正常和多故障阶段的单体电池MN曲线Fig.8 The MN curve of single cell in normal and multiple fault stages
将降噪后的6 个电池记录的MN 曲线输入到DBSCAN 算法中,将故障类型和故障电池单元作为输出,诊断结果如图9所示。连接故障电池可以在发生故障后的10 s内被识别出来,并同时输出连接故障单元为2号电池。内短路故障可以在发生故障后的250 s 内被识别,并同时输出内短路故障单元为5号电池。本工作提出的故障诊断方法实现了早期多故障的自动分类与定位,同时检测耗时较短,能够为用户留出充裕的时间进行检修和更换电池。
4 结 论
为了保障电池系统安全可靠运行,本工作提出了一种基于充电电压的锂离子电池组早期多故障诊断方法,能够及时准确地区分内短路故障与电池连接故障。本工作主要结论如下:
(1)与LSTM、SVM 和RF 相比,XGboost 方法可实现高精度的电压预测,MAE 和MSE 分别降低了86.3%和97.8%。同时,XGboost方法具有计算时间短的优势,能够在1.34 s 得到电压预测结果,同时满足了电压预测精度和计算时间的需求。
(2)均值归一化方法放大了故障电池的电压特性,进一步根据不同故障的MN值特性,实现了电池组早期多故障的分类。
(3)基于密度的带有噪声的空间聚类算法可自动识别电池组中的故障电池,当电池组发生接触电阻为1 mΩ 的连接故障和短路电阻为500 Ω 的内短路故障时,能够分别在10 s 和250 s 内识别故障,实现了电池组早期多故障的自动分类与定位。