百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

基于锂离子电池的电池荷电状态 (SOC) 和运行健康状态 (SOH) 估计技术

moboyou 2025-05-09 06:55 33 浏览

简介

基于锂离子 (Li-ion) 电池单元的电池组广泛用于各种应用,例如:混合动力汽车 (HEV)、电动汽车 (EV)、可供日后使用的再生能源储存以及用于各种目的(电网稳定性、调峰和再生能源时移等)的电网能源储存。在这些应用中,测量电池单元的荷电状态 (SOC)非常重要。SOC定义为可用容量(单位为Ah),以额定容量的百分比表示。SOC参数可看作一个热力学量,利用它可评估电池的潜在电能。估计电池的运行健康状态 (SOH) 也很重要;SOH以新电池为比较标准,衡量电池储存和输送电能的能力。

本文考察基于库仑计数的SOC和SOH估计所用的算法。本文界定了库仑计数的技术环境要求,并且概要阐述了SOC和SOH参数的估计方法,具体说来有库仑计数法、电压法和卡尔曼滤波器法。同时介绍了多种用于SOC和SOH估计的商业解决方案。此外,本文详细说明了同类最佳的SOC和SOH估计算法,尤其是增强型库仑计数算法、通用SOC算法和扩展卡尔曼滤波器算法。最后说明了评估程序及所选SOC和SOH算法的仿真结果。

电池SOC测量原理

确定电池SOC是一个很复杂的任务,与电池类型及其应用有关,所以近年来开展了许多旨在提高SOC估计精度的开发和研究工作。精确估计SOC是电池管理系统的主要任务之一,其有助于改善系统性能和可靠性,并且还能延长电池寿命。事实上,精密估计电池SOC可以避免意料之外的系统中断,防止电池过度充电和放电(这可能导致电池永久损坏,具体取决于电池的内部结构)。然而,电池充电和放电涉及到复杂的化学和物理过程,在不同工作条件下精确估计SOC并不是轻而易举的事。

测量SOC的一般方法是非常精确地测量所有工作条件下流入和流出电池组的电量(库仑)和电流,以及电池组中各电池单元的电压。然后利用此数据和先前加载的与被监测电池完全相同的电池组数据,得出SOC的精确估计。这种计算需要的其他数据包括:电池温度、电池模式(测量时电池是充电还是放电)、电池年龄,以及从电池制造商那里获得的其他相关电池数据。有时候可以从制造商那里获得关于锂离子电池在不同工作条件下的性能的特性数据。确定SOC之后,便由系统负责在后续运行中更新SOC,基本上就是计数流入和流出电池的电量(库仑)。如果初始SOC的精度不够高,或者受其他因素影响,比如电池自放电和漏电效应,那么这种方法的精度可能无法令人满意。

SOC和SOH估计方法概述

SOC和SOH估计主要使用三种方法:库仑计数法、电压法和卡尔曼滤波器法。这些方法适用于所有电池系统,尤其是HEV、EV和PV,下面几节将分别讨论这些方法。

库仑计数法

库仑计数法也称为安培时计数和电流积分法,是计算SOC最常用的技术。这种方法通过电池电流读数对使用时间的积分来计算SOC值,如下式所示:

其中,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) 的百分比。

完全充满的电池具有最大可释放容量 (Cmax),其与额定容量可能不同。一般而言,新使用电池的Cmax与Crated会有一定的差异,并随着使用时间的推移而衰减。它可以用于评估电池的SOH。

当电池放电时,放电深度 (DOD) 可表示为已放电容量相对于Crated的百分比,

其中,Creleased为电流放电的容量。

利用测得的充电和放电电流 (Ib),工作周期 ( ) 中的DOD差异可计算如下:

其中,充电时Ib为正值,放电时为负值。随着时间流逝,DOD累加。

为了提高估计精度,需考虑工作效率(表示为),DOD表达式相应地变成:

在充电阶段等于c,在放电阶段等于d。

不考虑工作效率和电池老化时,SOC可表示为:

考虑SOH,SOC按下式估计:

图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可从这些关系推出。

在放电阶段,电池以不同电流放电时的典型电压曲线由制造商给出。随着工作时间的流逝,终端电压会降低。电流越大,终端电压下降得越快,故而工作时间越短。这样便可获得不同电流下SOC与放电电压的关系,进而推知放电阶段的初始SOC。

开路阶段需要OCV与SOC之间的关系。在断开负载之前,电池以不同电流放电。如果休息时间很长,可以利用OCV来估计SOC。

充电和放电效率

电池的工作效率可通过库仑效率来评估,库仑效率定义为放电期间可从电池获取的电荷数与充电期间进入电池的电荷数之比。注意,充电和放电效率的系数来自测试多个电池的平均值。

所有测试电池都以恒定最大速率充电到指定容量(其等于充电速率和充电时间的乘积),然后以恒定最小速率放电到截止电压。充电效率定义为:

放电效率定义为两个阶段释放的容量与一个放电周期的Cmax之比。所有测试电池都完全充满,然后以两阶段电流曲线放电:先以指定电流放电到指定DOD,再以最小速率放电到截止电压。放电效率的计算公式如下:

其中,I1、I2、T1和T2分别是第一和第二阶段中的放电电流和持续时间。

通用SOC算法

本文提出的通用SOC算法适用于所有类型的电池,尤其是锂离子电池。采用频域中的线性系统分析(无电路模型),OCV基于采样得到的终端电压和电池放电电流来计算。由于OCV与SOC之间的映射关系是已知的,且SOC在一定宽度的时间窗口内是恒定的,同时电池是一个线性或弱非线性系统,所以知道OCV便可推出SOC。

数学表述

在每个时间窗口中,电池终端电压v(t) 可分解为:

中,vzi(t)为零输入响应,对应于无放电电流的终端电压;vzs(t) 为零状态响应,对应于有放电电流的终端电压;i(t) 为电压源短路时的输入;h(t) 为模拟电池的线性系统的脉冲响应。注意,等式12中卷积的有效性基于线性假设。

SOC在时间窗口0 ≤ ttw中推出;当t < 0时,放电电流始终为0。这里假设在t = 0之前,电池断开负载连接。随后当窗口移动时,不再应用该假设。利用此假设并忽略自放电效应,零输入响应便是OCV,即:

其中,u(t) 为单位阶跃函数

首先应找出满足以下关系的f(t)

其中,δ(t) 为狄拉克δ函数,即:

注意,f(t) 仅需在该窗口(等式15)中成立。

求解f(t) 的时间离散算法如算法1所示,其中n为窗口中的采样点总数,t1、t2、…、tn为采样时间点。核心概念是对样本进行逆卷积运算。过程与利用初等变换求矩阵的逆矩阵相似。

算法实现

在算法1中,运行时的瓶颈主要是求解f(t) × i(t) = δ(t) 以得出f(t) 的步骤以及接下来计算vf(t) = f(t) × v(t)uf(t) = f(t) × u(t) 的步骤。实际上,这两步可合并为一步,因为并不需要明确算出f(t)。整个算法如算法2所示,其中n为一个窗口中的总采样点数。

一旦得出OCV,SOC便可利用SOC与OCV的变化关系而推知。

该算法的时间复杂度为O(n2),其中n为样本数。对不同电池类型和放电电流的实验证明,SOC可以在线得出,误差小于4%。

扩展卡尔曼滤波器算法

扩展卡尔曼滤波器可用来直接估计锂电池组的SOC。假设电池OCV和SOC之间的关系是近似线性的,并且随环境温度而变化。这一假设与电池实际行为一致。电池建模为非线性系统,SOC定义为系统状态,这样便可运用扩展卡尔曼滤波器。

锂离子电池模型

图2所示为锂电池组的等效电路模型。体电容 (Ccb) 代表电池组储存容量,表面电容 (Ccs) 代表电池扩散效应。电阻 (Ri) 和 (Rt) 分别代表内部电阻和极化电阻。体电容和表面电容上的电压分别用 (Vcb)和 (Vcs) 表示。电池组终端电压和终端电流分别用 (V0) 和I表示。

该电池模型需要的参数可由实验数据确定,即在电池连续放电时通过注入电流脉冲来执行OCV测试。

由以上方程建模的电池系统是非线性的,需应用扩展卡尔曼滤波器技术。

扩展卡尔曼滤波器应用

扩展卡尔曼滤波器是卡尔曼滤波器针对非线性系统的扩展。利用扩展卡尔曼滤波器技术,在每个时间步进执行线性化过程,用线性时间变化系统近似模拟非线性系统。然后将该线性时间变化系统用在卡尔曼滤波器中,产生一个适用于真正非线性系统的扩展卡尔曼滤波器。像卡尔曼滤波器一样,扩展卡尔曼滤波器也利用实测输入和输出来求出真实状态的最小均方误差估计值,其中假定过程噪声和传感器噪声是独立的零均值高斯噪声。

在电池组系统方程28和29中,系统状态定义为x1(t) = SOC且x2(t) = Vcs

输入定义为u(t) = I,输出为y(t) = V0。电池组系统方程28和29可改写如下:

卡尔曼滤波器是一种最优观测器,其原理如图3所示,即利用反馈调整所用模型的不确定变量,使估计输出与实测输出之间的实时误差最小。通过这样一种模型拟合,可以观察到无法测量的模型参数。校正通过一个增益矢量K来加权,K可以校正滤波器的动态特性和性能。增益根据每次迭代时状态和测量的误差预测和不确定性(噪声)来计算。滤波器动态控制则是基于状态Q和测量R的噪声矩阵的线性化,以及误差协方差矩阵P的线性化。

卡尔曼滤波器算法如图4所示,分为两个阶段:第一阶段涉及矩阵P、Q和R的线性化,第二阶段涉及观测。在每个采样间隔,观测包括两步。第一步,算法预测当前状态、输出和误差协方差的值。第二步,利用物理系统输出测量结果校正状态估计和误差协方差。

因此,应用扩展卡尔曼滤波器来获得锂电池组的SOC估计。此算法的计算复杂度为O(n3,其中n为测量次数。实验结果显示,本文提出的基于扩展卡尔曼滤波器的SOC估计方法很有效,可以精确估计电池SOC。它还可用来估计锂离子电池组的SOH值。

SOC算法选择

考虑到计算能力、所需精度、实时约束条件和系统环境等方面的应用要求,相比其他算法,增强型库仑计数看起来更有优势。事实上,它基于简单的实时计算,不存在复杂的硬件约束条件。其复杂度明显低于其他算法。此外,增强型库仑计数算法的估计误差很小,因此能够提供合理的精度。再者,除了制造商提供的数据之外,此算法不需要其他额外信息。

增强型库仑计数评估

本节将评估增强型库仑计数算法以验证其精度和性能。事实上,扩展卡尔曼滤波器显然存在很高的计算复杂度和复杂的硬件要求,故而不适合应用。为了评估通用SOC算法,我们需要SOC与OCV的关系曲线,电池数据手册并未提供此曲线。因此,必须获得此曲线才能评估通用SOC算法。

上文已说明增强型库仑计数的第一个评估步骤,接下来在处理电压和电流的实际实验测量值时将遇到其他高级步骤。

评估程序

通过增强型库仑计数算法仿真获得的SOC值,与依据电池数据手册提供的充电和放电曲线推导出的实验SOC值进行比较。充电和放电曲线也可以利用MATLAB的Simulink模型(MathWorks模型)重新产生;该模型是一个通用动态参数化模型,可代表大部分常用类型的可充电电池,尤其是锂离子电池。

仿真结果

我们已利用MATLAB仿真工具在充电模式、放电模式以及充放电组合模式下测试了增强型库仑计数算法。图5中的蓝色曲线代表实验SOC,红色曲线代表增强型库仑计数算法所获得的估计SOC。

充电模式

图5显示了一个完整充电阶段的实验SOC和利用增强型库仑计数算法得到的估计SOC。在充电阶段结束时,实验值与估计值之间的最大误差约为3.5%。重新评估SOH之后,该误差会明显降低。

图6和图7分别显示了充电模式的CC和CV阶段实验和仿真SOC随时间的变化。重新评估SOH值之前,在算法执行结束时,CC阶段可获得的最大估计误差小于2%,CV阶段小于1%。注意,在SOH重新评估(此时电池完全充满)之前,估计误差随着算法运行时间的延长而提高。还有一点值得注意,那就是精确确定初始SOC对降低估计误差非常重要。精确评估充电效率也能降低实验SOC值和仿真SOC值之间的误差。

放电模式

图8和图9分别显示了完整放电阶段和部分放电阶段实验和仿真SOC与电池终端电压的关系。对于较长的完整阶段,最大估计误差不超过2%;对于较短的部分放电阶段,最大估计误差几乎等于0。重新评估SOH值之前,在完整放电阶段结束时,估计误差达到最大值,并且其随着算法运行时间的延长而提高。

另外还在充放电组合阶段评估了增强型库仑计数算法,这样可以重现电池组的真实行为。经验证,估计误差通常很小 (<4%),足以确保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。

相关推荐

【开源推荐】给大家推荐个基于ChatGPT的PHP开发库 openai-php-api

有了这个库大家就可以愉快的使用PHP对接chatGPT的官方接口了,至于对接了官方接口想要做什么就看你自己的啦环境要求PHP7.4或以上composer1.6.5以上支持框架Laravel、Sym...

PHP使用Phar打包控制台程序

1.介绍1.1介绍php脚本有着非常强大的库支持,可以轻松做出特别强大的程序。php不仅仅可以搭建各种各样的网站系统、平台系统,还可以开发基于控制台运行的程序。不过使用php开发的控制台程序在使用...

PHP实现URL编码、Base64编码、MD5编码的方法

1.介绍1.1介绍今天开始福哥要给大家讲解关于字符编码的知识,所谓字符编码就是将一个字符串或者是一个二进制字节数组里面的每一个字符根据一定的规则替换成一个或者多个其他字符的过程。字符编码的意义有很...

雷卯针对易百纳海思Hi3521D开发板防雷防静电方案

一、应用场景1、医疗电子2、安防监控3、数字标牌4、视频广告5、环境监测二、功能概述1CPU:ARMCortexA7双核@Max.1.3GHz2H.265/H.264&JPEG多码流编...

不折腾无人生-安卓盒子安装Linux系统armbian纪实

不折腾无人生-安卓盒子安装Linux系统armbian纪实小编的x96max+(晶晨Amlogics905x3)安卓盒子已安装二个系统,原装安卓9.0和tf卡上的CoreELEC9.2.3,可玩性...

全网最简单的玩客云刷casaos方法及后续使用心得

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:不鸣de前几天在站内看见很多值友分享了玩客云刷casaos,被简洁的操作界面种草,于是我将之前刷了powersee大神网页导航版armbia...

最新评测:英特尔旗舰 Alder Lake 处理器击败苹果M1 Max

据国外媒体tomshardware报道,英特尔最新的酷睿i9-12900HK处理器刚刚赢得了移动x86与Arm的性能大战,但这是有代价的。这款移动14核AlderLake芯片在多个工作负...

创维酷开Max系列电视开启ADB并安装第三方应用教程

前言创维酷开系列智能电视采用的是相对封闭的系统,虽然设置中提供了安装未知应用的选项,但由于电视安装位置的限制,往往难以直接使用USB接口安装应用。本文将详细介绍如何通过ADB方式在创维酷开Max系列电...

苹果 Mac Studio,再次刷新我们对个人电脑的认知

由两块M1Max组成的M1Ultra,成为了M1系列的最后一块拼图,并完成了整个M1SoC宇宙。这就好像《复仇者联盟4:终局之战》对于漫威第一阶段,十几年勤恳的布局,最终达到顶峰...

「必买」盘点2021年男人们的败家清单,越“败”越香

心里总想买点啥?看看《必买》,全网最有料的场景种草指南。草原割不尽,春风吹又生。在过去的2021年,不断被各种数码产品种草,一直在买买买,剁手不停。大部分产品都经过详细的对比做足了功课,也有部分是一时...

Opus音频编解码在arm上的移植

一、简介现在有个需求,在局域网内实现实时语音,传输层协议使用UDP协议,如果直接使用ALSA进行录制音频流并发送到另一端进行播放,音质会非常差,而且断断续续,原因如下:采样频率:fm=44.1K...

N ARM MINI空气减震系统臂体安装指南及应用说明

距离MOVMAX移动大师NARMMINI发布已经过去一段时间了,不少收到NARMMINI的小伙伴也已经迅速将产品投入到自己的车拍工作中去了。而在实际工作过程中我们也收到了用户的部分疑问和反馈:...

搜索引擎中的性能怪兽,Elasticsearch挑战者之Manticore Search

ManticoreSearch简介ManticoreSearch是一个使用C++开发的高性能搜索引擎,创建于2017年,其前身是SphinxSearch。ManticoreSe...

10个运维拿来就用的 Shell 脚本,用了才知道有多爽

1、监控MySQL主从同步状态是否异常脚本#!/bin/bashHOST=localhostUSER=rootPASSWD=123.comIO_SQL_STATUS=$(mysql-h$...

PHP7.0.0正式版开放下载:速度大提升

IT之家讯PHP发布经理AnatolBelski在GitHub发布了PHP7.0.0正式版,该版本在速度提升上面有非常大的进步,比5.6版本提速两倍,已经接近Facebook开发的PHP执行引擎...