1. 引言
随着锂离子电池技术的发展,其逐渐作为常用的储能元件被引入电动汽车、便携式电子设备以及各类具有储能需求的装置中 [1] ,以实现电能的存储和转化。对于锂离子电池而言,SOC和SOH是最关键的状态量。其中,SOC被定义为剩余容量与最大可用容量之比 [2] ,其能够量化当前电池内部所剩能量,准确的SOC估算能够提高锂离子电池容量和能量利用率,有利于电池管理系统保证锂离子电池工作在安全运行区间,以延长锂离子电池使用寿命;SOH则尚没有统一的定义,通常以锂离子电池容量和内阻的变化来定义 [3] [4] ,其能够定量描述锂离子电池老化情况,准确的SOH估算直接影响锂离子电池性能的发挥,并为老化锂离子电池的更换提供重要参考依据,对于锂离子电池最佳性能的发挥和安全运行具有重大意义。
SOC和SOH估算方法可以分为基于模型的联合估算方法和数据驱动的估算方法。其中,传统SOC估计方法包括安时积分法、开路电压法、放电测试法和内阻测试法。常见的基于电池等效模型的估算方法为KF算法、PF算法和观测器法等。观测器法在电池SOC的精度估算以及鲁棒性上表现较好,但其性能容易受噪声影响,因此未被广泛使用。数据驱动方法具备自主学习能力,在大量的数据进行训练下,能够基于自身反馈调节,优化参数,以获得更好的估计结果。通常数据驱动有神经网络法、支持向量机、模糊逻辑法等 [5] 。
传统的SOH估计方法主要为直接测量法和最小二乘法,直接测量法一般通过测量内阻或者容量来估计电池SOH。最小二乘法用于电池模型参数的辨识,结合等效电路模型,拟合电池内部参数和电池老化之间的函数关系,对当前的电池SOH做出估计。基于滤波的算法通常是利用自适应滤波算法实时更新电池内部状态来获取电池等效内阻参数。数据驱动方法在不考虑锂离子电池老化机理和内部电化学反应的情况下,试图从电池表征数据中提取出电池退化的可用特征,然后通过机器学习方法建立这些特征与SOH之间的关系 [6] 。
虽然现有的研究已经取得了较好的实验结果,但仍有一些需要改进的地方。对于锂电池的SOC估计,大多数文献没有考虑电池老化对SOC估计的影响。事实上,随着电池的老化,电池的容量会逐渐降低,外部可测参数的特性可能会发生变化,这将对SOC的估计提出很大的挑战 [7] 。SOC和SOH的联合估算方法是在考虑SOC和SOH耦合关系的基础上,利用估算出的SOH来更新迭代SOC,以实现SOC的更新。由于对SOC估算时考虑了SOH的影响,联合估算方法能够跟随锂离子电池当前状态变化进行调整,更加准确地实现SOC和SOH同时估算。
基于模型的联合估算方法需要依赖锂离子电池电化学模型或者等效电路模型,使用双观测器相互迭代分别实现SOC和SOH估算。虽然基于模型的SOC和SOH联合估算方法能够通过性能强大的各种改进观测器实现了理想的效果,但电池模型的不准确一直是限制该方法的主要难题,即不准确的电池模型直接影响SOC和SOH估算精度,而且随着电池工况的变化及老化过程的发生,电池模型中的参数不确定性将进一步增大,从而进一步影响估算准确性。然而,数据驱动的联合估算模型能够回避电池模型,转而通过机器学习的方式获取SOC和SOH变化特性,不需要依赖锂离子电池模型,且不需对SOC和SOH进行解耦并分别进行估算。
至于常用于电池SOC估算的神经网络则是LSTM神经网络。目前,已经有大量的文献证明了LSTM神经网络在电池SOC估算领域的优秀表现。近年来,随着深度学习的不断发展,出现了越来越高效的神经网络,如卷积网络、门控循环单元、双向长短期记忆(BiLSTM)等。这些神经网络在锂离子电池SOH领域的应用还有待进一步发展。
2. 锂离子电池SOC和SOH关联性分析
锂离子电池SOC和SOH均为表示锂离子电池状态的定义量,而不是具体物理量。其中,常见的对锂离子电池SOC的定义有两种 [8] ,第一种指在特定放电倍率条件下,电池剩余电量占相同条件下额定容量的百分比,其中
是为电池剩余的电量,
为以电流
放电时所具有的容量。
(1)
第二种方法则是通过放出电量Q求得当前的荷电状态:
(2)
两种定义方式下,电池完全充电时,SOC = 100%,电池完全放电时,SOC = 0。式中观察可以发现,因为
在不同倍率放电下所测得的电池实际容量会有所不同,一般用电池标称容量
来代替不同放电倍率下的额定容量
。
通常情况下,SOH被定义为当前时刻与初始状态下性能参数的比值,可以从容量和内阻两个角度进行定义 [9] ,取值范围为0~100%。容量角度定义方法如下式(3):
(3)
其中,
为当前时刻电池实际0容量,
为出厂时额定容量,两者均为电池在标准放电条件下SOC从100%到0过程中电池实际放出的电荷量。由于锂电池在使用过程中内阻会发生变化,并且与SOH存在一定的对应关系,因此也可以从内阻角度定义,表达式(4)如下:
(4)
其中,
为当前时刻内阻,
为电池出厂时的内阻,
为电池达到报废标准时的内阻。从容量的角度定义锂离子电池SOC时需要将SOH考虑进去 [10] ,锂离子电池当前最大可用容量与标称容量之比,由以上分析可以推导出:
(5)
式中:
为锂离子电池当前状态所存储的电量;
为锂离子电池标称容量。由式(5)可以看出,从机理分析角度而言,锂离子电池SOC和SOH之间存在关联,且SOH对SOC的影响随着SOH的变化而变化。并且随着锂离子充放电周期的增加,其内阻总体是在变大的。在常温下的一次充放电时,其变化浮动不大,且内阻会在放电时变现为轻微上升,充电时表现为轻微下降。
3. 基于深度学习的锂离子电池SOC和SOH联合估计框架搭建
在基于状态空间模型的SOC估计中,SOC与电压和电流等参数的关系具有很强的非线性映射关系,且由于系统中的参数会随着电池充放电次数增加而改变。利用数据驱动法进行SOC估计,不需要对电池内部复杂的工作机理进行了解,而是把电池这个复杂的非线性系统看做一个黑箱模型,只需要采集电池特性数据(电压、电流等)进行网络模型训练,可很好地模拟出电池的特性,训练数据越丰富,训练出的模型就越接近于真实电池特性。因此,我们可以利用已经采集并计算出的电池内阻进行SOH计算,并将预测到的SOH加入SOC训练模型中,增加数据丰富度。
本文将卷积神经网络(CNN)与门控循环单元循环神经网络(GRU-RNN)进行结合,从而实现基于深度学习的锂离子电池SOC和SOH状态的联合估计,其联合估计模型框架如图1所示。
![](//html.hanspub.org/file/2-1542824x26_hanspub.png?20230413101051569)
Figure 1. Joint estimation framework of SOC and SOH state of lithium-ion batteries based on deep learning
图1. 基于深度学习的锂离子电池SOC和SOH状态的联合估计框架
其中,GRU-RNN是为了解决简循环神经网络的长期依赖性的问题而提出的一种循环神经网络,其相对于长短期记忆循环神经网络(LSTM-RNN)而言,能够同时降低对计算复杂度和存储空间的需求并能提高收敛速度。由于锂离子电池是一个具有长时依赖性响应的动态系统,其当前SOC与历史SOC、电压、电流等参数均存在联系。因此,将GRU-RNN用于SOC估计能够更好地处理时间序列问题。其整体结构如图2所示。
![](//html.hanspub.org/file/2-1542824x27_hanspub.png?20230413101051569)
Figure 2. SOC state estimation based on GRU-RNN framework
图2. 基于GRU-RNN框架的SOC状态估计
在GRU-RNN架构的基础上,增加处理数据空间关联性更强的CNN架构,以算法本身的数据分析能力和非线性映射能力,来适应电池在实际使用过程中复杂多变的影响因素。其中,CNN由单个输入层(input layer)、多个卷积层(convolutional layer)、多个池化层(pooling layer)、多个全连接层(dense layer)、单个输出层(output layer)构成。整体结构如图3所示。
![](//html.hanspub.org/file/2-1542824x28_hanspub.png?20230413101051569)
Figure 3. SOH state estimation based on CNN framework
图3. 基于CNN框架的SOH状态估计
4. 深度学习模型搭建
本实验基于CPU (Intel Core i7-9750h 2.60 GHz)、GPU(NVIDIA GeForce GTX 1650 4 GB)、RAM内存(16 GB)、Windows操作系统。
4.1. CNN网络模型设计
本文搭建的CNN神经网络用于预测锂电池SOH,其结构由一个输入层,五个卷积层,五个批标准化层,五个激活函数层、三个最大池化层、一个全连接层和一个输出层所构成,共有21层。其具体流程如下:
1) 数据预处理:选取电压V、电流I、充电能量
、放电能量
、电压变化率
五个参数作为输入数据,输出为SOC参考值,分别做归一化处理。接着,将归一化后的输入数据分别排列成
的网格,叠加成深度为5的输入数据,网络最终的输出值还需要反归一化,得到SOC的估计值。
2) 卷积层选择:卷积层选择一维卷积,卷积块内卷积核大小为3 × 1,第一层设置16个滤波器,第二层设置32个滤波器,第三层设置64个滤波器,第四层设置128个滤波器,第五层设置为256个滤波器。指定移动步长为1,padding填充为0。
3) 批标准化:更深的神经网络拥有更强大的非线性映射能力,但也会产生较深层网络学习效率低、收敛速度慢等问题。即使我们对输入数据进行了归一化处理,训练过程中每层网络输入的分布也可能会发生偏移。因此,我们在每个卷积层与激活函数之间添加批标准化层(batch normalization),使得每一层网络的输入在训练过程中均保持较为均匀的分布,从而使网络传播更加有效。
4) 激活函数:选用线性整流函数ReLU,如公式(6)所示:
(6)
5) 最大池化层:最大池化层的作用主要为提取特征值,降低了上层的计算复杂度。模型中共设置3个Max pooling池化层滤波器,每个Max pooling池化层滤波器的作用范围为3 × 1,且将该范围内最大的值作为主要信息保留并输出。
6) 损失函数:选用回归类问题较为常用的均方根误差(RMSE)损失函数,可以有效衡量观测值与真实值之间的偏差。
模型中采用Adam自适应优化器最小化目标函数,优化器学习率为0.001,步长和迭代次数设置为24和2000。
4.2. GRU-RNN网络模型设计
SOC估算模型中的GRU-RNN由一个输入层、一个隐藏层、一个全连接层和一个输出层组成,且输入层、隐藏层、全连接层和输出层的节点分别设置为3、100、100和1,激活函数为tanh,加入dropout层防止过拟合,在每次训练的时候,每个神经元有10%的几率被移除。将均方根误差(RMSE)损失函数作为目标函数,并采用Adam自适应优化器,最小化目标函数,优化器学习率为0.0001步长和迭代次数分别设置为10和100。
5. SOC估计结果预测
利用深度学习方法对锂离子电池从初始状态SOC = 60%充至SOC = 100%,进行了一次深度充放电周期,此时SOC和SOH状态的联合估计结果如图4、图5所示。
![](//html.hanspub.org/file/2-1542824x34_hanspub.png?20230413101051569)
Figure 4. Internal resistance state estimation of lithium batteries during primary charge and discharge period
图4. 锂电池一次充放电周期电池内阻状态估计
![](//html.hanspub.org/file/2-1542824x35_hanspub.png?20230413101051569)
Figure 5. SOC state estimation of lithium batteries during primary charge and discharge period
图5. 锂电池一次充放电周期电池SOC状态估计
由图4可以看出,本次实验中对利用CNN卷积神经网络对电池内阻估计效果较为理想,平均误差不超过0.001。图5所示,利用GRU-RNN网络对SOC预测结果中SOC总体偏差不超过2%,SOC的预测过程中RMSE的值为0.020482。图6为剔除噪声数据后的SOC估算过程的平均绝对误差,误差值不超过1.6%。
综上所述,本文所提出的基于深度学习的锂离子电池SOC和SOH联合估算模型得到了有效性的验证,其不仅能够实现锂离子电池SOC和SOH的同时估算,还因考虑到锂离子电池老化因素影响,从而提高了锂离子电池SOC估算精度。
![](//html.hanspub.org/file/2-1542824x36_hanspub.png?20230413101051569)
Figure 6. Average absolute error of SOC estimation process
图6. SOC估算过程的平均绝对误差
6. 结论
深度学习方法提取的特征层级更深,适应性更强,利用其不同的网络特性对特征进行自适应学习,可以使特征提取更加全面,避免了传统算法中建立电池等效模型和手动提取输入特征等复杂的环节。
通过深度学习的方法联合SOH对SOC进行估计,在短时间内的充放电实验中,电池的SOH并不会发生显著变化,而SOC显示出明显的时间序列特性,SOH估计结果能够修正锂离子电池老化状态下的SOC估算结果,从而能够提高长期估计SOC的精度。
NOTES
*通讯作者。