中国储能网讯:
摘 要 准确高效地评估锂离子电池荷电状态(SOC)是确保电动汽车和储能设备性能和安全的关键。等效电路模型被认为是描述锂离子电池内部复杂反应过程的一种有效方法。针对基于等效电路模型的SOC估计准确性与复杂性难以权衡的问题,本研究采用一阶RC模型作为基础,为了提高整个SOC区间的模型性能表现,通过电化学原理对模型进行优化,通过在一阶RC模型的OCV模块上添加反映电池内部固相扩散过程的改进误差项,在保证较低的计算复杂性的前提下,减小了等效电路模型与更准确的机理模型之间存在的误差。然后基于倍率测试以及脉冲测试数据对电池进行参数辨识,以粒子群算法为基础通过参数解耦的方式降低了参数辨识的复杂度、提升了辨识准确度;同时基于小倍率测试的开路电压(OCV)数据采用多项式方法进行OCV-SOC曲线拟合。随后基于模型参数辨识结果开展SOC估计研究,针对常规卡尔曼滤波准确度不足的问题,在无迹卡尔曼滤波基础上结合加权滑动窗口的思想以提升SOC估计的精确性和鲁棒性,并基于UDDS和DST动态工况测试数据进行算法验证,最终估计效果相对于传统方法呈现出优异的精度与鲁棒性,并且可以在初始SOC有较大偏差时快速收敛至准确值。
关键词 锂离子电池;融合模型;荷电状态估计;无迹卡尔曼滤波
锂离子电池作为电动汽车和混合动力汽车的主要动力来源,其高能量密度、长循环寿命和环保特性使其成为电动交通领域的首选能源储存技术。准确的荷电状态估计(state of charge,SOC)直接影响锂离子电池的性能与安全,是电池管理系统(battery management system,BMS)的基础与核心功能之一。当前,SOC估计方法主要可以被划分为三大类别:基于电池物理属性的方法;基于数据驱动的方法;依据电池模型进行SOC估计的方法。
基于电池物理特性的剩余电量计算方法分为开路电压法(open circuit voltage,OCV)和安时积分法。开路电压法容易受电池工况影响。安时积分法对SOC的初始值和电流传感器的精度高度依赖。初始值不准确或电流误差将导致计算偏差。数据驱动方法不涉及电池内部反应机理,然而其估计精度极其依赖电池数据的数量与质量。
基于模型的估计主要包括电化学模型和等效电路模型。在电化学模型中,SOC的物理意义是电池电极活性材料的平均浓度与最大浓度之间的比例关系。因此,若获得电极活性材料的浓度,即可获取电池的SOC。Santhanagopalan等采用单粒子模型和扩展卡尔曼滤波算法求取电池电极活性材料浓度,而Di Domenico等则通过运用均值电子学理论并结合了扩张式Kalman滤波技术的手段去测算出这些元素的具体浓度。尽管电化学模型的参数具有实际的物理意义,可以反映电池内部真实的电化学反应,但是因为涉及处理大量复杂数学问题的问题,所以实用性和可行度都受到了限制。
等效电路模型在电池SOC估计中得到了广泛应用,与电化学模型相比,这归功于其仅通过电路元件进行建模,具有参数少且获取简单的优点。具体来说,基于等效电路模型的SOC估计方法包括多种类型的观测器以及滤波器技术,如PI观测器、滑模观测器、H∞滤波以及卡尔曼滤波族相关算法,这些观测器方法的不同之处在于增益的求取方式。然而,基于等效电路模型的SOC估计方法模型需要参数精度具有较高的标准。由于工况或外部环境的变化,会出现模型参数失真而导致SOC估计精度下降的问题。因此,一些研究者提出了包括基于最小二乘法的参数在线辨识技术。为解决参数变化导致的估计精度下降问题,可以将观测器技术与在线参数辨识技术相结合,构建状态和参数联合估算的方法。尽管如此,目前的联合估算技术仍在模拟阶段,并没有被广泛运用于BMS系统。
此外传统的等效电路模型并未对电池内部的电化学过程充分考虑,电池在快速充放电或负载变化较大时,固相扩散的动态特性对电池的即时性能有显著影响。模型如果忽略这些过程机制,则可能无法准确反映电池在这些条件下的实际表现。
因此本文在一阶RC模型的基础上结合电化学原理对模型进行改进,通过补偿开路电压部分将欧姆内阻在不同SOC区间的变化解耦出来,在保证较低的计算复杂性的前提下,减小了等效电路模型与更准确的机理模型之间存在的误差,实现了模型性能优化。然后,基于动态工况数据使用寻优能力较强的标准粒子群算法对改进模型进行参数辨识,同时,由于引入的新的待辨识参数会增加辨识过程的计算复杂性,本研究通过解耦的方式简化了辨识过程且提升了辨识精度。最后,在此基础上,选取无迹卡尔曼滤波并融合了加权滑动窗口的思想实现SOC估算,其中加权滑动窗口包括了更大时间段内的误差信息,优化了状态更新过程,提升了估计准确度。在UDDS以及DST两种动态工况下的验证结果表明,所提出的模型与SOC估计算法相对传统方法实现了显著的性能提升并表现出快速的收敛能力。
1 电池建模与参数辨识
1.1 融合电化学原理的等效电路模型
1.1.1 一阶RC模型
为研究锂电池状态估计,通常需数学建模。模型选择的依据主要包括准确性和复杂性两方面,在权衡这两者时,选择适宜的模型显得尤为关键。其中,等效电路模型将电池简化为电路元件,拥有低复杂度和高准确度的特点。本文选取综合考虑精度与复杂度的一阶RC模型,如图1所示。
图1 一阶RC模型
Rp和Cp代表了电池的极化内阻和极化电容通过引入RC网络,一阶RC模型能够更准确地模拟电池极化电压的变化过程。一阶RC模型的数学特性如式(1)所示:
1.1.2 模型改进
本文在一阶RC模型的基础上,结合电化学原理进行改进,在保证复杂性的基础上提升其准确性能。
固相扩散机制:
电化学模型对锂离子电池的建立是基于其内部反应机制,而在传统P2D模型中,电池的开路电压被定义为
式中,up和un分别为正极电势与负极电势;cs,surf,p和cs,surf,n分别为正极固相颗粒表面锂离子浓度和负极固相颗粒表面锂离子浓度;cs,max,p和cs,max,n分别为正极固相颗粒最大锂离子浓度和负极固相颗粒最大锂离子浓度。
在图1所示的一阶RC模型中,Uoc对应在P2D模型中代表为
式中,cs,mean,p和cs,mean,n分别为正极固相颗粒平均锂离子浓度和负极固相颗粒平均锂离子浓度。
对比式(2)和式(3)可知,直接使用等效电路模型与更准确的机理模型之间存在误差,因此在一阶RC的OCV模块加上改进误差项可以增加模型的准确性。
在锂离子电池P2D模型中固相扩散过程中,直接影响电池电动势的因素是锂离子电池固相颗粒表面浓度,而在等效电路模型中与OCV直接相关的因素是锂离子电池固相颗粒平均浓度,因此求解两者之间的关系是提升模型精度的关键所在。有关求解两者之间关系的研究有很多,例如二阶以及高阶的多项式近似方法,带权系数的一阶惯性近似等;其中后者有着更好的准确度,其具体表达式为:
式中,∆t为采样周期;τ为时间常数。
研究表明,固相颗粒的表面锂离子浓度与平均锂离子浓度的差值Δcs,k可表示为:
式中需满足:
为保证模型较低的计算量,使得λ1=1,即只有一个一阶惯性环节,结合P2D模型固相扩散过程,∆cs,k的表达式为:
式中,Rs为粒子的半径;Ds为锂离子固相颗粒扩散系数;jn为固相颗粒的孔壁流量。
为了简化模型,此处假设正负极最大以及平均锂离子浓度一致,且正负极表面与平均锂离子浓度差值一致,则在宏观上,荷电状态与锂离子浓度之间存在如下关系:
基于文献[14]的分析,微观层面的锂离子表面与平均浓度差可转换为宏观上荷电状态的差值,表示为:
式中,SOCsurf为以锂离子表面浓度定义的荷电状态;SOC为宏观上的荷电状态;∆SOC为两者差值,即微观层面锂离子表面与平均浓度差在宏观上的表现。结合单颗粒模型以及式(7)、式(9),可以得出∆SOC的计算公式:
式中,τsd和ksd分别为固相扩散的时间常数和影响因子系数。
1.1.3 基于电化学原理的一阶RC模型
基于式(1)与1.1.2节中的分析可知,改进后的一阶RC模型端电压表达式为:
其中式(1)中的Uoc替换为UP2D,实现了模型对电池内部固相扩散机制这一电化学原理的补充。
SOCsurf与UP2D的关系与一阶RC模型中一致,将Up离散化可得:
具体的模型结构如图2所示,其中UP2D与w关系和Uoc与SOC的关系保持一致。
图2 基于电化学原理的一阶RC模型
在结合了电化学原理的一阶RC模型中,由于结合了固相扩散原理,通过补偿开路电压部分将欧姆内阻在不同SOC区间的变化解耦出来,进而可以使用一组参数反映整个SOC区间的特性变化,以实现对电池内部固相扩散过程更为完善的建模,提升模型准确性。
1.2 电池模型参数辨识
对于1.1节中提出的改进一阶RC模型,需要辨识的参数有R0、Rp、τp、固相扩散系数ksd以及固相扩散时间常数τsd共五个,粒子群算法相较于遗传算法等方法可在更短的时间内找到参数最优解。
1.2.1 粒子群算法原理与流程
粒子群算法(PSO)是一种基于群体智能的搜索技术。算法流程主要包含初始化、评估个体适应度、更新个体位置、更新全局位置、更新速度以及位置等操作,流程如图3所示,具体过程如下。
图3 粒子群算法流程
(1)初始设定:众多粒子经由随机产生,其中每一个粒子均象征一个可能的问题解答。
(2)评估适应度:对每个粒子,计算其对应解的适应度值,即目标函数的值。
(3)更新个体最优位置:对于每个粒子,将其当前位置作为个体最优位置,如果新位置的适应度更好,则更新个体最优位置。
(4)更新全局最优位置:遍历所有粒子以确定拥有最高适应值者,并将此一点定位为群体的最优解。
(5)更新速度和位置:根据个体和全局最优位置,更新每个粒子的速度和位置。速度更新公式包含了三个重要参数:惯性权重、个体加速度项和社会加速度项。
(6)循环执行:不断进行第(2)~(5)步的操作,直到出现终止信号(例如完成设定的最高迭代轮数或当目标函数稳定到特定的精确度水平)才结束。
1.2.2 基于解耦的参数辨识方法
直接使用上述粒子群算法对全部参数进行辨识时,会导致辨识时间较长,且容易陷入局部最优值。本节基于一种解耦的参数辨识(decoupling parameter identification,DPI)方法,优化了模型的参数辨识过程,且使得辨识结果更符合电池的真实特性。基于电化学原理的一阶RC模型需要辨识的模型参数有欧姆内阻R0、极化电阻Rp、极化环节时间常数τp、固相扩散系数ksd以及固相扩散时间常数τsd五个,通过解耦的方式可获取其中R0、Rp以及ksd三个参数,剩余的τp和τsd则通过粒子群算法进行辨识,减少了算法计算量,提高了参数辨识效率。
欧姆内阻:基于电池脉冲测试的数据,进行欧姆内阻R0的提取。如图4所示,具体计算公式为:
图4 欧姆内阻计算方法
在传统的ECM中,随着SOC的降低,电池的欧姆内阻会增加。此种估算欧姆内阻的方法事实上融合了欧姆内阻和固态扩散两方面因素。当处于较低的SOC范围内,即便是最轻微的固态扩散效应也能引起明显的电位偏移。在低SOC范围内的区域,OCV对SOC的响应速度增强,由于表层电位差的小幅变动能明显地影响到电池的终端电压。
总内阻与固相扩散系数:当放电倍率增加时,电池可放电量会减少,Doyle等说明这一现象由两个原因导致,一方面是电阻的分压,另一方面是固相扩散导致的电极电势偏移。通过消除对固体扩散及总体电阻两个因素的影响,能得出固体扩散速率及其总体电阻。根据Han等的研究可知,由恒定电流充电曲线或者释放曲线测量的电荷增加曲线的峰值移动是由于电池整体电阻的变化导致的。而使用IC曲线可以展示电池在某一特定点下的储存电量情况,并且当电池内部处于稳定状态时,固体扩散并不会对其造成影响。因此,可以通过比较电池在不同负载条件下释放的IC曲线的峰值偏差来确定其总体电阻。
式中,RTol为总内阻,由欧姆内阻和极化内阻构成;Upeak,i为在Ii作用下IC曲线峰值电压;Upeak,0为不同倍率电流下峰值电压直线截距。
得到总内阻后,加上端电压可以获得补偿电压:
进而可以获得补偿后的电池容量Qi:
式中,t(Ulow)为上述补偿电压达到下限电压的时刻;Uup为上限电压,t(Uup)为使用标准充电电流充满电池的时刻。
最后固相扩散系数可通过式(17)获得:
式中,Qnom为标称容量;Q0为不同倍率电流下电池可放容量直线斜率。
2 电池荷电状态估算
2.1 无迹卡尔曼滤波
对于任意一个非线性系统,可用式(18)进行描述:
无迹卡尔曼滤波是在扩展卡尔曼滤波的基础上提出的一种改进方法,主要是通过无迹变换的方式实现。无迹变换是用来描述非线性变换后的高斯变量的概率分布的一种方法。
以式(18)为非线性系统的通用代表,具体过程如下:
(1)将系统状态向量x0和状态估计协方差矩阵P0初始化;
(2)使用上一时刻的系统状态向量和状态估计协方差矩阵来选择样本点,计算权重;
(3)根据选择的样本点代入状态空间方程计算均值和协方差矩阵;
(4)根据选择的采样点,通过非线性的观测方程,计算观测更新;
(5)滤波更新。
选择样本点的过程如式(19)和式(20)所示:
式中,n为状态向量的维数;α为样本粒子的分散程度,取值范围为[0.001,1];κ通常为0;β为描述状态变量分布的量,高斯分布的情况下其值为2;Wim和Wic分别为求解第i个样本点均值和方程的权重。
2.2 基于加权滑动窗口的算法改进
卡尔曼滤波族算法的特点是基于当前观测值与估计值的误差更新状态,当某一时刻出现观测值偏差较大的情况时,估计结果也会受到一定的影响。为了减小这一情况所造成的误差,可以将该算法的误差考虑范围进行拓展,利用前一段时间内的误差来进行下一时刻的估计。
采用滑动窗口技术的关键理念在于:在每个卡尔曼过滤步骤中,需要把用以更新状态的观察误差扩展至包括了更大时间段内所有误差信息的多个误差矢量,以此增加错误信号的信息含量并提升对状态估计的准确性。这些误差矢量可以这样描述:
尽管如此,因为电池自身的强烈非线性特性,观察到的误差情况往往表现为无序的状态。所以,如果只是单纯地扩大新的信息矩阵,可能会引发过度的修正问题。因此,本文使用误差加权的方式进行改进。这种策略的核心观念在于依据选择的错误范围内的各个观察点误差的大小排列来做权重的评估和计算。当某个观察点的误差过大的时候,被视为模型移动幅度也相应增大,所以在这个状态更新过程中赋予其更大的权重;否则赋予较低的权重。同时,还需要考虑到这些误差的时间分布特征,即距离现在最近的那些观察点的误差应该有更高的参考意义,因此给予更高的权重。具体而言,每个权重矩阵的计算准则如下:
2.3 基于解耦参数及加权滑动窗口的荷电状态估算
基于1.2.2节中DPI方法得到的模型参数,结合无迹卡尔曼滤波方法以及加权滑动窗口的思想,对UDDS以及DST工况下的磷酸铁锂电池进行状态估计,由于数据采集都是一定步长的离散数据,所以首先需要将SOC的计算公式离散化:
式中,UP2D(SOCsurf,k)代表k时刻SOC值得到的开路电压,且此处SOC指的是改进后一阶RC模型中以锂离子电池固相颗粒表面锂离子浓度为基准的SOC,而非宏观上的SOC,具体表达如式(10)和式(11)所示,关于SOCsurf,k与UP2D的关系曲线和OCV-SOC关系是一致的。R0,k、Rp,k以及τk是待辨识参数,此环节在1.2.2节中实现,且整个SOC区间内参数保持不变,∆t代表采样间隔,在UDDS和DST数据中为1 s。
使用卡尔曼滤波算法进行状态估计需要将系统方程转换为式(18)的形式,且待估计状态用xk代表,因此这里将SOC以及无法测量的极化电压Up作为状态量,电流作为输入,电压作为输出建立系统状态方程和观测方程:
基于上述内容,使用无迹卡尔曼滤波结合加权滑动窗口的思想进行锂离子电池的SOC估算,其中模型的各个参数由1.2.2节中基于解耦的参数辨识方法得到,具体流程如图5所示。
图5 基于解耦参数及加权滑动窗口的荷电状态估算流程
3 实验验证及分析
3.1 测试实验
对力神LFP磷酸铁锂电池进行测试以验证算法效果,详细的参数见表1。使用该电池进行了共计129 h的标定测试,包括0.04C倍率下持续52 h的小倍率测试来获取电池OCV特性、持续26 h的脉冲测试以获得电池极化特性、持续7 h的DST测试和持续8 h的UDDS测试以获取电池的动态特性以及在0.5~2C的倍率下持续10 h的倍率测试。本文使用到的标定测试包括倍率测试、脉冲测试、动态工况测试。环境温度设置为室温25 ℃。
表1 力神LFP电池参数
3.2 模型参数精度验证
为模拟电池在电动汽车运行过程的实际状态,在UDDS和DST两种动态工况测试下对于直接使用粒子群算法辨识参数以及解耦算法参数辨识算法进行精度对比,其中粒子群算法算法采用等间隔辨识的策略,即将整个数据区间等分成20份,每隔一段时间进行一次参数辨识以提升参数的适应性,而解耦算法始终按照1.2节的方式进行,并使用RMSE、MaE以及MAE多种衡量参数对比两种算法的性能。
从图6和图7可以看出,无论是UDDS工况还是DST工况,解耦算法的模型精度都要优于直接使用粒子群算法,尤其是在UDDS工况下,见表2,解耦算法的RMSE达到了粒子群算法的三分之一,在DST工况下也是接近一半的程度,而且在MaE上两者的差距更为显著,解耦算法在DST与UDDS工况下的MaE分别为8.8 mV和6.0 mV,而粒子群算法达到了48.7 mV以及34.8 mV,表明了解耦算法使用一套辨识参数即可显著优于常用的优化算法,尤其是在低SOC区间内尤其明显,且在整个SOC区间都保持比较稳定的辨识精度。
图6 UDDS工况下辨识精度比较
图7 DST工况下辨识精度比较
表2 两种参数辨识方式误差对比
3.3 模型精度对比
在验证了改进模型在解耦算法上相较于粒子群算法的优势后,本节主要对改进模型与一阶RC模型进行比较,其中一阶RC模型的模型参数使用精度较高的遗忘因子最小二乘来辨识,同样采用等间隔辨识的策略,将整个数据区间等分成20份,每个时间节点进行一次参数辨识,使用RMSE、MaE以及MAE多种衡量参数对比两种算法的性能。
从图8和图9及表3可以看出,无论是UDDS工况还是DST工况,改进模型精度都要优于一阶RC模型,两种工况中改进模型和一阶RC模型的RMSE相差不大,而在MaE和MAE上两者的差距保持在0.01 V,且由于改进模型的辨识参数要远小于一阶RC模型,表明了改进模型相较于一阶RC模型的优势所在。
图8 UDDS工况下辨识精度比较
图9 DST工况下辨识精度比较
表3 两种模型误差对比
3.4 SOC估计效果
基于UDDS以及DST工况对比了常规UKF算法和基于加权滑动窗口的UKF算法的估算结果,在滑动窗口方法中窗口大小设置为3。过程误差协方差矩阵Q=[3×10-9 0; 0 3×10-9],观测误差协方差矩阵R=0.01。
首先基于UDDS工况以及DST工况对两种方法进行了性能测试,从图10、图11中可以看出基于加权滑动窗口的UKF是要比常规UKF误差大大减小,为综合比较两种算法的性能,使用RMSE、MaE以及MAE多种衡量参数对比,结果见表4,可以看出在加权滑动窗口的作用下,由于将滤波器考虑的误差扩展到一段时间而非上一时刻,使得滤波误差明显下降,尤其是最大绝对误差项,在DST工况下下降为原来的1/2,在UDDS工况下只有原来的1/3。
图10 UDDS工况下电压及SOC估算结果
图11 DST工况下电压及SOC估算结果
表4 两种工况下不同滤波方法的SOC估算结果
除了验证两种滤波方法的估算性能外,基于加权滑动窗口的窗口大小也会对估计性能产生影响,因此继续比较不同滑动窗口大小时SOC的估计误差,并以UDDS和DST工况作为测试数据。分别设置窗口大小为L=1、2、3、4;当滑动窗口大小等于1时,意味着算法退化为原始的无迹卡尔曼滤波。
从图12与图13可以看出,当滑动窗口的大小不断扩大,其估计准确度的提升趋势明显,然而同时也伴随着计算难度的提高。所以,在实际运用这种技术的时候,需要结合具体的使用环境、精确要求等方面对移动窗口的大小做出适当的调整,以便更有效地满足任务需求。
图12 UDDS工况下不同滑动窗口大小对估算精度的影响
图13 DST工况下不同滑动窗口大小对估算精度的影响
由于在算法估计SOC的过程中,需要人为给定SOC的初值,在初值不准确的情况下是否能保持准确的估算结果是衡量算法估计性能的重要指标之一,因此将SOC为100%时的初值分别设置为100%、80%、60%、40%和20%以探究SOC初值干扰。
根据图14、图15可知,初值偏差越大,误差以及收敛时间也会越大,但即使在20%的初值下,算法依旧能在3 min内收敛至准确的SOC值,最大偏差在3%以内。
图14 UDDS工况下不同SOC初值情况下估算结果
图15 DST工况下不同SOC初值情况下估算结果
4 结 论
以一阶RC模型为基础,运用电化学原理对其进行优化,以提高模型在整个SOC区间的性能表现。基于倍率测试以及脉冲测试数据对电池进行参数辨识,以粒子群算法为基础通过参数解耦的方式降低了参数辨识的复杂度、提升参数辨识的准确度。针对常规卡尔曼滤波准确度不足的问题,在无迹卡尔曼滤波的基础上进行算法融合,使用加权滑动窗口的方式提升辨识精度以及算法鲁棒性,并基于动态工况测试数据进行SOC估计算法验证。最终估计效果呈现优异的精度,误差低于0.5%,对比传统方法存在明显的性能提升。
目前本文的研究还存在一些局限性:①本文所提出的基于解耦的参数识别和状态预测算法仅在磷酸铁锂电池上进行了实验检验。未来的研究将对其他类型的电池进行更深入的验证和优化,②本文的所有动态工况测试都是在25 ℃环境中进行的。考虑到电池充放电过程容易受到温度变化的影响,这可能会使状态估算方法产生误差。未来的研究将深入探讨温度对电池参数识别和状态估计的作用,以增强方案的准确性。