常日我们检测电压直策应用电阻分压:
这个时候就碰着个问题,R1 、R2的取值问题,假设我们的BAT电池为3.7V锂电。
当R1、R2取都取10K的时候,留过R1、R2的电流为 3.7/R1+R2=3.7/20K=0.185mA

这个时候ADC采样是准的,但是我们是电池供电,这个0.185mA电流是一贯存在的,只要这个电池装上,就算仪器设备不用,都一贯耗电,如果我们一个月不用,耗电量为,30天24小时0.185mA=113.2mAh,这对我们做手持设备来讲是不可接管的。
为了降落这个耗电,我们只有提高R1、R2的阻值,把R1、R2的阻值提到1M欧姆,这个时候我们会创造ADC采样不准确了,得不到我们想要的电池的准确电压,由于每个ADC都会存在一个输入阻抗问题,ADC的输入阻抗必须低于ADC芯片的输入阻抗。
以是我们把上图的电路优化一下:
R1、R2回路电流我们通过一个I/O口来掌握,我们在须要做电池电压检测的时候我们把I/O口拉低(记得一定是推挽输出),我们不须要检测的时候我们把I/O口的电压拉高。
R1、R2还是选用10K电阻,这样我们就降落检测电路的耗电量,
还有一个情形,便是当我们的设备关闭的时候,MCU不上电的情形,这个电路须要耗电多少呢?可以去查下你利用的MCU的资料,常日在MCU不上电的情形下,每家芯片厂商的I/O特色不一样(想深入理解的同学可以关注下),常日这个I/O口的阻抗都是兆欧级别的,电流相称的低。这样纵然在MCU不上电的情形下,也可以做到我们想要的低功耗。
当然还有专门的电池电量管理芯片,我没有用过,欢迎大家相互磋商、分享、学习。