CN116125278A - 一种基于lstm-ekf算法的锂电池soc估计方法和系统 - Google Patents
一种基于lstm-ekf算法的锂电池soc估计方法和系统 Download PDFInfo
- Publication number
- CN116125278A CN116125278A CN202211183363.4A CN202211183363A CN116125278A CN 116125278 A CN116125278 A CN 116125278A CN 202211183363 A CN202211183363 A CN 202211183363A CN 116125278 A CN116125278 A CN 116125278A
- Authority
- CN
- China
- Prior art keywords
- lithium battery
- soc
- equivalent circuit
- thevenin equivalent
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/36—Arrangements for testing, measuring or monitoring the electrical condition of accumulators or electric batteries, e.g. capacity or state of charge [SoC]
- G01R31/367—Software therefor, e.g. for battery testing using modelling or look-up tables
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electric Status Of Batteries (AREA)
Abstract
本发明公开了基于LSTM‑EKF算法的锂电池SOC估计方法,包括:利用Matlab/Simulink工具对锂电池进行建模仿真处理,以获得该锂电池的Thevenin等效电路,对Thevenin等效电路进行离线参数辨识,以得到Thevenin等效电路中的参数数据,根据Thevenin等效电路中的参数数据建立锂电池状态方程和观测方程,并对锂电池状态方程和观测方程进行离散化处理,以得到EKF算法中的系数矩阵,对系数矩阵进行EKF算法的迭代递推处理,以得到状态变量(SOC(t)、Ub(t))的估计值卡尔曼增益矩阵、以及状态变量(SOC(t)、Ub(t))估计值的更新误差本发明能够解决现有锂电池SOC估计方法由于过度依赖锂电池模型,从而使SOC估算精度受锂电池初始值的影响过大,导致实际估计效果较差的技术问题。
Description
技术领域
本发明属于深度学习和非线性系统估计技术领域,更具体地,涉及一种基于长短期记忆神经网络(Long and Short-term Memory,简称LSTM)与扩展卡尔曼滤波(ExtendedKalman Filter,简称EKF)算法的锂电池荷电状态(State Of Charge,简称SOC)估计方法和系统。
背景技术
随着“双碳”战略目标的提出,能源产业绿色低碳转型发展成为全球以及我国高度关注的热点和重点,同时新型储能技术得到极大的发展空间。在新型储能技术领域,电化学储能技术成为发展的重点,锂离子锂电池作为新型电化学能源之一,具有充电快、能量密度高等优点,已经在智能电网、储能电站等领域被广泛应用。锂电池的荷电状态(state ofcharge,SOC),是检测锂电池管理系统安全的关键参数,反映储能锂电池的负荷状态,锂电池SOC估计避免了锂电池出现过充放电为储能系统带来安全隐患,是锂电池管理系统对锂电池能量管理和控制的关键技术之一。
现有的锂电池的SOC估计方法可分为四类:查表法、安时积分法、基于模型的估算方法、以及基于数据的估算方法;查表法是考虑到锂电池的开路电压(Open CircuitVoltage,简称OCV)与锂电池内部的锂离子存在着一定的映射关系,建立OCV-SOC查找表,然后通过测量锂电池在工作时的开路电压,根据OVC与SOC之间的映射关系估计SOC;安时积分法主要对锂电池放电电流进行测量,并且将电流以时间进行积分计算,算出一段时间内放出的电量,然后估计锂电池的SOC;基于模型的估算方法是为了实现对锂电池SOC的动态估计,提出了将非线性观测器与锂电池模型相结合,使用闭环结构,对锂电池SOC进行估计;基于数据的估算方法是通过锂电池的参数例如电流、电压、温度等大量离线数据进行训练,得到锂电池参数与SOC之间的映射关系。
然而,上述集中锂电池SOC估计方法均存在一些不可忽略的问题:第一、查表法估计锂电池的SOC过度依赖查表的准确度,不能进行实时估计,并且锂电池的开路电压需要较长时间的静置才能达到稳定状态;第二、安时积分法是一种开环估计方法,传感器的测量值对其影响较大;第三、基于模型的估算方法在实际的工程应用方面,存在模型搭建过于复杂、参数识别难度大的问题,且SOC的估算精度过于依赖模型的精度和参数辨识的准确程度;第四、基于数据的估算方法对数据高度依赖,因此数据的质量对模型的准确性起到了确定性的作用,数据集的大小以及数据的准确性对模型的性能有很大的影响,存在鲁棒性差和泛化能力弱的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于长短期记忆神经网络与扩展卡尔曼滤波联合算法的锂电池SOC估计方法和系统,其目的在于,解决现有查表法估计锂电池的SOC所存在的过度依赖查表的准确度、不能进行实时估计、并且锂电池的开路电压需要较长时间的静置才能达到稳定状态的技术问题;已经现有安时积分法存在的传感器的测量值对其影响较大的技术问题;以及现有基于模型的估算方法在实际的工程应用方面存在模型搭建过于复杂、参数识别难度大的技术问题,以及SOC的估算精度过于依赖模型的精度和参数辨识的准确程度的技术问题,以及现有基于数据的估算方法由于对数据高度依赖,导致数据集的大小以及数据的准确性对模型的性能有很大的影响,进而导致鲁棒性差和泛化能力弱的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于LSTM-EKF算法的锂电池SOC估计方法,包括以下步骤:
(1)利用Matlab/Simulink工具对锂电池进行建模仿真处理,以获得该锂电池的Thevenin等效电路。
(2)对步骤(1)得到的Thevenin等效电路进行离线参数辨识,以得到Thevenin等效电路中的参数数据;
(3)根据步骤(2)得到的Thevenin等效电路中的参数数据建立锂电池状态方程和观测方程,并对锂电池状态方程和观测方程进行离散化处理,以得到EKF算法中的系数矩阵。
(4)对步骤(3)得到的系数矩阵进行EKF算法的迭代递推处理,以得到状态变量(SOC(t)、Ub(t))的估计值卡尔曼增益矩阵、以及状态变量(SOC(t)、Ub(t))估计值的更新误差其中SOC(t)是t时刻Thevenin等效电路中锂电池的SOC值,Ub(t)是t时刻Thevenin等效电路中极化电容Cb的端电压;
(5)将步骤(4)得到的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵、状态变量(SOC(t)、Ub(t))估计值的更新误差、以及锂电池在HPPC工况下的电压值和电流值输入训练好的LSTM神经网络中,以得到锂电池SOC的补偿值。
(6)将步骤(5)得到的锂电池SOC的补偿值和步骤(4)得到的状态状态变量(SOC(t)、Ub(t))的估计值进行求和,以得到锂电池SOC的估计值。
优选地,步骤(2)中的参数数据包括欧姆内阻Ra、极化内阻Rb和极化电容Cb的值,且步骤(2)具体包括以下子步骤:
(2-1)用恒流恒压的充电方式将锂电池充满,随后将锂电池静置1小时时间,然后以锂电池容量一半的电流放电,以使得其SOC减少10%,随后将锂电池静置1小时时间,然后,以锂电池容量一半的电流放电,以使得其SOC再减少10%,随后将锂电池静置1小时时间,…,重复上述过程,直到锂电池SOC=0或者达到放电截止电压为止,从而得到锂电池的电流电压变化图;
(2-2)对步骤(2-1)得到的电流电压变化图进行参数辨识,以获得Thevenin等效电路中的欧姆电阻Ra、极化电阻Rb和极化电容Cb;
优选地,步骤(2-2)具体为,
首先,通过欧姆定律计算得到欧姆电阻Ra:
式中,UA、UB、UC、UD为电流电压变化图中A、B、C、D点的电压,I是锂电池的放电电流;
然后,根据欧姆定律计算得到内阻电压Rb的值,并获取B-C阶段的零状态响应:
式中,UL(t)是t时刻Thevenin等效电路中锂电池的端电压,UOC(t)是t时刻Thevenin等效电路中锂电池的开路电压,t是时间常数,为指数函数,τ是Thevenin等效电路中RC回路的时间常数;
最后,利用τ=Rb×Cb计算得到极化电容Cb,并获取D-E阶段的零输入响应:
。
优选地,步骤(3)包括以下子步骤:
(3-1)根据步骤(2)得到的Thevenin等效电路中的欧姆电阻Ra、极化电阻Rb和极化电容Cb,并基于基尔霍夫定律建立第一状态方程和观测方程,并根据安时积分法建立第二状态方程;
具体而言,第一状态方程如下:
其中i(t)是t时刻Thevenin等效电路中锂电池工作时的电流。
观测方程为:
UL(t)=Uoc(t)-Ub(t)-i(t)·Ra
第二状态方程为:
其中SOC(t0)是Thevenin等效电路中锂电池SOC的初始值,Q0是Thevenin等效电路中锂电池的初始荷电量。
(3-2)对步骤(3-1)得到的第一状态方程、第二状态方程和观测方程进行离散化处理,以得到EKF算法中的系数矩阵A、B、C。
优选地,步骤(3-2)具体为:
首先,选择锂电池的SOC值和t时刻极化电容Cb的两端电压Ub(t)作为EKF系统的状态变量,对步骤(3-1)得到的第一状态方程和第二状态方程进行离散化处理,以得到离散状态方程:
其中t表示时间,△t表示t时刻到t+1时刻的时间段。
然后,选择t时刻锂电池的端电压UL(t)作为观测变量,对步骤(3-1)得到的观测方程进行离散化处理,以得到离散观测方程:
然后,根据以上得到的离散状态方程和离散观测方程获取EKF中的系数矩阵A、B、C、D:
。
优选地,步骤(4)具体为,
首先,根据EKF算法的原理确定状态方程的初始值和协方差的初始值p0:
式中,E(*)为期望,为状态变量(SOC(t)、Ub(t))的初始值,SOC的初始值设为1,极化电压Ub的初始值设为0,协方差的初始值p0设为1。
然后,根据步骤(3-2)得到的系数矩阵、状态方程的初始值和协方差的初始值,并通过EKF算法获取状态变量(SOC(t)、Ub(t))的估计值协方差估计值pt以及卡尔曼增益矩阵Kt:
pt=Apt-1AT+w
Kt=ptCT(CptCT+v)
式中:w、v是系统观测噪声和系统输出噪声,w、v的取值均为0.5;
然后,根据卡尔曼增益矩阵Kt对状态变量(SOC(t)、Ub(t))的估计值和协方差估计值pt进行更新,以得到更新后的状态变量(SOC(t)、Ub(t))的估计值和协方差估计值pt+1:
pt+1=(E-KtCt)pt
最后,把更新后的状态变量(SOC(t)、Ub(t))的估计值和协方差估计值pt+1放到EKF算法中进行迭代处理,以得到更新后状态方程的状态值初始值和协方差初始值p0,以及状态变量(SOC(t)、Ub(t))估计值的更新误差:
优选地,LSTM网络模型时通过以下步骤训练得到的:
(5-1)以时间序列采集锂电池在HPPC工况下工作时的多个电流数据和电压数据,并获得该锂电池的多个Thevenin等效电路;
(5-2)针对步骤(5-1)得到多个Thevenin等效电路中的每一个Thevenin等效电路而言,获取该Thevenin等效电路对应的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵以及状态变量(SOC(t)、Ub(t))估计值的更新误差,所有Thevenin等效电路对应的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵以及状态变量(SOC(t)、Ub(t))估计值的更新误差构成数据集,并将该数据集按8:2的比例划分为训练集和测试集;
(5-3)对步骤(5-2)得到的训练集进行归一化处理,以得到归一化后的训练集;
(5-4)初始化LSTM网络,初始学习率为0.001,MaxEpocchs设置为300。设置两层LSTM层,每层节点数分别为256和128个,并且在LSTM网络中添加Dropout正则化(其目的是防止网络过拟合),两层Dropout的概率分别设置为0.3和0.2。
(5-5)将步骤(5-3)预处理后的训练集输入到步骤(5-4)设置好的LSTM网络中,通过正向传播算法计算网络的损失函数,以获取均方根误差RMSE,其中损失函数计算为:
式中,yi和是训练集中第i个样本的真实值和估计值,且有i∈[1,m],m是训练集中的样本个数。
(5-6)对步骤(5-5)得到的方均根误差,利用反向传播算法对LSTM神经网络的所有权重参数进行更新,以得到更新后的LSTM神经网络。
(5-7)重复迭代步骤(5-5)和步骤(5-6),直至训练集对应的损失函数不再下降为止,从而得到最终训练好的LSTM神经网络。
优选地,步骤(5-3)是在Matlab中使用mapminmax函数将训练集中的每个样本中的每一行归一到[-1,1],其公式为:
式中x是训练集中的样本,xmin、xmax分别是训练集中该样本所在行的最小值和最大值,ymin、ymax的取值分别为-1和1。
按照本发明的另一方面,提供了一种基于LSTM-EKF算法的锂电池SOC估计系统,包括:
第一模块,用于利用Matlab/Simulink工具对锂电池进行建模仿真处理,以获得该锂电池的Thevenin等效电路。
第二模块,用于对第一模块得到的Thevenin等效电路进行离线参数辨识,以得到Thevenin等效电路中的参数数据;
第三模块,用于根据第二模块得到的Thevenin等效电路中的参数数据建立锂电池状态方程和观测方程,并对锂电池状态方程和观测方程进行离散化处理,以得到EKF算法中的系数矩阵。
第四模块,用于对第三模块得到的系数矩阵进行EKF算法的迭代递推处理,以得到状态变量(SOC(t)、Ub(t))的估计值卡尔曼增益矩阵、以及状态变量(SOC(t)、Ub(t))估计值的更新误差其中SOC(t)是t时刻Thevenin等效电路中锂电池的SOC值,Ub(t)是t时刻Thevenin等效电路中极化电容Cb的端电压;
第五模块,用于将第四模块得到的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵、状态变量(SOC(t)、Ub(t))估计值的更新误差、以及锂电池在HPPC工况下的电压值和电流值输入训练好的LSTM神经网络中,以得到锂电池SOC的补偿值。
第六模块,用于将第五模块得到的锂电池SOC的补偿值和第四模块得到的状态状态变量(SOC(t)、Ub(t))的估计值进行求和,以得到锂电池SOC的估计值。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)由于本发明采用了步骤(4),其利用了EKF算法不断的在线更新迭代状态变量(SOC(t)、Ub(t))的估计值卡尔曼增益矩阵、以及状态变量(SOC(t)、Ub(t))估计值的更新误差使本发明可以实现实时估计。
(2)由于本发明采用了步骤(4),其利用EKF了算法,在EKF算法迭代状态变量(SOC(t)、Ub(t))的估计值卡尔曼增益矩阵时,滤去了误差值较大的数据,从而减小了系统对传感器的测量值存在累计误差的影响。
(3)由于本发明采用了步骤(5),其利用LSTM神经网络算法,通过对以Thevenin等效电路对应的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵以及状态变量(SOC(t)、Ub(t))估计值的更新误差构成数据集进行训练,并且利用LSTM神经网络中的丢弃层,丢弃数据集中误差较大的数据,并且增加添加Dropout正则化防止网络过拟合,因此本系统降低了对锂电池模型的精准度和参数辨识的精准度的依赖。
(4)由于本发明采用了步骤(4)步骤(5)和步骤(6),利用EKF算法和LSTM神经网络结合,融合算法提高了估计SOC的鲁棒性和泛化能力,可用于不同的锂电池工况以及不同的锂电池等效模型。
(5)由于本发明采用了步骤(5),利用状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵、状态变量(SOC(t)、Ub(t))估计值的更新误差作为LSTM神经网络的训练数据集,增加了LSTM神经网络的训练数据集大小,可以防止LSTM神经网络产生过拟合。
(6)由于本发明采用了步骤(5)和步骤(6),利用步骤(5)得到的锂电池SOC的补偿值和步骤(4)得到的状态状态变量(SOC(t)、Ub(t))的估计值进行求和,以得到锂电池SOC的估计值,补偿了EKF算法估计SOC的误差,因此本发明的LSTM-EKF算法提高了锂电池SOC估计的精确度,相较EKF算法在均方根误差上有明显减小。
附图说明
图1是本发明基于LSTM-EKF算法的锂电池SOC估计方法的流程图;
图2是本发明使用的LSTM网络的模型图;
图3是本发明方法的步骤(1)中得到的Thevenin等效电路的示意图;
图4是本发明方法的步骤(2-1)得到的锂电池的电流电压变化图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提出了一种基于长短期记忆神经网络与扩展卡尔曼滤波联合算法的锂电池SOC估计方法,该方法将深度学习和非线性系统估计技术进行结合,本发明提出以锂电池数据(电压、电流),经过EKF算法计算得到的卡尔曼增益矩阵Kk以及更新的状态估计值误差作为输入值,使用LSTM模型作为回归学习器进行训练,并且将LSTM训练完成后的输出值作为EKF算法估计SOC的补偿值,进而提升整个模型对锂电池SOC估计的准确度,以及提升模型的鲁棒性和泛化能力。
为使本发明的技术方案和优点更加清楚,下面对整套算法进一步详细说明。HPPC实验主要为了测试锂电池的欧姆内阻和极化内阻,因此选取锂电池在HPPC工况下的电流值和电压值作为LSTM-EKF算法的输入。
如图1所示,本发明提出了一种基于LSTM-EKF算法的锂电池SOC估计方法和,包括以下步骤:
(1)利用Matlab/Simulink工具对锂电池进行建模仿真处理,以获得该锂电池的Thevenin等效电路,如图3所示。
具体而言,本发明的锂电池选用松下CGR18650CH型号的锂电池,其具体参数指标如下:
锂电池参数指标
(2)对步骤(1)得到的Thevenin等效电路进行离线参数辨识,以得到Thevenin等效电路中的参数数据;
具体而言,参数数据包括欧姆内阻Ra、极化内阻Rb和极化电容Cb的值。
本步骤具体包括以下子步骤:
(2-1)用恒流恒压的充电方式将锂电池充满(即使得该锂电池的SOC=100%),随后将锂电池静置1小时时间,然后以0.5C(1A),即锂电池容量一半的电流放电,以使得其SOC减少10%,随后将锂电池静置1小时时间,然后,以0.5C(1A),即锂电池容量一半的电流放电,以使得其SOC再减少10%,随后将锂电池静置1小时时间,…,重复上述过程,直到锂电池SOC=0或者达到放电截止电压为止,从而得到锂电池的电流电压变化图(如图4所示)。
(2-2)对步骤(2-1)得到的电流电压变化图进行参数辨识,以获得Thevenin等效电路中的欧姆电阻RA、极化电阻Rb和极化电容Cb。
具体而言,图4中B-C阶段和D-E阶段是因为锂电池中的极化内阻而出现的“迟滞效应”,A-B阶段和C-D阶段是因为锂电池中的欧姆内阻产生的电压突变。
本步骤具体为,首先,通过欧姆定律计算得到欧姆电阻Ra:
式中,UA、UV、UC、UD为电流电压变化图中A、B、C、D点的电压,I是锂电池的放电电流。
然后,根据欧姆定律计算得到内阻电压Rb的值,并获取B-C阶段的零状态响应:
式中,UL(t)是t时刻Thevenin等效电路中锂电池的端电压,UOC(t)是t时刻Thevenin等效电路中锂电池的开路电压,t是时间常数,为指数函数,τ是Thevenin等效电路中RC回路的时间常数;
最后,利用τ=Rb×Cb计算得到极化电容Cb,并获取D-E阶段的零输入响应:
。
(3)根据步骤(2)得到的Thevenin等效电路中的参数数据建立锂电池状态方程和观测方程,并对锂电池状态方程和观测方程进行离散化处理,以得到EKF算法中的系数矩阵。
具体而言,步骤(3)包括以下子步骤:
(3-1)根据步骤(2)得到的Thevenin等效电路中的欧姆电阻Ra、极化电阻Rb和极化电容Cb,并基于基尔霍夫定律建立第一状态方程和观测方程,并根据安时积分法建立第二状态方程;
具体而言,第一状态方程如下:
其中i(t)是t时刻Thevenin等效电路中锂电池工作时的电流。
观测方程为:
UL(t)=Uoc(t)-Ub(t)-i(t)·Ra
第二状态方程为:
其中SOC(t0)是Thevenin等效电路中锂电池SOC的初始值,Q0是Thevenin等效电路中锂电池的初始荷电量。
(3-2)对步骤(3-1)得到的第一状态方程、第二状态方程和观测方程进行离散化处理,以得到EKF算法中的系数矩阵A、B、C。
步骤(3-2)具体为:
选择锂电池的SOC值和t时刻极化电容Cb的两端电压Ub(t)作为EKF系统的状态变量,对步骤(3-1)得到的第一状态方程和第二状态方程进行离散化处理,以得到离散状态方程:
其中t表示时间,△t表示t时刻到t+1时刻的时间段。
然后,选择t时刻锂电池的端电压UL(t)作为观测变量,对步骤(3-1)得到的观测方程进行离散化处理,以得到离散观测方程:
然后,根据以上得到的离散状态方程和离散观测方程获取EKF中的系数矩阵A、B、C、D:
(4)对步骤(3)得到的系数矩阵进行EKF算法的迭代递推处理,以得到状态变量(SOC(t)、Ub(t))的估计值卡尔曼增益矩阵、以及状态变量(SOC(t)、Ub(t))估计值的更新误差其中Ub表示Thevenin等效电路中的极化电压。
本步骤的优点在于,实现了锂电池的在线实时SOC估计。
具体而言,步骤(4)包括以下子步骤:
首先根据EKF算法的原理确定状态方程的初始值和协方差的初始值p0:
式中,E(*)为期望,为状态变量(SOC(t)、Ub(t))的初始值,SOC的初始值设为1,极化电压Ub的初始值设为0,协方差的初始值p0设为1。
然后,根据步骤(3-2)得到的系数矩阵、状态方程的初始值和协方差的初始值,并通过EKF算法获取状态变量(SOC(t)、Ub(t))的估计值协方差估计值pt以及卡尔曼增益矩阵Kt:
pt=Apt-1AT+w
Kt=ptCT(CptCT+v)
式中:w、v是Thevenin等效电路系统的观测噪声和输出噪声,w、v的取值均为0.5。
然后,根据卡尔曼增益矩阵Kt对状态变量(SOC(t)、Ub(t))的估计值和协方差估计值pt进行更新,以得到更新后的状态变量(SOC(t)、Ub(t))的估计值和协方差估计值pt+1:
pt+1=(E-KtCt)pt
最后,把更新后的状态变量(SOC(t)、Ub(t))的估计值和协方差估计值pt+1放到EKF算法中进行迭代处理,以得到更新后状态方程的状态值初始值和协方差初始值p0,以及状态变量(SOC(t)、Ub(t))估计值的更新误差:
(5)对步骤(4)得到的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵、状态变量(SOC(t)、Ub(t))估计值的更新误差、以及锂电池在HPPC工况下的电压值和电流值输入训练好的LSTM神经网络(如图2所示)中,以得到锂电池SOC的补偿值。
本步骤的优点在于,LSTM神经网络中的丢弃层,可以丢弃在训练数据集中误差较大的数据,因此可以有效降低在步骤(5)EKF算法中,对锂电池模型准确性的依赖。
具体而言,本步骤的LSTM神经网络模型时通过以下步骤训练得到的:
(5-1)以时间序列采集锂电池(本实施例中是松下CGR18650CH型号的锂电池)在HPPC工况下工作时的多个电流数据和电压数据(本示例中是采集24000个数据,其中12000个电流数据,12000个电压数据),并获得该锂电池的多个Thevenin等效电路(在本示例中是12000个);
(5-2)针对步骤(5-1)得到多个Thevenin等效电路中的每一个Thevenin等效电路而言,获取该Thevenin等效电路对应的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵以及状态变量(SOC(t)、Ub(t))估计值的更新误差,所有Thevenin等效电路对应的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵以及状态变量(SOC(t)、Ub(t))估计值的更新误差构成数据集,并将该数据集按8:2的比例划分为训练集和测试集;
上述步骤(5-1)到(5-2)的优点在于,采集了Thevenin等效电路对应的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵以及状态变量(SOC(t)、Ub(t))估计值的更新误差,扩大了LSTM神经网络的训练数据集,可以防止LSTM神经网络过拟合。
具体而言,本步骤中的过程,和上述在线过程的步骤(3)和步骤(4)完全相同,在此不再赘述。
(5-3)对步骤(5-2)得到的训练集进行归一化处理,以得到归一化后的训练集;
具体而言,本步骤是在Matlab中使用mapminmax函数将训练集中的每个样本中的每一行归一到[-1,1],其公式为:
式中x是训练集中的样本,xmin、xmax分别是训练集中该样本所在行的最小值和最大值,ymin、ymax的取值分别为-1和1。
(5-4)初始化LSTM网络,初始学习率为0.001,MaxEpocchs设置为300。设置两层LSTM层,每层节点数分别为256和128个,并且在LSTM网络中添加Dropout正则化(其目的是防止网络过拟合),两层Dropout的概率分别设置为0.3和0.2。
(5-5)将步骤(5-3)预处理后的训练集输入到步骤(5-4)设置好的LSTM网络中,通过正向传播算法计算网络的损失函数,以获取均方根误差(Root Mean Squared Error,RMSE)。
具体而言,损失函数计算为:
式中,yi和是训练集中第i个样本的真实值和估计值,且有i∈[1,m],m是训练集中的样本个数。
(5-6)对步骤(5-5)得到的方均根误差,利用反向传播算法对LSTM神经网络的所有权重参数进行更新,以得到更新后的LSTM神经网络。
(5-7)重复迭代步骤(5-5)和步骤(5-6),直至训练集对应的损失函数不再下降为止,从而得到最终训练好的LSTM神经网络。
(6)将步骤(5)得到的锂电池SOC的补偿值和步骤(4)得到的状态状态变量(SOC(t)、Ub(t))的估计值进行求和,以得到锂电池SOC的估计值。
本步骤的优点在于,将LSTM神经网络得到的值作为锂电池的补偿值,对步骤(5)得到的状态变量SOC估计值进行误差补偿,提高了整个算法的精确度,以及增强了算法的鲁棒性。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于LSTM-EKF算法的锂电池SOC估计方法,其特征在于,包括以下步骤:
(1)利用Matlab/Simulink工具对锂电池进行建模仿真处理,以获得该锂电池的Thevenin等效电路。
(2)对步骤(1)得到的Thevenin等效电路进行离线参数辨识,以得到Thevenin等效电路中的参数数据;
(3)根据步骤(2)得到的Thevenin等效电路中的参数数据建立锂电池状态方程和观测方程,并对锂电池状态方程和观测方程进行离散化处理,以得到EKF算法中的系数矩阵。
(4)对步骤(3)得到的系数矩阵进行EKF算法的迭代递推处理,以得到状态变量(SOC(t)、Ub(t))的估计值卡尔曼增益矩阵、以及状态变量(SOC(t)、Ub(t))估计值的更新误差其中SOC(t)是t时刻Thevenin等效电路中锂电池的SOC值,Ub(t)是t时刻Thevenin等效电路中极化电容Cb的端电压;
(5)将步骤(4)得到的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵、状态变量(SOC(t)、Ub(t))估计值的更新误差、以及锂电池在HPPC工况下的电压值和电流值输入训练好的LSTM神经网络中,以得到锂电池SOC的补偿值。
(6)将步骤(5)得到的锂电池SOC的补偿值和步骤(4)得到的状态状态变量(SOC(t)、Ub(t))的估计值进行求和,以得到锂电池SOC的估计值。
2.根据权利要求1所述的基于LSTM-EKF算法的锂电池SOC估计方法,其特征在于,步骤(2)中的参数数据包括欧姆内阻Ra、极化内阻Rb和极化电容Cb的值,且步骤(2)具体包括以下子步骤:
(2-1)用恒流恒压的充电方式将锂电池充满,随后将锂电池静置1小时时间,然后以锂电池容量一半的电流放电,以使得其SOC减少10%,随后将锂电池静置1小时时间,然后,以锂电池容量一半的电流放电,以使得其SOC再减少10%,随后将锂电池静置1小时时间,…,重复上述过程,直到锂电池SOC=0或者达到放电截止电压为止,从而得到锂电池的电流电压变化图;
(2-2)对步骤(2-1)得到的电流电压变化图进行参数辨识,以获得Thevenin等效电路中的欧姆电阻Ra、极化电阻Rb和极化电容Cb。
4.根据权利要求1至3中任意一项所述的基于LSTM-EKF算法的锂电池SOC估计方法,其特征在于,步骤(3)包括以下子步骤:
(3-1)根据步骤(2)得到的Thevenin等效电路中的欧姆电阻Ra、极化电阻Rb和极化电容Cb,并基于基尔霍夫定律建立第一状态方程和观测方程,并根据安时积分法建立第二状态方程;
具体而言,第一状态方程如下:
其中i(t)是t时刻Thevenin等效电路中锂电池工作时的电流。
观测方程为:
UL(t)=Uoc(t)-Ub(t)-i(t)·Ra
第二状态方程为:
其中SOC(t0)是Thevenin等效电路中锂电池SOC的初始值,Q0是Thevenin等效电路中锂电池的初始荷电量。
(3-2)对步骤(3-1)得到的第一状态方程、第二状态方程和观测方程进行离散化处理,以得到EKF算法中的系数矩阵A、B、C。
6.根据权利要求5所述的基于LSTM-EKF算法的锂电池SOC估计方法,其特征在于,步骤(4)具体为,
pt=Apt-1AT+w
Kt=ptCT(CptCT+v)
式中:w和v分别表示Thevenin等效电路的观测噪声和输出噪声,且w和v的取值均为0.5;
pt+1=(E-KtCt)pt
最后,把更新后的状态变量(SOC(t)、Ub(t))的估计值和协方差估计值pt+1放到EKF算法中进行迭代处理,以得到更新后状态方程的状态值初始值和协方差初始值p0,以及状态变量(SOC(t)、Ub(t))估计值的更新误差:
7.根据权利要求6所述的基于LSTM-EKF算法的锂电池SOC估计方法,其特征在于,LSTM网络模型时通过以下步骤训练得到的:
(5-1)以时间序列采集锂电池在HPPC工况下工作时的多个电流数据和电压数据,并获得该锂电池的多个Thevenin等效电路;
(5-2)针对步骤(5-1)得到多个Thevenin等效电路中的每一个Thevenin等效电路而言,获取该Thevenin等效电路对应的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵以及状态变量(SOC(t)、Ub(t))估计值的更新误差,所有Thevenin等效电路对应的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵以及状态变量(SOC(t)、Ub(t))估计值的更新误差构成数据集,并将该数据集按8:2的比例划分为训练集和测试集;
(5-3)对步骤(5-2)得到的训练集进行归一化处理,以得到归一化后的训练集;
(5-4)初始化LSTM网络,初始学习率为0.001,MaxEpocchs设置为300。设置两层LSTM层,每层节点数分别为256和128个,并且在LSTM网络中添加Dropout正则化(其目的是防止网络过拟合),两层Dropout的概率分别设置为0.3和0.2。
(5-5)将步骤(5-3)预处理后的训练集输入到步骤(5-4)设置好的LSTM网络中,通过正向传播算法计算网络的损失函数,以获取均方根误差RMSE,其中损失函数计算为:
(5-6)对步骤(5-5)得到的方均根误差,利用反向传播算法对LSTM神经网络的所有权重参数进行更新,以得到更新后的LSTM神经网络。
(5-7)重复迭代步骤(5-5)和步骤(5-6),直至训练集对应的损失函数不再下降为止,从而得到最终训练好的LSTM神经网络。
9.一种基于LSTM-EKF算法的锂电池SOC估计系统,其特征在于,包括:
第一模块,用于利用Matlab/Simulink工具对锂电池进行建模仿真处理,以获得该锂电池的Thevenin等效电路。
第二模块,用于对第一模块得到的Thevenin等效电路进行离线参数辨识,以得到Thevenin等效电路中的参数数据;
第三模块,用于根据第二模块得到的Thevenin等效电路中的参数数据建立锂电池状态方程和观测方程,并对锂电池状态方程和观测方程进行离散化处理,以得到EKF算法中的系数矩阵。
第四模块,用于对第三模块得到的系数矩阵进行EKF算法的迭代递推处理,以得到状态变量(SOC(t)、Ub(t))的估计值卡尔曼增益矩阵、以及状态变量(SOC(t)、Ub(t))估计值的更新误差其中SOC(t)是t时刻Thevenin等效电路中锂电池的SOC值,Ub(t)是t时刻Thevenin等效电路中极化电容Cb的端电压;
第五模块,用于将第四模块得到的状态变量(SOC(t)、Ub(t))的估计值、卡尔曼增益矩阵、状态变量(SOC(t)、Ub(t))估计值的更新误差、以及锂电池在HPPC工况下的电压值和电流值输入训练好的LSTM神经网络中,以得到锂电池SOC的补偿值。
第六模块,用于将第五模块得到的锂电池SOC的补偿值和第四模块得到的状态状态变量(SOC(t)、Ub(t))的估计值进行求和,以得到锂电池SOC的估计值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211183363.4A CN116125278A (zh) | 2022-09-27 | 2022-09-27 | 一种基于lstm-ekf算法的锂电池soc估计方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211183363.4A CN116125278A (zh) | 2022-09-27 | 2022-09-27 | 一种基于lstm-ekf算法的锂电池soc估计方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116125278A true CN116125278A (zh) | 2023-05-16 |
Family
ID=86296178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211183363.4A Pending CN116125278A (zh) | 2022-09-27 | 2022-09-27 | 一种基于lstm-ekf算法的锂电池soc估计方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116125278A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116500457A (zh) * | 2023-06-26 | 2023-07-28 | 西北工业大学 | 一种神经元网络融合rc等效电路模型估计电池soc的方法 |
CN117686920A (zh) * | 2024-02-02 | 2024-03-12 | 河南科技学院 | 一种用于电池系统内单体电池的端电压预测方法 |
-
2022
- 2022-09-27 CN CN202211183363.4A patent/CN116125278A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116500457A (zh) * | 2023-06-26 | 2023-07-28 | 西北工业大学 | 一种神经元网络融合rc等效电路模型估计电池soc的方法 |
CN116500457B (zh) * | 2023-06-26 | 2023-09-19 | 西北工业大学 | 一种神经元网络融合rc等效电路模型估计电池soc的方法 |
CN117686920A (zh) * | 2024-02-02 | 2024-03-12 | 河南科技学院 | 一种用于电池系统内单体电池的端电压预测方法 |
CN117686920B (zh) * | 2024-02-02 | 2024-04-12 | 河南科技学院 | 一种用于电池系统内单体电池的端电压预测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ouyang et al. | Improved parameters identification and state of charge estimation for lithium-ion battery with real-time optimal forgetting factor | |
CN105116343B (zh) | 最小二乘支持向量机的动力电池电荷状态估计方法及系统 | |
CN111007399B (zh) | 基于改进生成对抗网络的锂电池荷电状态预测方法 | |
He et al. | State-of-charge estimation of lithium ion batteries based on adaptive iterative extended Kalman filter | |
CN116125278A (zh) | 一种基于lstm-ekf算法的锂电池soc估计方法和系统 | |
CN106842060A (zh) | 一种基于动态参数的动力电池soc估算方法及系统 | |
CN109633479B (zh) | 基于嵌入式容积卡尔曼滤波的锂电池soc在线估算方法 | |
CN111426957B (zh) | 一种模拟车辆工况动力电池荷电状态soc估算优化方法 | |
Li et al. | A novel state estimation approach based on adaptive unscented Kalman filter for electric vehicles | |
CN113702843B (zh) | 一种基于郊狼优化算法的锂电池参数辨识与soc估计方法 | |
CN113156321A (zh) | 一种锂离子电池荷电状态soc的估算方法 | |
CN112269133B (zh) | 一种基于预充电路模型参数识别的soc估计方法 | |
CN112858916A (zh) | 一种基于模型与数据驱动融合的电池包荷电状态估计方法 | |
CN112630659A (zh) | 一种基于改进bp-ekf算法的锂电池soc估算方法 | |
CN112816879A (zh) | 一种用于变工况车用动力电池SoE在线估计方法 | |
CN112858929A (zh) | 一种基于模糊逻辑与扩展卡尔曼滤波的电池soc估计方法 | |
CN114660464A (zh) | 一种锂离子电池荷电状态估算方法 | |
CN112946481A (zh) | 基于联合h∞滤波的滑模观测器锂离子电池soc估计方法及电池管理系统 | |
CN116298904A (zh) | 一种基于分数阶多新息双无迹卡尔曼滤波联合估计锂电池soc和soh的方法 | |
CN114217234B (zh) | 一种基于ide-asrckf的锂离子电池参数辨识与soc估计方法 | |
Xu et al. | State estimation of lithium batteries for energy storage based on dual extended kalman filter | |
CN113608126B (zh) | 一种不同温度下的锂电池soc在线预估方法 | |
CN114861545A (zh) | 基于rnn神经网络与多参数约束的锂电池sop在线估算方法 | |
CN112946480B (zh) | 一种提高soc估计实时性的锂电池电路模型简化方法 | |
Liu et al. | Online state of charge estimation for lithium-ion battery by combining incremental autoregressive and moving average modeling with adaptive H-infinity filter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |