单片机用锂电池供电,如何较为准确的监控实时电池电量?(3个回答) – 悟空问答

单片机相关 徐 自远 2918℃

单片机用锂电池供电,如何较为准确的监控实时电池电量?(3个回答) – 悟空问答

单片机用锂电池供电,如何较为准确的监控实时电池电量?

我有靠谱回答

3个回答

单片机用锂电池供电,如何较为准确的监控实时电池电量?

回答

单片机可通过ADC检测电压来监控电池电量

我们一般通过检测电压来判断锂电池的电量。单节锂电池标称电压为3.7V,充满电压为4.2V。电压大于等于4.2V我们认为电量为100%,电池电压等于3.82V时认为电量为50%,电池电压小于等于3.0V时认为电量为0%。当然不同的锂电池是有差异的,需要根据锂电池的规格来定。

要监测电池电量就离不开ADC,如果单片机本身有ADC就简单了,没有ADC的话可以外置一个ADC芯片。

锂电池电压测量电路设计

首先,需要设计一个用于测量锂电池电压的分压电路,为了省电,我们可以设计一个带开关的电路,在需要测量电压的时候再给分压电阻供电,如下图,当EN_CHK_V为低电平时,Q3截止,关断分压电阻的供电;需要测量电池电压时,EN_CHK_V设置为高电平,Q3导通,单片机的ADC通道(CHK_V)就可以检测电压了。

大家可能问,为什么要分压呢?为什么不直接测量电池的电压?这与单片机的参考电压有关系,不分压的话,电池电压高于参考电压就没法测量了,大家继续往下看就明白了。

ADC检测电压,需要有一个参考电压基准或者参照电压

任何测量,都需要有一个参照或者参考,ADC测量电压也不例外。假如参考电压为2.5V,那么ADC测出满量程就是2.5V了。因为锂电池的电压在3.0V~4.2V间变化的,所以比较适合用LDO或者TL431设计一个2.5V的参考电压。锂电池的电压经过上面的分压电路后,最大测量值就不会超过2.5V这个参考电压了。

如果单片机的ADC是12bit,那么满量程为0xFFF(4095)=2.5V,电压计算如下:

  • 0xFFF / AD值 = 2.5/V
  • V = (2.5 x AD值) / 0xFFF

当然这个测量出来的电压值是经过电阻分压的,大家还需要按分压比例算出真正的电池电压值,得到锂电池的电压值,就可以按照电量与电压的对应关系,计算得到锂电池的电量。

如果单片机内部有参照电压,就更为简单的。以STM32系列的单片机为例,STM32的内部有一个参照电压VREFINT,相当于一个标准电压测量点,它和ADCx_IN17连接,这个参考电照与参考电压是不一样的哦。有了这个参照电压,即使锂电池的电压发生变化,也可以通过参照电压计算出真实的电压值,在测量锂电池电压值之前,我们需要先读出参照电压的ADC测量数值,记为ADrefint,再去读出锂电池电压ADC数值,记为ADchx,则要测量的电压为:

  • Vchx = Vrefint * (ADchx/ADrefint)
  • 其中ADrefint是固定值,需要查看对应单片机的规格书。

如果你用的是STM32有单片机,可以去了解一下内部参照电压的使用哦。

欢迎关注@电子产品设计方案,一起享受分享与学习的乐趣!关注我,成为朋友,一起交流一起学习

  • 记得点赞和评论哦!非常感谢!
  赞 踩 19评论

 举报
电子产品,尤其是需要随身携带的电子产品都会用到锂电池,会需要对锂电池进行电源管理,会涉及到锂电池充电,放电,电压检测过程

电池电量硬件检测。

我们设计的产品,因为对电池电压的精度要求不高,都用单片机内部ADC,参考电压也采用系统LDO给单片机供电的电压,一般来说,3.3V作为参考电压即可。

对锂电池的电压检测,因为锂电池电压最高可以到4.2V,如果外接充电器甚至达到5V或者6V电压,而单片机满量程是3.3V,所以一般使用串联两个电阻进行分压,单片机采集分压电阻端的电压在进行分压比例,计算出锂电池的电压值。

软件ADC采集部分,每个单片机的配置各不相同,精度也各不一样,这里假设12位ADC进行公式计算,12位ADC共4096阶,假设分压电阻是两个100K电阻,如果采集到的ADC值是1234,那么采集到的电压值是: 2345乘3300mV,再乘以分压的系数2倍,再除以4096阶数,求得电压值是3778mV。

公式:电池电压=(当前采集值*分压值*参考电压)/ADC分阶数。

电池充电管理芯片选型

其实充电芯片品牌极多,我们在设计选型时,常常考虑 芯片稳定性,充电电流大小,充电电压范围,以及芯片成本来进行综合考虑。

我们可以使用圣邦微的SGM4056,如果电池容量不大,可以控制在350mV以内,此芯片还可以提供充电充满后反馈引脚。给单片机判断是否充满。

单片机软件对锂电池的管理

单片机在软件的电池采集管理与分析过程中,需要能够区分,未充电,充电进行中,充电满。这三个大的电池状态,怎么区分呢?

  • 锂电池没有充电时,单片机系统没有外接充电器,单片机采集到的电压是不会超过4.3V的。范围在电池截止电压~4.2V以内。
  • 当外接充电器时,检测出来的电压大于4.3V,则代表充电过程中。
  • 单片机系统处于充电中,当充电管理芯片引脚的引脚电平发生变化,如变成高电平,则表示充电满,每个品牌的充电反馈信号有可能相同,请参考对应规格书。

在正常使用的放电过程中,还需要对电压采集进行判断,防止电压过度放电损坏电池或者电池保护。一般选用3.4V作为门槛值,低于3.4V则触发电池电量报警。具体数据需要结合产品特性来选定。

以上是单片机对锂电池的管理,欢迎加个关注【科技电小二】谢谢支持。

  赞 踩 6评论

 举报
测量锂电池电量网上有几种方法。常用的有两种可以较准确计算电量。

1.电压对电量的查表法。

优点:方便,容易编程实现。

缺点:不适合所有锂电池,采集的电压波动容易造成电量变化大。

2.使用库仑计计算电量法。

优点:准确,实时展示锂电池的电量。

缺点:有数学模型,有较多的知识点需要掌握,编程实现有难度。

https://m.zjurl.cn/question/6836905655366861070/?app=news_article&app_id=13&share_ansid=6837364481316651272

转载请注明:徐自远的乱七八糟小站 » 单片机用锂电池供电,如何较为准确的监控实时电池电量?(3个回答) – 悟空问答

喜欢 (10)

苏ICP备18041234号-1 bei_an 苏公网安备 32021402001397号