动态条件下基于深度学习的锂电池容量估计*
2022-07-02毕贵红蔡子龙陈臣鹏
毕贵红,谢 旭,蔡子龙,骆 钊,陈臣鹏,赵 鑫
(昆明理工大学电力工程学院,昆明 650500)
前言
锂离子电池因其高功率和能量密度、低维护成本、长寿命和低自放电率而被认为是未来可再生能源和电动汽车的关键技术。然而,锂离子电池是复杂的电化学系统,它的日历寿命和循环寿命会受到不同使用条件的影响:外部影响因素包括运行环境、运行模式,其对锂离子电池影响的指标有温度、充放电率和放电深度等;内部影响因素包括锂离子损失、活性物质损失和电导率损失等。为了优化锂电池的性能,延长其生命周期、降低使用成本,增加电池耐用性的需求,电池健康预测和管理(prognostics and health management,PHM)受到了极大的关注,PHM 能使工作人员实时监测电池的健康状态。目前,国内外针对锂离子电池SOH 的大量研究都在使用基于机器学习的方法,该方法不受电池模型、运行环境和测量手段等限制,具有灵活性高、易实现等优点。其中,深度学习作为机器学习的分支,相比于传统机器学习方法,加深了隐含层,能够有效挖掘输入参数之间隐藏的耦合关系和提取特征的时间相关性,具有更好的自动抽取隐藏特征的能力,有助于改善估计精度。同时,基于深度学习的方法能实现不同型号、不同工况等复杂条件下的锂离子电池容量估计。当前,国内外基于深度学习的锂离子电池容量估计方法可初步归纳为如下3类。
(1)固定充放电模式的锂离子电池老化实验所获得的电压、电流、温度、等压降充放电时间和容量等参数完成锂离子电池容量估计或预测。NASA 针对研究电池的老化与寿命估计问题进行了一系列老化实验,获得了多组数据集,其中之一是由恒流-恒压充电和恒流放电的模式进行电池循环充放电老化实验,属于固定充放电模式下锂离子电池容量估计、预测所使用的常用数据集。文献[3]中选用该数据集,间接计算锂离子电池历史容量并结合多尺度分解和深度置信网络-长短时记忆神经网络双通道模型的方法分别进行了锂电池单步、多步SOH 和寿命预测;文献[4]中选用该数据集中的恒流-恒压充电过程测量的电压、电流和温度数据构成输入向量,通过使用不同深度学习方法建立输入量与SOH 的关系,完成锂离子电池容量估计。
(2)随机充放电-容量测试模式的锂离子电池老化实验所获得的容量测试阶段电压、电流、温度等参数完成锂离子电池容量估计或预测。NASA 电池老化数据集的另一组数据集是随机电池使用数据集,由随机充放电-容量测试模式进行电池循环使用老化实验,属于模拟真实工况下电池老化数据进行锂离子电池容量估计使用的常用数据集。但是目前研究主要使用了该数据集中定容测试实验阶段的恒流-恒压充或放电数据。文献[5]中使用该数据集,并选取容量测试模式中的恒流-恒压充电阶段内电压、电流、温度曲线作为SOH 估计输入,将容量作为输出并使用CNN 完成SOH 估计。文献[6]中选取容量测试模式中的恒流-恒压充电阶段内电压、电流、温度数据构成输入矩阵,并通过GRU 和CNN 双通道模型建立电压、电流和温度与锂电池SOH 间的关系完成锂电池SOH 估计。文献[7]中选取容量测试模式中的恒流-恒压充电阶段内的部分片段电压、电流和充电容量值组成输入特征矩阵并使用CNN 完成锂离子电池容量估计。
(3)随机充放电-容量测试模式的锂离子电池老化实验所获得的随机充放电阶段电压、电流、温度等参数完成锂离子电池容量估计或预测。文献[8]中使用了NASA 随机电池使用数据集的随机充放电模式测量数据,并对电池实测电压值进行小波能量时频图的转换,最终通过向CNN 输入时频图进行锂离子电池容量分类识别,文中提出的算法能够很好地将不同容量区间区分开来。文献[9]中使用NASA随机电池使用数据集的随机充放电模式测量数据,从电流、电压和温度数据中间接提取出了18 个特征用于精准估计SOH。文献[10]中列举了统计学和深度学习两种方法进行动态状况的锂离子电池容量估计,选用NASA 随机电池使用数据集的随机充放电模式测量电流、电压和温度数据,依照不同算法特点,从中提取了具有反映锂离子电池退化状态的相关时序特征量用于算法模型输入,两种方法都有着良好的精度,但由于作者使用了全部的时序数据,仅仅是进行算法模型训练就需要将近1 h,耗时很长。
综上所述,锂离子电池容量估计的难点包括:(1)大部分锂电池容量估计的研究局限于使用较为稳定的实测数据,如固定充放电模式的老化实验数据、随机充放电-容量测试模式的老化实验数据中的容量测试阶段数据等,针对现实生活中电池的动态实测数据并未充分利用;(2)在使用基于深度学习方法进行锂离子电池容量评估时,难以确定数量合适、具有代表性、相关性高的容量估计输入量,选择较多的输入量会增加对计算能力和数据储存能力的需求,也易使网络难以有针对性的提取隐含信息,影响最终估计精度;(3)当前,已有极少数的研究使用随机充放电-容量测试模式的老化实验数据中的随机充放电阶段数据进行电池容量估计,这能够在一定程度上反映锂电池在现实使用时的复杂情况,但因为该研究还处于初步阶段,还存在着难以充分利用动态数据、选择适合容量估计模型等问题。
为克服以上问题,本文中将锂离子电池随机使用数据集的电压、电流和温度进行特征提取,从时域和时频域角度进行分析,并通过CNN-GRU 模型实现锂离子电池容量估计。具体来说,虽然随机工况下的电压、电流和温度实测数据特征极为复杂,但它们彼此具有一定联系,从多时间尺度下的电压升降、放电率、放电深度、循环频率和温度变化等角度来看,这些变量的时域特征量能反映出锂离子电池退化的局部特征。而从时频域角度计算得到的频带能量又能够很好地拟合锂电池容量退化的整体趋势。为了保证算法的实用性和时效性,实验仅截取并选用了部分时段的实测数据,结合时频域分析,构造特征矩阵作为锂离子电池容量估计方法的输入向量,完成了基于CNN-GRU 算法在动态数据条件下的锂离子电池容量估计。最后,在NASA 锂离子电池随机使用数据集上验证了该方法的有效性,并与现有方法进行了对比实验。
1 问题阐述和数据描述
1.1 锂电池健康状态评估
锂电池SOH 一般通过容量或内阻来衡量,然而传统的电池管理系统难以在线获取它们。为能实时监测锂离子电池SOH,需要使用电池管理系统的可测量对电池容量进行评估。在广泛了解当前对锂电池容量估计的研究后发现,真实工况下的电压、电流和温度测量数据在不同时间尺度上会相互作用,它们彼此之间具有一定复杂的非线性关系,所以直接使用这些实测数据建立容量估计的关系模型效果不理想。本文中分别从电压、电流、温度等基本可测量的时域和频域角度,提取能够表征锂电池容量退化的特征量,建立多特征矩阵输入与容量的关系从而完成锂电池容量估计。
1.2 锂电池使用数据描述
本文中使用了来自NASA 的锂离子电池随机使用数据集,用于研究锂电池动态使用数据对电池容量退化的影响。这个数据集收集了室温下RW9、RW10、RW11 和RW12 等4 块电池的老化数据,电池特性见表1,老化实验过程见图1。由图可见,这4块电池分别重复进行随机游走(random walk,RW)循环和参考性能测试。
表1 NASA随机电池使用数据集电池特性
图1中随机游走循环通过随机选取序列(-4.5,-3.75,-3,-2.25,-1.5,-0.75,0.75,1.5,2.25,3,3.75,4.5 A)中的电流完成5 min 的充(放)电过程,即一次RW步;电流序列中负值代表充电,正值代表放电。单个RW循环包含了1 500次RW步和1 500次休息过程。图2分别展示了RW9号电池中首个和最后一个RW循环中的部分电压、电流和温度测量值。
图1 电池老化实验
图2 RW9号电池部分循环电压、电流和温度测量值
在单个RW 循环结束后,电池要经历几个参考性能测试用于测量容量。参考性能测试首先使用2 A的额定电流对电池进行充电,直至电池达到最大电压4.2 V,而后维持该电压值继续充电直至电流跌落至0.01 A,然后休息20 min。接着,使用2 A 的额定电流进行放电,直至电池达到最小电压3.2 V,停止实验。最后使用库仑计数法来计算电池容量:
式中:表示电池完整的放电电流;表示放电持续时间。
4 块电池容量的计算值如图3 所示。从图中可以看出,容量退化是一个非线性且复杂的过程,即使是在相同的测试条件下,电池的退化过程也各不相同。因此,研究目的是基于电池动态使用过程中的实测数据,提取其时域和频域中的局部特征量,用于表征电池循环使用时的容量退化过程。
图3 NASA锂离子电池随机使用数据集中电池容量测量值
2 时域与时频域特征提取
图4 展示了对电池动态使用的实测数据进行时域特征量和小波变换频带能量提取以及时频特征矩阵构造过程。首先,电池通过选取随机电流进行充(放)电操作,获取不同容量下的实测电压和温度。其次,使用电流、电压、温度实测值进行时域特征量提取,使用小波变换对电压、温度实测数据进行多频带能量提取。最终,经过提取不同容量下的时、频特征量,组成CNN-GRU 神经网络的输入矩阵,用以完成锂电池容量估计。
图4 时频特征矩阵构造过程
2.1 基于小波变换的频带能量计算
考虑到数据呈非线性和突变性。因此,除了从时域角度开展分析外,本文中还使用小波变换将离散序列分解成不同频率范围的分量,使用不同频率分量的能量作为频域代表特征量,能够很好地降低数据非平稳性和非线性。需要说明的是,本文中基于小波变换进行多频带能量提取时采用的是db5 作为小波基函数并对实测电压、温度值进行了4 层分解。小波能量计算如下。
离散小波变换每次分解只会对低频空间做进一步分解,其过程相当于重复使用一组高通和低通滤波器对时间序列信号进行逐步分解,高通滤波器产生信号的高频细节分量,低通滤波器产生信号的低频近似分量。滤波器得到的两种分量所占频带宽度相等。每次分解后,先将信号的采样频率降低一半,再对低频分量重复以上的分解过程,得到下一层次的两种分解分量。设分解次数为,则小波分解结束后,最终会获得一个低频近似分量和个高频细节分量。设信号的离散序列为(),=1,2,…,,为信号点数量;在第次分解时刻的高频细节分量系数为d(),低频近似分量系数为a(),分别利用分量系数进行信号重构可得到高频细节分量信号D()和低频近似分量信号A(),则原始信号序列()可表示为各分量之和,即
在信号总能量不变的情况下,有
信号的总能量为
2.2 特征提取
为使用真实工况下易于获取的数据进行锂电池容量估计,本文中在考虑所有退化因素的前提下,提出了一个有效的输入特征集,使用各RW 循环中40RW 步的数据进行时域特征量的提取。另外加入小波分解后的低频部分能量占比作为频域特征量进行研究。对第个RW 循环阶段的对应特征量描述如下:
(1)U,单次RW步的初始电压;
(2)ΔU,单次RW步的初始、截止电压差值;
(3),单次RW步的最高温度;
(4),单次RW步的最低温度;
(6)Δt,单次RW步的持续时间;
(7)t,第个RW循环40次RW步的持续时间;
特征量3-5 能够反映温度、高放电率对电池老化的影响;特征量6、7能够反映循环频率对电池老化的影响;特征量1、2 能够充分体现电压升降、放电深度对电池老化的影响;特征量8、9 则为电压、温度的低频能量,能够反映电池整体退化趋势。
3 容量估计模型
3.1 卷积神经网络
CNN是一种广泛应用在模式识别、特征提取领域的前馈型神经网络。它能够使用一系列卷积核,通过逐层的卷积和池化操作对隐藏在输入数据中的特征进行提取。它的优点是使用更少的参数提取输入数据的空间特征并将提取特征构造成更高层的特征。这些高层特征可被用来进一步完成估计、预测或是分类操作。本文中将特征矩阵作为输入,CNN通过对输入矩阵进行卷积、池化操作完成特征提取。为了提取不同类型特征,一般一个卷积层会有几个同样尺寸的卷积核进行卷积操作,如图5所示。图中输入信号经过卷积层的两个卷积核完成卷积,卷积的运算可视为一个相同大小的滑动窗口以一定的步幅沿输入向量移动,对于窗口的每一个停留点,卷积核与窗口内的数值之间的内积作为输出的一个元素。
图5 卷积操作
3.2 门控循环单元循环神经网络基本原理
GRU-RNN 属于深度神经网络的一种,它的提出主要是为了解决循环神经网络(recurrent neural network,RNN)的长期依赖性问题,同时它相对于RNN 的另一种变型LSTM 神经网络而言,提升了计算效率,降低了结构复杂性。GRU-RNN 的隐藏层为门控循环单元,其中包括更新门和重置门,且将单元状态合并输出单元。结构如图6所示。
图6 门控循环单元结构示意图
GRU-RNN隐藏层输出h的计算表示为
由于锂电池是一个具有长时依赖性响应的动态系统,其容量与历史电压、电流、温度均存在联系。而GRU-RNN 的隐藏层具有记忆功能,通过对数据的不断学习,能够反映电池的动态特性,具有处理长时序数据的优点。
3.3 模型结构
CNN-GRU 模型结构如表2 所示。其中包括:输入层接收经过标准化且尺寸为40×9 的特征矩阵;经过多次卷积、池化层处理,其中第1个卷积层有32个尺寸为3×3 的卷积核,第2 个卷积层有64 个3×3 的卷积核,输入矩阵经过两次卷积操作后经过最大池化层处理,所得到的即为更高层特征,经过扁平层后传递至GRU-RNN 进行容量估计;两层GRU-RNN分别有64个单元,后接64个神经元的全连接神经网络,最后输入回归层得到锂电池容量差值估计值。
表2 CNN-GRU结构
本文中提出了一种基于动态条件和CNN-GRU的锂离子电池容量估计方法。具体方法的实现如图7 所示。其中,特征提取部分已经在上一节做了详细的介绍。CNN-GRU 模型的输入为经过特征提取后构成的特征矩阵,最终输出目标为相邻参考性能测试实验所获得容量的差值,通过以下公式得到当前时刻的容量估计值:
图7 基于动态条件下和CNN-GRU模型的锂离子电池容量估计结构示例
假设电池额定容量已知的情况下,通过截取电池在使用过程中的部分实测数据,经特征提取后构成特征矩阵输入CNN-GRU 模型,获得一段时间后的容量跌落值,将跌落值输入式(10)能够计算得到电池经过一段时间使用后的容量估计值。
4 实验与分析
4.1 实验设置
本实验基于CPU(Inter Core i9-10900k 3.7 GHz)、RAM 内存(16GB)、Windows 操作系统和Keras 环境等软硬件实施。实验使用的CNN-GRU 模型结构详见3.3 节。该模型以均方误差为目标函数,并采用Adam 作为最小化目标函数的自适应优化器,学习率设置为0.001,1 阶动量衰减系数为0.9,2 阶动量衰减系数为0.999,最小批量为4。
选取NASA 锂离子电池随机使用数据集中的4块电池数据作为测试样本。选择某块电池作为测试样本时,将其余3 块锂离子电池数据作为训练样本,这样能够验证不同工况下的数据集对本文提出的锂离子电池容量估计方法的适应性。
为了对锂离子电池容量估计方法的性能进行评价,实验采用均方根误差(root mean squared error,RMSE)和正则化的均方根误差(normalised root mean squared error,NRMSE)作为性能评价函数:
4.2 模型超参数设定的影响
本文中提出了CNN-GRU 模型,其中CNN 用作提取输入数据的更高层特征,GRU 神经网络用作对高层特征作进一步处理,二者共同完成锂电池容量估计。对于复杂网络来说,训练模型的性能会受超参数的设置所影响,在提高模型估计精度、避免过拟合的前提下,经过多次实验确定了网络结构,表3 以容量数据较为复杂的RW12 号电池为例,展示了部分网络层确定的超参数和实验结果,共设置8 组实验,实验变量包括卷积核大小、卷积核个数等。
表3 RW12号电池网络层超参数和对应容量估计性能评估结果
表3 中实验1、2、3 组将两个卷积层的卷积核个数固定为32 和64,由于CNN 之后接入了GRU,经过卷积层提取的高层特征要满足时序特点,所以卷积核尺寸不宜设置太小,选用2×2@32&2×2@64、3×3@32&3×3@64 和4×4@32&4×4@64 的卷积层网络超参数开展实验,对比3组实验的NRMSE 值可知,3×3卷积核尺寸为最佳选择;实验4、5 组将卷积核尺寸固定为3×3,选用3×3@32&3×3@32 和3×3@64&3×3@64 的卷积层网络超参数进行实验参数设置,观察卷积核个数对模型容量估计精度的影响,对比两组实验的NRMSE值可以看出,单纯改变两个卷积层中卷积核个数对最终模型容量估计的精度影响不大;实验6、7、2、8 组将卷积核尺寸固定为3×3,通过设置3×3@8&3×3@16、3×3@16&3×3@32、3×3@32&3×3@64 和3×3@64&3×3@128 卷积层网络超参数进行实验,进一步探索多卷积层中卷积核数量的不同搭配是否能够影响模型的容量估计精度,由对应实验组的NRMSE 值可以看出,2 组实验的网络层超参数对应容量估计结果最佳,接下来的实验中,以2 组实验的网络层超参数:3×3@32&3×3@64进行两层卷积网络结构设置,以达最佳容量估计效果。
4.3 构造时域特征量的原始序列长度的影响
本文中从时域角度构造特征量时还须截取合适的序列长度以满足精度高、速度快的容量估计。考虑到使用的数据集是按秒进行数据收集,单个循环周期包含1 500RW步,1次RW步大约1~5 min不等,数据量十分庞大,为提高时域特征量与容量的相关性,所以选择每周期中参考性能测试之后的部分随机游走实验数据,开展序列长度对容量估计影响的实验。实验以RW12 号电池为例,将该电池原始数据每循环周期分别截取20RW 步、40RW 步、60RW步、80RW 步和100RW 步作为时间窗,表4 给出了对应RW 步在原始数据收集的时长和构造时域特征矩阵尺寸。表5 列出了RW12 号电池对应不同RW 步时域特征量输入时的容量估计评估结果。
表4 RW12号电池对应不同RW步的原始数据时长和构造时域特征矩阵尺寸
通过表4 可以看出,随着原始数据长度的增加,对应原始数据的收集时长和构造时域特征矩阵的尺寸都在同步增长,使用较宽的时间窗所产生的问题一方面在于延长模型的训练和测试时间,另一方面在于收集实测数据的难度会增加,如果选择时间窗过长,那就要保证连续的数据收集,当出现数据丢失的情况时可能会影响最终容量估计的准确性;通过表5 不难看出,随着网络输入由20RW 步增长至100RW 步的过程中,RW12 号电池的容量估计误差呈“W 型”波动,分别在40RW 步和80RW 步有明显降低,而两者比较,40RW 步的误差小,训练时间又短。所以,此后实验将原始数据的截取时间窗固定为40RW步。
表5 RW12号电池对应不同RW步时域特征量输入的容量估计性能评估结果
4.4 输入特征的影响
基于CNN-GRU 的模型对处理非线性、长时序数据有着极大优势,考虑神经网络的特性,其模型选择的网络输入对最终结果精度有着较大的影响。本文中选择了部分时段的时域特征量与电压、温度小波频带能量组成特征矩阵作为网络输入,为分析两类特征对算法的影响,分别进行了时域特征量和小波低频带能量作为网络输入的实验,结果见表6。
表6 基于不同网络输入的锂离子电池容量估计性能评估结果
从表6 可以看出,在单独使用时域特征作为网络输入进行容量估计时,文中提出的估计方法也保持较好的精度,最大误差不超过15%,这是因为时域特征量在一定程度上能够反映一些锂离子电池老化特征规律,但当结合使用时域和小波低频带能量,CNN-GRU 模型能够更好地学习锂离子电池容量退化规律,从而提升最终估计精度,最大误差小于10%。
4.5 模型结构的影响
为进一步分析模型结构对本文提出的容量估计方法精度的影响,本节对网络结构变量取值对方法精度影响开展了相关实验,表7 以4 块电池的平均RMSE和NRMSE值作为模型性能量化结果。
表7 基于不同CNN-GRU结构下的锂离子电池容量估计性能评估结果
从表7 可以看出:首先,针对CNN-GRU 的卷积层数,随着层数增多,其内部的卷积核提取特征的操作变多,算法的容量估计性能有所提升,但同时网络的参数也在增加,参数增加意味着模型训练时间有所延长,容量估计精度在2 层时达到最高,这是因为卷积层数量的增加对模型提取时间序列特征数据间的隐含特性、相关性有一定影响,但持续增加卷积层数,并不能够保证模型估计精度的进一步提升;其次,对于池化层而言,它能够合并特征信息,保留部分主要特征信息,从而能够很大程度上减少训练参数,降低了估计误差;再次,增设了Dropout 的CNNGRU 模型精度并未能提升,这是因为卷积神经网络本身就具备了较强的泛化能力,能够有效避免过拟合的问题,因此无需设置Dropout结构。
4.6 模型估算结果
为研究单一模型对容量估计精度的影响,分别采用CNN、GRU 和CNN-GRU 模型进行实验。CNN和GRU 网络结构见表8,CNN-GRU 模型结构详见3.3节。
表8 CNN、GRU网络结构
基于3种模型在9-12号锂离子电池数据上的容量估计曲线和真实值曲线如图8 所示。估计精度量化结果见表9。
图8 NASA数据集锂离子电池容量估计结果
表9 基于多种深度学习方法的锂离子电池容量估计性能评估结果
综合图8 和表9,通过对比3 种模型容量估计结果可以看出:CNN 能够更深一步提取输入数据内在特征,但不能充分利用锂电池数据集内部数据的时序特征;GRU 神经网络虽然能够有效利用数据的时序特征,但对原始数据的关联性分析不足;说明使用单一神经网络都不能达到较为满意的估计精度。通过对比3 种模型的训练时间可以看出:CNN 特殊结构所达成的“局部感受野”和“参数共享”性能够极大程度降低训练时间;GRU 神经网络因需要训练的参数较多而训练时间较久;通过将二者优点相结合,既能充分提取输入数据高级特征,降低输入数据的复杂性,为进一步GRU 网络训练降低了难度,缩短了训练时间,又可保证良好的估计精度。综上所述,本文中提出的锂离子电池容量估计方法在9-12 号电池测试数据上均表现良好,整体趋势拟合较好,且能够反映出局部再生细节波动。正则均方根误差也能稳定在7%~10%区间,说明本文中提出的方法能够使用随机工况的锂离子电池测试数据集进行电池容量估计并满足一定的精度要求。
5 结论
本文中提出了一种动态条件下基于级联式深度学习的锂离子电池容量估计方法。具体来说,将部分片段的电池随机使用数据电压、电流和温度实测值从时域和时频域角度展开分析,提取时域和时频特征量组成特征矩阵作为容量估计方法的输入,以容量差作为输出,在获取电池额定容量的情况下能够实现锂离子电池的容量估计。在NASA 锂离子电池随机使用数据集上的实验结果表明,本文中选取的特征量具有数量合适、相关性高的优势。相较于单一的CNN 和GRU 神经网络,CNN-GRU 算法能够进一步提取输入数据的内在特征,有效利用好数据的时序特征,高效且准确地完成容量估计。除此以外,本文中还通过实验验证了模型超参数设置、原始数据时序长度、网络输入和模型结构对容量估计结果的影响。总的来说,本文中所提出的锂离子电池容量估计方法是一种基于深度学习的方法,仅靠电池老化测试中获取的实测数据即能够实现电池容量估计。下一步将研究重点放在如何通过智能算法完成实测数据的特征提取,降低人工特征提取的不确定性和不稳定性,以进一步提高动态条件下的锂离子电池容量估计精度,并从算法的实用性角度进行深入研究。