简介
基于锂离子(Li-ion)电池单元的电池组广泛用于各种应用,例如:混合动力汽车(HEV)、电动汽车(EV)、可供日后使用的再生能源储存以及用于各种目的(电网稳定性、调峰和再生能源时移等)的电网能源储存。在这些应用中,测量电池单元的充电状态(SOC)非常重要。SOC含义为可用容量(单位为Ah),以额定容量的百分比表示。SOC参数可看作一个热力学量,利用它可评估电池的潜在电能。估计电池的运行状态(SOH)也很重要;SOH以新电池为比较标准,衡量电池储存和输送电能的能力。ADI公司的功率控制处理器ADSp-CM419是处理本文所讨论的电池充电技术的处理器典范。
本文考察基于库仑计数的SOC和SOH估计所用的算法。本文界定了库仑计数的技术环境要求,并且概要阐述了SOC和SOH参数的估计方法,具体说来有库仑计数法、电压法和卡尔曼滤波器法。同时介绍了多种用于SOC和SOH估计的商业解决方法。此外,本文详细说明了同类最佳的SOC和SOH估计算法,尤其是增强型库仑计数算法、通用SOC算法和扩展卡尔曼滤波器算法。最后说明了评估程序及所选SOC和SOH算法的仿真结果。
电池SOC测量原理
确定电池SOC是一个很复杂的任务,与电池类型及其应用有关,所以近年来开展了许多旨在提高SOC估计精度的开发和研究工作。精确估计SOC是电池管理系统的重要任务之一,其有助于改善系统性能和可靠性,并且还能延长电池寿命。事实上,精密估计电池SOC可以防止意料之外的系统中断,防止电池过度充电和放电(这可能导致电池永久损坏,具体取决于电池的内部结构)。然而,电池充电和放电涉及到复杂的化学和物理过程,在不同工作条件下精确估计SOC并不是轻而易举的事。
测量SOC的一般方法是非常精确地测量所有工作条件下流入和流出电池组的电量(库仑)和电流,以及电池组中各电池单元的电压。然后利用此数据和先前加载的与被监测电池完全相同的电池组数据,得出SOC的精确估计。这种计算要的其他数据包括:电池温度、电池模式(测量时电池是充电还是放电)、电池年龄,以及从电池制造商那里获得的其他相关电池数据。有时候可以从制造商那里获得有关锂离子电池在不同工作条件下的性能的特性数据。确定SOC之后,便由系统负责在后续运行中更新SOC,基本上就是计数流入和流出电池的电量(库仑)。假如初始SOC的精度不够高,或者受其他因素影响,比如电池自放电和漏电效应,那么这种方法的精度可能无法令人满意。
技术要求
为了测量典型储能模块的SOC和SOH,本文涉及一个库仑计数评估平台的设计和开发。本文中的储能模块是24V模块,通常由7只或8只锂离子电池组成。评估平台由以下部分构成:硬件系统,包括MCU及所需的接口和外设;嵌入式软件,用于SOC和SOH算法实现;以及基于pC的应用软件,用用途户界面以进行系统配置、数据显示和分析。
评估平台通过适当的ADC和传感器周期性测量各电池单元的电压值以及电池组的电流和电压,并且实时运行SOC估计算法。此算法会使用测得的电压和电流值、温度传感器收集到的和/或pC软件程序供应的一些其他数据(例如来自数据库的建造商规格)。SOC估计算法的输出会被送到pC图形用户界面以供动态显示和数据库更新。
SOC和SOH估计方法概述
SOC和SOH估计重要使用三种方法:库仑计数法、电压法和卡尔曼滤波器法。这些方法适用于所有电池系统,尤其是HEV、EV和pV,下面几节将分别讨论这些方法。
库仑计数法
库仑计数法也称为安培时计数和电流积分法,是计算SOC最常用的技术。这种方法通过电池电流读数对使用时间的积分来计算SOC值,如下式所示:
(1)
其中,SOC(t0)为初始SOC,Crated为额定容量,Ib为电池电流,Iloss为损耗反应消耗的电流。
然后,库仑计数法通过累计传入或传出电池的电荷来计算剩余容量。这种方法的精度重要取决于对电池电流的精密测量和对初始SOC的精确估计。利用一个预知容量(可以是存储器记忆的或通过工作条件初始估计的),电池的SOC可以通过充电和放电电流对运行时间的积分来计算。然而,可释放的电荷总是少于充放电周期中储存的电荷。换言之,充电和放电期间会有损耗。这些损耗加上自放电,会引起累计误差。若要更精确地估计SOC,就必须考虑这些因素。此外,应当定期重新校准SOC,并应考虑可释放容量的衰减以使估计更准确。
电压法
电池的SOC(即其剩余容量)可利用受控条件下的放电测试来确定。电压法利用电池的已知放电曲线(电压与SOC的关系)将电池电压读数转换为等效SOC值。然而,由于电池的电化学动力学和温度,电池电流对电压的影响更严重。利用一个与电池电流成比例的校正项来补偿电压读数,并使用电池开路电压(OCV)与温度的查找表,可以使这种方法更准确。由于电池要一个稳定的电压范围,所以电压法实现起来很困难。此外,放电测试通常包括一次持续充电,这太费时,故大多数应用不会考虑。还有一个缺点是测试期间需中断系统功能(离线方法),这在库仑计数法(在线模式)中可以防止。
卡尔曼滤波器法
卡尔曼滤波器是一种可估计任何动态系统内部状态的算法,也可用来估计电池SOC。卡尔曼滤波器于1960年问世,用以供应最优线性滤波的递归解,适合处理状态观测和预测问题。与其他估计方法相比,卡尔曼滤波器可自动供应有关自身状态估计的动态误差界。通过电池系统建模以将所需的未知量(如SOC)包含在其状态描述中,卡尔曼滤波器估计其值并给出估计的误差界。然后,它便成为一个基于模型的状态估计技术,利用误差校正机制来供应对SOC的实时预测。它可以进行扩展,利用扩展卡尔曼滤波器可以提高其实时估计SOH的能力。特别是电池系统为非线性而要线性化步骤时,应运用扩展卡尔曼滤波器。虽然卡尔曼滤波器是一种在线式动态方法,但它要适当的电池模型和精确测定的参数;还要大规模计算能力和精确的初始化。
有些文献中还介绍了其他用于估计SOC的方法,例如阻抗谱法,这种方法基于电池单元阻抗测量,利用阻抗分析仪实时分析充电和放电情况。虽然这种技术可以用于锂离子电池的SOC和SOH估计,但它基于仪器外部测量,故本文不予考虑。基于电解质物理特性和人工神经网络的方法不适用于锂离子电池。
如何选择SOC和SOH估计方法
选择合适的SOC估计方法时,应考虑多项标准。首先,SOC和SOH估计技术应可用于HEV和EV应用、可供日后使用的再生能源储存、电网能源储存所用的锂离子电池。此外关键的一点是,所选方法应当是计算复杂度低、精度高(估计误差低)的在线式实时技术。另外还要求估计方法使用电压、电流测量值,以及温度传感器收集到的和/或pC软件程序供应的其他数据。
增强型库仑计数算法
为了克服库仑计数法的缺点并提高其估计精度,有人已提出一种增强型库仑计数算法来估计锂离子电池的SOC和SOH参数。初始SOC从加载的电压(充电和放电)或开路电压获得。损耗通过考虑充电和放电效率来补偿。通过对工作电池的最大可释放容量进行动态再校准,电池的SOH也可以同时估算出来。这又会进一步提高SOC估计的精度。
技术原理
工作电池的可释放容量(Creleasable)是指其完全放电时释放的容量。相应地,SOC含义为可释放容量相关于制造商供应的电池额定容量(Crated)的百分比。
(2)
完全充满的电池具有最大可释放容量(Cmax),其与额定容量可能不同。一般而言,新使用电池的Cmax与Crated会有一定的差异,并随着使用时间的推移而衰减。它可以用于评估电池的SOH。
(3)
当电池放电时,放电深度(DOD)可表示为已放电容量相关于Crated的百分比,
(4)
其中,Creleased为电流放电的容量。
利用测得的充电和放电电流(Ib),工作周期(Ʈ)中的DOD差异可计算如下:
(5)
其中,充电时Ib为正值,放电时为负值。随着时间流逝,DOD累加。
(6)
为了提高估计精度,需考虑工作效率(表示为ŋ),DOD表达式相应地变成:
(7)
ŋ在充电阶段等于ŋc,在放电阶段等于ŋd。
不考虑工作效率和电池老化时,SOC可表示为:
(8)
考虑SOH,SOC按下式估计:
(9)
图1为增强型库仑计数算法的流程图。开始时,从相关存储器中检索已用电池的历史数据。而新使用电池则无任何历史信息可用,假设其SOH良好,值为100%,SOC通过测试开路电压或加载电压(取决于起始条件)来初步估计。
估计过程基于对电池电压(Vb)和Ib的监测。电池工作模式可通过工作电流的大小和方向得知。在放电模式下,DOD累加消耗的电荷;在充电模式下,DOD随着积聚的电荷进入电池而递减。用充电和放电效率校正之后,便可实现更精确的估计。然后从SOH中减去DOD量,便可估算出SOC。当电池开路,电流为0时,SOC直接从OCV与SOC的关系得出。
应注意,当电池完全耗尽或充满时,可以重新评估SOH;电池的工作电流和电压由制造商规定。放电期间,当加载电压(Vb)小于下限(Vmin)时,说明电池耗尽。这种情况下,电池不能再使用,应当再次充电。同时,SOH值可以通过耗尽状态时的累计DOD重新估算,从而重新校准SOH。另一方面,在充电期间,若(Vb)达到上限(Vmax)且(Ib)降至下限(Imin),则说明所用电池已完全充满。通过累加充入电池的总电荷获得新的SOH值,即可算出新的SOC值。实践中,完全充满和耗尽的状态偶尔会出现。当电池经常充满和彻底放电时,SOH评估的精度会提高。
由于计算简单且硬件要求也不复杂,故除了电动汽车之外,所有便携式设备都能轻松实现增强型库仑计数算法。此外,在紧随SOH重新评估之后的工作周期中,估计误差可降低到1%。
确定初始SOC
电池有三种工作模式:充电、放电和开路。在充电阶段,当电池以恒流恒压(CC-CV)模式充电时,制造商通常会说明电池电压和电流的变化。充电电流恒按时,电池电压逐渐提高,直至达到阈值。一旦电池以恒压模式充电,充电电流起先会迅速降低,然后缓慢减小。最后,当电池完全充满时,充电电流趋于0。这一充电曲线在恒流阶段可转换为SOC与充电电压的关系,在恒压阶段可转换为SOC与充电电流的关系。充电期间的初始SOC可从这些关系推出。
图1.增强型库仑计数算法流程图
在放电阶段,电池以不同电流放电时的典型电压曲线由制造商给出。随着工作时间的流逝,终端电压会降低。电流越大,终端电压下降得越快,故而工作时间越短。这样便可获得不同电流下SOC与放电电压的关系,进而推知放电阶段的初始SOC。
开路阶段要OCV与SOC之间的关系。在断开负载之前,电池以不同电流放电。假如休息时间很长,可以利用OCV来估计SOC。
充电和放电效率
电池的工作效率可通过库仑效率来评估,库仑效率含义为放电期间可从电池获取的电荷数与充电期间进入电池的电荷数之比。注意,充电和放电效率的系数来自测试多个电池的平均值。
所有测试电池都以恒定最大速率充电到指定容量(其等于充电速率和充电时间的乘积),然后以恒定最小速率放电到截止电压。充电效率含义为:
(10)
放电,最小速率
充电,最大速率
放电效率含义为两个阶段释放的容量与一个放电周期的Cmax之比。所有测试电池都完全充满,然后以两阶段电流曲线放电:先以指定电流放电到指定DOD,再以最小速率放电到截止电压。放电效率的计算公式如下:
(11)
其中,I1、I2、T1和T2分别是第一和第二阶段中的放电电流和持续时间。
通用SOC算法
本文提出的通用SOC算法适用于所有类型的电池,尤其是锂离子电池。采用频域中的线性系统分析(无电路模型),OCV基于采样得到的终端电压和电池放电电流来计算。由于OCV与SOC之间的映射关系是已知的,且SOC在一定宽度的时间窗口内是恒定的,同时电池是一个线性或弱非线性系统,所以了解OCV便可推出SOC。
数学表述
在每个时间窗口中,电池终端电压v(t)可分解为:
(12)
其中,vzi(t)为零输入响应,对应于无放电电流的终端电压;vzs(t)为零状态响应,对应于有放电电流的终端电压;i(t)为电压源短路时的输入;h(t)为模拟电池的线性系统的脉冲响应。注意,等式12中卷积的有效性基于线性假设。
SOC在时间窗口0≤t≤tw中推出;当t0时,放电电流始终为0。这里假设在t=0之前,电池断开负载连接。随后当窗口移动时,不再应用该假设。利用此假设并忽略自放电效应,零输入响应便是OCV,即:
(13)
其中,u(t)为单位阶跃函数
(14)
首先应找出满足以下关系的f(t):
(15)
其中,(t)为狄拉克函数,即:
(16)
注意,f(t)仅需在该窗口(等式15)中成立。
求解f(t)的时间离散算法如算法1所示,其中n为窗口中的采样点总数,t1、t2、、tn为采样时间点。核心概念是对样本进行逆卷积运算。过程与利用初等变换求矩阵的逆矩阵相似。
有了f(t),vf(t)=f(t)v(t)便可计算如下:
(17)
其中uf(t)=f(t)u(t)。
算法1.计算f(t)的算法
电池的频域响应可视为有限的,根据终值定理,
(18)
相应地,
(19)
这意味着当使用一个大t时,h(t)趋于0,vf(t)/uf(t)是当前时间窗口中OCV的良好近似值。
推出OCV之后,便可获得系统在当前时间窗口中的脉冲响应:
(20)
完成当前窗口中的OCV推导之后,在下一窗口中可重复相同的过程以推出OCV。
算法实现
在算法1中,运行时的瓶颈重要是求解f(t)i(t)=(t)以得出f(t)的步骤以及接下来计算vf(t)=f(t)v(t)和uf(t)=f(t)u(t)的步骤。实际上,这两步可合并为一步,因为并不要明确算出f(t)。整个算法如算法2所示,其中n为一个窗口中的总采样点数。
算法2.合并解卷积和卷积步骤的算法
一旦得出OCV,SOC便可利用SOC与OCV的变化关系而推知。
该算法的时间复杂度为O(n2),其中n为样本数。对不同电池类型和放电电流的实验证明,SOC可以在线得出,误差小于4%。
扩展卡尔曼滤波器算法
扩展卡尔曼滤波器可用来直接估计锂离子电池组的SOC。假设电池OCV和SOC之间的关系是近似线性的,并且随环境温度而变化。这一假设与电池实际行为一致。电池建模为非线性系统,SOC含义为系统状态,这样便可运用扩展卡尔曼滤波器。
锂离子电池模型
图2所示为锂离子电池组的等效电路模型。体电容(Ccb)代表电池组储存容量,表面电容(Ccs)代表电池扩散效应。电阻(Ri)和(Rt)分别代表内部电阻和极化电阻。体电容和表面电容上的电压分别用(Vcb)和(Vcs)表示。电池组终端电压和终端电流分别用(V0)和I表示。
该电池模型要的参数可由实验数据确定,即在电池持续放电时通过注入电流脉冲来执行OCV测试。
图2.锂离子电池组的等效电路模型
图2所示模型的特性受以下方程支配:
电池OCV和SOC之间的关系在实践中只是分段线性的,故VCB可表示为:
(24)
其中,系数k和d不是恒定的,而是随着电池SOC和环境温度而变化。因此,
故最终系统方程可改写如下:
由以上方程建模的电池系统是非线性的,需应用扩展卡尔曼滤波器技术。
扩展卡尔曼滤波器应用
扩展卡尔曼滤波器是卡尔曼滤波器针对非线性系统的扩展。利用扩展卡尔曼滤波器技术,在每个时间步进执行线性化过程,用线性时间变化系统近似模拟非线性系统。然后将该线性时间变化系统用在卡尔曼滤波器中,出现一个适用于真正非线性系统的扩展卡尔曼滤波器。像卡尔曼滤波器相同,扩展卡尔曼滤波器也利用实测输入和输出来求出真实状态的最小均方误差估计值,其中假定过程噪声和传感器噪声是独立的零均值高斯噪声。
在电池组系统方程28和29中,系统状态含义为x1(t)=SOC且x2(t)=Vcs
输入含义为u(t)=I,输出为y(t)=V0。电池组系统方程28和29可改写如下:
其中,x=[x1,x2]T
w和v不仅代表随机扰动,而且代表参数d和k变化所引起的误差。假定w和v均为独立的零均值高斯噪声过程,协方差矩阵分别为R和Q。
函数f(x,u)和g(x,u)为:
假如函数f(x,u)和g(x,u)在每个样本步进通过在当前工作点进行一阶泰勒级数展开而线性化,则线性化模型为:
且
方程34和35所代表的模型可离散化为:
其中,Ad≈E+TcAk,Bd≈TcBk,E为单位矩阵,Tc为采样周期,Cd≈Ck,Dd≈Dk。
卡尔曼滤波器是一种最优观测器,其原理如图3所示,即利用反馈调整所用模型的不确定变量,使估计输出与实测输出之间的实时误差最小。通过这样一种模型拟合,可以观察到无法测量的模型参数。校正通过一个增益矢量K来加权,K可以校正滤波器的动态特性和性能。增益根据每次迭代时状态和测量的误差预测和不确定性(噪声)来计算。滤波器动态控制则是基于状态Q和测量R的噪声矩阵的线性化,以及误差协方差矩阵p的线性化。
图3.卡尔曼滤波器原理
卡尔曼滤波器算法如图4所示,分为两个阶段:第一阶段涉及矩阵p、Q和R的线性化,第二阶段涉及观测。在每个采样间隔,观测包括两步。第一步,算法预测当前状态、输出和误差协方差的值。第二步,利用物理系统输出测量结果校正状态估计和误差协方差。
因此,应用扩展卡尔曼滤波器来获得锂离子电池组的SOC估计。此算法的计算复杂度为O(n3),其中n为测量次数。实验结果显示,本文提出的基于扩展卡尔曼滤波器的SOC估计方法很有效,可以精确估计电池SOC。它还可用来估计锂离子电池组的SOH值。
图4.卡尔曼滤波器算法
SOC算法选择
考虑到计算能力、所需精度、实时约束条件和系统环境等方面的应用要求,相比其他算法,增强型库仑计数看起来更加有优势。事实上,它基于简单的实时计算,不存在复杂的硬件约束条件。其复杂度明显低于其他算法。此外,增强型库仑计数算法的估计误差很小,因此能够供应合理的精度。再者,除了制造商供应的数据之外,此算法不要其他额外信息。
增强型库仑计数评估
本节将评估增强型库仑计数算法以验证其精度和性能。事实上,扩展卡尔曼滤波器显然存在很高的计算复杂度和复杂的硬件要求,故而不适合应用。为了评估通用SOC算法,我们要SOC与OCV的关系曲线,电池数据手册并未供应此曲线。因此,必须获得此曲线才能评估通用SOC算法。
上文已说明增强型库仑计数的第一个评估步骤,接下来在处理电压和电流的实际实验测量值时将遇到其他高级步骤。
评估程序
通过增强型库仑计数算法仿真获得的SOC值,与依据电池数据手册供应的充电和放电曲线推导出的实验SOC值进行比较。充电和放电曲线也可以利用MATLAB的Simulink模型(MathWorks模型)重新出现;该模型是一个通用动态参数化模型,可代表大部分常用类型的可充电电池,尤其是锂离子电池。
仿真结果
我们已利用MATLAB仿真工具在充电模式、放电模式以及充放电组合模式下测试了增强型库仑计数算法。图5中的蓝色曲线代表实验SOC,红色曲线代表增强型库仑计数算法所获得的估计SOC。
充电模式
图5显示了一个完整充电阶段的实验SOC和利用增强型库仑计数算法得到的估计SOC。在充电阶段结束时,实验值与估计值之间的最大误差约为3.5%。重新评估SOH之后,该误差会明显降低。
图5.完整充电阶段的实验和估计SOC
图6和图7分别显示了充电模式的CC和CV阶段实验和仿真SOC随时间的变化。重新评估SOH值之前,在算法执行结束时,CC阶段可获得的最大估计误差小于2%,CV阶段小于1%。注意,在SOH重新评估(此时电池完全充满)之前,估计误差随着算法运行时间的延长而提高。还有一点值得注意,那就是精确确定初始SOC对降低估计误差非常重要。精确评估充电效率也能降低实验SOC值和仿真SOC值之间的误差。
图6.CC充电阶段的实验和估计SOC
图7.CV充电阶段的实验和估计SOC
放电模式
图8和图9分别显示了完整放电阶段和部分放电阶段实验和仿真SOC与电池终端电压的关系。关于较长的完整阶段,最大估计误差不超过2%;关于较短的部分放电阶段,最大估计误差几乎等于0。重新评估SOH值之前,在完整放电阶段结束时,估计误差达到最大值,并且其随着算法运行时间的延长而提高。
另外还在充放电组合阶段评估了增强型库仑计数算法,这样可以重现电池组的真实行为。相关经验证,估计误差通常很小(4%),足以确保SOC的实时精确估计,且不会干扰电池组运行。
图8.完整放电阶段的实验和估计SOC
图9.部分放电阶段的实验和估计SOC
参考文献
Bentleyp、B.S.Bhangu、C.M.Bingham和D.A.Stone。用于预测混合动力汽车用铅酸电池充电状态和运行状态的非线性观测器。IEEE车辆技术论文集,2005。
ChenYi-ping、Chin-SienMoo、KongSoonNg和Yao-ChingHsieh。用于估计锂离子电池充电状态和运行状态的增强型库仑计数法。应用能源杂志,2009。
FangLijin、FeiZhang和GuangjunLiu。采用扩展卡尔曼滤波器的电池充电状态估计方法。IEEE/ASME高级智能机械电子国际会议,2008。
HeLei、BingjunXiao和YiyuShi。电池通用充电状态算法。第47届IEEE设计自动化会议DAC10,2010。
JossenAndreas、Marionperrin和Sabinepiller。确定充电状态的方法及其应用。电源杂志,2001。