Electronic – Efficiently sensing the voltage of a battery pack

battery-operatedvoltage measurement

I'm looking to sense the voltage of a battery pack that is powering a device by the device. Depending the the level of the pack (2 cell LiPo 1200mAh) the device will change it's behavior. As the pack voltage decreases the device will shut down peripherals until it safes completely. Also when the device is being charged that it will only partially function.

The sense circuit will be attached all the time and i'm trying to minimize the drain on the battery from it. My though is to use a voltage divider with very high value resistors then buffer the signal with a low quiescent current OpAmp. I'm looking at the TI LPV511 OpAmp and a 1M and 3M ohm resistors. The OpAmp is rated at 1.5uA max and the voltage divider should be 2.5uA worst case. The uC is a 3.3v device.

Is this circuit sufficient or are there alternatives I haven't thought of?

schematic

simulate this circuit – Schematic created using CircuitLab

Best Answer

Instead of leaving the resistors attached all the time, consider turning them on and off. The procedure would be:

  • Turn on the divider by asserting the POLL signal. Enable your ADC.
  • Read your ADC (average the number of readings you need)
  • Turn the divider back off. Disable your ADC.

Repeat the above only as often as you need to update your reading of the battery voltage, which is probably rather infrequent. Therefore, the resistors are on for a really low duty cycle.

schematic

simulate this circuit – Schematic created using CircuitLab

Notes:

  • Since they are rarely on, just select R1||R2 for a reasonable resistance for your ADC to read.
  • I assume you made an error and interchanged the values of the divider in your question. You need to get the maximum input voltage down to 3.3V or whatever your ADC voltage is.