3.7V锂电池给STM32供电,内部ADC计算电池电压如何接?
目前有个产品是用STM32L051来做主控,3.7V电池供电,记得STM32可以用内部ADC来计算前供电电压 ,电池满电4.2V经过LDO给STM32供电,有个疑问是单片机都经过了LDO,即便电池降压到了3.4V那ADC计算的也还是当前供电(当前还是3.3V)。小弟不才,望高手告知 内部有VREF的 前端电阻分压 给单片机ADC 进行计算 分压!!!测量电池不能高于MCU供电电压,高于了,就采用分压。。。然后用计算对应的值就可以啦!!! OneRain 发表于 2019-10-26 16:58分压!!!测量电池不能高于MCU供电电压,高于了,就采用分压。。。然后用计算对应的值就可以啦!!! ...
我的问题就是不用分压有没可能?因为分压后好像功耗多了40UA Mego 发表于 2019-10-26 17:00
我的问题就是不用分压有没可能?因为分压后好像功耗多了40UA
ST有专门的作为参考电压的脚。。。你可以把这个脚的供电改为了5V。。。就不用分压啦!!! Mego 发表于 2019-10-26 17:00
我的问题就是不用分压有没可能?因为分压后好像功耗多了40UA
用单片机引脚控制分压网络的GND OneRain 发表于 2019-10-26 17:03
ST有专门的作为参考电压的脚。。。你可以把这个脚的供电改为了5V。。。就不用分压啦!!! ...
不合理,你这还得让再弄个5V基准?
直接电池用电阻分压即可,想低功耗了,再用mos管控制一下,测量时打开电阻分压,不测量时关闭mos管。 wuha 发表于 2019-10-26 17:10
不合理,你这还得让再弄个5V基准?
直接电池用电阻分压即可,想低功耗了,再用mos管控制一下,测量时打开 ...
有可能5V是现成的基准呢。。。看实际情况吧,不过你用mos管控制,不是一样也耗电,那可是连40ua都觉得高的。。。{:titter:} 本帖最后由 wuha 于 2019-10-26 17:21 编辑
OneRain 发表于 2019-10-26 17:15
有可能5V是现成的基准呢。。。看实际情况吧,不过你用mos管控制,不是一样也耗电,那可是连40ua都觉得高 ...
采集时才导通,也还是40uA,大部分时间都是关断了还怎么耗电? 如果这个5V电压来自于外部,如何保证5v电压是高精度的?
如果这个5V是单片机自己的,那就是内部还集成升压电路,可能消耗的电流超过40uA吧? OneRain 发表于 2019-10-26 17:15
有可能5V是现成的基准呢。。。看实际情况吧,不过你用mos管控制,不是一样也耗电,那可是连40ua都觉得高 ...
什么逻辑?用MOS,平时关断,不耗电的 我想表述的意思是STM32有个ADC_CHANNEL_17直接可以当前供电电压 。但电池过了LDO肯定给单片机的供电是3.3V。我不想用任何外设,因为接分压电阻,肯定有电流流过电阻,除非像上边说的,检测的时候才开MOS,这样又费一个引脚,有没比较好的办法直接就能获取到电池的电压。 Mego 发表于 2019-10-27 09:11
我想表述的意思是STM32有个ADC_CHANNEL_17直接可以当前供电电压 。但电池过了LDO肯定给单片机的供电是3.3V ...
什么都不想付出就想得到,怎么可能? 分压可以用兆欧级的电阻分压然后并个小电容就可以实现只有na级的电流消耗。查了很多资料后发现的最佳用法,我一直这么用 Mego 发表于 2019-10-27 09:11
我想表述的意思是STM32有个ADC_CHANNEL_17直接可以当前供电电压 。但电池过了LDO肯定给单片机的供电是3.3V ...
哦, 既然是这样的话,你让ADC 隔一段时间问问锂电池: 哥,你还剩好多电? {:lol:} nanfang2000 发表于 2019-10-27 09:16
什么都不想付出就想得到,怎么可能? 分压可以用兆欧级的电阻分压然后并个小电容就可以实现只有na级的电 ...
OK,了解!那单片机直接17通道直接获取供电电压好像就觉得没多大意义了啊,做这个功能是干嘛呢 浮华一生 发表于 2019-10-27 09:25
哦, 既然是这样的话,你让ADC 隔一段时间问问锂电池: 哥,你还剩好多电? ...
^_^,也没错。我这个设备大多时候都是休眠,醒了也就工作2S Mego 发表于 2019-10-27 09:11
我想表述的意思是STM32有个ADC_CHANNEL_17直接可以当前供电电压 。但电池过了LDO肯定给单片机的供电是3.3V ...
ldo出来的3.3v也不一定准,最好用内部的bandgap再校准一次
如果对功耗要求不太高,可以接大电阻分压,测得时候保持时间长一些
如果对功耗要求很高,还是需要用mos控制采样电路 canspider 发表于 2019-10-27 09:35
ldo出来的3.3v也不一定准,最好用内部的bandgap再校准一次
如果对功耗要求不太高,可以接大电阻分压,测 ...
嗯,目前来看也只有这个是最好的办法了 Achin 发表于 2019-10-26 17:09
用单片机引脚控制分压网络的GND
当采样电压比单片机VDD电压高的时候,一般都是是控制采样电路的高端的开关。如果断开低端GND的话,从电池经过采样电阻上端电阻,再经过IO口的钳位二极管,到单片机VDD会有电流流过,还是没实现不采样时无电流。 最好还是直接使用支持5V供电的单片机,电池直接供电。通过测量芯片内部bandgap电压值,可以反推出电池电压。 anjiyifan 发表于 2019-10-27 09:53
最好还是直接使用支持5V供电的单片机,电池直接供电。通过测量芯片内部bandgap电压值,可以反推出电池电压 ...
这种我也用过,只是现在用的STM32L我就在想除了MOS或者加大分压电阻,好像那个直接17通道读供电电压就没意义了 Mego 发表于 2019-10-27 09:56
这种我也用过,只是现在用的STM32L我就在想除了MOS或者加大分压电阻,好像那个直接17通道读供电电压就没 ...
这是给电池直接供电时用的。另外我用过一个芯片ADC供电是独立的,可以直接电池供电 nanfang2000 发表于 2019-10-27 10:01
这是给电池直接供电时用的。另外我用过一个芯片ADC供电是独立的,可以直接电池供电 ...
嗯,有那种3.2V电池的 我记得EFM8还是EFM32来着,ADC可以直接测量参考电压4倍的电压值,芯片内部ADC输入端加了除法电路。 Achin 发表于 2019-10-26 17:09
用单片机引脚控制分压网络的GND
用IO控制GND不好,断开时,相当于电池接了一个电阻(分压上面的电阻)到IO脚,也会有功耗.
好最是断分压电阻的输入电压. 本帖最后由 Achin 于 2019-10-27 23:31 编辑
anjiyifan 发表于 2019-10-27 09:51
当采样电压比单片机VDD电压高的时候,一般都是是控制采样电路的高端的开关。如果断开低端GND的话,从电池 ...
错误答复:你释放控制的时候,可以让单片机引脚切换到输入状态嘛
看错了,你说的是采样电压高于VCC,这要看你的信号源电压具体有多少,常见如果是锂电池、锂亚电池这种,受限于分压网络的阻值,影响倒不会很大。不过更通用的环境下,还是用mos来切换通断
单片机的VBAT采样,大部分情况应该是针对锂亚电池这种3.6V输出的电池的。单片机本身支持锂亚电池3.6V的供电范围。 我的印象,STM32的VREF引脚好像不能大于VDD吧?前面几楼:MCU的VDD用3.3,VREF接5V?扯吗? 这个是我现在的图纸,我把1/2分压电阻改20M了,电流的确下来了,但奇了怪,按道理是1/2分压,但实际万用表测试的电压值居然1V不到(电池电压4.1V) Mego 发表于 2019-10-28 14:42
这个是我现在的图纸,我把1/2分压电阻改20M了,电流的确下来了,但奇了怪,按道理是1/2分压,但实际万用表 ...
不知道听过阻抗匹配没有。。 jao317 发表于 2019-10-28 15:15
不知道听过阻抗匹配没有。。
愿闻其详 Mego 发表于 2019-10-28 14:42
这个是我现在的图纸,我把1/2分压电阻改20M了,电流的确下来了,但奇了怪,按道理是1/2分压,但实际万用表 ...
电池内阻先不说,ADC有输入阻抗的,具体多大可以看一下手册 ADC输入阻抗大约50K lbhj310 发表于 2019-10-29 09:51
ADC输入阻抗大约50K
嗯,了解的。现在还是改MOS控制 Mego 发表于 2019-10-28 15:28
愿闻其详
STM32的ADC输入阻抗只有30K左右,你的输入信号对地阻抗要低于20K,高了数据乱跳 jao317 发表于 2019-10-29 10:42
STM32的ADC输入阻抗只有30K左右,你的输入信号对地阻抗要低于20K,高了数据乱跳 ...
嗯,输入阻抗是一回事,另外要低功耗就必须还是考虑要用MOS
楼主的应用估计只能用MOS作为开关分压电阻来实现,如果内部有基准的话,芯片的直接电池供电,不用LDO,
ADC用内部的基准,这样的话,VCC电压可以通过计算得到,如果电池到VCC中间有LDO,那就没有办法了。 csg0203 发表于 2019-10-29 12:21
楼主的应用估计只能用MOS作为开关分压电阻来实现,如果内部有基准的话,芯片的直接电池供电,不用LDO,
AD ...
是的,3.2V电池的话就可以直接获取当前电压了 canspider 发表于 2019-10-27 09:35
ldo出来的3.3v也不一定准,最好用内部的bandgap再校准一次
如果对功耗要求不太高,可以接大电阻分压,测 ...
3.3V可以不准,但是Ref1.2是准的,先测一下ref1.2,反推出AD的参考电压就可以了 低功耗必须间歇工作的 tuy0326 发表于 2019-10-28 03:26
我的印象,STM32的VREF引脚好像不能大于VDD吧?前面几楼:MCU的VDD用3.3,VREF接5V?扯吗? ...
说对了,5楼就是来扯的。
除非特别说明,所有IC的输入耐压值都不能超过VDD+0.7V。 3V供电即可,用低压差LDO 要想准不走弯路,要用VREF引脚配置出一个基准电压出来,不要用VCC电源来做基准电压,要不电池3.6V可以供电 3.0V也是可以给单片机供电的,你的AD电池是不可能准的,假如省分压的功耗电流就用一个MOS管隔断,采集的时候打开。 TANG2016 发表于 2019-11-8 11:09
要想准不走弯路,要用VREF引脚配置出一个基准电压出来,不要用VCC电源来做基准电压,要不电池3.6V可以供电...
嗯嗯,已经解决了谢谢
页:
[1]