先声明一下:本检测方法精度很低,只能用于要求不高的场合。
电路只要一个电阻和一个电容,和占用一个IO口,电路如下:
方法: 1、先将IO口设为输出并置成低电平,对电容C放电; 2、再将IO口设为输入,同时启动MCU内部的计数器; 3、电池电压Vbat将通过电阻R对C充电,同时MCU检测IO口的状态; 4、当检测到IO口为高时,停止计数; 5、将IO口重新设为输出0; 6、此时计数值与Vbat的值相对应。
Vbat的计算方法:可以通过查表加插值方法计算出电压值,表的制作方法是:用一组已知的电压测出对应的计数值,写入到程序里。
如果要提高检测的精度,可以单独对每个产品独立调校,将得到的表格数据写入到EEPROM内。
本方案可以用于无AD的MCU,又需要电池电压检测的低成本的应用中。 |