电池电量监测,电池电压、库仑计数、阻抗跟踪、电池瞬态响应
基于电压的电量监测电量百分比或容量百分比把它看成是电池电压的一个函数,这是从经验上到得到的一个公式,当然这种函数本身的表达式不一定要得到,它只要得到一个开路电压和容量百分比对应的表格就行了,这个表格各个点之间的数据可以用差补的方法得到。
对不同电压我们用不同的格数来表示电池的容量,比如说在 4.2V 的时候用 4格来表示,这是满格的电池;3.8V 的时候我可能用 3 格来表示电池的容量,3.6V 用 2 格;3.2V 可能就用 1 格来表示电池的容量,就是说用不同的格数来对应不同的电池电压,来表示电池的容量,这种方法精度比较差,通常用在低端的最早期出现的那些蜂窝电话,或者早期出现的数码相机里面。
当放电电流变化时,会出现电量跳变的问题。比如2A电流放电时当前电压为3.2V,当电流变成1A电压可能变成3.5V。因为大家看到这里实际上是用 4 格来表示电池容量的,因为 1 格就对应了 25%的容量,所以跳一格就有 25%的容量差,跳 2 格就有 50%的容量差,所以这种方法误差比较大。误差比较大的原因就是因为电池存在内阻,在电流比较大的情况下,它的格数跳变会比较多。
电池瞬态响应问题
电池在比较满充的情况下放电,前面这条曲线是表示一个放电的过程,放到这个时候电压比较低了,然后负载移除,这个时候电池的电压并不是立刻回到电流为 0 的时候,它是慢慢的回上去的。
大家平时的经验也可以证明这一点,就是说平时一个电池放电之后,然后你把负载拿掉,它的电压是在不断的变化的,那么这个电压变化稳定的过程要多长时间呢,大家看到这这一点大概是 1600 秒,基本上要稳定下来是到 3500 秒,大概有 2000 秒左右的时间,才能稳定下来,这个是电压在 3.8V 到 3.9V 左右进行的放电,也就是说电池这个时候还没有饱。根据刚才介绍的在电池比较饱的情况下,也就是在电池容量百分比比大的情况下,电池的内阻这个时候是比较小的,电池内阻比较小的情况下它恢复的还算快的。
下面这张图大家可以看到这边的电压是比较低了,从 3.3V 左右开始放电,放了一段时间后,这个时间也很短,因为锂电池电压比较低的情况下,稍微放一会电,接近到 3.2V 系统最低能够接受的电压,这个时候如果停在放电,这个电压需要多长时间回上去呢,基本上要更长的时间,比如 3000 秒以上的时间才能够把电压稳定下来,所以在这段时间之内,它的电压是不够稳定的,但是没有负载,电流是一直是 0,这个时候你去读电压,电压是一直变化的,对应的容量百分比到底是多少呢?这个时候就会产生误差。
库仑计数
库仑计数是对充进电池或者电池里面放出的电流进行积分所得到的一个能量。我们可以把电池看成我们汽车的油箱,这个油箱充进多少油,放出多少油,就可以算出里面剩多少油,这也是一种比较直观的根据生活经验得到的一种算法。
首先把一个电池充到满,充满过程中就能够知道电池的现有容量,就是电池的满充容量,然后在放电过程当中把电池的放电容量从现有容量中扣去就可以得到现在电池里面还剩多少容量。它的思路其实就是电流对时间的一个积分来得到放出多少容量,从而得到电池里面剩多少容量。
用这种技术每次放电结束的时候放出容量都会有一个记录,这个记录的容量就作为电池的满充容量,所以每次放完结束的时候 Qmax 会被更新,也就是电池的化学容量和最大容量都会被更新。
实际在更新电池的满充容量或化学容量的时候,不一定会把电池完全放空了再去更新,因为这时更新电池电压就很低了,有可能系统要关机或者有什么情况,这个时候就已经太晚了,通常的更新是在电池容量放到还剩 7%左右进行更新,这个更新的思路是说到容量到了 7%,意味着放掉了 93%的容量,如果对刚才放掉的容量进行积分就会放掉容量的 mAh 数,用这个 mAh 数除以 93%就可以得到满充容量,这样也达到了学习的效果,所以一般学习不会放到 0%的时候再去,一般在 7%的时候去学习。
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 种方法结合起来使用的。
阻抗跟踪算法
这个算法其实它是依据实时的对电池的内阻测量来得到电池的容量,它的公式就是图中这个公式,刚才已经列举过,也就是电池的端电压 V 等于电池的开路电压减去电流乘以电池的内阻,这个电流是指电池流进或者流出的一个总电流。
这个公式里面 Vocv 指的是电池的开路电压,I 是指充放电电流,Rbat 是指的电池的内阻,V 是指电池的端电压。
电池的阻抗实际是受很多因素影响的,受到环境温度、电池的容量百分百、电池的老化程度的影响。它是这些变量中一个非常复杂的函数。现在要得到这个函数的具体表达式是非常困难的,所以实际经常用实测的方法来得到阻抗,也就是用差分表的方法来得到阻抗。那么这个电池的内阻通常在 100 次充放电之后会增加 1 倍,这是一个经验值。同一批电池之间的偏差控制得比较好的大概可以控制在 10~15%左右,不同电池的制造商生产的电池内阻的偏差往往会更大。所以电池是在生产当中很难把它的偏差控制得小的一个变量,电池的内阻是一个非常难控制的变量,也是非常重要的一个变量。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qlexcel/article/details/148228376
这种计算方式测量出来的电池电量更精确。
页:
[1]