数据驱动的锂离子电池智能故障诊断算法
2022-11-07朱景哲高一钊李家琦
朱景哲,张 希,高一钊,李家琦
(上海交通大学机械与动力工程学院,上海 200240)
锂离子电池在电动汽车中应用时,常见的外部故障有传感器(含温度、电压和电流传感器)故障、连接故障和冷却系统故障等;常见的内部故障有过充电、过放电、内部和外部短路、过热、加速退化以及热失控等,其中电芯内部故障,如内短路与异常老化,与热失控紧密相关。已有很多将数据驱动法用于锂离子电池故障诊断的报道,主要可分为基于案例分析法、基于模型法和非基于模型法。W.Gao等[1]分析了实车发生热失控时电压、温度的临界值,并进行了诱因溯源。Z.T.Liu等[2]基于电流、电压数据,对电化学模型及等效电路模型进行参数辨识、状态估计,通过分析时变参数,判断电池是否发生故障。非基于模型法包括基于信息量和统计量法、基于机器学习法[3]。前者通常基于信息量和统计量,对实车数据进行清洗后,计算时间序列数据的小波包分解结果、电压单体相关系数和香农熵等参数,启发式地确定信息量的阈值,再判别故障;后者可分为基于无监督法[如密度聚类(DBSCAN)的异常值检测算法]和基于深度学习[如长短期记忆(LSTM)人工神经网络]的端到端诊断算法。
上述方法在应用时仍存在问题。基于案例分析法多针对个例,泛化性能较差,难以推广到实车诊断领域;基于锂离子电池故障注入的研究方式多基于实验进行分析,对故障类别覆盖较差,且多使用控制变量(如温度)方式进行实验,导致所得结论难以推广到温度、工况耦合的实际场景。
相关研究表明,多种方法的组合效果一般较好,但线上场景对电化学参数辨识的实时性要求较高,因此,本文作者提出一种端到端的结合电化学参数的电池故障诊断算法,主要关注电池故障(内短路、异常老化)的诊断预测,并避免模型在线上推断过程中实时辨识电化学参数。
1 电化学模型及参数辨识
电池在发生内部电化学反应的同时,会发生副反应。某些副反应会对电池产生长期的老化影响和安全风险,包括:①Li+损失[见式(1)];②电池负极化学当量偏移[见式(2)];③固相体积分数减小[见式(3)];④液相体积分数减小[见式(4)];⑤固体电解质相界面(SEI)膜增长[见式(5)]。文献[4]阐述了上述副反应带来的影响,并进行建模。
(1)
(2)
(3)
(4)
(5)
基于MATLAB的Simulink仿真功能,将上述过程化简并构建传递函数,对锂离子电池老化过程进行建模。对于给定的电流、电压和温度序列,可通过列文伯格-马夸尔特(LM)算法,迭代辨识出相关电化学参数。
2 深度学习模型
卷积神经网络(CNN)是一类包括卷积计算且有深度前馈结构的前馈神经网络。目前常用的CNN,整体结构通常由卷积层、池化层和全连接层组成。卷积层的数学模型见式(6):
Xi=f(Xi-1Wi+bi)
(6)
式(6)中:Xi为第i层输出的特征向量;Wi、bi分别为第i层卷积核的权重矩阵和偏置向量;f为激活函数(通常使用Relu函数),赋予神经网络非线性拟合能力。
一维卷积层输出形状[Dout,Hout,Wout]公式为:
(7)
(8)
式(7)、(8)中:[Hin,Win]是该层输入特征的前2个维度;H、W为当前层卷积核的高度和宽度;P为补零数量;S为卷积核滑动步长。此外,Dout取当前卷积层卷积核的数量。
(9)
全连接层主要学习高层特征和下游任务之间的映射关系,如式(10)所示:
Y=Softmax(WTX+b)
(10)
式(10)中:X、Y分别为输入、输出特征向量;Softmax为激活函数。
在算法中,对实车数据进行卷积主要是在时间序列上滑动多个卷积核,得到多组特征。各卷积核相当于不同的特征提取器,用于学习实车数据到故障类别之间的映射关系。
3 结合电化学参数的电池故障诊断
3.1 方法流程
基于电动汽车实车工况数据,对电池故障类型进行分类。与仅使用信息量和统计学特征进行故障分析的方法不同,算法引入电化学模型,通过辨识参数,对实车数据进行分析和故障标注,并端到端训练故障诊断模型。技术路线见图1。
首先,收集实车数据并进行数据清洗和数据预处理,如异常值处理、插值等;然后,基于已有电气故障和实车数据特征,对原始数据进行初步筛选,得到非电气故障导致异常的电池序列;对筛选后的数据集进行电化学参数敏感度分析和分阶段电化学参数辨识,并基于关键电化学参数的分布和组合,对数据标注电池内短路和老化异常;最后,基于深度学习模型,端到端地实现对全量实车行驶数据的故障分类。
3.2 数据初筛
动力电池故障有多种类型。在实车场景下,部分电气故障可被较准确地判别,如传感器故障、电池连接异常等。上述片段应提前筛选,作为单独归类,不计入之后的故障分类。剩余的实车数据中,需确定可能存在的高危故障(如内短路、过快老化)备选片段,进行后续分析。按如下策略,对排除了电气故障的片段进行筛选:①温度极差不低于5 ℃;②电压极差不小于0.3 V;③电压单体KL散度大于4×10-6;④电压单体截面数据极差(X)和标准差(Y)的相关系数小于0.6。
图1 结合电化学参数的故障诊断方法路线Fig.1 Route of fault diagnosis method combined with electrochemical parameters
对实车数据,人为设定滑动窗口长度和滑动步长,沿时间序列,分别计算指定长度内每只电池单体电压和模组电压均值的KL散度(DKL),如式(11)所示:
(11)
式(11)中:p为电池模组各单体的电压均值序列;q为每只电池单体的电压序列;k为序列标号;m为电池单体数量。
电压序列的相关系数(r)的计算如式(12)所示:
(12)
在上述故障初步判别策略中,温度和电压极差常被用作典型的异常分析条件[5],可覆盖大多数热失控事故车辆。电池单体KL散度在一定程度上体现了电压序列的不一致性。基于策略③、④直接筛选,得到的实车数据片段见图2。
从图2可知,对各单体电压极差-标准差相关系数大于阈值的片段,电压数据常呈现个别单体电池数据偏小的现象;对单体电压KL散度大于阈值的片段,部分单体电池的电压在汽车行驶过程中波动异常。这表明,提取实车数据片段的特征,并依此加以筛选,可初步定位电压表现异常的区域。
3.3 电化学参数敏感度分析与辨识
为了对未知故障模式的数据进行进一步分析,需要提取传感器获得的电池数据所对应的电化学参数特征。除了可以直接测得的部分参数(如结构参数)外,其余参数在没有实验检测设备的实车环境下,可借助优化算法进行自动辨识。为避免电化学参数在辨识过程中陷入局部最优,需要按电化学参数敏感度和参数实际意义,分阶段辨识。
图2 KL散度异常与相关系数异常Fig.2 KL divergence anomaly and correlation coefficient anomaly
首先,对电化学参数进行敏感度分析,使用拉丁超立方体采样[6],并进行敏感度分析。高敏感度参数略微变动,会导致电化学模型输出变化较大;而低敏感度参数的变化,对电化学模型输出的影响较小。
同时,考虑电化学参数的实际物理含义,建立如表1所示的3个阶段电化学参数辨识流程。
表1 3个阶段电化学参数辨识流程Table 1 Schematic diagram of 3-stage electrochemical parameter identification
表1中:Lpos为正极片厚度;Rs,n、Rs,p分别为负极、正极粒子半径;Soc,init为电池初始容量百分比;Lsep为隔膜厚度;εs,p、εe,p分别为正极固相和电解液的体积分数;εe,m为负极孔隙率;Cs,p,max为正极固相最大Li+浓度;Rf为电池内阻;θn,100为电池满电状态的负极固相Li+浓度。
通常,电池类型和结构参数,即表1中的固有参数(A、Lneg和Lpos)是已知的,无需辨识。对于中高敏感度参数,即表1中的阶段1和阶段2,认为单辆车各电池单体的对应参数相同,因此用当前车辆电池包各单体电压、电流和温度的均值进行辨识,且各参数在阶段1时,相对阶段2有更高的敏感度,要先进行辨识。对考虑老化的电化学模型提及的老化相关时变参数和低敏感度参数,即表1中的阶段3,要基于电池单体电压分别辨识。通过上述辨识流程,可获得各单体电池对应的电化学参数。将辨识所得参数反填入电化学模型,并输入真实工况下的电流和温度,比较电化学模型输出的仿真电压和真实电压,平均误差小于12 mV,见图3。
图3 电压估计图Fig.3 Voltage estimation diagram
3.4 故障标注
由于发生热失控的车辆数据极少,且车端反馈的国标故障类别和预警级别通常与实际采集数据的分析结果不匹配,误报、漏报较多,在分析热失控车辆的数据后,应针对实车数据的特征和电化学参数组合确定阈值,进行故障分类。
分析动力电池内短路实验及实车内短路故障的数据,发现电池发生内短路时,通常伴随着电压下降、异常温升和热失控等3个过程。具体到电化学特征和实车数据特征层面,表现为Rf减小,且电池包单点发生异常放热,导致温度探针的测量值不一致。结合实际热失控车辆的数据和辨识得到的电化学参数,约定当电池包温度探针极差大于5 ℃且Rf小于1.84×10-5Ω时,标注当前电池包存在内短路风险。
对于电池单体容量的异常衰减,根据文献[4]分析考虑老化电化学模型中对应的老化相关时变参数,由式(13)-(15)计算各个单体电池在已知各个电化学参数下的负极容量,作为电池的老化衡量量(Q):
(13)
(14)
Q=min(Qneg,Qpos)
(15)
式(13)-(15)中:Qneg、Qpos分别为负极、正极容量;θp,0、θp,100分别为电池放空和满电状态的正极固相Li+浓度。
分析实车数据中的电化学参数,可得到各单体电池的老化程度。对电池动态特性较强的片段,不论工况如何,同一款车在相近时间内,各单体电池的老化现象很接近;而对静置或充电部分较多的片段,辨识出的电化学参数代入式(13)计算得到的负极容量的不确定性较大,不能直接描述电池的老化程度。对动态特性较差的片段,标注为没有容量异常衰减的征兆;对动态特性较丰富的数据片段,通过设定各单体电池负极容量极差阈值的方式,标注是否异常衰减,取得存在容量异常衰减风险的标签。在实际预测时,由滑动窗口截取实车序列数据,在行驶过程中可检测出存在单体电池过快老化征兆的车辆,不必担心静置或充电时无法检测。
4 深度学习模型结构
数据初筛可获得不同电流电压序列下电池的故障分类标签。为避免模型在线上使用时,反复调用电化学模型影响效率,对原始实车数据片段和故障风险分类标签构建输入输出训练对,搭建基于一维CNN的深度学习模型,学习传感器数据到电池故障分类的映射关系。模型结构见图4。
从图4可知,该网络由向量嵌入层、特征抽取层、池化层和特征汇聚层等组成。由于输入数据特征维度较高,且对于单体电池的电压特征需要学习共性知识,首先要将输入映射到低维特征空间中。由于输入时序相关,使用门控循环网络(GRU)进行特征低维嵌入。为了同时对短期和长期特征进行建模,基于文本一维卷积(TextCNN)模型结构,使用不同大小的卷积核分通道进行特征抽取,并连接最大池化层进行下采样,对于小卷积核通路,采用全卷积网络;堆叠卷积层并使用随机神经元丢弃,增强模型的鲁棒性;特征汇聚层的作用是将不同通道抽取的特征进行聚合,采用沿最后一个维度对齐的方式进行拼接,展开成一维向量并接批归一化操作;最后,使用全连接层实现故障的分类。
图4 故障分类模型神经网络结构 Fig.4 Neural network structure of fault classification model
5 数据集与模型验证
数据集与验证集数据来自中汽研重庆采集的实车数据。车辆为重庆地区85辆纯电动汽车,以轿车尤其是出租车为主,含故障车辆。基于Li(Ni0.8Co0.1Mn0.1)O2三元正极材料锂离子电池(韩国产),标称容量为152 Ah。测试集和验证集数据涵盖了各种工况(快充、慢充、静置及各种特点的行驶、动态放电工况);分析时间戳和温度数据可知,大部分数据的时间跨度超过1 a,温度探针记录的温度为-3~55 ℃。
采用上述数据,按图4的模型进行训练。用式(16)、(17),在数据平衡后的测试集上计算各故障类别的准确率和召回率。式(18)结合准确率和召回率,评价故障诊断效果。
(16)
(17)
(18)
式(16)-(18)中:TP为实际发生故障且被正确预测的样本个数;FP为未发生故障但预测错误的样本个数;FN为未发生故障且被正确预测的个数;Pprecision为故障片段的分类精度;Rrecall为故障片段的召回率;F1为综合考虑模型精确率和召回率的分数。
各个故障类别的准确率和召回率结果如表2所示。
表2 故障分类结果Table 2 Fault classification results
表2中的数据为实车数据对切分的数据片段故障类型进行分类的结果。从表2可知,分类模型的平均F1分数为0.841 1。通过调整损失函数,在保证精度不低于70%,即错误召回率不超过30%的前提下,故障样本召回率可以提升至0.933 5。上述模型已部署于实际场景,并通过模型评审。
6 结论
本文作者基于实车数据,使用电化学参数和实际数据的相关特征,对数据时间序列滑动窗口切分得到的片段进行标注。针对低采样且云端场景下无检测条件的问题,提出同类电化学参数初始化模型和分阶段参数辨识的方法,以进行准确辨识,辨识后的模型,电压预测值与电压真实值平均误差小于12 mV。
为避免在实际应用中对电化学参数进行实时辨识,构造数据集,使用一维CNN,在训练集上学习实车数据片段到故障标签之间的映射关系,平均F1分数为0.841 1。通过调整损失函数,故障平均召回率为0.933 5。