搜索
bottom↓
回复: 42

3.7V锂电池给STM32供电,内部ADC计算电池电压如何接?

[复制链接]
发表于 2019-10-26 16:55:31 | 显示全部楼层 |阅读模式
        目前有个产品是用STM32L051来做主控,3.7V电池供电,记得STM32可以用内部ADC来计算前供电电压 ,电池满电4.2V经过LDO给STM32供电,有个疑问是单片机都经过了LDO,即便电池降压到了3.4V那ADC计算的也还是当前供电(当前还是3.3V)。小弟不才,望高手告知

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
发表于 2019-10-26 16:57:26 | 显示全部楼层
内部有VREF的    前端电阻分压 给单片机ADC 进行计算
发表于 2019-10-26 16:58:33 | 显示全部楼层
分压!!!测量电池不能高于MCU供电电压,高于了,就采用分压。。。然后用计算对应的值就可以啦!!!
 楼主| 发表于 2019-10-26 17:00:57 | 显示全部楼层
OneRain 发表于 2019-10-26 16:58
分压!!!测量电池不能高于MCU供电电压,高于了,就采用分压。。。然后用计算对应的值就可以啦!!! ...

我的问题就是不用分压有没可能?因为分压后好像功耗多了40UA
发表于 2019-10-26 17:03:22 | 显示全部楼层
Mego 发表于 2019-10-26 17:00
我的问题就是不用分压有没可能?因为分压后好像功耗多了40UA

ST有专门的作为参考电压的脚。。。你可以把这个脚的供电改为了5V。。。就不用分压啦!!!
发表于 2019-10-26 17:09:45 | 显示全部楼层
Mego 发表于 2019-10-26 17:00
我的问题就是不用分压有没可能?因为分压后好像功耗多了40UA

用单片机引脚控制分压网络的GND
发表于 2019-10-26 17:10:00 | 显示全部楼层
OneRain 发表于 2019-10-26 17:03
ST有专门的作为参考电压的脚。。。你可以把这个脚的供电改为了5V。。。就不用分压啦!!! ...

不合理,你这还得让再弄个5V基准?
直接电池用电阻分压即可,想低功耗了,再用mos管控制一下,测量时打开电阻分压,不测量时关闭mos管。
发表于 2019-10-26 17:15:53 | 显示全部楼层
wuha 发表于 2019-10-26 17:10
不合理,你这还得让再弄个5V基准?
直接电池用电阻分压即可,想低功耗了,再用mos管控制一下,测量时打开 ...

有可能5V是现成的基准呢。。。看实际情况吧,不过你用mos管控制,不是一样也耗电,那可是连40ua都觉得高的。。。
发表于 2019-10-26 17:20:21 | 显示全部楼层
本帖最后由 wuha 于 2019-10-26 17:21 编辑
OneRain 发表于 2019-10-26 17:15
有可能5V是现成的基准呢。。。看实际情况吧,不过你用mos管控制,不是一样也耗电,那可是连40ua都觉得高 ...


采集时才导通,也还是40uA,大部分时间都是关断了还怎么耗电?
发表于 2019-10-26 17:27:02 | 显示全部楼层
如果这个5V电压来自于外部,如何保证5v电压是高精度的?
如果这个5V是单片机自己的,那就是内部还集成升压电路,可能消耗的电流超过40uA吧?
发表于 2019-10-26 17:47:08 | 显示全部楼层
OneRain 发表于 2019-10-26 17:15
有可能5V是现成的基准呢。。。看实际情况吧,不过你用mos管控制,不是一样也耗电,那可是连40ua都觉得高 ...

什么逻辑?用MOS,平时关断,不耗电的
 楼主| 发表于 2019-10-27 09:11:06 | 显示全部楼层
我想表述的意思是STM32有个ADC_CHANNEL_17直接可以当前供电电压 。但电池过了LDO肯定给单片机的供电是3.3V。我不想用任何外设,因为接分压电阻,肯定有电流流过电阻,除非像上边说的,检测的时候才开MOS,这样又费一个引脚,有没比较好的办法直接就能获取到电池的电压。
发表于 2019-10-27 09:16:55 来自手机 | 显示全部楼层
Mego 发表于 2019-10-27 09:11
我想表述的意思是STM32有个ADC_CHANNEL_17直接可以当前供电电压 。但电池过了LDO肯定给单片机的供电是3.3V ...

什么都不想付出就想得到,怎么可能? 分压可以用兆欧级的电阻分压然后并个小电容就可以实现只有na级的电流消耗。查了很多资料后发现的最佳用法,我一直这么用
发表于 2019-10-27 09:25:25 | 显示全部楼层
Mego 发表于 2019-10-27 09:11
我想表述的意思是STM32有个ADC_CHANNEL_17直接可以当前供电电压 。但电池过了LDO肯定给单片机的供电是3.3V ...

哦, 既然是这样的话,你让ADC 隔一段时间问问锂电池: 哥,你还剩好多电?
 楼主| 发表于 2019-10-27 09:31:24 | 显示全部楼层
nanfang2000 发表于 2019-10-27 09:16
什么都不想付出就想得到,怎么可能? 分压可以用兆欧级的电阻分压然后并个小电容就可以实现只有na级的电 ...

OK,了解!那单片机直接17通道直接获取供电电压好像就觉得没多大意义了啊,做这个功能是干嘛呢
 楼主| 发表于 2019-10-27 09:32:33 | 显示全部楼层
浮华一生 发表于 2019-10-27 09:25
哦, 既然是这样的话,你让ADC 隔一段时间问问锂电池: 哥,你还剩好多电?   ...

^_^,也没错。我这个设备大多时候都是休眠,醒了也就工作2S
发表于 2019-10-27 09:35:41 来自手机 | 显示全部楼层
Mego 发表于 2019-10-27 09:11
我想表述的意思是STM32有个ADC_CHANNEL_17直接可以当前供电电压 。但电池过了LDO肯定给单片机的供电是3.3V ...

ldo出来的3.3v也不一定准,最好用内部的bandgap再校准一次
如果对功耗要求不太高,可以接大电阻分压,测得时候保持时间长一些
如果对功耗要求很高,还是需要用mos控制采样电路
 楼主| 发表于 2019-10-27 09:36:55 | 显示全部楼层
canspider 发表于 2019-10-27 09:35
ldo出来的3.3v也不一定准,最好用内部的bandgap再校准一次
如果对功耗要求不太高,可以接大电阻分压,测 ...

嗯,目前来看也只有这个是最好的办法了
发表于 2019-10-27 09:51:12 | 显示全部楼层
Achin 发表于 2019-10-26 17:09
用单片机引脚控制分压网络的GND

当采样电压比单片机VDD电压高的时候,一般都是是控制采样电路的高端的开关。如果断开低端GND的话,从电池经过采样电阻上端电阻,再经过IO口的钳位二极管,到单片机VDD会有电流流过,还是没实现不采样时无电流。
发表于 2019-10-27 09:53:25 | 显示全部楼层
最好还是直接使用支持5V供电的单片机,电池直接供电。通过测量芯片内部bandgap电压值,可以反推出电池电压。
 楼主| 发表于 2019-10-27 09:56:07 | 显示全部楼层
anjiyifan 发表于 2019-10-27 09:53
最好还是直接使用支持5V供电的单片机,电池直接供电。通过测量芯片内部bandgap电压值,可以反推出电池电压 ...

这种我也用过,只是现在用的STM32L我就在想除了MOS或者加大分压电阻,好像那个直接17通道读供电电压就没意义了
发表于 2019-10-27 10:01:52 来自手机 | 显示全部楼层
Mego 发表于 2019-10-27 09:56
这种我也用过,只是现在用的STM32L我就在想除了MOS或者加大分压电阻,好像那个直接17通道读供电电压就没 ...

这是给电池直接供电时用的。另外我用过一个芯片ADC供电是独立的,可以直接电池供电
 楼主| 发表于 2019-10-27 10:17:36 | 显示全部楼层
nanfang2000 发表于 2019-10-27 10:01
这是给电池直接供电时用的。另外我用过一个芯片ADC供电是独立的,可以直接电池供电 ...

嗯,有那种3.2V电池的
发表于 2019-10-27 10:18:38 | 显示全部楼层
我记得EFM8还是EFM32来着,ADC可以直接测量参考电压4倍的电压值,芯片内部ADC输入端加了除法电路。
发表于 2019-10-27 10:23:01 | 显示全部楼层
Achin 发表于 2019-10-26 17:09
用单片机引脚控制分压网络的GND

用IO控制GND不好,断开时,相当于电池接了一个电阻(分压上面的电阻)到IO脚,也会有功耗.
好最是断分压电阻的输入电压.
发表于 2019-10-27 23:27:46 | 显示全部楼层
本帖最后由 Achin 于 2019-10-27 23:31 编辑
anjiyifan 发表于 2019-10-27 09:51
当采样电压比单片机VDD电压高的时候,一般都是是控制采样电路的高端的开关。如果断开低端GND的话,从电池 ...


错误答复:你释放控制的时候,可以让单片机引脚切换到输入状态嘛

看错了,你说的是采样电压高于VCC,这要看你的信号源电压具体有多少,常见如果是锂电池、锂亚电池这种,受限于分压网络的阻值,影响倒不会很大。不过更通用的环境下,还是用mos来切换通断

单片机的VBAT采样,大部分情况应该是针对锂亚电池这种3.6V输出的电池的。单片机本身支持锂亚电池3.6V的供电范围。
发表于 2019-10-28 03:26:14 | 显示全部楼层
我的印象,STM32的VREF引脚好像不能大于VDD吧?前面几楼:MCU的VDD用3.3,VREF接5V?扯吗?
 楼主| 发表于 2019-10-28 14:42:54 | 显示全部楼层
这个是我现在的图纸,我把1/2分压电阻改20M了,电流的确下来了,但奇了怪,按道理是1/2分压,但实际万用表测试的电压值居然1V不到(电池电压4.1V)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2019-10-28 15:15:31 | 显示全部楼层
Mego 发表于 2019-10-28 14:42
这个是我现在的图纸,我把1/2分压电阻改20M了,电流的确下来了,但奇了怪,按道理是1/2分压,但实际万用表 ...

不知道听过阻抗匹配没有。。
 楼主| 发表于 2019-10-28 15:28:36 | 显示全部楼层
jao317 发表于 2019-10-28 15:15
不知道听过阻抗匹配没有。。

愿闻其详
发表于 2019-10-28 23:02:01 来自手机 | 显示全部楼层
Mego 发表于 2019-10-28 14:42
这个是我现在的图纸,我把1/2分压电阻改20M了,电流的确下来了,但奇了怪,按道理是1/2分压,但实际万用表 ...

电池内阻先不说,ADC有输入阻抗的,具体多大可以看一下手册
发表于 2019-10-29 09:51:04 | 显示全部楼层
ADC输入阻抗大约50K
 楼主| 发表于 2019-10-29 10:29:35 | 显示全部楼层
lbhj310 发表于 2019-10-29 09:51
ADC输入阻抗大约50K

嗯,了解的。现在还是改MOS控制
发表于 2019-10-29 10:42:05 | 显示全部楼层

STM32的ADC输入阻抗只有30K左右,你的输入信号对地阻抗要低于20K,高了数据乱跳
 楼主| 发表于 2019-10-29 11:27:33 | 显示全部楼层
jao317 发表于 2019-10-29 10:42
STM32的ADC输入阻抗只有30K左右,你的输入信号对地阻抗要低于20K,高了数据乱跳 ...

嗯,输入阻抗是一回事,另外要低功耗就必须还是考虑要用MOS
发表于 2019-10-29 12:21:20 | 显示全部楼层
楼主的应用估计只能用MOS作为开关分压电阻来实现,如果内部有基准的话,芯片的直接电池供电,不用LDO,

ADC用内部的基准,这样的话,VCC电压可以通过计算得到,如果电池到VCC中间有LDO,那就没有办法了。
 楼主| 发表于 2019-10-29 13:22:07 | 显示全部楼层
csg0203 发表于 2019-10-29 12:21
楼主的应用估计只能用MOS作为开关分压电阻来实现,如果内部有基准的话,芯片的直接电池供电,不用LDO,

AD ...

是的,3.2V电池的话就可以直接获取当前电压了
发表于 2019-10-29 14:07:12 | 显示全部楼层
canspider 发表于 2019-10-27 09:35
ldo出来的3.3v也不一定准,最好用内部的bandgap再校准一次
如果对功耗要求不太高,可以接大电阻分压,测 ...

3.3V可以不准,但是Ref1.2是准的,先测一下ref1.2,反推出AD的参考电压就可以了
发表于 2019-10-29 19:19:39 来自手机 | 显示全部楼层
低功耗必须间歇工作的
发表于 2019-10-30 08:09:13 | 显示全部楼层
tuy0326 发表于 2019-10-28 03:26
我的印象,STM32的VREF引脚好像不能大于VDD吧?前面几楼:MCU的VDD用3.3,VREF接5V?扯吗? ...

说对了,5楼就是来扯的。

除非特别说明,所有IC的输入耐压值都不能超过VDD+0.7V。
发表于 2019-10-30 08:18:33 来自手机 | 显示全部楼层
3V供电即可,用低压差LDO
发表于 2019-11-8 11:09:29 | 显示全部楼层
要想准不走弯路,要用VREF引脚配置出一个基准电压出来,不要用VCC电源来做基准电压,要不电池3.6V可以供电 3.0V也是可以给单片机供电的,你的AD电池是不可能准的,假如省分压的功耗电流就用一个MOS管隔断,采集的时候打开。
 楼主| 发表于 2019-11-8 11:24:18 | 显示全部楼层
TANG2016 发表于 2019-11-8 11:09
要想准不走弯路,要用VREF引脚配置出一个基准电压出来,不要用VCC电源来做基准电压,要不电池3.6V可以供电  ...

嗯嗯,已经解决了谢谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-28 00:53

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表