Electrical – Monitoring Lithium Polymer Battery Voltage from Microcontroller

batterieslipolithium-polymicrocontroller

I am working on a project in which a microcontroller (specifically an RFduino) is powered by a LiPo battery and the microcontroller needs to monitor the voltage of the LiPo. Five of the RFduino pins are already being used for sensors so I only have two pins available for power management. If possible I’d like to use one pin to detect when the battery is charging and the other to measure the voltage.

Currently this device is using the MCP73871 chip for LiPo charing/power management and a 3V LDO voltage regulator to regulate the voltage powering the RFduino. I can run the power good signal from the MCP73871 to one of the two free RFduino pins – as seen in the diagram – to detect when the battery is charging. I would like to use the remaining free pin on the RFduino to measure the battery voltage.

Unfortunately I can not measure the battery voltage directly on the RFduino because the LiPo goes to 4.2V when fully charged and the maximum voltage the RFduino can handle is 3.6V. I was hoping to be able to uniformly shift the voltage below 3V using diodes or a voltage divider but from a couple google searches it looks like current fluctuations would make that impossible. I am not an electrical engineer and I’m way out of my element at this point. Is there a way I can modify my existing circuit to monitor the LiPo voltage on the remaining free pin? I’m out of ideas and any help is greatly appreciated! Thanks!

Best Answer

I was hoping to be able to uniformly shift the voltage below 3V using diodes or a voltage divider but from a couple google searches it looks like current fluctuations would make that impossible.

That sounds like BS, do you have a source on that? A simple resistive voltage divider can be used to linearly scale down the voltage:

schematic

simulate this circuit – Schematic created using CircuitLab

This would drop the 4.2V maximum voltage down to 2.89V, well within the range of the input. The divider output has an impedance of 69KΩ, which should be low enough for the analog to digital converter but I could not find the ADC specs anywhere in order to make sure.