电池电量监测技术主要是用来报告电池的容量,同时它一般也能够给大家提供电池的健康状态和电池的满充容量。1.2、概要介绍a、电池化学成分基本知识b、传统的电池的电量监测方法-基于电压-库仑计数c、阻抗跟踪技术及其优势1.3 第一部分:电池化学成分基本知识首先给大家介绍的是一些跟电池的电量计量有关的一些电池化学成分的知识。【图为:锂离子电池放电曲线:最优运行时间】 这里的三张图是在不一样的情况下测到的锂离子电池放电曲线图。随着放电速率、温度和老化情况改变关断电压可提供尽可能长的运行时间。从这些图中我们第一步能够正常的看到,在室温小电流情况下电池的电压在 3.5V之后会很快的发生跌落,虽然系统能支持的最低电压可以到 3.0V 或 3.3V,但是由于到 3.5V 之后电压会很快跌落,为了尽最大可能避免突然关机造成的数据丢失或者加载文件的电路突然中断,客户的应用系统通常的倾向于把电池的最低容量为零的参考点设置为3.5V,如果在低温或者大电流的情况下,或者在电池非常老化的情况下,如果还是把 3.5V 作为电量为零的参考点,那就好造成电池的可用容量大大的减少,你们可以从这些曲线上能够正常的看到,在大电流情况下,基本上一开始放电的曲线V 了,那么在老化或者低温的情况下也是类似的,所以如果固定的以 3.5V 作为容量为零的参考点,那在低温或者大电流情况,或者是接近老化的情况下,会造成所报告容量的缩减,为了尽最大可能避免这种情况,电池的容量应该要依据温度、放电速率、电池的老化程度做调整。1.4 电池化学容量 Qmax 关于电池的电量监测技术里面,有一个较为重要的概念,就是电池的化学容量 Qmax。在这张图里面,红色的曲线V 的横坐标交叉点,对应的值就是 Qmax。这个曲线C 的情况下测出来的,因为要测得 Qmax 一定要保证负载电流足够的小,理论上 Qmax 是指电流趋近于零时所能放出来的容量,但真实的情况下,工程技术上是用很小的电流来做 Qmax 的测定,这里我们是用的 0.1C 的电流。那什么是 0.1C 呢?C 这个概念在电池的电量管理里面就是指电池的放电速率,1C 实际就是指如果电池的容量为 2200mAh,电流为 2200mA 就是 1C,所以概念上就是 1 小时内将 1 节电池完全放空所需要的电流。因此 2200mAh 的电池对应的放电电流就是 2200mA,那 0.5C 的放电电流对应的就是 1100mA。在这张图里面所提到的 EDV 指的是系统或者电池本身能够支持的最低电压。1.5 可用容量 Quse 还有一个对应的容量就是可用容量。因为刚才讲的是电池的化学容量,电池的化学容量是在电流很小的时候测得的容量,它更多的是由电池本身的特性决定的。那实际在电池的使用的过程中,这么多容量不是都能够放得出来的,在实际的使用的过程中,由于有一定的放电电流,所以放电曲线会比开路电压曲线低,你们可以看到这条曲线,由于存在电池的内阻,实际的放电曲线是蓝色的这条曲线,由蓝色的曲线和红色的曲线对应的值得到 Quse,Quse 实际指的是电池的可用容量,在这张曲线中我们发现,由于电池内阻的存在使这个曲线的位置往下移了,那么放电的时候会更早的达到放电终止电压,也就是更早的达到 EDV,所以 Quse一般是小于 Qmax。从这个曲线中我们也可以看出,电流越大,Quse 会越小.。在这曲线当中,I*Rbat 就是指的由于内阻的存在,造成电池端电压的下降。1.6 电池电阻 电池的内阻对电池电压的监测是有很重要的影响的。基本的公式可以用这样一个公式来表示电池的内阻对电池电量监测的影响:V=Vocv-I*Rbat这个公式里面 Vocv 指的是电池的开路电压,I 是指充放电电流,Rbat 是指的电池的内阻,V 是指电池的端电压。电池的阻抗实际是受很多因素影响的,受到环境温度、电池的容量百分百、电池的老化程度的影响。它是这些变量中一个非常复杂的函数。现在要得到这个函数的具体表达式是非常困难的,所以实际经常用实测的方法来得到阻抗,也就是用差分表的方法来得到阻抗。那么这个电池的内阻通常在 100 次充放电之后会增加 1 倍,这是一个经验值。同一批电池之间的偏差控制得比较好的大概可以控制在 10~15%左右,不同电池的制造商生产的电池内阻的偏差往往会更大。所以电池是在生产当中很难把它的偏差控制得小的一个变量,电池的内阻是一个非常难控制的变量,也是非常重要的一个变量。1.7 电荷状态(SOC) 刚才讲到的是 SOC,SOC 实际是指的容量百分比,也就是大家经常在使用手机或者平板电脑的时候屏幕角上的容量百分比,容量百分比的意义是说电池在某种状态下到放空之间还剩余多少电量。英文的缩写叫 SOC,也就是State Of Charge,所以也可以直接翻译成电荷状态,因为 Charge 就是指的电荷的意思。那么显然对一个充满了的电池电压百分比,或者电荷状态,就等于 1;对一个完全放空的电池电压百分比就等于 0。所以电压百分比的公式。SOC 等于这条曲线上的 Q(状态A时对应的剩余容量)除以电池的化学容量 Qmax。跟电量百分比对应的一个概念是 DOD,DOD 指的是放电的深度,英文是 Depth Of Discharge。那显然在充电百分比或者容量百分比为 1 的时候,那么放电深度应该是 0;反过来容量百分比为 0 的时候,放电深度就应该是 1。我们在 TI 的很多文档当中会碰到 DOD 这个概念,DOD 实际上和 SOC 是一个相对的概念,它们表示的实际上是同一个意思,就是电池里面剩余的电量是多少,或者说这个电池从满充状态已经放了多少电了,是表示这种程度的。1.8 抗阻与温度和 DOD 有关 那么电池的阻抗受影响比较大的有温度和容量百分比,也可以用刚才所说的放电深度来表示,也就是 DOD 来表示。从这张曲线我们可以看出一些基本的趋势,从图中可以看出放电百分比越大、放电深度越大,那么电池的内阻就越大,因为这条曲线上纵坐标指的是电池内阻,它的单位是欧姆;横坐标指的是放电百分比,也就是 DOD。不同颜色的曲线表示的是不同温度下测得的数据,显然在同一个温度下面,放电百分比越大,也就是放电越深,那它的电池内阻就越大。那么我们在这张图上还能够正常的看到,在同样的 DOD 下,也就是同样的容量百分比下,温度越低,电池的内阻也相应的越大。这是一个基本的概念,这是大家要对电池所形成的一个基本的认识。1.9 抗阻和容量随老化而改变 电池的内阻除了和温度、容量百分比有关,另外一个影响比较大的因素就是电池的使用年限,也就是电池的老化程度。一般电池在100次重放电之后,化学容量会减少 3~5%,这个容量减少还不是很显著,但是它的阻抗变化就比较显著了,在100 次充放电之后阻抗可以增加几乎 1 倍。大家可以从这 2 张图中看出来,左边的这张图是第 1 次和第 100 次的放电曲线画在一起的一张图,从这张图中能够准确的看出来放电次数的增加对容量减少的影响还不是很大。但是放电速率的增加对内阻的影响是很大的,右边这张图指的是电池的内阻和放电次数增加的关系,这里面有很多条曲线,这张图的横坐标是测电池内阻时所用的频率,纵坐标是指电池的内阻。这张图中我们可以看出来,在频率很低的情况下,最下面的那条曲线 次在不同频率下测得的一条曲线,最上面的那条曲线 次在不同频率下测得的电池内阻的曲线 条曲线在纵坐标交点的值基本相差了 1 倍,所以说 100 次循环之后,电池的内阻增加了 1 倍。这里的内阻横坐标用的是频率,表示在频率很低的情况下,内阻的变化随着循环次数的增加是很显著的,但是反过来讲,随着频率的升高,比如说:测试负载的变化频率升高到 1KHZ 的时候,内阻的变化基本可以忽略不计了,大家可以看到这么多曲线基本都汇聚到同一点去了。那么实际上对我们电池的电量监测影响大的是什么样的阻抗呢?是在频率比较低或者是直流情况下的阻抗,所以我们应该看右边这张图曲线 个交点,从这个交点上我们可以看出,循环次数对电池的直流内阻影响。1.10 新电池的阻抗差异 这张图表现的是新电池阻抗的差异。电池的工艺结构上是一层一层叠起来或者一层一层卷起来的,所以电池正负极之间从外部看上去,可以看到有电容的特性,也有电阻的特性,也有电感的特性。所以整个电池来讲,如果要测量它的阻抗,阻抗可以分为实布和虚布,在这张图中,我们用一个交变的负载去测定电池的内阻,这个电池的变化频率,也就是负载电流的变化频率,是从 1KHZ 变到 1mHZ,1KHZ 的概念大家经常接触到,就是 1 秒钟变化1000 次;1mHZ 就是 1000 秒变化 1 次,这个变化频率就相当缓慢了,也就是说测的其实是一个直流的阻抗。在这 2 张图里面,大家可以看到,直流阻抗是随着频率的降低单调的线性增加的,但是交流阻抗它有一个变化的趋势,一开始是小,后续慢慢的变大,然后又变小,最后又变大,这是由于电池内部存在电容和电感这些因素综合影响造成的。但是直流阻抗是单调的增加的,随着频率的降低,直流阻抗是越来越大的。那么对电池电量监测技术来讲,我们关心的是 1mHZ 时的直流阻抗,从这张图中我们可以看到,1mHZ 情况下,电池阻抗的偏差还是有15%左右,这个 15%左右的阻抗偏差会造成在如果是 1C 电流放电,电池的端电压和开路电压压差 40mV 低温情况下,如果你使用的算法是根据电压来判断容量,大概会引起 26%左右的容量误差。1.11 电池剩余容量(RM) 下面介绍的是电池的剩余容量。剩余容量是指当前状态放到 EDV 的电池容量,EDV也就是终止放电电压。图中当前状态 A 在一个给定的电流下进行放电,放电到 3.0V 的时候,对应的剩余容量从图中标出的就是 RM1。那如果在状态 A 的情况下,同比较大的电流放电,这个时候这个曲线的位置会比开路电压更低一点,也会比刚才的小电流放电的 RM1 对应的位置更低一点,那这个时候得到的剩余容量是 RM2。RM2 和 RM1 对应的放电曲线它们的区别在于使用的放电电流是不一样的,放电电流越大,曲线的位置越低,剩余容量就越小,所以电池的剩余容量是与放电速率有关的,不同的电流下面电池的剩余容量是不一样的。有的用户在电池的实际使用过程中在放电的情况下,会发现电池的容量由少变多,他感到不可理解,实际这里可以解释一下,这种情况是由于放电电流的变化造成的,当我们看到电池容量由少变多的情况,这个通常是由于放电电流突然变小造成的,因为在不同的电流下电池可以放出的容量是不一样的,当放电电流变小的时候,它可以放出的容量是可以增加的。1.12 电池化学成分概要 我们现在简单回顾一下刚才介绍的概念。Qmax 是指电池的化学容量。这个容量的值是和负载没有关系的。它是指在极小的负载电流情况下,电池能够放出的容量,通常它的单位是用 mAh 来表示的。Quse 是指电池的可用容量。这个容量是和负载有关的,不同负载的情况下,电池的可用容量是不一样的,负载电流越大,电池的可用容量越小。为什么Quse和Qmax会造成这样的区别呢?这主要是由于电池的内阻和负载在电池的电动势和端电压直接产生了一个压降,还有一个概念就是电池的容量百分比,或者是说电荷状态,它的单位是%,这个%实际上就是电池的剩余容量除以电池的化学容量得到的。剩余容量叫 RM,RM 的大小也是取决于负载的,负载越大,在同一个状态下剩余容量就越小。还有一个概念就是电池的老化会影响到电池的阻抗和容量。老化对阻抗的影响比较明显,100 个周期之后阻抗会增加 1 倍。老化对容量的影响不像阻抗这么明显,但是100 个周期之后会有 3~5%的跌落。2、传统的电池电量监测方法2.1 目标:充分利用可用的电池容量 电池电量监测的主要目的是为了最大程度的利用电池里面的容量,通常来讲,电池里面的容量我们一般很难做得 100%利用的,为什么呢? 第 1,在充电的时候,充电电压很难正好是电池的满充电压,通常我们为了防止电池出现过冲状态,这个充电电压误差是往下偏的,也就是说 4.2V 的电池,充电电压有可能是 4.18V 或 4.15V,这样,如果在这个低充电电压下进行充电,充进去的容量可能就会变小; 另外,由于电池电量监测的不准确性,用户为了安全,防止突然关键造成数据丢失,可能电量估计得会比较保守,也就是说电池线%的时候,他就提前报成 0%,让系统提前关机,这样至少可以避免用户的数据丢失,当然用户体验上感觉电池的容量变小了,这是一个缺点,这样做的后果也是导致电池的容量不能充分的发挥出来,电池电量监测技术是为了最大程度的提高对电池电量的监测,让用户能够最大程度的使用当前电池里面的容量,这个蓝色的这段实际上指的就是电池的有效容量,我们这个技术就是为了把实际的有效容量尽量的往上或者往下扩展。 传统的电池包电量监测技术是这样一个框架结构的,电量监测的芯片一般来讲是放在电池包里面的,在这张图里面虚线围起来的部分就是电池包,这个电池包一般是有锂电池电芯,也就是这里看到的一个电池电气符号,还有红色方块所代表的电量监测计,这个就是 TI 的器件所在的位置。还有就是控制 MOS 管的保护器,这个保护器是在电池过充或者过放的时候动作切换 MOS 对电池芯进行保护,一般电池包里面还会放一个热敏电阻,用来监测电池包的温度,那么除了左边指的是手机或者平板电脑的系统板,在这块系统板上跟电量计发生关系的主要是电源管理芯片和主机的处理器,主机的处理器通常是通过 I2C或者单线的 HDQ总线来读取电量计里面的电量信息的。在这个电量信息得知的情况下,来决定现在有多少时间到电池完全放完,有些用户要做某些事情的时候可以提示用户现在电量是否足够,这是一个传统的解决方案,就是说把电量计放在电池包里面的解决方案,TI 在这方面主要的器件有 BQ27541、BQ27545 这 2 颗主要的芯片;我们后续还推出了 BQ27441,这是比较低成本的方案;我们还有 BQ27741,这把电量计和保护器做到一起的一个方案;我们还有 BQ28z560,这个也是包电量计和保护器做到一起的一个方案。2.3 系统侧阻抗跟踪电量监测计 随着技术的进步,或者说 TI 的阻抗跟踪技术的推出,现在出现了这样一种运用,把电量监测计放在设备的主板一侧,电池这一侧就只有一个保护器和 MOS 管,还有热敏电阻,当然还有 1 个电芯在里面,这样的话有什么好处呢?电池包的成本就大大的降低了,电池包的供应商也比较好找了,因为他把电量计从电池包里面搬到了主机侧,所以这样的方案现在都是可行的,TI 同时提供对这 2 种方案的支持。还有 BQ28z550,这个方案是把电量计放在便携设备的系统板上,这样电池包里面就不需要放电量计了,这样就可以降低电池包的成本,使得供应商更容易找到,这种 TI 的电量计主要有 BQ27510、BQ27520,BQ27441 也是可以用在这个场合的,还有 BQ27425、BQ27421……等等芯片。2.4 电量监测计有哪些功能?a、电池与用户之间的通信b、测量:- 电池电压- 充电或放电电流- 温度c、提供:- 电池运行时间和剩余容量- 电池健康状况信息- 总体电池电源管理(工作模式)电量监测计的主要功能是哪些呢?电量监测计首先要完成系统和电池之间的通讯,系统要知道电池有多少电量,需要跟电量计之间的总线C 和单线的 HDQ 总线通讯来得到,在通讯的过程当中,系统主要可以得到哪些信息呢?第 1 个是实测的模拟量信息,比如说电池的电压、电池的充放电电流,还有电池的温度。这些基本的模拟量信息作为一个电量计来讲,它更重要的还要提供电池的容量信息,也就是刚才所说到的电池的剩余容量、电池的运行时间,还有电池的健康状况的信息,还有一个就是这个芯片本身要能够完成工作状况的转变,也就是说它要从正常工作模式,转到低功耗模式,实现这种转变,达到一个什么目的呢?达到一个节省电量的目的。2.5 如何实现电量监测计 怎么实现电量监测呢?第一种方法就是基于电压的电量监测,电量百分比或容量百分比把它看成是电池电压的一个函数,这是从经验上到得到的一个公式,当然这种函数本身的表达式不一定要得到,它只要得到一个开路电压和容量百分比对应的表格就行了,这个表格各个点之间的数据可以用差补的方法得到。还有一个方法就是库仑计数,库仑计数是对充进电池或者电池里面放出的电流进行积分所得到的一个能量。我们可以把电池看成我们汽车的油箱,这个油箱充进多少油,放出多少油,就可以算出里面剩多少油,这也是一种比较直观的根据生活经验得到的一种算法。现在最新的算法是阻抗跟踪算法,这个算法其实它是依据实时的对电池的内阻测量来得到电池的容量,它的公式就是图中这个公式,刚才已经列举过,也就是电池的端电压 V 等于电池的开路电压减去电流乘以电池的内阻,这个电流是指电池流进或者流出的一个总电流。2.6 基于电压的电量监测计 下面先介绍一下基于电压的电量监测计,这张图是一个电池的开路电压曲线,这个方法的基本思路是对不同电压我们用不同的格数来表示电池的容量,比如说在 4.2V 的时候用 4格来表示,这是满格的电池;3.8V 的时候我可能用 3 格来表示电池的容量,3.6V 用 2 格;3.2V 可能就用 1 格来表示电池的容量,就是说用不同的格数来对应不同的电池电压,来表示电池的容量,这种方法精度比较差,通常用在低端的最早期出现的那些蜂窝电话,或者早期出现的数码相机里面。这种方法会有一个什么问题呢?就是说在电流波动的时候这个会上下跳变,比如说我有一个放电电流的情况下,或者电流比较大的情况下,在放电的过程当中大家可以看在红颜色的这个箭头地方,如果电流在这一点突然减小,或者说我突然变成 0 了,这个电压很显然的就会往抬,电压一般抬到这一点的线 格,再往下的时候这变化就会更明显,再往下的时候电池格数可能接近 0 格或者用红颜色来表示这个电池的格数,这个时候的跳变就会由红颜色变成 2 格,这个时候就会来回跳,如果电流变化的情况下,比如说,他刚才打电话打到这里停掉了,电池就剩 2 格,他以为还有电,然后突然又来一个电线 了,所以这种表示误差会比较大,因为大家看到这里实际上是用 4 格来表示电池容量的,因为 1 格就对应了 25%的容量,所以跳一格就有 25%的容量差,跳 2 格就有 50%的容量差,所以这种方法误差比较大。误差比较大的原因就是因为电池存在内阻,在电流比较大的情况下,它的格数跳变会比较多。2.7 电池电阻 这里对容量计算影响最大的或者最难得到的一个信息就是 I*Rbat,当然 I 是比较容易得到的,只要测定流进流出的电流就可以了,以现在的技术这个可以测到±1mA 的精度。那么这个 Rbat 相对来讲就比较难一点测定,因为它是要根据 2 个量计算得到的。这是阻抗与温度和容量百分比的关系,这个关系刚才已经讲过了,基本上阻抗是随温度的降低而增加,随着容量百分比的减少而增加,是这样一个概念。2.9 新电池的阻抗差异 这个是阻抗的偏差,这个是一个什么样的概念呢?就是说我们通常来讲,使用的阻抗对电量计量影响比较大的哪个阻抗指的是在低频状态下的阻抗,是在 1mHZ 下的阻抗,实际上就是直流阻抗,而不是通常我们用市场上看到的内阻测试仪测到的阻抗,那个阻抗是在 1KHZ下测到的电池内阻,那个内阻通常来讲看上去比较小。上面是已经介绍过的对容量计算精确度的影响的 3 个因素,是温度、容量百分比和老化程度,这些会给容量的计算造成影响,这个影响是指用电压来监测电量的方法的影响。除了这些因素的影响,如果用的是电压监测的方法,那么还有一个影响也是不可忽略的,而且这个影响也比较难处理,这是很多电量管理的工程师头痛的一个问题,就是电池有瞬态响应的问题。2.10 电池-瞬态响应 大家从这 2 张图可以看一下,电池在比较满充的情况下放电,前面这条曲线是表示一个放电的过程,放到这个时候电压比较低了,然后负载移除,这个时候电池的电压并不是立刻回到电流为 0 的时候,因为大家想到负载移除电流就变 0 了,这个时候的电压有没有回到电流为 0 的电压呢?没有。它是慢慢的回上去的,它花了很长时间才回上去,大家看到这条曲线。大家平时的经验也可以证明这一点,就是说平时一个电池放电之后,然后你把负载拿掉,它的电压是在不断的变化的,那么这个电压变化稳定的过程要多长时间呢,大家看到这这一点大概是 1600 秒,基本上要稳定下来是到 3500 秒,大概有 2000 秒左右的时间,才能稳定下来,这个是电压在 3.8V 到 3.9V 左右进行的放电,也就是说电池这个时候还没有饱。根据刚才介绍的在电池比较饱的情况下,也就是在电池容量百分比比大的情况下,电池的内阻这个时候是比较小的,电池内阻比较小的情况下它恢复的还算快的。下面这张图大家可以看到这边的电压是比较低了,从 3.3V 左右开始放电,放了一段时间后,这个时间也很短,因为锂电池电压比较低的情况下,稍微放一会电,接近到 3.2V 系统最低能够接受的电压,这个时候如果停在放电,这个电压需要多长时间回上去呢,基本上要更长的时间,比如 3000 秒以上的时间才能够把电压稳定下来,所以在这段时间之内,它的电压是不够稳定的,但是没有负载,电流是一直是 0,这个时候你去读电压,电压是一直变化的,对应的容量百分比到底是多少呢?这个时候就会产生误差。2.11 电压弛豫和电荷状态误差 大家可以看到在 20 至 3000 秒之间电压的差异可以超过 20mV,那么 20mV 这个电压值在计算容量的时候,它已经可以造成很大的容量偏差了,尤其在电压放电的平坦区这个阶段,它可以造成很大的容量偏差,所以电池的瞬态响应会对用电压来监测的计量方法造成比较大的误差。在这条曲线当中,这条曲线是把电池的放电曲线倒过来了,这个纵坐标变成了容量百分比,横坐标是电池的电压,这张图表示的什么意思呢?就是说在这个阶段其实是电池处于中间阶段,如果把这个平台拉长一点,你就可以看到在这段的时候电压变化是比较缓慢的,容量变化就是比较大,也就是说在这段你是用电压来监测容量的,那么这个电压稍微有一点点误差就会造成容量上面很大的误差。右边这张图指的是在不同的电压下面对应容量的误差,大家可以看到,在电压的中间点,也就是放电曲线V 左右,这段时间对应的误差是最大的,这段时间对应的误差可以到 15%,这就是电压方法来计算容量造成的误差。所以基于电压监测计量的误差主要是有这几方面造成的,1 个是弛豫误差,就是刚上说的电池在负载移除之后电压的恢复时间,这里的一个典型值是 20mV 的弛豫测量误差,实际的误差会比这个弛豫误差远远要大,大家可以在电池放空之后看一下,放空刚结束的时候到电压稳定下来,它们的电压误差其实是很大的。还有就是 15%的电池间的电阻误差,刚才说过,同一个供应商生产的同一批电池如果他的工艺过程控制得比较好的情况下,这些电池的内阻偏差可能会有 15%,这还是比较好的情况,那如果不同的供应商,或者供应商过程控制比较差的情况下,这个电池间的电阻误差会更大。在左边这张图上我们就可以看到红色的指的是由于电池的瞬态效应造成的弛豫误差,上面浅蓝色的这个曲线是电池个体阻抗之间的偏差造成的误差,这 2 个综合起来总的偏差有可能可以到 15%左右,这个是对新电池的 15%,还是在电流控制得比较好的情况下得到的一个测试结果。2.12 基于电压之电量监测的 SOC 误差 大家知道对于电池的容量计算还有一个比较大的影响因素就是电池的使用年限,在这张图上面,在不同使用年限下测得的误差,红色的表示的是第 1 次或者第 0 次得到的周期得到的误差曲线,这个曲线%左右的,最后标在这里的就是 15%,那么 100次之后大家知道阻抗其实增加了 1 倍,刚才那张图大家也可以看到,在 100 次循环之后电池的内阻增加了 1 倍,按照这个规律继续上去误差会越来越大,阻抗的误差对容量造成的误差也相应的越来越大,所以基本上在 300 个周期之后,在容量比较低的情况下造成的误差就会很大,75%或者更多一点,所以基于电压测量的电量计算技术只能够用于那些要求不高的场合,它的误差比较大,通常在早期的 diqital camera 里面的电池是用这种方法来计算它的容量的,那么对这个容量计算造成影响最大的就是电池的内阻,造成电池内阻变化比较大的原因就是电池制作上的工艺造成电池内阻的偏差,另外一个就是电池使用时间的延迟造成电池的内阻也会发生很大的变化,这些变化工程师也很难知道一个准确模型的,只能根据经验去估计,这样估计出来的结果和实际的结果就会有比较大的偏差。 总结一下,基于电压的电量监测计它的缺点就是由于电池内部阻抗的原因造成准确度不好。阻抗、温度、老化状态和电池的容量百分比之间是存在一个函数关系的,这个函数关系相当复杂,要专业搞电池的人才能够找到一个比较近似的函数关系,很难找到一个精确的函数关系,所以这种模型相当复杂,一般的电子工程师或软件工程师要写出很精确的关系是很难的,所以大家在软件计算里面有关容量方面的计算是工程师们最头痛的一个问题,那么它也有一些优势,优势是它不需要完全放电就能够得到电池现在的容量是多少。 因为做过电池、电池包生产,或者用过电量计的人都知道一个电量计出厂之前一般可能要进行一个完全的充放电。为什么要进行充放电呢?这是要定位现在电池的容量是多少,电池的满充电量是多少,尤其是电池的满充容量,不同的电池满充容量是有差别的,当然你可以选一个电池的设计容量,但是不同的电池与设计容量之间的偏差还是比较大的,要得到这个满充容量,还是要做一个完整的充放电才行,那么具体的充放电对生产过程的要求就比较高了,要加上很多的直接成本。 另外,电池有自放电的特性。电池放在那里,即使负载不工作,电池自己也会漏电,时间长了以后电量会越来越少,电压会越来越低,那么电压监测的电量计它只要根据电压来判断容量,所以现在有多少电压就报告多少容量,那么自放电多少不用去太关心,所以这种基于电压的电量计如果在电流很小的情况下,它还是达到一定的准确度的,但是目前来讲,各种应用越来越复杂,电流的变化也越来越大,所以基于电压的电量监测计要满足客户的要求就有点难了。 除了基于电压的电量监测计,还有一种电量计就是库仑计数的电量监测技术。这个电量监测计的思路就是,首先把一个电池充到满,充满过程中就能够知道电池的现有容量,就是电池的满充容量,然后在放电过程当中把电池的放电容量从现有容量中扣去就可以得到现在电池里面还剩多少容量。它的思路其实就是电流对时间的一个积分来得到放出多少容量,从而得到电池里面剩多少容量。用这种技术每次放电结束的时候放出容量都会有一个记录,这个记录的容量就作为电池的满充容量,所以每次放完结束的时候 Qmax 会被更新,也就是电池的化学容量和最大容量都会被更新。3.3 在完全放电之前进行学习 理论上是这样,但实际在更新电池的满充容量或化学容量的时候,不一定会把电池完全放空了再去更新,因为这时更新电池电压就很低了,有可能系统要关机或者有什么情况,这个时候就已经太晚了,通常的更新是在电池容量放到还剩 7%左右进行更新,这个更新的思路是说到容量到了 7%,意味着放掉了 93%的容量,如果对刚才放掉的容量进行积分就会放掉容量的 mAh 数,用这个 mAh 数除以 93%就可以得到满充容量,这样也达到了学习的效果,所以一般学习不会放到 0%的时候再去,一般在 7%的时候去学习。至于学习,学习的是电池的满充容量,有了满充容量之后,对放电的电流进行积分,才能够算出现在剩多少容量,所以满充电池的电量对电量的计算也是比较重要的。至于 7%和 3%对应的电压是多少,这取决于当时的电流、温度和阻抗。一般在室温电流恒定,同一批电池阻抗相差不是太大的情况下,这个电压也可以认为基本恒定,因为在 7%的时候是 3.5V,这个时候电压偏差造成容量的偏差不会太大,所以可以在 7%时进行修正。3.4 经补偿的放电终止电压(CEDV) 刚才讲到 7%这一点其实是在给定的温度、电流或者同一批电池的情况下,这一点的电=压基本固定了,但是实际上它的电流不可能是一个固定的电流,在使用的过程中电流总是会在不停的变化的,那么 7%对应的电压也是不同的,也就是不同的电流对应的 7%是不一样的。在这一条曲线 对应的电压在这条曲线 的函数,如果这个电流发生变化了,同样用 7%的电压来修正,这个误差就大了,从 CEDV 的曲线%对应的电压实际还有 30%剩余容量,如果按照 7%去进行同步或学习,去修正满充容量,就会有 23%的容量丢了,所以这个时候就造成了一个大的误差,所以这个算法就要根据电流来对 7%这点的电压进行修正,7%这点的电压我叫做 CEDV2,把这一点的电压找到跟电流的函数关系,不同的电流下得到不同的电压。所以在电流 I2 的情况下,我们得到 CEDV2 其实它的电压比 3.5V 要低一点,CEDV2(I2)实际是根据复杂的计算得到的,它的公式大概的是这样的: CEDV=OCV(T,SOC)-I*R(T,SOC) ,CEDV 的 C 是补偿的,EDV 是终止放电电压,也就是经过补偿的终止放电电压实际是等于电池的开路电压减去由于内阻造成的压降。关键是在这个公式里面 OCV(T,SOC)可以找到一个跟曲线匹配比较好的函数,而且这个曲线也不大会变化,但是后面这个曲线它是 T 和 SOC的函数,这个曲线就很难找一个匹配的函数,所以说这个公式相当复杂。由于内阻差异性的存在,这个公式使用过程当中它的准确度是有限制的,不是说在整个放电过程当中这个公式都是通用的,通常我们用这个公式算的时候,在 7%以下是用这个公式算的,也就是 R(T,SOC)这样一个函数关系式,这在我们的 datasheet 里面是可以找到的,适用的范围仅仅只是 7%或 12%以后的范围。这样的其实也够了,因为修正指需要在 7%左右修正就行了,所以它适用的范围小这个问题不大,那么 12%以前还是用库仑计算来进行积分,库仑计算积分造成的误差可以在 12%以后通过电压修正来得到补偿,这就是 CEDV算法的简单思路。这个公式反应的其实是阻抗、温度和 SOC 之间的一个关系,这种关系反应的是电池的阻抗,这个公式里面一般参数定了之后,阻抗、温度和容量百分比的关系就定了,实际上随着电池使用年限的增加,内阻是肯定会变的,但是这个公式其实没有反应电池的内阻和使用年限之间的差异,这个公式不能够反应出这个差异,当然我们后续的算法当中加了改进,加了一些线性的补偿,这个可以在我们的同 CEDV 的芯片里面,比如 TI 的BQ3060,早一点的 BQ2084,BQ2085 这几个是用 CEDV 算法来做的。3.5 电池管理产品-电池电量监测-BQ3060 3.6 基于库伦计数的电量监测a、优势-不受电压测量失真的影响-准确度由电流积分硬件确定-监测误差:3-10%(取决于工作条件和用途)b、劣势-需要学习周期以更新 Qmax:电池容量随老化而下降,Qmax 较少幅度:3-5%(100 次充电)-在不学习的情况下,每充电 10 次监测误差将增加 1%,自放电必须建模:不准确与老化相关的主要参数:阻抗 基于库仑计数的电量监测它的优势是什么呢?因为它主要是根据电流积分来进行电量计算的,所以电压测量的失真对它的影响就比较小,电流有多准,是由电路积分的硬件来决定的,整 CEDV 算法如果你参数控制得比较好,误差能控制在 3%甚至更低一点,如果参数和实际电池的模型匹配可能会大一点,大概整个误差在 3~10%左右,具体取决于工作的条件和用途。它的劣势就是刚才说的,因为它是用库仑计数,也就是说充进去多少电、放出了多少电来进行容量计算的,前提是它要知道电池的满充容量,才能够算出电池里面剩多少容量。这个满充容量一般要在出厂之前更新一下,因为电池的满充容量和剩余容量偏差还是比较大的,不能够直接用电池的剩余容量当满充容量来做,所以电池出厂以前都要做一个充放电周期循环来得到电池的满充容量,根据循环来得到满充容量是电量计自己来做的,但循环是需要在生产线上配备专门的工具来做的,所以这个比较耗时间。还有电池的容量也会随着使用年限的增加而下降,当然下降得不像阻抗那样的显著,但是 100 次充放电之后也会有 3~5%的下降,这个下降也要想办法进行补偿,为什么呢?因为你在实际使用的情况下,不是每一次放电都能够得到学习的,因为我们的用电设备拿出去(手机或笔记本电脑)放电,它不一定会从满充的情况下一直放到空,或者放到 93%以下让你去更新满充容量,一般可能放电到一半,或者稍稍放一下电就立刻把适配器给插上了,这种情况下放电就很浅,它不一定有机会去更新满充容量,在没有更新的情况下,每充电 10 次监测的误差将增加 1%,这样的话 Qmax 不更新它的误差就会越来越大,所以在实际使用过程当中,如果用老式的电量计,大家如果有这样的经验,笔记本电脑拿出去一个月可能要让它全充全放一次,让它不断的去更新里面的 Qmax 的参数,做得相对准确。还有一个就是对电池的自放电进行估计,它是不准确的,因为像刚才所说的基于电压的电量监测技术,电池有多少电量,它判断电压然后去查一下表现在剩多少,至于电池在内部放了多少电,它是不用关心的。如果是库仑计的话,它主要不是根据电压来判断容量的,它是根据电流的充放电来判断容量的,电池内部的充放电,库仑计的监测芯片是监测不到这种电流的,因为库仑计是接在电池外面的,只能监测到电池流进流出的电流,电池内部耗掉的电流它是测不到的,所以每次放电放了多少它只能用一个简单的模型去估计一下,所以这个结果也不是很准确,使用年限延迟之后也会造成误差的增加,所以这里面有个比较大的因数就是电池的老化,库仑计在处理老化上面,它的办法比较受局限,老化造成的影响,一个是容量会随着老化的增加而减少,另外一个老化以后电池阻抗会增加。刚才说到电池的阻抗增加的时候,电池的 CEDV计算误差也会变大,因为在这个公式里面这个阻抗只跟温度和容量百分比有关,加进了对容量的估计,这个估计其实也是一个线性的,跟实际的电池还是有一定的差异,所以这个电池年限的增加阻抗对容量造成的贡献来讲误差会越来越大。所以 CEDV 算法它考虑到了电池阻抗对电压的修正,但它没有考虑到电池阻抗随时间变化的因素,或者说考虑得比较简单。所以传统的电量监测方法在没有负载的情况下可以用电压监测的方法来得到比较准确的容量,在有负载的情况下可以用库仑计数来得到容量,所以这两种方法算是互补的。其实在市场上可以买到的芯片基本上也是把这 2 种方法结合起来使用的。3.7 对于典型电量监测计的优势 所以不管是基于电压的电量监测计还是基于电流积分的电量监测计,里面对容量的计算影响比较大的都是阻抗,这个阻抗里面对于老化造成的影响都是基于一个简单的线性模型来做的,或者说早期的就没有这一部分老化的影响,这样由于它依据的模型相对比较简单,所以实际上跟电池的匹配成功比较差,也就是说造成的误差会随着时间年限的延长越来越明显,所以对电池电量计算影响最大的一个因数其实是电池的阻抗,如果能够随时随地的得到电池的阻抗,那我们电池的容量就可以得到比较精确的计算。 下面我们就来介绍 TI 的电量监测技术(我们叫做阻抗跟踪技术)和它的优势。 刚才讲到基于电压的电量监测技术可以在没有负载的条件下提供比较准确的电量监测,基于库仑计数的电量监测可以在有负载提供准确的电量监测,我们的阻抗跟踪技术其实整合了电压和电流方法监测的优点,它为什么能够得到 2 种方法的优点呢? 因为它实时的测量电池的阻抗,它没有去找一个电池阻抗的公式然后对一些因数进行补偿,它是找到了一个实时测量阻抗的方法,因为它是实时测量出来的,就没必要去根据模型来对它进行补偿。在知道电池阻抗的情况下,可以根据开路电压和阻抗信息来估算在给定的电流下面系统或者电池能够提供多长运行时间或者提供多少容量给系统运行。这个公式在这个地方就更加细化了一点,也就是说电池的端电压等于电池的开路电压减去内阻上面的压降,内阻上面的压降主要是由于电池的内阻造成的,内阻这个地方是由温度、容量百分比、年限 3 个因素共同决定的,但是如果你要用一个公式来表示这个内阻的话,就会相当复杂,而且效果也不理想。我们的办法其实是对阻抗进行实时的测定。 阻抗测定这东西基本的思路是怎么样的呢?电池的电压我们在实际使用的过程当中,电池端电压会随着很多情况发生改变,刚才已经讲过了,电池的端电压可能会随着电流的大小发生改变,电池的端电压当然也会随着容量百分比发生变化,在同样的百分比,同样的电流下,电池的端电压可能还和温度有关系,和电池的老化程度还有关系,但是这只是我们看到的表面现象,其实更本质的来说电池内部的开路电压曲线或者说电池的电动势它是跟这些外面的因数对它的影响相对来说不是那么明显,可以找到一些共同性的东西,不同厂商生产的电池在给定的测试条件下,比如说在同样的温度下,这个曲线误差是很小的。这条曲线 家电池制造商做出来的电池测出来的开路曲线,大家看到这些开路曲线基本上是一致的,那么它们是在同样的温度下测出来的曲线,因为它是开路电压,也谈不上电流,当然它的测定过程也是相当繁琐的,因为它要得到电流近似为 0 的状态下的开路曲线,它的测试过程还是比较繁琐的,在这条曲线上我们可以看出,这条曲线基本上不会随着制造商不同发生变化,制作赏因为工艺不同可能阻抗上会有比较大的变化,但这条开路电压曲线基本上大家都是一致的,大多数的电压偏移小于 5mV,由这个电压来进行 SOC 的预测误差一般在1.5%之内,所以一旦找到这样的曲线,对不同的电芯供应商做出来的电池就可以用同样的曲线来进行计算,这个曲线的计算可以知道电池的开路电压,可以反过去查出电池的容量百分比,主要就是这样一个曲线。知道电池电容容量百分比之后,知道电池的化学容量或者满充容量,就可以知道它剩多少 mAh 的电量,那就可以算出运行多长时间,后续的容量百分比可以进一步的计算出来。下面这张图是误差的放大图,这个误差在整个放电过程当中,这是一个电压误差,包括测定设备的影响,这个误差在±15mV 之间,这样的误差大概在容量的误差、SOC 的计算误差是在±1.5%之内,为什么呢?因为这个地方的电压误差还跟仪器的测量精度有关系,仪器的测量精度这些都考虑进来之后,所造成的容量百分比误差在 1.5%之内。4.3 怎样测量 OCV 在这种测试条件下它的负载电流变化更大,这种情况下它甚至可以延长到 290%,为什么呢?因为如果在低温下在这个地方它就要关机了,这个时间相当短,刚开始放电还没放多久就要关机了,那么如果用了阻抗跟踪技术呢,可以继续放 80 多分钟才关机,因为只要保留 10mAh 容量关机就足够了,所以这可以延长很多时间,我不是绝对的根据电压做一个刚性的指标决定它要不要关机的,是根据剩余容量来决定要不要关机的,这样的话只有用阻抗跟踪技术才可以算出到多久必须关机,所以用阻抗跟踪技术可以大大的改善用户体验,用户体验在现在的便携式的消费类电子产品当中对扩大销量、带来竞争优势它是一个很重要的因数。 所以阻抗跟踪技术它的优势就是,具体更深入的讲它在有些地方可以,刚才介绍的是比较直观的可以想到的一些优势,其实阻抗跟踪技术里面随着算法的不断改善在使用过程当中电池的温度不断的上升下降引起的阻抗变化加入了温度模型的估计,引入了热模拟来对电池的发热进行调节,而且对使用过程当中对负载的变化也做了一个学习,就是说一个用户的使用习惯下对一个用电设备,它的电流的变化是有一定的规律的,那么阻抗跟踪的芯片在使用过程当中它会慢慢去学习这个规律,掌握由于负载变化引起的电压降,这些压降其实对容量计算也是要考虑的,也要考虑这些因数的,当然之前也讲到对于老化的电池由于阻抗跟踪是实时的计算电池的阻抗的,它对老化的电池不需要用模型去进行估计,它是实测出来的阻抗,所以老化的影响相对来讲对它就比较小。由于它精确的计算容量,可以最大限度的延长使用时间,大家从刚才的那几张图上可以很明显的看到。有了阻抗跟踪的芯片我们的主机系统就不需要任何算法再去计算电池的容量,只需要简单的读取指定的寄存器就可以得到容量。有了阻抗跟踪技术你还可以对电池彻彻底底的进行一些分析,比如说电池的老化程度、电池的健康状况……等等。5.2 得到使用的电池容量的含义 还有一个优势在什么地方呢?就是随着阻抗跟踪技术的使用,电池的容量得到更准确的计算,在电池容量更准确的计算的情况下,其实这个电量计就可以给你带来成本上的节省了。对电池来讲,通常 100mAh 的容量它的成本大概在 0.15 美元左右。举一个例子,由于降低放电终止电压来得到较大的电池容量,这里的 TV 值就是放电的终止电压,降低 500mV 大约可以增加 5%的容量,比如说本来的 3.5V 降低 3V,这 500mV 这个容量可以增加 5%,就1500mAh 的电池它其实大概就节省了 5%,75mAh 的容量,这个时候就是帮你省掉了 0.1 美金。当然这个只是 0.1 美金,但随着电池的老化而言降低 500mV 增加的容量就不是 5%了,而是 50%,这样的线mAh 容量而言,随着电池容量越来越大,因为现在的智能设备耗电量越来越高,所以会越来越大,那么这个节省的钱就越来越多。5.3 由于监测不准而造成的损失 所以客户在设计系统的时候不能光考虑到一个芯片带来的多少成本,也应该考虑到它为你选用电池降低了多少成本,因为有了阻抗跟踪技术这种比较准确的电量计算芯片,选用的电池容量就可以比较精确一点,不需要留有过多的余量,由于监测不准给客户带来的损失这在现实生活当中有很多。举个例子来讲,如果客户每天进行充放电,3 个月时间大概是 90天,大概充电 90 次,电池内阻就要增加 1 倍,这个时候说 100 次电池就会老化 1 倍,如果你没有采用阻抗跟踪的电量监测计,那个时候电池的阻抗增加了 1 倍,会造成电量计算的误差,由于它原有的电量计是按照比较小的内阻来计算电量的,实际的内阻已经增加了 1 倍了,那么它计算出来的内阻势必会有比较大的误差。它会造成一种什么情况呢?它会告诉你比较多的运行时间,但实际的运行时间比这小得多,结果造成突然关机,这个突然关机对系统的影响是很大的,我们的笔记本电脑突然关机可能造成系统的崩溃,那么用户的感觉就是这个电池的使用时间大大的缩短了,而这个缩短可能不是由于电池的老化造成的。电池的保质期可能为 1~2 年,那么这个地方才使用了 3 个月的时间,就出现了系统突然崩溃这种状况,客户可能会由此要求退货,那么这样反而会造成公司的经济损失,所以这个是举个例子来讲,由于电量计不准造成经济损失。5.4 总结a、就便携式电子产品而言,准确的监测计对于获得长运行时间的重要性丝毫不弱于降低设计方案的功耗及采用强健的电池b、可用的电量监测计有很多种,它们采用了不同的监测方法和不同的折衷方案所以就便携式电池产品而言,准确的监测计对于获得长运行时间的重要性并不亚于降低设计方案的功耗和采用强健的电池。因为你要强健的电池,你就要更多的 mAh,这个其实就是要增加成本的。那如果用准确的电量计,最大限度的算出系统可用的容量,这样就可以用相当来讲容量比较低的电池,这样可以带来成本上的节省。可用的电量计方案有很多,它们一般来讲都是基于电压监测或者库仑计数两种方案的折中,很少用单纯的电压监测或者单纯的用库仑计数。我们 TI 的方法基本上是最好的结合了两者的优点做出来的一个电量监测的方法。 *博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。