基于EKF与UKF的锂离子电池SOC估计
SOC Estimation of Lithium-Ion Battery Based on EKF and UKF
DOI: 10.12677/AEPE.2020.85010, PDF, HTML, XML, 下载: 570  浏览: 1,305  科研立项经费支持
作者: 韦超毅, 徐光忠, 覃小婷:广西大学机械工程学院,广西 南宁;龙佳庆*:柳州职业技术学院,广西 柳州
关键词: 锂离子电池参数辨识扩展卡尔曼无迹卡尔曼SOCLithium-Ion Battery Parameter Identification Extended Kalman Unscented Kalman SOC
摘要: 为了提高锂离子电池的SOC估计精度,分别使用扩展卡尔曼滤波和无迹卡尔曼滤波对电池SOC进行估计,并通过虚拟仿真实验进行验证分析。建立了二阶RC等效电路模型并利用带有遗忘因子的最小二乘法对模型参数进行辨识,然后在MATLAB中搭建EKF与UKF的算法模型对SOC进行估计,并和实际SOC进行比较分析。仿真实验结果表明:建立的二阶RC模型精度高,电压误差在40 mV内;EKF和UKF算法的精度良好,误差在3%以内,并且UKF的估计精度要比EKF的高。
Abstract: In order to improve the accuracy of lithium-ion battery SOC estimation, extended Kalman filter and unscented Kalman filter are used to estimate battery SOC respectively, and the virtual simulation experiment is used for validation and analysis. A second-order RC equivalent circuit model is estab-lished and the model parameters are identified by the least square method with forgetting factor. Then, the EKF and UKF algorithm models are built in MATLAB to estimate the SOC and compare and analyze the actual SOC. The simulation experiment results show that the established second-order RC model has high accuracy and the voltage error is within 40 mV; the accuracy of the EKF and UKF algorithms is good, with the error within 3%, and the estimation accuracy of UKF is higher than that of EKF.
文章引用:韦超毅, 徐光忠, 龙佳庆, 覃小婷. 基于EKF与UKF的锂离子电池SOC估计[J]. 电力与能源进展, 2020, 8(5): 85-94. https://doi.org/10.12677/AEPE.2020.85010

1. 引言

对动力电池的SOC进行准确高效的估计是电池管理系统(BMS)的重点 [1]。SOC估计的准确度对电动汽车的综合性能和动力电池的使用寿命都有着非常大的影响,如果电池的SOC估计出现较大误差,不仅会影响驾驶员对剩余电量和可续航里程的判断,降低驾驶体验,甚至会导致系统对电池的工作状态出现错误判断,影响行车安全。因此,提高电池SOC的估计精度非常有必要。

SOC无法直接通过仪器测量获取,只能依据电池的端电压、工作电流和内部电阻等参数近似估计。估计电池SOC的方法有很多 [2],其中包括主要在实验室条件下使用的开路电压法、阻抗法以及放电实验法,此外还有应用广泛的安时积分法和比较新颖的卡尔曼滤波法、神经网络法和模糊逻辑法等 [3]。

本文采用虚拟仿真实验的方法对电池SOC的估计进行研究分析,建立了2RC等效电路模型,基于HPPC实验数据标定了电池的OCV-SOC关系,然后采用带有遗忘因子的最小二乘法辨识模型的未知参数 [4],之后在MATLAB中建立了EKF和UKF的算法模型估计出电池的SOC并与电池实际SOC进行比较 [5]。

2. 电池模型的建立及参数辨识

2.1. 电池模型的建立

研究电池的工作特性需要对其进行建模分析,为了更好表征电池的工作特性及其影响因素,国内外学者进行了多年研究,并提出了不同类型的模型,常用的主要有电化学模型、等效电路模型、神经网络模型等 [6] [7]。因为等效电路模型结构简单,且未知参数比较少,所以应用较为广泛,其中经常使用的是多RC回路模型 [8],从理论上,RC阶数越多,模型相对越准确,但模型也会更复杂,经过对比分析,本文采用具有二阶RC回路的等效电路模型 [9],模型结构如图1所示。

Figure 1. Second-order RC equivalent circuit model

图1. 二阶RC等效电路模型

2.2. 在线辨识电池模型参数及验证

2.2.1. 电池OCV-SOC的标定

本次实验使用的电池额定容量为2000 mAh,标定实验的脉冲电流大小为0.5 C,在25℃下执行测试,测试步骤为 [10]。

1) 以1 C速率的恒定电流将电池充电至4.2 V截止电压,然后维持该电压继续充电,直至电流下降为0.01 C,此时认为电池已充电至100% SOC;

2) 以0.5 C的放电速率进行恒流放电,每次放电10% SOC;

Figure 2. HPPC current and corresponding voltage curve

图2. HPPC电流以及对应电压曲线

Figure 3. OCV-SOC curve

图3. OCV-SOC曲线

3) 放电结束,静置2个小时,让电池达到电化学平衡和热平衡状态;

4) 重复步骤2) 3),直到电压降至2.5 V;

5) 然后以0.5 C的充电速率进行恒流充电,每次充电10% SOC;

6) 同样静置2个小时,然后重复充电直到4.2 V的截止电压;

7) 维持截止电压进行恒压充电,直到电流下降为0.01 C,测试结束。

执行上述测试步骤的HPPC电流以及对应电压曲线如图2所示,OCV-SOC曲线如图3所示。

2.2.2. 带遗忘因子的最小二乘法

根据基尔霍夫定律,求得2RC等效电路模型电池方程组为 [9]

{ U ( t ) = i R 0 + U 1 + U 2 + U L ( t ) i = U 1 R 1 + C 1 d U 1 d t i = U 2 R 2 + C 2 d U 2 d t (1)

进行拉普拉斯变换,求其传递函数为

G ( s ) = ( R 0 + R 1 1 + R 1 C 1 S + R 2 1 + R 2 C 2 S ) (2)

S = 2 T × 1 Z 1 1 + Z 1 ,T为采样时间,将上式离散化,得到

(3)

将其转化为差分方程,可以得到下式

Y ( k ) = U ( k ) U L ( k ) (4)

η ( k ) = [ Y ( k 1 ) Y ( k 2 ) i ( k ) i ( k 1 ) i ( k 2 ) ] T β = [ a 1 a 2 a 3 a 4 a 5 ] ,并对其求极值。

β ^ = [ η T η ] 1 η T Y (5)

随着迭代次数增加,旧的数据会越来越多,而旧的数据会对系统造成干扰,导致系统递推的结果不能正确反应新数据的特性,所以我们要引入一个修正系数,即遗忘因子λ,λ的取值范围在0到1之间 [11]。增加遗忘因子后,可以得到带遗忘因子最小二乘法估计参数的递推公式如下。

{ β ^ ( k + 1 ) = β ^ ( k ) + J ( k + 1 ) [ Y ( k + 1 ) η T ( k + 1 ) β ^ ( k ) ] J ( k + 1 ) = P ( k + 1 ) η ( k + 1 ) P ( k + 1 ) = P ( k ) P ( k ) η ( k + 1 ) η T ( k + 1 ) P ( k ) I + η T ( k + 1 ) P ( k ) η ( k + 1 ) (6)

在上式中, β ^ ( k ) 表示系统前一时刻的估计值, η T ( k + 1 ) β ^ ( k ) 表示当前时刻的观测值, Y ( k + 1 ) 表示系统当前时刻的实际值, J ( k + 1 ) 表示系统的增益矩阵, P ( k ) 表示协方差矩阵。

2.2.3. 电池模型验证

利用上述带遗忘因子的最小二乘法辨识模型参数,将模型参数化,需要对模型进行验证才能用于下文的SOC估计。本文在DST工况下进行模型参数验证实验,DST工况的初始SOC为80%,将其电流作为系统激励输入在MATLAB中建立的仿真模型,可以得到对应的仿真响应电压,将其与实际电压值进行对比,如图4所示,电压误差曲线如图5所示。

Figure 4. Comparison of actual voltage and simulated voltage under DST condition

图4. DST工况的实际电压和仿真电压对比

Figure 5. Voltage error under DST conditions

图5. DST工况下的电压误差

图4以及图5可以看出,仿真电压曲线与实际电压曲线吻合度很高,最大误差仅为0.037 V,求得其最大电压误差为1.04%,平均绝对误差为0.231%。

从实验结果中可以看到,在DST工况下,所建立的二阶RC电池等效电路模型在对应工况电流的激励作用下,得到的仿真响应电压值都可以很好地跟踪实际电压值,说明所辨识的模型参数值是准确可信的,能够用于下文的电池SOC估计。

3. 锂离子电池SOC估计

3.1. 扩展卡尔曼滤波

经典卡尔曼滤波不适用于非线性系统,但在其基础上改进得来的EKF能够处理非线性的问题 [12],其状态方程和量测方程分别为

{ x k = A x k 1 + B u k 1 + ω k 1 z k = H x k + ν k (7)

式中,xk表示状态变量,zk表示观测变量, ω k 1 和νk分别为过程激励噪声和观测噪声,uk是系统激励,A、B、H是对应的计算矩阵。将公式(1)在k时刻进行离散化,得到

{ U 1 , k U 1 , k 1 T s = 1 R 1 C 1 U 1 , k 1 + 1 C 1 i k 1 U 2 , k U 2 , k 1 T s = 1 R 2 C 2 U 2 , k 1 + 1 C 2 i k 1 S O C k S O C k 1 T s = 1 Q n i k 1 (8)

其观测方程如下

U L = U ( S O C ) R 0 i U 1 U 2 (9)

x = [ U 1 U 2 S O C ] y = U L ,得到:

{ x k = A x k 1 + B i k 1 y k = C x k + D i k + U ( S O C ) (10)

A、B、C、D为对应的方程系数矩阵,将其带入扩展卡尔曼滤波算法当中,即可对电池SOC进行估计,下面给出其算法的具体过程。

第一步:状态估计

根据公式(10),可以求得在k时刻的状态变量估计值和对应的协方差矩阵为

{ x ^ k = A x k 1 + B i k 1 P ^ k = A P k 1 A T + Q k (11)

第二步:计算卡尔曼增益Kk

K k = P ^ k H k T ( H k P ^ k H k T + R k ) 1 (12)

第三步:更新估计值

{ x k = x ^ k + K k ( u k H k x ^ k ) P k = ( I K k H k ) P ^ k (13)

上述式子中,Hk为雅可比矩阵,I为单位矩阵。

从上文对线性卡尔曼和扩展卡尔曼的分析可以知道,扩展卡尔曼滤波主要是在估计值处对非线性方程展开成泰勒级数,并且忽略掉二阶及以上的高阶项,虽然也能应用于估计复杂非线性系统的锂离子电池SOC估计,但是忽略高阶项,不仅降低了模型的精度,而且计算过程中需要求解繁复的雅可比矩阵,给计算增加了复杂性和难度,因此提出了用无迹卡尔曼滤波算法估计电池SOC。

3.2. 无迹卡尔曼滤波

UKF的核心运算程序与EKF相同,同样是包含预测和更新两个过程,最大的不同点在于UKF不使用雅可比矩阵将非线性系统转化为线性系统,而是用一些关键点集(称为sigma点)的扩充与非线性映射的方法来估计下一时刻的状态 [13] [14]。

无迹变换是UKF算法的核心,其具体过程为:

1) 构造sigma点集

构造的sigma点集总数应当为2n + 1个,如下式所示

{ χ k 1 0 = x k 1 a , i = 0 χ k 1 i = x k 1 a + ( ( n + λ ) P k 1 a ) i , i = 1 , 2 , n χ k 1 i = x k 1 a ( ( n + λ ) P k 1 a ) i n , i = n + 1 , , 2 n (14)

式中, ( ( n + λ ) P k 1 a ) i 表示矩阵平方根的第i列。

2) 计算权重系数

{ W 0 m = λ n + λ W 0 c = λ n + λ + 1 α 2 + β W i m = W i c = 1 2 ( n + λ ) , i = 1 , 2 , , 2 n (15)

上式中, ω k 1 表示第一个sigma点求期望值的权重系数, W 0 c 表示第一个sigma点求方差的权重系数, W i m W i c 则表示剩余sigma点的求期望与求方差的权重系数,并且二者在数值上相等。λ表示sigma点距离均值的远近,其计算方法如下式所示

λ = α 2 ( n + k i ) n (16)

3) 传递sigma点

通过将sigma点集由状态转移函数f映射到新的sigma点集完成非线性传递,方程如下式所示

χ k 1 i = f ( χ k 1 i ) , i = 0 , 1 , 2 , , 2 n (17)

4) 估计新值

利用加权后的新的sigma点集估计状态值和误差协方差矩阵,如下式所示

x ^ k 1 = i = 0 2 n W i m χ k 1 i (18)

P k 1 = i = 0 2 n W i c [ χ k 1 i x ^ k 1 ] [ χ k 1 i x ^ k 1 ] T (19)

事实上,步骤(1)到(4)也是UKF算法的预测过程,下面给出更新过程的具体步骤。

5) 与预测一样,需要构造2n + 1个sigma点。

6) 通过非线性函数h将sigma点集映射到新的sigma点集,如下式所示

μ k i = h ( χ k 1 i ) , i = 0 , 1 , , 2 n (20)

7) 预测观测变量的估计值与误差协方差矩阵

z ^ k = i = 0 2 n W i m μ k i (21)

P z z = i = 0 2 n W i c [ μ k i z ^ k ] [ μ k i z ^ k ] T (22)

8) 计算卡尔曼增益Kk,如下式所示

K k = P x z P z z 1 (23)

其中

P x z = i = 0 2 n W i c [ χ k 1 i x ^ k 1 ] [ μ k i z ^ k ] T (24)

9) 更新状态变量估计值和误差协方差矩阵

x ^ k = x ^ k 1 + K k ( z k z ^ k ) (25)

P k = P k 1 K k P z z K k T (26)

4. SOC估计仿真实验验证

为了验证两种算法的准确性,在US06工况条件下进行虚拟仿真实验估计电池的SOC,并与实际的SOC做对比分析。将US06工况的电流和电压作为系统激励输入到搭建好的算法模型中,执行运算,得到的两种算法下的SOC估计值与实际SOC值对比如图6所示,图7为两种算法估计SOC的误差比较曲线图。

Figure 6. SOC estimation value and actual SOC value comparison curve of the two algorithms

图6. 两种算法的SOC估计值与实际SOC值对比曲线

Figure 7. Error comparison curve of the estimated SOC value of the two algorithms

图7. 两种算法估计SOC值的误差对比曲线

图6的EKF算法与UKF算法估计的SOC值与实际SOC值对比曲线可以看出,两种算法估计的SOC值都能很好的跟踪实际SOC值,两种算法的SOC估计效果都良好。但是从图7的EKF算法与UKF算法估计SOC值的误差比较曲线可以看出,EKF的估计误差曲线比较陡峭,而UKF的估计误差曲线相对比较平缓,并且EKF算法的SOC估计最大误差为1.63%,而UKF估计的SOC值最大误差仅为0.41%,两种算法的误差相差4倍,可见UKF算法估计电池SOC的精确度要比EKF算法高。

5. 结论

本文通过建模虚拟仿真的方法对电池SOC的估计开展了研究与分析,先是建立了2RC电池等效电路模型,将具有遗忘因子的最小二乘方法与HPPC实验数据相结合,确定了模型参数。然后提出了使用扩展卡尔曼滤波算法与无迹卡尔曼滤波算法来估计电池SOC,并对此进行了相关的仿真实验分析和研究。实验结果表明:

1) 结合电池HPPC的实验数据,带遗忘因子的最小二乘法可以对电池模型参数进行准确的辨识,误差在40 mV内,说明建立的模型是可靠和准确的。

2) 在US06工况条件下,EKF与UKF估计SOC的误差非常小,但是UKF的估计精度要比EKF的高出4倍。其中EKF估计SOC的最大误差为1.63%,而UKF估计SOC的最大误差仅为0.41%,二者相差达到4倍,表明UKF算法准确度比EKF的更高,为后续研究电池SOC估计算法提供一定思路。

基金项目

广西壮族自治区中青年教师基础能力提升项目(项目名称:喷油策略对汽油发动机颗粒物排放的影响研究(2017KY1052))。

参考文献

[1] 张易航, 王鼎, 肖围, 等. 锂离子电池SOC估算方法概况及难点分析[J]. 电源技术, 2019, 43(11): 1894-1896 + 1904.
[2] Pang, S., Farrell, J., Du, J., et al. (2001) Battery State-of-Charge Estimation. Proceedings of the 2001 Amer-ican Control Conference (Cat. No. 01CH37148), Arlington, VA, 25-27 June 2001, 1644-1649.
[3] 孙冬, 许爽, 李超, 等. 锂离子电池荷电状态估计方法综述[J]. 电池, 2018(4): 20.
[4] 王志福, 容毅楠, 李志. 锂离子电池Thevenin模型参数确定方法研究[J]. 电源技术, 2018, 42(3): 347-348 + 364.
[5] 李建成, 戴瑜兴, 全惠敏, 等. 基于改进Kalman滤波和安时积分的SOC复合估算[J]. 电源技术, 2014(12): 2267-2269.
[6] 杨杰, 王婷, 杜春雨, 等. 锂离子电池模型研究综述[J]. 储能科学与技术, 2019, 8(1): 58.
[7] Nikolian, A., De Hoog, J., Fleurbay, K., et al. (2014) Classification of Electric Modelling and Characterization Methods of Lithium-Ion Batteries for Vehicle Ap-plications. Proceedings of the European Electric Vehicle Congress, Brussels, 2-5 December 2014, 13-16.
[8] Zheng, F., Xing, Y., Jiang, J., et al. (2016) Influence of Different Open Circuit Voltage Tests on State of Charge Online Estimation for Lithium-Ion Batteries. Applied Energy, 183, 513-525.
https://doi.org/10.1016/j.apenergy.2016.09.010
[9] Guo, F., Hu, G., Xiang, S., et al. (2019) A Multi-Scale Pa-rameter Adaptive Method for State of Charge and Parameter Estimation of Lithium-Ion Batteries Using Dual Kalman Fil-ters. Energy, 178, 79-88.
https://doi.org/10.1016/j.energy.2019.04.126
[10] Zheng, F., Xing, Y., Jiang, J., et al. (2016) Influence of Different Open Circuit Voltage Tests on State of Charge Online Estimation for Lithium-Ion Batteries. Applied Energy, 183, 513-525.
https://doi.org/10.1016/j.apenergy.2016.09.010
[11] 陈息坤, 孙冬, 陈小虎. 锂离子电池建模及其荷电状态鲁棒估计[J]. 电工技术学报, 2015, 30(15): 141-147.
[12] Zhi, L., Peng, Z., Wang, Z.F., et al. (2017) State of Charge Es-timation for Li-Ion Battery Based on Extended Kalman Filter. Energy Procedia, 105, 3515-3520.
https://doi.org/10.1016/j.egypro.2017.03.806
[13] Plett, G.L. (2006) Sigma-Point Kalman Filtering for Battery Management Systems of LiPB-Based HEV Battery Packs: Part 1: Introduction and State Estimation. Journal of Power Sources, 161, 1356-1368.
https://doi.org/10.1016/j.jpowsour.2006.06.003
[14] Plett, G.L. (2006) Sigma-Point Kalman Filtering for Battery Management Systems of LiPB-Based HEV Battery Packs: Part 2: Simultaneous State and Parameter Estimation. Journal of Power Sources, 161, 1369-1384.
https://doi.org/10.1016/j.jpowsour.2006.06.004