摘要
本文简单介绍库仑计的工作原理,并对Li电池的特性作了分析,并且分析了电量计如何针对Li电池的特性准确报告电量数据,文章详述了电量计内部参数寄存器。
关键词
库仑计 电量计 学习模式
引言
电子产业的飞速发展使得半导体集成电路的集成度越来越高、工作电压越来越低、器件功耗也越来越低。与之相对应的是,锂电池产品具有很高的能量密度,而且随着技术的发展,能量密度会进一步提升,应用前景将更加广阔,就目前状况而言,锂电池产品已经成为我们生活中不可缺少的一部分,从日常生活用的手机、平板电脑到工业应用的各种手持式便携仪表均采用锂电池作为电源。
锂电池储能随着设备的使用逐渐释放,需要监测电池状态,以便及时了解电池的剩余电量,在电池耗尽之前及时为电池充电,估算当前工作状态下电池还可以维持工作的时长(锂电池过充和过放会影响电池的寿命,严重情况下还可能导致电池爆炸,因此,通常会采用电池保护板,本文不讨论该部分)。电量计就是专门用于监视锂电池状态的器件。在讨论电量计之前,先要了解一下锂电池的特性。
锂电池的特性
锂电池存储的能量和能够释放出的能量与温度有关,下图为不同温度下锂电池的状态图:
图1. 电池存储/释放能量和温度关系
从图1中可以看出,在-20℃时,电池充满电的电量为大约1150mAh,大电流放电至电池电压为2.5V时,电池电量为大约1130mAh,释放出的电量为1150-1130=20mAh,由此可见,电池在-20℃时几乎无法释放电。随着温度升高,电池能够释放出的能量越多,并且电池能够存储的能量也随着温度升高有所增加。
随着充放电周期的不断增加,锂电池能够存储的能量会逐渐减少,称之为电池老化。
下图为电池容量与充放电周期的关系图:
图2. 电池充放电周期与容量关系图
从图2中可以看出,随着充放电周期的增加,电池的容量逐渐减小,但是,在放电至规定电压时的剩余电量保持不变。
由于锂电池的这种非线性特性以及与温度、充放电次数的相关性,不能简单地根据电池电压来预报电池的电量,利用电量计器件可应对电池的非线性,对不同温度下以及老化程度不同的电池都能正确预报剩余电量。
电量计工作原理
目前电量计主要包括:基于库仑计计量的电量计和基于开路电压检测(OCV)的电量计。
库仑计电量计是按照电池电流对时间的积分计算电量,电量计类似与一个蓄水池,充电时,相当于对蓄水池注水,放电时相当于对蓄水池放水,蓄水池中剩余的水量就相当于电池中剩余的电量,因此,库仑计电量计和电池密切相关,通常,库仑计电量计放置在电池包内,和电池绑定在一起。
1. 库仑计电量计工作原理
电量计利用外部检流电阻检测电池电流,通过内部ADC将测量结果以电压形式保存在电流寄存器中,然后累计到电流累计寄存器(ACR)中,ACR中保存的结果是以mVh为单位,因此除以检流电阻,就可以计算出电池的绝对剩余电量,真的这么简单!!!其实不然,还有很多问题需要解决。
如何确保准确计量?
电量累计是电流对时间的积分,那么时间的精度和测量电流的精度就决定了电量累计的误差,时基误差在常温下小于1%,而且当测量电流为0时,累积电量也为0,因此,必须调整测量电流的精度才能确保电量计量精确,有哪些因素会影响电流的测量精度?外部电阻的精度,测量电流ADC的增益误差以及失调误差。器件内部用于调整这些参数的寄存器分别是:
RSNSP (电阻寄存器):用于存放检流电阻值。
RSTC (电阻温度系数寄存器):用于对温漂较高的电阻进行补偿。
COB (失调电流偏置寄存器):用于存放ADC测量电流的失调值。当失调电流为正时,该寄存器设置为负值。在电流累积时会将失调电流减去。
RSGAIN (电阻增益寄存器):用于设置电阻的增益。允许使用低成本电阻,然后通过该寄存器调整电阻值,另外,也可以通过调整该寄存器间接相当于调整了测量电流的增益误差。
另外,还有一些其它的电流,例如器件本身消耗的电流、电池自放电的电流以及一些其它的漏电流,这些电流都不会流经检流电阻,因此无法通过测量进行累积。电流累积偏移(AB)寄存器则用于补偿这些电流损耗。
Maxim网站提供了电量计校准的相关信息,见参考文献。
如何应对电量随温度的变化?
电量计内部带有温度传感器,可测量电池的温度,如果将电池满电量与温度的对应关系写入器件,根据测量的电池温度,就能计算出当前的温度下电池的满电量,电池在不同温度、不同的放电电流情况下所能释放出的电能总量也是不同的,因此,也要将不同电流、不同温度下电池放空后的剩余电量(该部分电量无法释放出来)写入内部寄存器。电池可以以最大允许放电电流范围内的任意值进行放电,如何存储这么多的放电曲线?幸运的是,采用电池供电的系统通常有两种工作模式:正常工作模式和待机模式。因此,只需要将这两种状态下的放电曲线(分别称为有效空电量和待机空电量)保存在内部寄存器中就可以了,这个过程称之为电池建模。
图3. 不同温度下电池的满电量和空电量曲线
将图3中各温度点下对应的空/满电量值写入寄存器即可,对于相邻温度点之间的温度,按照线性化进行处理。
根据测量得到的电池温度以及内部的电池模型,器件可计算出当前温度下的满电量和空电量(待机空电量和有效空电量),ACR寄存器内部存储的是目前电池计量电量,从ACR中减去该温度下的空电量,就可以得到剩余的绝对电量,用绝对剩余电量与该温度下的满电量相比,得到的百分比值称为相对剩余电量。
该温度下的满电量对于未经老化的新电池可以通过模型获得,对于老化的电池,由于电池容量下降,如何确定满电量?
如何确定老化电池的满电量?
器件内部有两个寄存器:老化容量寄存器(AC)和老化系数寄存器(AS),AC寄存器存储电池的标称容量,器件内部的计数器在电池放电时进行加计数,当计数值达到32倍的AC寄存器值后会将AS寄存器中的值减1,这相当于将电池的容量减少了0.78%,通过这种方式可以实现电池老化,在设计时,如果增大AC寄存器的值会降低电池的老化速度,减小AC寄存器的值会加速电池老化。
电量计长时间运行会累积误差,为消除累积误差,电量计还提供了“学习”的功能,触发“学习”功能和完成一个完整的“学习”周期是需要一定条件的:必须检测到有效空电量点才能触发“学习”功能,此时,开始充电,必须不间断充电直到检测到满电量点才能完成“学习”过程,当完成一个完整的“学习”周期后,电量计会自动根据当前温度下的满电量值以及老化系数进行更新ACR,消除了ACR累积的误差。
1. OCV电量计工作原理
开路电压检测电量计利用电量计上电时测量电池的电压(通常情况下,电池应该静止足够长时间使电池电压恢复),通过存储在电池内部的电压和电量对应关系查找表来估算电池的电量,该电量计和电池的相关性不大,因此可以用在主机侧,使用该电量计的系统可任意更换电池(更换电池的型号必须一致)。
电量计设计
通过以上介绍了电量计的具体工作原理,以及电量计针对不同温度、不同电流状态作出的修正和老化处理措施,可以对内部寄存器进行配置,使电量计精确预报剩余电量。
电池参数保存在器件内部参数EEPROM寄存器,这些参数分别是:
RSNSP:保存外部检流电阻阻值
RSGAIN:设置检流电阻的增益
RSTC:设置电阻的温度系数
该电阻阻值的精度直接决定了电量累计的精度。
VCHG:电池充满时对应的电压值
IMIN:电池充满电时对应的充电电流值
VAE: 电池有效空电量时对应的电压点
IAE: 电池有效空电量时对应的电流值
这些参数和电池的“学习”过程相关,只有当电池电压从大于VAE的电压降到低于VAE的电压同时放电电流大于IAE中设定的电流时才能检测到空电量点,否则就认为没有检测到空电量点,当检测到空电量点时,就会在状态寄存器中置学习标志位。此时,需要对电池进行不间断充电直至充满,电量计检测充满要根据VCHG和IMIN中设置的值进行判断,只有到电池电压达到VCHG并且充电电流低于IMIN时,电量计才会认为电池充满,此时,内部会将AS寄存器更新,完成学习过程。这些寄存器要根据实际应用进行设置,如果设置不正确可能无法完成学习过程。
其他的一些存储器与电池模型相关,在存储电池模型对应的电量时采用斜率的方式进行存放,这样可以减少内部存储单元的数量。关于如何设置、计算这些存储器的数值,请参考应用笔记:
http://www.maximintegrated.com/cn/app-notes/index.mvp/id/3584
当这些寄存器正确设置后,经过一个完整的放电和充电周期后,电量计就能够正确报告剩余电量以及百分比。
通常情况下,电池包内部带有电池保护板,如果电量计位于电池保护板的内侧,通常是没有问题,但是如果电量计位于电池保护板的外侧,当保护板启动保护时,电量计将会掉电,此时,电量计内部的测量数据会丢失(参数数据由于保存在EEPROM中,不会丢失),此时,如果再次上电,ACR以及AS寄存器的值会从内部的备份存储器恢复,ACR的备份是RARC变化4%备份一次,因此,最大有可能造成电量4%的报告误差,因此,建议在设计时将电量计放在保护板的内侧,这样,即使保护板发生保护,电量计也不会掉电。
结束语
以上介绍了基于库仑计的电量计工作原理以及电量计是如何在不同温度、不同电流下能够确保正确预报电量,并对内部和计量相关寄存器作了说明,通过控制器对电量计进行控制,可实时监视电量的变化并可报告多种和电池相关参数。 |