计算机应用   2016, Vol. 36 Issue (12): 3492-3498  DOI: 10.11772/j.issn.1001-9081.2016.12.3492
0

引用本文 

石刚, 赵伟, 刘珊珊. 基于无迹卡尔曼滤波估算电池SOC[J]. 计算机应用, 2016, 36(12): 3492-3498.DOI: 10.11772/j.issn.1001-9081.2016.12.3492.
SHI Gang, ZHAO Wei, LIU Shanshan. Battery SOC estimation based on unscented Kalman filtering[J]. JOURNAL OF COMPUTER APPLICATIONS, 2016, 36(12): 3492-3498. DOI: 10.11772/j.issn.1001-9081.2016.12.3492.

基金项目

2016工信部智能制造标准化项目

通信作者

刘珊珊(1990-),女,山东济宁人,硕士研究生,主要研究方向:移动物联网、电池管理,liushanshan@sia.cn

作者简介

石刚(1978-),男,辽宁沈阳人,研究员,博士,主要研究方向:移动物联网、医疗电子与信息;
赵伟(1978-),男,辽宁沈阳人,副研究员,硕士,主要研究方向:移动物联网、医疗电子与信息

文章历史

收稿日期:2016-06-03
修回日期:2016-07-22
基于无迹卡尔曼滤波估算电池SOC
石刚1, 赵伟1, 刘珊珊1,2    
1. 中国科学院 沈阳自动化研究所, 沈阳 110016 ;
2. 沈阳建筑大学 信息与控制工程学院, 沈阳 110168
摘要: 为了实现在线估计汽车动力电池的荷电状态(SOC),提出了结合神经网络的无迹卡尔曼滤波算法。以Thevenin电路为等效电路模型,建立了状态空间表达式,采用最小二乘算法对模型参数进行辨识。在此基础上,利用神经网络算法拟合电池的荷电状态与模型各个参数之间的函数关系,经过多次实验,确定了神经网络算法的收敛曲线,此方法比传统的曲线拟合精度高。介绍了扩展卡尔曼滤波和无迹卡尔曼滤波的原理,并设计了等效电路模型验证实验、电池的SOC测试实验和算法的收敛性实验。实验结果表明,在不同的工况环境下,该方法估计SOC具有可在线估算、估算精度高和环境适应度高等优点,最大误差小于4%。最后验证了结合神经网络的无迹卡尔曼滤波的算法具有较好的收敛性和鲁棒性,可以有效解决初值估算不准确和累计误差的问题。
关键词: 无迹卡尔曼滤波    神经网络    荷电状态    Thevenin等效电路    
Battery SOC estimation based on unscented Kalman filtering
SHI Gang1, ZHAO Wei1, LIU Shanshan1,2     
1. Shenyang Institute of Automation, Chinese Academy of Sciences, Shenyang Liaoning 110016, China ;
2. Faculty of Information and Control Engineering, Shenyang Jianzhu University, Shenyang Liaoning 110168, China
Abstract: In order to estimate the State-Of-Charge (SOC) of automobile power lithium-ion battery online, an Unscented Kalman Filtering (UKF) algorithm was proposed combined with neural network. First of all, Thevenin circuit was treated as an equivalent circuit, the state space representation of the battery model was established and the least square method was applied to identify the parameters of model. Then on this basis, the neural network algorithm was expected to fit the functional relationships between SOC of battery and model parameters respectively. After many experiments, the convergence curve of the neural network algorithm was determined. The proposed method was more accurate than the traditional curve fitting. In addition, the Extended Kalman Filtering (EKF) principle and the UKF principle were introduced separately and some tests were designed including the validation experiment of battery equivalent circuit model, the test experiment of SOC and the convergence experiment of the algorithms. The experimental results show that, the proposed method which can be used for SOC estimation online has higher estimation precision and stronger environmental adaptability than simple extended Kalman filtering algorithm under different conditions, its maximum error is less than 4%. Finally, the proposed algorithm combining UKF and neural network has better convergence and robustness, which can be used to solve the problems of inaccurate estimation of initial value and cumulative error effectively.
Key words: unscented Kalman filtering    neural network    State-Of-Charge (SOC)    Thevenin equivalent circuit    
0 引言

汽车动力电池[1]的研究成果已经取得了很大的进展,但是目前仍存在一些问题,其中最重要的一项就是电池荷电状态(State Of Charge,SOC)的估计[2]

电池SOC的定义为:在相同的环境、一定的放电效率条件下,电池的剩余可用容量与电池总容量的比值。如果电池的SOC估计不准确,就会造成电池过充和过放,严重损害电池的使用寿命;而且,准确地估算电池SOC对于正常和健康地使用电池也是至关重要的。目前,国内外针对汽车电池SOC的研究[3-7]有很多方法,包括开路电压法、安时积分法、开路电压结合安时积分法和卡尔曼滤波算法等。然而每种方法都有其各自的优缺点,例如开路电压法虽然结构简单,可操作性强,但是需要把电池静置相当长的一段时间才能测量准确电池的开路电压;安时积分法依赖于SOC的初值,在初值准确的前提下估算会很准确,这种方法会有累计误差;开路电压结合安时积分法虽然消除了长时间静置电池的缺点,但是仍然有累计误差;卡尔曼滤波方法是目前使用最广泛的一种算法,能够消除累计误差,还可以在线估算电池的SOC,但是这种方法对电池等效模型的依赖性很强。

许多因素都会影响电池的性能,比如充放电效率、自放电、温度、电池使用寿命等。这几种因素对电池的影响是很重要的,但是其影响作用很难量化,而且实验条件有限,所以本文暂不考虑这几种影响因素。本文采用无迹卡尔曼滤波(Unscented Kalman Filtering,UKF)结合神经网络算法估计电池SOC。经过测试可知,该方法能够较准确地估计电池SOC。

1 等效电路模型 1.1 电路模型

目前,国内外常用的等效电路模型有:Rint模型、Thevenin模型、PNGV模型、神经网络模型以及文献[4]提出的线性模型。电池的等效电路模型不能太简单也不能太复杂。本文采用Thevenin等效电路模型,该模型具有更好的动态适应性,可以很好地模拟电池的动态特性且结构简单,如图 1所示。

图 1 Thevenin等效电路模型

根据基尔霍夫电压和电流定律,假设电池放电时电流方向为正,得到电路方程如式(1):

$\left\{ \begin{align} & {{U}_{L}}={{U}_{oc}}\text{-}{{R}_{0}}I\text{-}{{U}_{p}} \\ & {{U}_{p}}={{R}_{p}}(I-\frac{1}{{{C}_{p}}}\frac{d{{U}_{P}}}{dt}) \\ \end{align} \right.$ (1)

其中:UL表示电池的输出电压;Uoc表示电池的开路电压;UP表示RC环的极化电压;R0表示电池欧姆内阻;RP、CP表示电池的极化电阻和极化电容。

对式(1)进行离散化处理可得式(2)

$\left\{ \begin{align} & {{U}_{L}}(k)={{U}_{oc}}(k)\text{-}{{R}_{0}}(k){{I}_{k}}\text{-}{{U}_{p}}(k) \\ & {{U}_{p}}(k+1)={{U}_{p}}(k){{e}^{{}^{\Delta t}\!\!\diagup\!\!{}_{{{\tau }_{p}}(k)}\;}}+{{I}_{k}}{{R}_{p}}(k)(1-{{e}^{{}^{\Delta t}\!\!\diagup\!\!{}_{{{\tau }_{p}}(k)}\;}}) \\ \end{align} \right.$ (2)

其中:Δt表示离散化时的采样时间;时间常数定义为τ=RPCP

1.2 模型参数辨识

根据上一节的叙述可知,电池的等效电路模型中的Uoc、R0、RP、CP、τP五个参数需要进行辨识[8-9],需要计算出在每个SOC(100%,99%,…)点下的各个参数值。之所以要每隔1%就进行实验参数辨识,是为了接下来的神经网络拟合奠定基础。进行脉冲功率特性实验——混合动力脉冲能力特性(Hybrid Pulse Power Characteristic,HPPC) Test,实验结果如图 2所示。

图 2 HPPC特性实验

图 2可知,Ut1~Ut2阶段内电流加载瞬间电池电压突变,这种现象是由于欧姆内阻引起的,此现象直接体现了等效电路模型的纯阻特性,而电路中的R0恰好模拟了电池的纯阻特性;Ut2~Ut3阶段内,电池处于恒流放电工况下,但是电池两端电压并不是线性变化而是缓慢变化,说明在此阶段内,电池并不表现为纯阻特性,而是表现为RC极化特性,因此等效电路模型中需要加入RC环节模拟电池的缓慢变化动态特性。

所以,根据U2到U3段内电压的变化情况,可以得出电路中的纯电阻为式(5),在电压缓慢变化阶段,根据电路的零输入响应(如式(3))和零状态响应(如式(4)),应用最小二乘法可以估算出其他的参数RP、CP、τP。电池的开路电压Uoc的获取:对电池进行恒流放电实验,在电池的每个SOC(例如100%,99%,…)下,对电池充分静置,使电池的性能达到稳定,并记录此过程中的电池电压变化情况,此时得到的就是电池的开路电压Uoc的值。

电池的零输入响应如下:

$\left\{ \begin{align} & {{U}_{L}}={{U}_{oc}}-{{R}_{0}}I-{{U}_{p}} \\ & {{U}_{p}}={{U}_{p}}(0){{e}^{-t/{{\tau }_{p}}}} \\ \end{align} \right.$ (3)

电池的零状态响应如下:

$\left\{ \begin{align} & {{U}_{L}}={{U}_{oc}}-{{R}_{0}}I-{{U}_{p}} \\ & {{U}_{p}}=i{{R}_{p}}(1-{{e}^{-t/{{\tau }_{p}}}}) \\ \end{align} \right.$ (4)
${{R}_{0}}={{U}_{t1}}-{{U}_{t2}}/I$ (5)
1.3 模型验证

首先将充满电的电池置于室温中,并静置1 h,使电池状态达到稳定;然后对电池在不同工况下进行放电实验,同时记录电池的两端电压;最后在Matlab中的Simulink模块中对电池模型进行建模。将实测电池的两端电压与模型输出电压进行对比,以便验证模型的有效性。

在Matlab/Simulink中对电池进行建模,以便验证RC等效电路模型能否有效地模拟电池的动态性能,如图 3所示。包括3部分内容:1)根据式(6)计算出SOC的值;2)根据SOC的值确定等效电路模型的参数值;3)根据式(12)计算等效电路模型的输出值。

图 3 电池模型验证Simulink图

图 4图 5可以看出,在不同工况下,电池模型的输出电压与电池实际测量的电压相差不大。由图 4(b)误差图可以看到,在恒流工况条件下,电池模型输出误差大部分在0.03 V以内,少数情况下会达到0.06 V。由图 5中的误差图也可以看出,在变工况情况下,电池模型的输出电压误差大部分在0.04 V之内,在电池放电后期会出现0.06 V的误差。之所以在放电后期误差突然变大,是因为在电池放电后期,电池会出现电量急剧下降的现象,电池的性能不稳定,因此导致针对这部分的电池的模型的输出误差变大。但是总体来看,本文提出的模型能够有效地模拟电池的动态性能。

图 4 恒流工况模型验证
图 5 变工况模型验证
2 估算流程

目前国内外在估算电池SOC方面进行了很多研究,但是在应用扩展卡尔曼滤波(Extended Kalman Filtering,EKF)算法的过程中仍然存在问题:1)必须求非线性函数的Jacobian矩阵,对于模型复杂的系统,其比较复杂且容易出错;2)因EKF只计算非线性函数一阶Taylor展开式,忽略了高阶项,对非线性强度高的系统,容易导致滤波效果下降。这就要求寻找新的逼近方法来提高滤波精度和效率,因此本文应用无迹卡尔曼进行估算。

在应用无迹卡尔曼算法估算过程中需要用到实时的参数值,也就是说在不同的SOC值下等效电路模型的参数值是不同的,这就要求各个参数值与SOC的关系要尽可能地精确。为了达到这一目的,本文应用神经网络拟合参数值与SOC的关系曲线,再应用无迹卡尔曼算法进行估算。估算电池SOC的流程如图 6所示。

图 6 估算电池SOC流程
2.1 SOC的定义

根据文献[10-11]对电池SOC的定义可以得出SOC的计算表达式为:

$SOC=SO{{C}_{0}}-\frac{\int{\eta i(t)dt}}{{{C}_{N}}}$ (6)

其中:SOC0表示电池的初始电量,η为电池的充放电效率(充电时η=1,放电时η≤1),CN为电池的额定容量,i(t)为电池实时电流(当放电时为正,充电时为负)。

对式(6)进行离散化处理为:

$SO{{C}_{k}}=SO{{C}_{k-1}}-\frac{\eta \Delta t}{{{C}_{N}}}{{i}_{k}}$ (7)

式(7)其实就是安时积分法估算电池SOC的计算方法,从式中可以看出,安时计量估计法是整个SOC估计算法的基础。之所以要引入卡尔曼滤波算法并将SOC作为卡尔曼滤波的一个状态变量,是因为卡尔曼滤波算法能够消除累计误差,能够在线估计电池的状态并用观测的电压值来修正安时法得到的SOC值。

本文中的SOC测量值是根据放电电流及放电时间来进行计算的。

2.2 模型方程

根据Thevenin等效电路模型,建立模型方程为:

1) 状态方程。

$\left\{ \begin{align} & SO{{C}^{'}}(t)=-i(t)/\eta {{Q}_{N}} \\ & U_{P}^{'}(t)=-{{U}_{P}}(t)/{{\tau }_{P}}+i(t)/{{C}_{P}} \\ \end{align} \right.$ (8)

2) 输出方程。

${{U}_{L}}={{U}_{oc}}-{{R}_{0}}i-{{U}_{p}}$ (9)

对式(8)~(9)进行离散化和线性化,得到UKF能够运算的方程为:

$\left\{ \begin{align} & SOC(k)=SOC(k-1)-\frac{\vartriangle t}{\eta {{Q}_{N}}}i(k-1) \\ & {{U}_{P}}(k)=(1-\frac{1}{{{\tau }_{P}}}){{U}_{P}}(k-1)+\frac{\vartriangle t}{{{C}_{P}}}i(k-1) \\ \end{align} \right.$ (10)

写成矩阵方程的形式为:

$\eqalign{ & \left[ \matrix{ SO{C_k} \hfill \cr {U_{P,k}} \hfill \cr} \right] = \left[ \matrix{ 1{\rm{ }}0{\rm{ }} \hfill \cr 0{\rm{ }}1 - {1 \over {{\tau _P}}} \hfill \cr} \right] \cr & \left[ \matrix{ SO{C_{k - 1}} \hfill \cr {U_{P,k - 1}} \hfill \cr} \right] + \left[ \matrix{ - {{t} \over {\eta {Q_N}}} \hfill \cr {\rm{ }}{{t} \over {{C_P}}} \hfill \cr} \right]\left[ {{i_{k - 1}}} \right] + \left[ {{w_k}} \right] \cr} $ (11)
${{U}_{L}}(k)={{U}_{oc}}(k)\text{-}{{R}_{0}}(k){{I}_{k}}\text{-}{{U}_{p}}(k)\text{+}v(k)$ (12)

其中:Δt系统采样时间;τPRC环的时间常数;vk为观测噪声,满足高斯白噪声;wk为过程噪声满足高斯白噪声。

${{U}_{L}}(k)={{U}_{oc}}(k)\text{-}{{R}_{0}}(k){{I}_{k}}\text{-}{{U}_{p}}(k)\text{+}v(k)$ (13)
2.3 神经网络曲线拟合

神经网络因其结构简单、可操作性强、自适应、自学习的优点被广泛应用于函数逼近、模式识别、智能控制等领域。正是因其在函数逼近中的优势,本文利用神经网络算法拟合出极化电容CP、时间常数τ等参数与SOC的曲线关系,克服了多项式拟合的大误差现象,使估算更精确。图 7为本文的神经网络结构。

图 7 三层BP网络结构

以等效电路模型中的CP为例子进行神经网络拟合过程说明。在拟合之前需要进行归一化处理,输入层的电池SOC本身作用域为(0,1),因此将CP进行归一化。由于神经网络输出层的激活函数的值域是有限的,需要将网络训练的目标数据映射到激活函数的值域,因此将CP范围的范围限制在(0,1)。

连续做多次实验,发现隐层神经元个数为17时收敛步数最少。由图 8可知,训练28次左右达到收敛。输出层单元阈值为-5.6713,隐层到输出层连接权值如下:(1.0827,1.2836,1.3707,1.4901,-0.1386,1.9914,1.4437,-1.7831,-1.1102,1.3436,-0.3984,-0.1425,1.9104,1.9674,1.1224,0.3153,1.7597)。隐层单元阈值如下:100.2105,-94.2605,-88.3105,82.3605,-76.4105,70.4605,64.5105,58.560,52.6105,-46.6605,-40.7105,34.7605,28.8105,22.8605,-16.9105,-10.9605,5.0105。

图 8 训练性能表现

神经网络拟合SOC与电池等效电路模型中的各个参数之间的关系曲线如图 9所示。

图 9 模型参数与SOC关系曲线

图 9可以看出,在不同的SOC下,同一参数的值是不同的。在SOC的值为0~0.2与0.85~0.9,参数的变化是巨大的;在SOC的值为0.2~0.8,参数变化的幅度偏小。这也进一步说明了,在SOC为0.2~0.8时,电池处于放电的平台区,即电池的充放电变化是稳定的。

3 扩展卡尔曼滤波原理

卡尔曼滤波算法是一种不断回归递推算法,包括预测与更新两个阶段。假设k时刻的真实值是从(k-1)时刻的状态演化而来,k+1时刻又是从k时刻递推而来。

电池模型的状态方程为:

${{\mathbf{X}}_{k}}={{\mathbf{A}}_{k}}{{x}_{k-1}}+{{\mathbf{B}}_{k}}{{u}_{k}}+{{\mathbf{w}}_{k}}$ (14)

电池模型的测量方程为:

${{z}_{k}}={{\mathbf{H}}_{k}}{{x}_{k}}+{{\mathbf{v}}_{k}}$ (15)

图 10描述了扩展卡尔曼滤波算法的流程。卡尔曼滤波算法最核心的公式就是7个,也就是图中所描写的预测阶段与更新阶段。对于图 10中刚开始的针对Ak、Bk、CK赋值阶段,是把得到的等效电路模型中的状态方程即非线性方程进行一阶泰勒公式展开,变成线性方程进行计算的。

图 10 扩展卡尔曼滤波原理
4 无迹卡尔曼滤波原理

无迹卡尔曼滤波(UKF)算法[12-15]是近几年来逐渐兴起的一种处理非线性系统的优秀算法,与传统的扩展卡尔曼算法(EKF)相比,两者对非线性系统处理方式不同;前者采用概率分布的思路处理非线性问题,即将EKF中的统计特性传播方式的线性化近似用U变换方法代替。这种算法在非线性系统估计中占据绝对的优势。

根据非线性模型有:

${{\mathbf{X}}_{k+1}}=f({{\mathbf{X}}_{k}},{{u}_{k}},{{\mathbf{W}}_{k}})$ (16)
${{Z}_{k}}=h({{\mathbf{X}}_{k}},{{\mathbf{V}}_{k}})$ (17)

式中:Xk∈Rn为系统状态矩阵; f(·)为n维向量函数;h(·)为m维向量函数;Wk为n维系统过程噪声矩阵;Vk为m维系统观测噪声。则UKF计算步骤如下:

1) 初始化:

${{\widehat{\mathbf{X}}}_{0}}=E[{{\mathbf{X}}_{0}}]$ (18)
${{\mathbf{P}}_{0}}=E[({{\mathbf{X}}_{0}}-{{\widehat{\mathbf{X}}}_{_{0}}}){{({{\mathbf{X}}_{0}}-{{\widehat{\mathbf{X}}}_{_{0}}})}^{T}}]$ (19)

2) 状态扩维,由于UKF算法中加入了对干扰项的估计,因此要对其状态变量进行扩维:

$\widetilde{\mathbf{X}}_{0}^{a}=E[\mathbf{X}_{0}^{a}]=E[{{\widehat{\mathbf{X}}}_{0}} {{\mathbf{W}}_{0}} {{\mathbf{V}}_{0}}]$ (20)
${\bf{P}}_0^a = E[({\bf{X}}_0^a - \widehat {\bf{X}}_0^a){({\bf{X}}_0^a - \widehat {\bf{X}}_0^a)^T}] = \left[ \matrix{ {{\bf{P}}_{{X_0}}} 0 0 \hfill \cr 0 {{\bf{R}}_W} 0 \hfill \cr 0 0 {{\bf{R}}_V} \hfill \cr} \right]$ (21)

其中,RW、RV分别为过程噪声和观测噪声的协方差矩阵。

3) 对于给定的$\widehat {\bf{X}}_{k - 1}^a$、${\bf{P}}_{k - 1}^a$,用U变换求状态的一步预测$\widehat {\bf{X}}_{k,k - 1}^a$和一步预测误差协方差矩阵P k,k-1a(k=1,2,…),进行如下步骤:

①计算Sigma点ξk-1i(i=1,2,…,2n):

$\left\{ \matrix{ \xi _{k - 1}^0 = \widehat {\bf{X}}_{k - 1}^a \hfill \cr \xi _{k - 1}^i = \widehat {\bf{X}}_{k - 1}^a + {(\sqrt {(n + \lambda ){\bf{P}}_{k - 1}^a} )_i},i = 1,2, \cdot \cdot \cdot ,n \hfill \cr \xi _{k - 1}^i = \widehat {\bf{X}}_{k - 1}^a - {(\sqrt {(n + \lambda ){\bf{P}}_{k - 1}^a} )_i},i = n + 1,n + 2, \cdot \cdot \cdot ,2n \hfill \cr} \right.$ (22)

②计算时间更新方程如下:

通过状态方程的传播计算Sigma点ξk-1i(i=0,1,…,2n):

$\xi _{k,k - 1}^i = f(\xi _{k - 1}^i),i = 0,1, \cdot \cdot \cdot ,2n$ (23)
${\bf{X}}_{k,k - 1}^a = \sum\limits_{i = 0}^{2n} {w_i^m\xi _{k,k - 1}^i} $ (24)
${\bf{P}}_{k,k - 1}^a = \sum\limits_{i = 0}^{2n} {w_i^c} ({\bf{\xi }}_{k,k - 1}^i - \widehat {\bf{X}}_{k,k - 1}^a){({\bf{\xi }}_{k,k - 1}^i - \widehat {\bf{X}}_{k,k - 1}^a)^T} + {\bf{P}}_{k - 1}^a$ (25)

③计算观测更新方程:

${\chi _{k,k - 1}} = h(\xi _{k,k - 1}^a)$ (26)
${{\widehat{Z}}_{k,k-1}}=\sum\limits_{i=0}^{2n}{w_{i}^{m}}{{\chi }_{i,(k,k-1)}}$ (27)
${{\mathbf{P}}_{{{\widetilde{Z}}_{k}}}}=\sum\limits_{i=0}^{2n}{w_{i}^{c}}({{\chi }_{i,(k,k-1)}}-{{\widehat{Z}}_{k,k-1}}){{({{\chi }_{i,(k,k-1)}}-{{\widehat{Z}}_{k,k-1}})}^{T}}$ (28)
${{\mathbf{P}}_{{{X}_{k}}{{Z}_{k}}}}=\sum\limits_{i=0}^{2n}{w_{i}^{c}}({{\xi }_{i,(k,k-1)}}-{{\widehat{X}}^{a}}_{k,k-1}){{({{\chi }_{i,(k,k-1)}}-{{\widehat{Z}}_{k,k-1}})}^{T}}$ (29)

④滤波更新:

${{K}_{k}}={{\mathbf{P}}_{{{X}_{k}}{{Z}_{k}}}}\mathbf{P}_{{{Z}_{k}}}^{-1}$ (30)
$\widehat{\mathbf{X}}_{k}^{a}=\widehat{\mathbf{X}}_{k,k-1}^{a}+{{K}_{k}}({{Z}_{k}}-{{\widehat{Z}}_{k,k-1}})$ (31)
${{\mathbf{P}}_{ak}}=\mathbf{P}_{k,k-1}^{a}-{{K}_{k}}{{\mathbf{P}}_{{{\widetilde{Z}}_{k}}}}K_{k}^{T}$ (32)

⑤参数计算:

$\gamma =\sqrt{n\text{+}\lambda }$ (33)
$w_{0}^{m}=\lambda /n+\lambda $ (34)
$w_{0}^{c}=w_{0}^{m}+(1-{{\alpha }^{2}}+\beta )$ (35)
$w_{i}^{c}=w_{i}^{m}=1/\left[ 2(n+\lambda ) \right];i=1,2,\cdot \cdot \cdot ,2n$ (36)
$\lambda ={{\alpha }^{2}}(n+\kappa )-n$ (37)

式中:α表示为这些点集到均值点的距离,通常设为很小的正数,范围是(10-3,1]。 β为描述X的分布信息,对于高斯分布的先验分布情况,β=2为最优;κ通常取为0或3-n(n为系统维数)。因此,在本文中将以上参数定义为:α=10-3,β=2,κ=0。

5 实验设计及结果 5.1 估算SOC实验

实验对象为容量为12.5 Ah的磷酸铁锂电池,实验温度为室温。将充满电的电池静置12 h,使电池各项性能达到稳定。在不同工况下,对电池进行测试。采用无迹卡尔曼估算电池SOC时不必把非线性系统进行线性化,直接将非线性系统的电池模型公式代入进行计算,即将前一时刻得到的最优状态值直接代入矩阵方程进行运算,如式(11)~(12)。

文中各个变量的初始值设定是:SOC初始值为1;电容Ce为4987 F;时间常数τ为23.9 s;电池内阻R0为13.5 mΩ;电池容量QN为12.5 Ah;噪声采用高斯白噪声。

1) 恒流放电工况。

把电池置于室温(25℃)环境下,对电池进行恒流放电,放电电流为1/3 C, 这种工况下的采样时间t为3 s。利用无迹卡尔曼算法结合神经网络算法进行估算电池的SOC与现在流行的扩展卡尔曼算法(EKF)的估算结果分别与实际的电池SOC情况作对比,可以看出利用本文中的新算法估算的结果比较准确。图 11是两种算法的估算实验结果。

图 11 恒流放电实验

图 11(a)为两种算法的估计曲线,其中点集组成的曲线为EKF估算的SOC值,虚线为本文提出的UKF结合神经网络算法预估的SOC值,实线为实际放电过程中的电池SOC值。由该图中的恒流放电实验结果可知,UKF结合神经网络算法的估算结果比单纯的EKF算法效果好。由图 11(b)可知,在前400个采样点之前,EKF算法估算误差在5%左右,而本文提出的算法在2%左右;从后采样点为600之后的情况可以看出,EKF估算的误差变化不大,但是本文提出的算法在4%左右,仍然比EKF估算精确。这就充分验证了UKF结合神经网络算法的有效性。

2) 变工况验证。

再次对电池进行变工况实验验证。将电池充满电静置1 h,使电池状态达到稳定。然后对电池进行静置和放电实验(静置1800 s,放电500 s,循环操作),放电电流为1/5 C,采样时间t为0.5 s。然后,分别利用EKF算法和UKF结合神经网络算法进行估算,把估算结果与理论的电池SOC值作对比,以便验证本文提出的算法是否可行。

图 12是电池在变工况时的估算结果,其中虚线表示用EKF算法估算的结果,虚实线是用UKF结合神经网络估算的结果。由图 12中的误差结果图 12(c)可知,本文提出的算法的估算误差范围在2%之内,而用EKF估算的误差大部分都是大于2%,甚至会达到6%,从而验证了本文的算法能够有效估计电池的SOC。

图 12 变工况放电实验
5.2 算法收敛性验证

为了验证本文设计的UKF结合神经网络算法在估计SOC时,是否可以有效解决累计误差的问题,测试响应时间,设计了算法收敛性的验证实验。将SOC为0.8时的值作为本实验的参考SOC值;本文通过实验获取了电池的不同初始值,作为本文中提出的算法的初值,分别设为:0.50、0.60、0.70、0.85、0.90进行实验。实验结果如图 13所示,描述了在不同初值情况下,UKF结合神经网络算法能较好地收敛于真实值。

图 13 算法收敛性分析

分析图 13,在第10个采样点时,所有曲线都会收敛于真实值,收敛速度快,算法反应时间短。当SOC的初始值与真实值之间有误差时,UKF算法通过调整卡尔曼增益K的权值来修正SOC;当误差比较大时,增益K比较大,调整力度大,能保证较快地收敛于真实值;当误差比较小时,增益K较小,对SOC进行微调。由图 13可知,在不同的初值情况下,SOC值都会较快地收敛于真实值,同时不会造成累积误差,具有良好的鲁棒性。

6 结语

本文针对汽车电池的剩余电量研究建立了Thevenin等效电路模型,并采用神经网络算法进行等效电路模型参数与SOC函数关系曲线拟合,最后应用无迹卡尔曼滤波(UKF)算法估算电池SOC。在恒流工况和变工况下进行的实验可知,本文提出的方法针对电池SOC的估算是有效的,误差小于4%,并且具有良好的鲁棒性。

该方法能够解决安时积分法对初值依赖的问题,但是在本文并未考虑温度、自放电因素和电池寿命对电池SOC的影响,而电池寿命是一个很重要的影响因素,因其具有难估计、难量化的难点,故本文暂不考虑此因素。由实验结果可知,本文的研究方法对后续电池的研究奠定了良好的基础。

参考文献
[1] 孟良荣, 王金良. 电动车电池现状与发展趋势[J]. 电池工业, 2006, 11 (3) : 202-206. ( MENG L R, WANG J L. Current status and development trend of electric vehicle batteries[J]. Battery Industry, 2006, 11 (3) : 202-206. )
[2] PILLER S, PERRIN M, JOSSEN A. Methods for state-of-charge determination and their applications[J]. Journal of Power Sources, 2001, 96 (1) : 113-120. doi: 10.1016/S0378-7753(01)00560-2
[3] 宫学庚, 齐铂金, 刘有兵, 等. 电动汽车动力电池模型和SOC估算策略[J]. 电源技术, 2004, 28 (10) : 633-636. ( GONG X G, QI B J, LIU Y B, et al. Driver battery model and SOC estimation strategy for electric vehicle[J]. Power Technology, 2004, 28 (10) : 633-636. )
[4] 卢居霄, 林成涛, 陈全世, 等. 三类常用电动汽车电池模型的比较研究[J]. 电源技术, 2006, 30 (7) : 535-538. ( LU J X, LIN C T, CHEN Q S, et al. A comparative study of three types of common electric vehicle battery models[J]. Power Technology, 2006, 30 (7) : 535-538. )
[5] NEJAD S, GLADWIN D T, STONE D A. A systematic review of lumped-parameter equivalent circuit models for real-time estimation of lithium-ion battery states[J]. Journal of Power Sources, 2016, 316 : 183-196. doi: 10.1016/j.jpowsour.2016.03.042
[6] 谭晓军. 电动汽车动力电池管理系统设计[M]. 广州: 中山大学出版社, 2011 : 67 -86. ( TAN X J. Power battery management system design for electric vehicle[M]. Guangzhou: Sun Yat-Sen University Press, 2011 : 67 -86. )
[7] 何耀.动力锂电池组状态估计策略及管理系统技术研究[D].合肥:中国科学技术大学,2012:13-18. ( HE Y. Research on the state estimation and management system technology of high-power li-ion batteries[D]. Hefei:University of Science and Technology of China, 2012:13-18. ) http://cdmd.cnki.com.cn/Article/CDMD-10358-1013110384.htm
[8] 姜久春, 文锋, 温家鹏, 等. 纯电动汽车用锂离子电池的建模和模型参数识别[J]. 电力科学与技术学报, 2010, 25 (1) : 67-74. ( JIANG J C, WEN F, WEN J P, et al. Li-ion battery modeling and on-line model parameters identification for PEV[J]. Journal of Electric Power Science and Technology, 2010, 25 (1) : 67-74. )
[9] 魏学哲, 孙泽昌, 田佳卿. 锂离子动力电池参数辨识与状态估计[J]. 同济大学学报(自然科学版), 2008, 36 (2) : 231-235. ( WEI X Z, SUN Z C, TIAN J Q. Parameter identification and state estimation of li-ion power battery[J]. Journal of Tongji University (Natural Science), 2008, 36 (2) : 231-235. )
[10] 麻友良, 陈全世, 齐占宁. 电动汽车用电池SOC定义与检测方法[J]. 清华大学学报(自然科学版), 2001, 41 (11) : 95-97. ( MA Y L, CHEN S Q, QI Z N. Definition and detection methods of battery SOC for electric vehicle[J]. Journal of Tsinghua University (Science and Technology), 2001, 41 (11) : 95-97. )
[11] 时玮, 姜久春, 李索宇, 等. 磷酸铁锂电池SOC估算方法研究[J]. 电子测量与仪器学报, 2010, 24 (8) : 769-774. ( SHI W, JIANG J C, LI S Y, et al. Study on estimation method of SOC for lithium iron phosphate battery[J]. Journal of Electronic Measurement and Instrument, 2010, 24 (8) : 769-774. doi: 10.3724/SP.J.1187.2010.00769 )
[12] CHARKHGARD M, FARROKHI M. State-of-charge estimation for lithium-ion batteries using neural networks and EKF[J]. IEEE Transactions on Industrial Electronics, 2011, 57 (12) : 4178-4187.
[13] HE W, WILLIARD N, CHEN C, et al. State of charge estimation for li-ion batteries using neural network modeling and unscented Kalman filter-based error cancellation[J]. International Journal of Electrical Power & Energy Systems, 2014, 62 (11) : 783-791.
[14] AUNG H, SOON LOW K, TING GOH S. State-of-charge estimation of lithium-ion battery using square root spherical unscented Kalman filter (Sqrt-UKFST) in nanosatellite[J]. IEEE Transactions on Power Electronics, 2014, 30 (9) : 4774-4783.
[15] PARTOVIBAKHSH M, LIU G J. An adaptive unscented Kalman filtering approach for online estimation of model parameters and state-of-charge of lithium-ion batteries for autonomous mobile robots[J]. IEEE Transactions on Industrial Electronics, 2015, 23 (1) : 357-363.