worldof422 发表于 2020-5-6 21:35:13

STM32F407 ADC采集电池的电压,电池存在异常耗电

一个实时时钟电路,加入了电池电量检查功能。电池采用塔迪兰的3.6V电池,现在发现电池使用时间与理论计算值严重不符。由于电池电压是3.6V,而ADC管脚是3.3V,怀疑存在漏电可能性,但用电流表没有测出电流(电流表是微安表),请问有没有大佬指导原因,帮忙分析下,谢谢。

mylovemcu 发表于 2020-5-7 08:48:42

为什么VBAT没有3.3V供电电池属于备用电源是需要和3.3V一起给VBAT供电的加二极管防止回流

hujjj 发表于 2020-5-7 08:52:12

是不是可以考虑加个分压电路,我一般是用一个微调电阻,以便作调零作用。

likang1202 发表于 2020-5-7 09:03:15

mylovemcu 发表于 2020-5-7 08:48
为什么VBAT没有3.3V供电电池属于备用电源是需要和3.3V一起给VBAT供电的加二极管防止回流

...

大佬讲的有道理

toofree 发表于 2020-5-7 09:44:34

STM32的ADC直接采电池电压,那纯属找别扭。
如果要采的话,得加高内阻运放跟随;STM32的ADC内阻太小了,内阻耗电远大于你RTC芯片耗电。

boclandc 发表于 2020-5-7 11:55:10

1.电池三个放电回路,RTC \R49 LED \R37 --ADC.2.R49 LED 看你是不烛接,RTC电流很小。可以看出主放电回路 R37--ADC
3.你测量电流没有放电,是供电状态还是断电状态测量,从电路上看,你的漏电发生在3.3V断电状态。
4.3.6V电池输入至3.3V(REF)是本身设计是有问题的。需要整改。

象牙塔-374511 发表于 2020-5-7 14:30:23

用三极管做个控制开关,需要测量时开启

worldof422 发表于 2020-5-9 22:03:17

toofree 发表于 2020-5-7 09:44
STM32的ADC直接采电池电压,那纯属找别扭。
如果要采的话,得加高内阻运放跟随;STM32的ADC内阻太小了,内 ...

在STM32不通电的情况下,3.6V在ADC管脚上会有放电吗?我在设计上,仅进行一次ADC,ADC完成后将管脚设置为高阻状态。理论上电池能用的时间还是比实际长很多

worldof422 发表于 2020-5-9 22:05:20

boclandc 发表于 2020-5-7 11:55
1.电池三个放电回路,RTC \R49 LED \R37 --ADC.2.R49 LED 看你是不烛接,RTC电流很小。可以看出主放电回路...

漏电确实是发生在3.3V断电时,但现在是测不出来,也缺乏理论依据

cloudcn 发表于 2020-5-11 18:04:13

真要测电池电压用两个50-300K的电阻分压,再用OP跟随,这样就算分压输出和地短路电压也就10uA左右,分压电阻为300K时。
为了保护IO口,引脚上会反向接两个二极管到电源和地,IO口的极限电压一般是vcc+0.3v基本断定二极管的正向电压导通电压也就0.3,
上电情况下理论上如果电池电压减去vcc如果大于0.3基本和接地差不多了 3.6-3.3=0.3(理论上)如果MCU不上电情况难说 vbat有可能顺着二极管去给VCC供电去了 大概率电会漏走

另外你3.3V供电,3.6V不分压直接接到IO上ADC采样值不会溢出吗?





页: [1] 2
查看完整版本: STM32F407 ADC采集电池的电压,电池存在异常耗电