基于单步滑动窗口-长短期记忆网络的锂电池SOC估计算法

2024-03-10 03:34王志亮韩尚卿范晓东于承航
电源技术 2024年2期
关键词:充放电滑动时刻

王志亮,吴 勇,韩尚卿,范晓东,王 猛,于承航

(1.北京机电工程研究所,北京 100071;2.中电科蓝天科技股份有限公司,天津 300384)

锂电产业作为形成新质生产力的支柱产业,是构建清洁低碳能源体系的关键部份。锂离子电池由于具有能量密度高、循环寿命长等优点,被广泛应用于新能源汽车、航空航天等领域[1-3]。锂离子电池荷电状态(SOC)的准确估计是保证电池安全运行、延长电池使用寿命的关键,对锂电池的应用推广具有重要意义,国内外研究者们对其展开了大量的研究。

常用的SOC估计方法包括直接测量法、数据驱动法和基于模型的方法。直接测量法属于开环估计方法,通常包括开路电压法(OCV)和安时积分法[4]。基于OCV的SOC估计方法中,一方面OCV-SOC关系受电池的工作环境温度影响较大。另一方面,一般认为经长时间搁置后的电池端电压即为电池的开路电压,但电池从工作状态到平衡状态需要很长时间,实际工作条件下难以在线获取OCV值[5-7]。安时积分法是目前应用最广泛的SOC估计方法,它具有计算简单、易于实现等优点,但该方法对SOC初值精度要求较高,随着时间的推移,低精度的SOC初始值将导致SOC估计误差的累积[8]。

在基于模型的SOC估计方法中,最常见的为基于卡尔曼系列的改进方法。扩展卡尔曼滤波算法(EKF)是在卡尔曼滤波算法(KF 算法)的基础上将KF的高阶项忽略,仅采用一阶项,从而将非线性简化为线性。文献[9]构造了一种基于自适应EKF 算法(AEKF)实现电池SOC估计的方法,实验表明,所提SOC估计方法具有较强鲁棒性,且能实现SOC的高精度估计。文献[10]通过使用有限差分法代替扩展卡尔曼滤波算法中非线性部分的微分运算,提出了一种基于有限差分扩展卡尔曼滤波算法(FDEKF)实现电池SOC的高精度估计,该方法降低了模型线性化所产生的误差,可以更好地表现电池的动态特性,可获得良好的SOC估计效果。通过卡尔曼滤波及其改进算法可以很大程度上解决SOC预测的问题,但该方法的SOC估计结果受模型精度的影响较大,需进一步优化。

基于数据驱动的SOC估计方法主要包括神经网络、机器学习与支持向量机(SVM)等方法。这些方法可在不建立电池模型的情况下直接通过电池实验数据进行训练,获取电流、电压等数据与SOC的映射关系,实现动力锂离子电池SOC的预测。该方法无需设计电池等效模型,且在非线性问题中具有较高的准确性,所以可以很大程度上解决动力锂离子电池的非线性问题[11-12]。文献[12]提出了一种改进的深度神经网络(DNN)的SOC估计方法。在整个充放电周期中使用不同温度下测量的电流和电压数据进行训练和测试,实现SOC的高精度预测。实验结果表明,基于DNN 的SOC估计方法的均方根误差值小于5%。基于数据驱动的方法进行估算的准确性在很大程度上会受到训练样本的影响,通常需要较大的数据量和前期训练时间,但是该方法具有较强的学习性和潜力,是未来的重要研究方向之一。

综合考虑SOC估算精度与计算复杂度之间的均衡,结合现有SOC估算方法的不足,本文提出了一种基于数据增强的长短期神经网络(LSTM)和单步滑动窗口技术相结合的SOC估计方法。并通过自定义的充电、放电与模拟真实飞行器充放电实验工况对该方法进行了验证。

1 理论分析

1.1 单步滑动窗口

在将锂电池电流数据输入LSTM 网络之前,通常情况下需要对获得的数据集进行预处理,将其转化为LSTM 网络模型所能够输入的特征。滑动窗口可以用于将长序列数据切割成较短的序列块并对数据做出不断的更新,每个序列块包含固定长度的时间步。这样可以将原始序列数据转换成适用于LSTM 输入的特征量。

单步滑动窗口在滑动窗口的基础上,将上一时间的数据作为输入,当前时刻的数据作为特征标签,最终输入LSTM 网络训练。使用单步滑动窗口可以更好地表征锂离子电池的电流特性,且能防止过拟合现象的产生,从而提高模型的准确度。单步滑动窗口方法的锂电池SOC预测流程如图1 所示。

图1 使用单步滑动窗口法的锂电池SOC预测流程

算法主要分为5 步。第一,定义滑动窗口位置。第二,初始化窗口,使其满足特定条件。第三,开始滑动窗口,遍历整个数据。第四,处理窗口内数据,不断更新前后时刻。第五,继续滑动窗口,直到数据结尾。程序在一个窗口内有效地处理数据,避免重复计算。使用滑动窗口数据增强后的数据进行神经网络的训练,再使用测试数据对神经网络进行检测,完成对锂离子电池荷电状态的初步估计。

1.2 长短期记忆网络

长短期记忆网络是一种时间循环神经网络(RNN),其设计的初衷是为了解决常规RNN 存在的长期依赖问题。所有的RNN 都具有一种重复神经网络模块的链式形式,在标准RNN 中,该重复结构模块只包含一个较简单的结构,例如一个tanh 层。常见的神经网络算法会将无用的历史数据转移到下一时刻,导致迭代结果的输出误差较大。然而,LSTM 可以使用遗忘门处理无用的历史数据来解决这个问题。这种设计可以有效地实现一些数据的保留和一些数据的遗忘,LSTM 结构如图2 所示。

图2 LSTM单细胞结构

如图2 所示,在一个单独的LSTM 细胞单元中,分别包括当前时刻的输入Xt和前一时刻的输入Ht-1。它们由3 个完全连接的sigmoid 层和1 个tanh层处理,sigmoid 层在图中用σ表示,其值为0~1,当任何数与0 相乘时都得0,表示数据被遗忘;与1 相乘时都等于原数据,则表示被记住。tanh 层的值为-1~1,被使用创建新的候选单元向量并加入到上一时刻的细胞状态Ct-1中。

假设隐藏单元的数量为h,批量大小为n,输入数量为m。因此,输入表示为Xt∈Rn×m,前一时刻的隐藏状态为Ht-1∈Rn×h。同 样,t时刻的输入门It∈Rn×h,遗忘门Ft∈Rn×h,输出门Ot∈Rn×h。

首先,当数据进入当前神经单元,会从上一时刻的细胞状态Ct-1中丢弃某些信息。丢弃的信息由遗忘门决定。遗忘门会收集当前时刻的输入Xt和前一时刻的输入Ht-1,将其通过sigmoid 层进行非线性映射得到所需的Ft,如式(1)所示:

式中:Wxf∈Rm×h,Whf∈Rh×h都属于权重参数;bf∈Rh,它属于偏置参数。

神经单元通过输入门决定什么样的新信息加入到当前细胞状态中。分别通过sigmoid 层和tanh 层决定,如式(2)~(3)所示:

如式(2)~(3)所示,当前时刻的输入Xt和前一时刻的输入Ht-1同样经过sigmoid 层决定特定的信息被记住或者遗忘。此外,tanh 层从Xt和Ht-1中创建新的候选单元向量t,它将加入到细胞状态中。

当输入门和遗忘门得到所需数据时,下一步将通过所得数据更新细胞状态,如式(4)所示:

式中:⊙表示每个元素的乘法;遗忘门数据Ft与上一时刻细胞状态Ct-1相乘,此时细胞状态中的某些信息已经被选择遗忘,同时加上输入门数据与新的候选单元相乘的数据就得到新的细胞状态。最终通过输出门输出所需要的值,如式(5)~(6)所示:

同样,基于sigmoid 层决定什么样的数据加入到新的输出当中。接着,根据上一时刻的细胞状态Ct,得到我们所需要的输出Ht。换句话说,输出数据由输出门数据Ot与遗忘门和输入门数据所共同决定。当输出门接近1 时,保留的信息可以传递给预测部分。当输出门接近0 时,记忆元中只保留信息,不更新隐藏状态。如果遗忘门为1,输入门为0,则Ct-1保存到当前时刻,可以有效缓解梯度消失问题。

上述门和细胞单元决定了LSTM 对当前细胞单元内容进行选择性的保留。如果检测到的特征被认为是重要的,则遗忘门将被关闭,并将存储内容长期保留,这相当于捕获了一个长期特征依赖。另一方面,该单元可以决定通过打开遗忘门来重置存储器内容。由于这两种操作模式可以同时发生在不同的LSTM 单元上,因此具有多个门控的RNN 可以捕获到长时间序列的相关性关系。

基于单步滑动窗口-长短期记忆神经网络模型的锂离子电池SOC预估流程图如图3 所示。

图3 单步滑动窗口-长短期记忆神经网络模型预估流程图

由图3 可知,本文所提出的基于LSTM 网络估算电池SOC的具体过程如下:1)用于LSTM 网络估计的电池SOC模型的构建;2)根据工况测试实验采集的电流数据,获得参考SOC,通过滑动窗口技术对数据预处理;3)选取训练样本和测试样本,完成LSTM网络模型的建立;4)通过将当前时刻预测值与当前时刻的实际观测值进行比较,更新模型参数和网络状态,得到当前时刻状态变量的最优值。

2 实验结果分析

为验证所提算法的SOC估计效果,通过大功率充放电设备、恒温箱等设备搭建实验平台。以某型号锂离子电池组中单体额定容量为2.897 Ah 的锂离子电池为研究对象,对电池进行充电、放电与模拟真实飞行器充放电实验测试,获取相关实验数据并对所提算法进行验证。充电、放电与模拟真实飞行器充放电实验测试结果如图4 所示。本文所提出的单步滑动窗口-长短期记忆网络算法的各项超参数如表1 所示。

表1 神经网络参数设置

图4 锂电池电流测试曲线图

根据超参数设置结果,LSTM 算法按照滑动窗口为1 的大小对数据进行预处理,错位一个时间步作为LSTM 网络的输入。模型学习训练过程中,会在第125 次迭代时学习率乘于0.2 从而防止模型过拟合。以均方根误差(RMSE)为评价函数,训练得到合适的网络模型,最后获得高精度SOC预估值,RMSE评价函数结果如图5 所示。

图5 三种工况下RMSE评价函数结果图

如图5 所示,三种工况下所提出的算法评价函数均能够快速降低至0 附近,在第125 次迭代处三种工况下评价函数均有再次下降趋势,能够有效防止过拟合现象。

为了验证该算法在复杂应用条件下对锂离子电池SOC估计的运行效果,使用自定义的充电、放电与模拟真实飞行器充放电实验数据进行验证,其采样步长分别为1、1 和0.005 s。所提出的单步滑动窗口-长短期记忆网络算法SOC估计结果如图6 所示。

从图6 中可以看出,本文所提出的单步滑动窗口-长短期记忆网络算法在充电、放电与模拟真实飞行器充放电工况下均能够快速收敛。充电与放电工况收敛至2%的误差以下均在10 s 以内。模拟真实飞行器充放电工况在0.01 s 之内收敛至2%的误差。从图6 中可以看出,算法快速收敛至2%误差以后,最大SOC预测误差均在0.004 3 以下,体现了本文所提算法的稳定型与鲁棒性。此外,采用均方偏差(MSE)、均方根误差(RMSE)和平均绝对误差(MAE)性能指标进行评估,结果如表2 所示。

表2 充电、放电与模拟真实飞行器充放电实验工况下算法性能指标

由表2 可知,单步滑动窗口-长短期记忆网络算法在3 种工况下,MAE性能指标最大不超过0.005,MSE性能指标最大不超过0.6,RMSE性能指标最大不超过0.015,结果表明,预估值与实际值之间存在很小的偏差,算法可实现锂离子电池SOC的高精度估计,进一步证明了单步滑动窗口数据方法的有效性与快速性。

3 结论

SOC实时高精度估计是电池管理系统中状态监测的重点和难点。本文基于长短期记忆网络表征锂电池的状态和输出特性,对神经网络的输入数据与输出数据进行改进,并通过单步滑动窗口方法对LSTM 算法进行优化。实验结果表明所建立的神经网络模型结合单步滑动窗口方法能够较好地实现对锂电池SOC的估算,在充电与放电工况下算法能够在10 s 内快速收敛,在模拟真实飞行器充放电工况下算法在0.01 s 内收敛至2%的预估误差。收敛后估算误差控制在0.005 以内,验证了所提方法的有效性与快速性,具有广泛的应用价值。

猜你喜欢
充放电滑动时刻
冬“傲”时刻
V2G模式下电动汽车充放电效率的研究
捕猎时刻
基于SG3525的电池充放电管理的双向DC-DC转换器设计
一种新型滑动叉拉花键夹具
Big Little lies: No One Is Perfect
锂离子电池充放电保护电路的研究
街拍的欢乐时刻到来了
滑动供电系统在城市轨道交通中的应用
一天的时刻