赵显赫,耿光超,龚裕仲,江全元,林 达
(1.浙江大学 电气工程学院,浙江 杭州310027;2.国网浙江省电力有限公司 电力科学研究院,浙江 杭州310014)
电网侧储能系统是促进大规模清洁能源并网的重要手段,也是提高电网运行灵活性的关键技术[1]。 随着材料科学的不断发展,以锂电池为代表的电化学储能已成为目前电力系统中的重要储能方式之一[2]。 相比于其他储能方式,锂电池具有能量密度高、循环寿命长、能量转化率高等优点,因此被广泛应用于电网侧储能系统[3]。 在储能锂离子电池运行过程中,其内部储能单元的性能会随锂电池电化学成分改变而发生不可逆退化[4],导致储能系统性能下降或系统故障,甚至可能引发起火灾或爆等事故。 为确保储能锂离子电池运行的安全性与可靠性,储能系统健康管理技术开始不断发展[5]。 作为储能系统健康管理的重要组成部分之一,电池管理系统(battery management system, BMS)通过对储能电池及电池组温度、电压、电流、容量等信息的采集,实现对储能电池的实时状态监测和故障分析[6]。 然而,目前已有的BMS 技术难以捕捉检测状态量在一段时间内的异常变化,不能提前预判故障的发生,因此有必要进一步研究更高效的储能锂离子电池健康状态评估方法。
电池及电池组的健康状态(state of health,SOH) 及 剩 余 使 用 寿 命(remaining useful life,RUL)是衡量储能系统健康状态的两个重要评价指标[7]。 目前对电池SOH估计与RUL预测的主要方法有基于物理模型的分析方法和数据驱动建模方法两类[8-10]。 相比于基于物理模型的分析方法,数据驱动技术无需对电池内部的复杂电化学机理进行建模,具有较高的可迁移性、鲁棒性与自适应性[11]。 目前电池健康状态评估的数据驱动建模方法主要包括人工神经网络(artificial neural networks,ANN)[12]、支持向量机(support vector machine,SVM)[13]、 高 斯 过 程 回 归( gaussian process regression,GPR)[14]等方法。 文献[15]利用门控循环神经网络(recurrent neural networks with gated recurrent unit, GRU-RNN)建立电压时序特征与电池SOH的映射规律,但所采用的输入特征较少,忽略了电池其他参数对电池SOH的影响。 文献[16]通过长短期神经网络(long shortterm memory,LSTM)对磷酸铁锂电池进行SOH估计和RUL预测,但该方法依赖实验室较理想条件下的测试数据,所使用的数据样本较少,鲁棒性及可迁移性较弱。 文献[17]从海量车辆运行数据中提取容量增量曲线的特征,实现了基于GPR的车载电池在线SOH估计,文献[18]从充电曲线中提取5 种特征,通过SVM 进行电池SOH 预测。文献[19]使用深度卷积神经网络(deep convolutional neural networks,DCNN)对电池电压、电流、温度曲线进行切分作为模型特征,对电池SOH进行估计。
目前对储能电池健康状态估计的研究主要存在以下问题:首先,多数研究仅通过电池少量外部参数获取健康状态特征,缺乏对电池多维退化影响因素的分析研究;其次,对电池健康状态的研究多局限于单体,而对电池组及电池簇的健康分析研究较少;此外,多数文献提出的模型缺乏在实际储能系统中的验证。
为此,本文提出一种基于深度学习的储能锂离子电池健康状态估计方法,采用注意力机制的LSTM模型,分析储能电池的多维外部参数特征,强化参数敏感性较高的特征在模型训练时的作用,实现储能电池健康状态高精度估计。 利用斯坦福电池单体测试集及实际储能示范工程数据,分别对电池单体及电池簇进行健康状态估计,验证了模型的有效性。
储能锂离子电池健康情况可通过站内电池单体及电池簇的健康状态(state of health,SOH)进行描述,通常定义为储能单元当前额定容量和初始额定容量的比值[20],即
式中,Ct为储能单元在第t个周期的容量;C0为初始容量。
在储能锂离子电池实际运行过程中,储能单元的荷电状态(state of charge,SOC)运行上下限设定会留有一定裕度,难以直接获取准确的额定容量。 此时SOH可按SOC上下限间总放电量进行替代计算。
设Q为储能单元从SOC上限放电至SOC下限所放出的电量,则
式中,Qt为当前储能单元从SOC上限放电至SOC下限所放出的电量,Q0为初始储能单元从SOC上限放电至SOC下限所放出的电量。
为确保储能锂离子电池健康状态估计的时效性,本文采用滑动窗口的方式,利用一定时间范围内的数据对储能锂离子电池健康状况进行在线实时估计。 在该问题中,时刻t对应电池单体或电池簇的充放电循环次数。 电池单体或簇的SOH历史观测值(y1,y2,…,yt-1)、以及对应历史输入特征(x1,x2,…,xn-1),则未来第Δ循环后SOH的估计值为:
式中:φΔ为储能锂离子电池健康状态估计的预测模型,w为滑动窗口的观测长度,当Δ=0 时,表示在当前循环下对电池单体或电池集群SOH的估计。
本文提出的基于深度学习的储能锂离子电池实时健康状态估计框架如图1 所示,利用储能锂离子电池历史数据及运行过程中的实时数据对储能锂离子电池单体及电池簇的实时SOH进行估计。
图1 储能锂离子电池健康状态评估框架
其主要流程为:
1)数据清洗:对储能锂离子电池运行过程中产生的实时数据进行清洗及预处理,去除掉明显错误的数据,同时对缺失数据进行插值补充。
2)特征工程:特征工程是数据驱动建模过程中的重要一环,从储能锂离子电池历史数据中提取反映电池单体或电池簇老化信息的特征参数,作为模型输入参与模型训练。 根据储能电池SOH的定义,电池单体及电池簇的最大容量、内阻等参数可直接作为表征储能系统健康状况的特征。 但由于这些参数所包含的储能系统健康状态信息有限,且部分储能锂离子电池的BMS 对电池内阻无法直接测量。 因此,仍需通过特征工程丰富模型训练所需的输入特征,以提高模型的精度与可靠性。
3)模型训练:本文以注意力机制的LSTM 神经网络作为深度学习模型,利用特征工程生成的特征向量进行模型训练,建立输入特征与储能锂离子电池健康状态的映射关系。 在模型训练前,通过网格搜索对模型的关键参数进行优化,进而得到最佳的模型超参数。
4)健康状态估计:利用储能锂离子电池实时数据在线生成多维特征,并输入训练好的模型中,估计当前或未来储能锂离子电池单体或电池集群的健康状态。
5)模型更新:对预测结果进行性能评估,根据评估结果对模型参数进行适当调整;同时利用储能锂离子电池实时输入在线数据对模型进行增量学习,更新已训练的模型,进而提高模型的估计精度,形成完整的闭环估计系统。
储能锂离子电池的健康状态估计可以简化为非线性数值型多元时间序列的回归预测问题。 循环神经网络(recurrent neural network,RNN)可有效解决该类问题,但传统RNN模型在训练过程中,随着时间步的推移,会发生梯度下降或梯度爆炸现象,使得历史输入信息丢失或者产生无效信息,进而导致预测结果精度急剧降低[21]。 为解决上述问题,Jurgen Schmidhuber在传统RNN的基础上提出了LSTM算法,解决了传统RNN在训练过程中无法处理的长期依赖问题及梯度爆炸问题。
LSTM单元可使用有效信息填充状态单元,也可删除无效信息,这个过程中使用的结构称为门限。 门限由一个sigmoid 函数点乘一个矩阵组成。 sigmoid 函数输出一个0 到1 之间的数字来描述每个信息通过门限的程度,其中0 表示所有信息禁止通过,1 表示所有信息通过。 LTSM的单元结构如图2 所示,整个LSTM 单元包括3 个门限,即输入门it、遗忘门ft和输出门ot。
图2 LSTM单元基本结构
LSTM训练过程中更新迭代过程如式(1) -式(5)所示:
式中:σ和tanh 分别表示sigmoid 激活函数和双曲正切激活函数;Wxi、Whi、bi表示输入门中的输入权重矩阵、状态权重矩阵和偏置参数;Wxf、Whf、bf表示遗忘门的输入权重矩阵、状态权重矩阵和偏置参数;Wxo、Who、bo表示输出门的输入权重矩阵、状态权重矩阵和偏置参数;xt表示LSTM神经元在t时刻的输入,ht表示在t时刻xt对应单元的输出;ct表示LSTM在t时刻的细胞状态。
由于储能系统复杂的非线性与多因素耦合性,单独的电压、电流、温度等外特性参数所包含的健康信息有限;与此同时,对于如电池簇一类规模较大的电池集合,其健康情况受到下层多个结构复杂的储能单体共同影响。 因此,在储能锂离子电池健康状态建模过程中,需依赖大量人工生成的特征进行模型训练,以涵盖更多健康信息。 然而,由于储能系统个体差异性、健康估计的复杂性、先验经验有限等因素,特征工程所提取的部分特征可能与储能系统健康状态的相关性很小、甚至无明显相关性,进而导致模型训练效果变差,预测精度降低。 为解决这一矛盾,本文引入了注意力机制。
注意力机制是根据人对画面关注度权重的分布不均而设计的一种新型深度学习模型。 它模拟人脑注意力在特定时刻对特定区域集中的情况,从而有选择性地获取更多有效信息,忽略无用信息[22]。 通过对神经网络隐藏层单元分配不同的概率权重,以突出关键信息的影响,增强模型判断的准确性,因而被广泛应用于图像识别、语音识别、自然语言处理等方面[23]。
注意力机制的基本原理如图3 所示,通过时间窗内的注意力打分机制对LSTM 隐藏层的状态进行加权,提高关键输入特征对输出的权重,使不符合注意力模型的内容弱化或者遗忘,实现储能锂离子电池健康状态的准确估计。
图3 注意力机制原理示意图
设LSTM输入特征维数为m,LSTM时间窗口长度为w。 首先,位于上层的LSTM 模型输出隐藏层状态矩阵H=[ht-w,ht-w+1,…ht-1] H∈Rm×wht∈Rm,对隐藏层矩阵H 的每个行向量Hi,使用k个一维CNN过滤器Ci∈R1×w提取特征,对Hi进行卷积操作生成时间窗状态特征矩阵HC,HC∈Rm×k,HC中的每个元素的计算过程如下:
定义打分函数f,对LSTM隐藏层状态ht与矩阵HC的每个行向量进行关联性分析,f的表达式如下:
式中,Wa为行向量Hi与ht的关系矩阵,表示时间窗内行向量Hi与ht的相关性。
打分函数f经过激活函数sigmod 作用后可得到注意力权重αi:
式中,αi为H 每个的行向量Hi中各元素对应特征的注意力权重。
将每行权重αi与HC的每个行向量进行加权求和得到特征权重向量vt,代表了HC所有行对ht的综合影响,即在时间窗内各变量对模型输出敏感性权重。
注意力层的输出结果h't通过式(10) 确定:
式中,Wv为权重向量vt的参数矩阵,Wh为注意力层的输入权重矩阵
最终输出的预测结果可由下式计算:
式中,yt+Δ注意力机制的LSTM模型输出,Wh'为注意力输出层的权数矩阵。
以传统LSTM 模型作为对照,分别利用斯坦福电池单体测试集[24]和浙江省某实际储能示范工程数据验证本文方法在电池单体和电池簇健康状态估计中的应用效果。
3.1.1 斯坦福电池单体数据集
该数据集包括124 个APR18650M1A磷酸铁锂电池单体的循环寿命测试数据,电池容量为1.1 Ah,额定电压为3.3 V。 各电池单体在不同充电电流倍率下进行循环寿命测试,电池的充放电循环数从150 至2300 不等,有效充放电循环96700 个,是目前最大的电池单体循环寿命公开数据集。
数据集中电池采用不同的一步充电或两步充电策略,使得电池容量按照不同速度衰减。 以恒流模式对电池进行充电直至SOC达到80%,再以1C的充电倍率继续充电,当电压到达电池的额定电压3.3 V时,采用恒压小电流充电,直至电流达到C/50 认为充电结束;放电过程均以4C倍率恒电进行,当电池电压放电至2.0 V时,采用恒压小电流放电,直至电池放电电流达到C/50 认为放电结束。
数据集包含了各电池单体在循环测试过程中电压、电流、容量、温度、时间、内阻等数据。 这些物理量与储能系统中BMS 所采集的物理量基本一致,适用于储能锂离子电池单体健康状态估计实验。
3.1.2 特征工程
除电池单体的电压V、电流I、温度T等直接外特性参数外,常通过对电池放电容量电压曲线(Qd-V曲线),增量容量曲线(d Qd/d V-V)曲线进行特征提取。 本文共提取了12 个电池单体特征作为模型输入进行分析,如表1 所示。
表1 电池单体健康特征
完成特征提取后,由于各特征量纲不同,数量级差异较大,因此还需对模型的输入输出进行归一化处理。 本文采用最大最小值归一化,即
预测结果输出时,需进行反归一化,消除归一化的影响。 反归一化公式为:
3.1.3 实验设置
本实验基于CPU(AMD 3800X)、GPU(NVIDIA GeForce RTX 2070super 8GB)、RAM 内存(32G)、Linux操作系统Tensorflow-GPU 1.15 及Keras-GPU 2.1.4 环境下进行。 储能锂离子电池单体实时健康状态估计模型由一个输入层、一个隐藏层、一个注意力层、一个输出层共同构成。 训练过程中模型的损失函数采用平均绝对值(mean absolute error,MAE)进行计算,其数学表达式为
其余实验参数设置如表2 所示,所选参数通过网格搜索比较后确定。 将该数据集随机分割为7 ∶3 两部分,即87 个电池单体数据作为训练集,37 个电池单体数据作为测试集。 测试集数据模拟电池实际使用情况,以每个充放电循环为一个时间步逐个输入。每进行50 次预测后,则增量更新一次模型。
表2 电池单体健康状态评估模型参数
3.1.4 结果分析
选择斯坦福数据集中的17 号电池(以5.4C充电至80%),20 号电池(先以5.4C充电至40%,再以3.6C充电至80%)及44 号电池(先以8C充电至15%,再以3.6C充电至80%)进行分析。 从图4中可见,采用注意力机制的电池单体健康状态估计效果较好。 且随着模型的增量更新,17 号电池和20 号电池的估计误差均有逐渐降低的趋势。
图4 电池单体SOH估计
为验证注意力机制模型的有效性,在保证其他实验参数相同的情况下,以均方根误差(root mean square error, RMSE)及MAE作为估计结果的评价指标,分别采用注意力机制的LSTM 模型和普通LSTM模型对电池进行健康状态估计。 如表3 所示,使用注意力机制进行的健康状态估计,其RMSE与MAE均小于普通LSTM模型,证明了该模型在储能电池健康状态估计上的优越性。
表3 电池单体SOH估计结果
3.2.1 储能示范工程数据
为了进一步验证本文所提出方法的有效性,采用浙江省某实际储能示范工程数据进行储能锂离子电池簇实时健康状态估计。 该储能锂离子电池使用国能磷酸铁锂电池,电池单体额定电压为3.2 V,初始容量为60 Ah。 每个电池模组包含4并12 串共48 个电池单体,每个电池簇包含19 个电池模组,由3 个电池簇构成一个电池堆,共A、B两个电池堆,总计1050.624 kWh,该储能工程每个电池堆每日进行一次充放电。 储能锂离子电池BMS 每10 秒进行一次采样,数据通过Kafka实时流传输至本地分布式文件系统中。 所采集的数据包括各电池单体的电压和温度,以及各模组、簇、堆的电压、电流、温度、功率、SOC等信息。
3.1.2 特征工程
在实际工程场景中,由于储能锂离子电池工况的复杂性,数据在采样过程中存在较大误差;同时,在数据存储过程中,可能存在较多的缺失与遗漏,需对储能锂离子电池现场采集的数据进行数据清洗,去除明显错误的数据,并对遗漏数据进行插值处理。
同时储能锂离子电池实际使用过程中,电池簇每次充放电结束后的SOC可能不同,因此,无法以完整的Q-V曲线作为电池簇的特征。 因此,本文采用特定电压间隔下的电量变化作为电池簇的电压容量特征。 设储能锂离子电池簇工作最小电压为Vmin,最大电压为Vmax,将该电压范围分割成k段较小的电压区间,每个电压区间的电压范围为(Vmin-Vmax)/k,各电压区间下的电池Q-V曲线中提取特征。
由于电池簇中包含多个电池模组,通过分析电池簇内部各电池模组电压及温度的不一致性[26],也可以作为电池簇健康分析的特征。 本文将电池簇内部各模组电压及温度的极差与方差,作为衡量电池簇内部各模组不一致性的特征。
对实际储能锂离子电池簇所提取特征如表4所示。
表4 电池簇健康特征
3.1.3 结果分析
选择电池簇A-I,电池簇A-II已积累运行数据作为训练集参与模型训练,电池簇A-III已积累运行数据作为测试集,对电池簇进行健康状态估计,电池簇A-III数据模拟实时输入逐个周期进行读取。 每隔30 个充放电循环对储能锂离子电池簇健康状态。 同时,并利用电池簇运行过程中的新增数据每30 个充放电循环对模型进行增量更新。
电池簇A-III的健康状态估计结果如图5所示。 从图中可见,该模型能在一定程度上对储能锂离子电池簇的健康状态进行估计。 注意力机制LSTM模型估计结果的RMSE为2.13%,MAE为1.71%,与普通LSTM模型相比精度更高,证明该模型在实际储能锂离子电池簇的健康状态估计中,具有一定的有效性。
图5 电池簇SOH估计结果
表5 电池簇SOH估计结果
本文提出了一种注意力机制的储能锂离子电池健康状态估计方法,详细介绍了该算法的原理、模型的网络设计及特征工程过程,并通过对斯坦福电池数据集及实际储能锂离子电池的数据对模型进行验证。 实验结果表明,本文提出的学习模型在斯坦福数电池数据集电池单体和实际储能锂离子电池簇的健康状态估计中实现了MAE分别小于0.314%和1.71%的估计效果,相比于传统的LSTM模型具有更高的估计精度。 由于本文所进行的健康状态估计均采用历史数据,在本地模拟实时输入进行,下一步工作考虑将该算法部署在储能锂离子电池的实际工程中的数据流中,在线分析实现储能锂离子电池实时健康状态估计。