如何测量电池电量? 您所在的位置:网站首页 电池容量测试 如何测量电池电量?

如何测量电池电量?

2023-08-22 05:14| 来源: 网络整理| 查看: 265

如何测量电池的当前电量? 项目背景:

本人在做项目的时候需要对使用到的锂电池电量进行监控,出于时间考虑,这里我采用的思路是使用原装充电器对其进行充电,而不是自己研发充电器。

这里采用一个电量测量模块(例如库仑计)在外部对电池的电量进行监控,当电量低于预警值时,自动开始充电,而当电量高于预警值时,自动断电。这里的自动充电和断电是指打开和关闭充电器的动作。如下图所示: 在这里插入图片描述

项目方案

在确定了如何来实现电池的自动充电方案以后,这里还需要做的就是如何测量电池的电量,经过查阅资料发现,测量电池的当前剩余容量一般有两种方法:

1、通过测量电池的电压来估算当前电量 电池在放电过程中,其电压会随着电池电量的降低而逐渐降低,因此这里可以通过测量当前电池电压来估算电池的电量。在这里插入图片描述 根据上面的放电曲线可以看出,电池电压是随着电池电量的减少而逐渐降低的,但是这个关系并不是成比例的。也就是说电量减少50%时,电压并没有减半。因此要想根据电压来估算当前的电池电量,必须知道你所使用的电池的放电曲线。在有了放电曲线以后,可以提前将该曲线通过一个二维数组存储起来,当每次测得电池电压的时候,就可以对应着这个曲线去查表(查二维数组),然后便可以得到当前的电池电量情况。

即便如此,我们测得的电池电量还是和实际情况有较大的差异。因为在实际使用中,我们的电流大小一般是变化的,因此我们这里使用电压来估算电量,一定是在对电池电量不敏感的情况下方可使用,否则会产生较大的误差。

2、使用库仑计来测量电量 要想精确的得到电池当前还剩多少的电量,我们可以使用库仑计来测量。首先谈谈库仑计的工作原理: 举个例子: 当你在驾车时,如果想知道当前时速是多少,那么我们可以通过码表得知,如果想知道我们已经跑了多远了,那么可以通过里程表得知。那么里程表是如何得到我们所跑过的路有多长呢?有两种方式:一是直接通过编码器测量轮子所转过的圈数,然后乘以轮子的周长便可以知道我们实际的行驶里程。还有没有其他方式呢?当然有,我们知道,当车子匀速行驶的时候,里程=速度*时间,通过这个公式便可以通过当前的速度来得知我们的行驶里程。不过这里不是简单的速度乘以时间,而是对速度进行积分来得到里程。

那么对于库仑计也是类似的,我们可以通过测量一个采样电阻两端的电压,从而得到流经采样电阻的电流(这里的电流就类似于车子的当前时速),然后对电流做积分,就可以得到我们截止目前为止,所消耗的总的电荷量(也就是电量)。然后再通过剩余的电量除以额定容量,就可以得到当前电量的百分比,这种方式来测量电池的电量比较准确。

但是在使用的时候发现一个问题,使用库仑计来测量当前剩余电量时,是不能直接得到电池电量的!要使用库仑计来准确测量电池的电量,那么必须是在电池满电量时,库仑计就开始工作,然后随着电池的使用,库仑计一直在对流经的电流进行积分,从而得到当前已经消耗了多少电荷量。换句话说,库仑计测量的是电池电量的消耗量,是时间上累积的过程,而不是电池的剩余电量。

那么就有人要问了,那我们生活中的电池充电(手机、电动车、充电宝之类的)是如何测量当前剩余电量的呢?首先这一类的应用和我的项目背景是有差异的,我的项目是利用现成的充电器来进行充电,而使用外部模块来测量电量,然后再外部通过控制开关的形式来开启和关断充电器的电源。而对于前面说的这些电池充电,其库仑计是和电池做成一体的,因此库仑计从始至终都是在工作的,其内部的数据也不会丢失,放电的时候,可以记录消耗了多少的电荷量,同样,在充电时,也可以记录增加了多少电荷量,如下面的原理图,左侧是充电过程,右侧是放电过程。而在我的项目中,充电过程是没有流经库仑计的(购买的锂电池充放电接口是分开的),因此也就不知道流进电池的电荷量有多少。因此这种情况下是不能使用库仑计来测量当前电量的!!! 在这里插入图片描述 本项目中有使用到库仑计,因此选择了一款测量范围高达60V的库仑计,由于该芯片的资料较少,因此这里将其datasheet翻译了过来,以供大家参考。

LTC2944库仑计芯片使用说明

说明: 本人在做项目时需要用到电池电量管理的功能,由于没有找到现成的电源管理模块,查找到ADI半导体公司的LTC2944库仑计芯片满足我的使用要求,但是网上资料甚少,只有说明书,因此这里将原英文数据手册翻译过来,以方便使用,这里将该说明书开源,以方便有需要的小伙伴。

下载链接:LTC库仑计芯片使用说明书

这里对该芯片的使用做以下几点说明:

1、该芯片可测量的最高电池电压为60V,通过IIC总线接口与主控板进行通信。

2、该芯片的使用相对来说较为方便,外围电路只需要一颗采样电阻,加几颗普通电阻和电容即可。

3、该芯片的使用主要是对于采样电阻和预分频系数进行选择,然后再通过IIC总线对其内部寄存器的数据进行读取即可。

4、由于我在前期对于库仑计中的 qLSB有些许疑问,因此在这里记录下来。

5、手册中的qLSB是指能够测量的最小单位的电荷量,也就是16位寄存器的最低位所表示的电荷量(即分辨率),因此通过qLSB可以知道,所能测得的最大电池容量为65535*qLSB。 这里注意一下,qLSB的值是通过采样电阻和预分频系数M计算出来的,即: 在这里插入图片描述 因此在实际项目中,不同的电池容量,不同的电流大小,所选取的采样电阻和预分频系数都是不一样的。

6、对于预分频系数的选择,可以直接使用说明书中的图表3进行选择,然后再反带回去计算采样电阻值。电阻值通过公式计算出来的是可选的最大值,准确来说是最佳值。因为电阻值越大,那么测量精度越高,但是有可能会使得16位寄存器溢出,如果电阻值太小,那么测量精度越低,可能会使得16位寄存器的利用率较低(即只使用了寄存器的低几位)。

7、源代码很简单,这里可以参考另外一篇博客:LTC2941库仑计的驱动 因为LTC2941库仑计和LTC2944的使用方法几乎是一致的,连寄存器的地址都一样,因此该博客是一个很好的参考,至于该博客汇总提到的IIC驱动有问题,可以自己借鉴正点原子的IIC驱动试验源代码进行修改。

若有不对的地方,欢迎大家指正交流。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有