摘要 - 锂离子电池因高能量和功率密度,在电动汽车和固定应用领域广泛使用。在这些应用中,电池管理系统(BMS)通过执行电池平衡、防止过充和过放等功能来确保电池的安全和长寿命。先进的BMS能够估计电池的荷电状态(SOC),这对于确定电池剩余运行时间和安全范围至关重要。本研究旨在对比三种基于卡尔曼滤波器(KF)的SOC估计技术,即通用SPKF、联合SPKF和双SPKF,针对三星18650INR13L锂离子电池进行状态和参数估计,以评估它们在电池管理方面的性能表现。
1.简介
锂离子电池应用与BMS需求:锂离子电池因高能量和功率密度广泛用于电动汽车和固定应用。为确保其安全和长寿命,电池管理系统(BMS)不可或缺。除基本的电池平衡和保护功能外,先进BMS需准确估计电池荷电状态(SOC),以预测剩余运行时间和维持安全范围。SOC估计方法对比:传统的SOC估计方法如库仑计数法虽简单快速,但在处理噪声和增量偏差方面存在局限。基于等效电路模型(如Randles电路)的模型估计器(如卡尔曼滤波器)更有效,鉴于锂离子电池非线性特性,需使用非线性卡尔曼滤波器(如扩展和无迹卡尔曼滤波器)以提供准确SOC预测。参数变化与SPKF方法应对:电池参数会因温度和老化而随时间变化,影响估计精度。联合和双Sigma点卡尔曼滤波器(SPKF)通过同时估计状态和参数来解决此问题,联合SPKF将参数添加到状态矩阵中,双SPKF则使用单独滤波器分别进行状态和参数估计。本研究旨在比较通用、联合和双SPKF在估计锂离子电池状态和参数方面的性能。2.电池的动态模型
为模拟电池特性,采用了Randles等效电路(见图1),其等效电路的离散化状态空间模型如下: 状态方程:公式(1)给出了状态方程,其中包含两个状态变量的更新关系。z_{k + 1}(下一时刻的电池荷电状态)与当前时刻的荷电状态z_{k}、库仑效率ŋ、采样时间Δt、电池容量Q以及电池电流i_{k}相关,具体表达式为:(下一时刻的电荷转移电流)与当前时刻的电荷转移电流i_{ct,k}、时间常数Ƭ(由电荷转移电阻R_{ct}和双层电容C_{dl}决定,即Ƭ = R_{ct}C_{dl})以及电池电流i_{k}有关,表达式为:输出方程:公式(2)为输出方程,电池的端电压y_{k}(即输出变量)与开路电压OCV(z_{k})(是电池荷电状态z_{k}的函数)、电荷转移电阻R_{ct,k}、电荷转移电流i_{ct,k}、电池串联电阻R_{s,k}以及电池电流i_{k}相关,具体为:在该模型中,R_{ct}表示电荷转移电阻,R_{s}是电池的串联电阻,C_{dl}代表双层电容,z_{k}是电池的荷电状态,Ƭ = R_{ct}C_{dl}是R_{ct}-C_{dl}子系统的时间常数,Δt是采样时间,ŋ是库仑效率,Q是电池容量,i(t)是电池电流(它是i_{ct}和i_{dl}之和),v(t)是电池的端电压。这个模型为后续基于卡尔曼滤波器的电池状态估计提供了基础的数学描述,通过这些方程可以利用测量的电池电流和端电压等信息来估计电池的荷电状态等内部状态变量。图1.应用于放电电池的Randles等效电路。
3.通用SPKF
通用SPKF在电池系统中的应用背景:卡尔曼滤波器是线性系统在零均值高斯过程噪声和测量噪声不相关情况下的最优状态估计器。但对于电池,由于开路电压OCV(z)函数的存在,系统是非线性的,所以需要使用非线性卡尔曼滤波器。非线性卡尔曼滤波器基于系统的非线性状态空间模型,包含状态方程:(其中x是状态向量,u是输入向量,w是均值为0、协方差为Q的高斯过程噪声)和输出方程:(其中y是输出向量,v是均值为0、协方差为R的高斯测量噪声)。 通用SPKF基本概念:SPKF方法的基本原理是在特定数量和值的Sigma点上评估系统的状态和输出方程。通过这些Sigma点计算得到的状态和输出Sigma点向量的均值和协方差,可提供预测状态、输出及其误差协方差。确定Sigma点需要已知待建模随机向量x的均值Ẍ和协方差P_{x}。对于有n个元素的随机向量,可通过公式:确定2n + 1个Sigma点(其中√{P_{x}}是通过Cholesky分解计算得到的下三角矩阵)。Sigma点的加权平均计算输入随机向量的均值:其中Ƴ、α_{i}^(m)和α_{i}^(c)是影响Sigma点计算、建模变量均值和协方差的加权因子。在输入Sigma点评估函数后,输出随机向量的均值和协方差计算方法与输入类似。不同的SPKF方法仅在加权因子的确定上有所不同,如无迹KF(UKF)有三个调参,而中心差分KF(CDKF)只有一个参数h。 SPKF的一般步骤
预测下一状态:首先创建增广状态矩阵(包含先前估计状态、过程噪声和测量噪声)和增广块对角协方差矩阵(包含先前估计误差协方差、过程噪声协方差和测量噪声协方差),然后根据这些和公式(5)生成Sigma点(对于n个状态变量,前n行是状态变量的Sigma点,接着n行是过程噪声的Sigma点,后续行是测量噪声的Sigma点,最后用状态变量和过程噪声的Sigma点评估状态方程(3),并根据公式(6)从结果Sigma点确定下一预测状态。 计算状态预测误差协方差:使用状态变量的Sigma点和公式(7)确定状态预测误差协方差。 确定系统输出:用状态变量和测量噪声的Sigma点评估输出方程(4),并根据公式(6)计算输出估计。 计算卡尔曼增益:先根据公式(7)计算输出估计的协方差矩阵以及状态预测和输出估计的互协方差:然后根据公式(9)计算卡尔曼增益:
校正步骤:与一般卡尔曼滤波器相同,根据公式(10)进行校正,即更新估计误差协方差:最后根据公式(11)更新估计误差协方差4.联合SPKF原理与实现
联合SPKF估计原理:联合SPKF基于经典的状态估计数学公式,为实现同时估计参数和状态,将状态向量通过参数向量进行扩展,形成增广状态向量。模型中估计的参数包括和。由于估计参数会使子系统的时间常数发生变化,所以无需估计,而是通过估计电池容量$Q_{k}$来计算电池的健康状态(SOH),计算公式为
(其中Q_{0}为初始电池容量)。其基本的联合估计形式如公式(13)和(14)所示,公式(13)中增广状态向量的更新包含状态方程部分和参数向量自身,同时考虑了过程噪声w_{k}和驱动参数变化的零均值高斯噪声r_{k};公式(14)中输出向量也进行了扩展,包含测量方程和参数向量,并加上测量噪声v_{k},且估计参数包含在测量方程中,使得R_{k}矩阵可包含其协方差值。
联合SPKF的实现:联合SPKF的实现是对增广状态向量、状态方程和噪声矩阵应用通用的SPKF方法。在计算测量值与预测输出值之间的误差(对应公式(10)中的部分计算)时,对于包含的参数,需要用前一估计值减去当前估计值,以此来不断优化估计结果,实现对电池状态和参数的联合准确估计。这种联合估计方式能够在一定程度上考虑电池参数随时间变化对状态估计的影响,提高估计的准确性和可靠性,尤其适用于电池在实际使用过程中参数不断变化的情况,如因温度变化、老化等因素导致的电池性能变化。
5.双SPKF原理与实现
双SPKF估计原理:在双SPKF估计情况下,采用两个混合信号的卡尔曼滤波器,一个用于状态估计,另一个用于参数估计。其目标与联合估计相同,都是为了同时准确估计电池的状态和参数。由于状态和参数分别使用单独的矩阵进行估计,矩阵尺寸相对较小,所以计算复杂度低于联合估计。然而,这种分离导致两者之间的互协方差丢失,可能会使性能稍差。状态估计器的状态方程如公式(15)所示:其中状态向量x_{k + 1}的更新依赖于当前状态x_{k}、输入向量u_{k}、参数向量以及过程噪声w_{k},这里参数向量作为输入参与状态的更新。参数估计器的模型如公式(16)所示:参数向量的更新是在前一时刻参数向量的基础上加上零均值高斯噪声r_{k}(其协方差矩阵为P_{r_{k}}),这种简单的递推形式用于估计电池模型中的参数(如R_{ct}、Q和R_{s}等)。双SPKF的实现:为实现双SPKF,需要对状态估计器和参数估计器分别执行通用的SPKF步骤,并且两个估计器相互使用对方的估计值。参数估计器和状态估计器的测量方程相同,但由于两者使用的Sigma点数量不同,所以需要分别进行评估。具体来说,在状态估计过程中,根据状态方程(15)和测量方程(与参数估计器相同),按照通用SPKF步骤进行预测、计算协方差、确定卡尔曼增益、校正和更新估计误差协方差等操作,其中涉及到的参数值部分使用参数估计器提供的估计值。同样,在参数估计过程中,依据模型(16)和测量方程,执行类似的通用SPKF步骤,过程中会用到状态估计器得到的状态估计值。通过这种相互协作的方式,双SPKF试图在降低计算复杂度的同时,尽可能准确地估计电池的状态和参数,但由于互协方差的缺失,在性能上可能会略逊于联合SPKF,不过在一些对计算资源有限制的情况下,双SPKF可能是一种可行的选择。6.模型识别与数据获取
数据来源与实验条件:本研究用于评估三种卡尔曼滤波方法在三星INR18650 - 13L电池状态和参数估计性能的数据由大学同事提供。实验通过在25°C下,于电池最大电压和3V之间以0.1C的电流进行恒流充放电测量来获取相关数据,用于电池建模。电池容量、库仑效率与OCV - SOC曲线确定:电池容量通过恒流放电过程中移除的总电荷量计算得出,为1251mAh。库仑效率由充电过程中吸收的总电荷量与放电过程中移除的总电荷量之比确定,为0.9077。OCV - SOC曲线是恒流充放电操作期间端电压的加权平均值(加权因子为电流),并使用分段线性插值法对OCV - SOC函数进行插值,得到的曲线如图2所示。图2.识别和插值的OCV(z)曲线。
电阻和电容参数识别:模型中的串联电阻、电荷转移电阻和双层电容参数通过在25°C下对电池进行瞬态放电测量来识别。测量时,周期性地对电池施加1C放电电流360s,每次放电后休息60s。参数估计基于指数回归,使用Matlab中的“lsqcurvefit”函数进行拟合。计算得到的参数用于通用SPKF,并作为联合和双SPKF的初始值,具体识别出的参数值为:这些参数和数据为后续三种卡尔曼滤波方法在该电池模型上的性能评估提供了基础,有助于准确分析不同滤波方法在估计电池状态和参数方面的有效性和准确性,以便选择最适合电池管理系统(BMS)的方法来确保电池的安全、高效运行和长寿命。7.SPKF方法性能评估
测试流程与条件:通过在全球统一轻型车辆测试程序(WLTP)期间估计电池的状态和参数,并在不同温度下进行1C放电来评估三种SPKF实现的性能,文中仅展示25°C时的结果,因参数估计,温度差异对性能影响不显著。SOC和电池电压估计误差比较:如图3所示,初始时三种SPKF方法精度相当(因初始参数接近实际值),但随着模型参数偏离真实值,通用SPKF性能下降,而双SPKF和联合SPKF通过估计参数值纠正误差。图3.在1C放电后的WLTP测试期间,三个SPKF的估计误差为:(a)SOC;(b) 电池电压。
电阻参数估计与OCV函数误差补偿:图4展示了估计的R_{ct}和R_{s}参数(电池容量在测试中基本恒定未展示),可观察到识别的OCV(z)函数误差主要由串联电阻参数补偿。通过调整卡尔曼滤波器的Q_{k}、R_{k}和P_{r_{k}}协方差矩阵,可控制此参数调整程度,从而确定滤波器对OCV(z)曲线误差的补偿量。图4.在WLTP测试期间,三个SPKF在1C放电后估计的模型参数:(a)𝑅𝑐𝑡;(b) RS。
计算成本对比:在Matlab/Simulink环境中模拟4834.5s测量,通用SPKF耗时0.914s(其中调用SPKF块耗时0.303s),联合SPKF模拟耗时1.649s(其中联合SPKF块耗时0.953s),双SPKF模拟耗时1.488s(其中滤波器运行0.893s)。联合和双SPKF计算成本显著高于通用SPKF,但双SPKF比联合SPKF快约6.3%(因矩阵运算较小,但Sigma点方法本身需大矩阵运算,分离状态和参数变量影响不显著)。8.总结
本研究针对三星18650INR13L锂离子电池,实现了通用、联合和双SPKF用于估计其状态和参数。通过在全球统一轻型车辆测试程序(WLTP)测试循环后进行1C放电实验,比较了它们在状态估计和计算成本方面的性能。双SPKF和联合SPKF在估计电池状态的同时能估计电池参数,从而能够补偿电池运行过程中的参数偏移,其性能优于通用SPKF。在电池状态估计方面,双SPKF和联合SPKF表现相似,但双SPKF计算性能约好6%,虽提升不太显著,但对电池管理系统(BMS)的实现有益。