如何测量电池电量?

如何测量电池的当前电量?

项目背景:

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

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

项目方案

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

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驱动试验源代码进行修改。

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

  • 28
    点赞
  • 183
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
### 回答1: 测量12v电池电量的电路原理基于欧姆定律和基尔霍夫定律。电路由测量电池电压的电压测量器和测量电流的电流表组成。 测量电池电压需要将电压测量器连接到电池的两端。根据欧姆定律,电压等于电流乘以电阻,因此电压测量器实际上是一个高电阻的电阻器,电流非常小,可以忽略不计。电压测量器将电池的电压转换成电压信号,我们可以通过仪表读取电压信号,从而确定电池的电量。 测量电池电流的方法是将电流表放在电路中断的地方,使电流必须通过电流表才能流动。根据基尔霍夫定律,进入节点的电流等于离开节点的电流,因此在电路中的任何位置测量到的电流都是相同的。 测量12v电池电量的电路可以通过将电压测量器和电流表串联在一起来实现。这个电路可以显示电池的电压和电流,进而计算出电池的电量。在电池受到负载时,电流表显示的电流可以用于计算电池在一定时间内的消耗量,并据此计算出电池的剩余电量。这样我们就能够有效地测量电池的电量并判断是否需要更换。 ### 回答2: 测量12v电池电量电路原理 在测量12v电池电量的电路中,主要包括电池电压检测电路和显示电路两部分。 电池电压检测电路 电池电压检测电路是用来测量电池电压的电路。主要由一个电压检测电路芯片、一个电池连接器和一组电阻组成。 当电池连接器连接到电池时,电池的正极与电压检测芯片的输入端相连,负极与电压检测芯片的地端相连。电压检测芯片会将电池电压经过放大处理,输出给显示电路。 电池电压检测电路还会设置过压保护和低压保护。当电池电压超过设定的最大值或低于设定的最小值时,电压检测芯片会在输出端引出电压低警告或过压警告,以提醒用户及时更换电池或充电。 显示电路 显示电路通常由数码管和驱动芯片组成。电压检测芯片的输出信号通过驱动芯片提供的电源和信号驱动显示器上的数码管,将电池电量以数码方式显示出来。 因此,整个测量12v电池电量电路原理就是:首先检测电池的电压,当电池电压超过或低于阈值时,电路会产生警示。然后,将检测到的电压值通过驱动芯片进行提供和显示,将电池电量以数字方式呈现给用户。 ### 回答3: 测量12V电池电量的电路原理主要包括几个组成部分:电池、电容、电阻和指示器。首先,电池产生电荷,然后通过电容和电阻进行调节,最后通过指示器显示电池的电量状态。 具体来说,电池的正极连接到一个电阻和电容的并联电路上,电阻用于限制电流,电容用于存储电荷。电阻和电容之间连接一个指示器,如LED灯或万用表。 在这个电路中,当电池电量越高时,电容中储存的电荷就越多,电阻的阻值得到控制,以便使指示器显示出电池电量的高水平。相反,当电池电量降低时,电容中存储的电荷变少,电阻的阻值也会相应调整,以致指示器显示电池电量的降低。 总之,通过这种电路,我们可以了解12V电池的电量状态,并及时更换电池或充电,以维持设备的正常工作。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值