深入考察电池充电状态(SOC)和运行状态(SOH)估计技术
扫描二维码
随时随地手机看文章
简介
基于锂离子 (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,本文涉及一个库仑计数评估平台的设计和开发。本文中的储能模块是 24 V 模块,通常由 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 中推出;当 t < 0 时,放电电流始终为 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
参考文献
Bentley P、B.S. Bhangu、C.M. Bingham 和 D.A. Stone。“用于预测混合动力汽车用铅酸电池充电状态和运行状态的非线性观测器”。IEEE 车辆技术论文集,2005。
Chen Yi-Ping、Chin-Sien Moo、Kong Soon Ng 和 Yao-Ching Hsieh。“用于估计锂离子电池充电状态和运行状态的增强型库仑计数法”。应用能源杂志,2009。
Fang Lijin、Fei Zhang 和 Guangjun Liu。“采用扩展卡尔曼滤波器的电池充电状态估计方法”。IEEE/ASME 高级智能机械电子国际会议,2008。
He Lei、Bingjun Xiao 和 Yiyu Shi。“电池通用充电状态算法”。第 47 届 IEEE 设计自动化会议 “DAC ‘10”,2010。
Jossen Andreas、Marion Perrin 和 Sabine Piller。“确定充电状态的方法及其应用”。电源杂志,2001。