I'm using a lithium polymer battery with an LDO regulator. I want the regulator to shut down when the battery voltage gets too low. I'd prefer to monitor the battery voltage using a microcontroller that's already in my circuit rather than adding a separate voltage supervisor or comparator to control the regulator's Enable pin.

The problem is that the microcontroller is powered by the regulator's output VDD, so before the regulator is enabled, the microcontroller is off and its GPIO pin can't control the Enable pin. The battery's on/off switch is an SPDT switch and not momentary. Is there a solution to this that would "cost less" than adding a voltage supervisor/comparator to control the regulator's enable pin? And not adding a momentary switch? I know this won't work:

enter image description here

  • \$\begingroup\$ First, ADC_IN is unlikely to be capable of taking a voltage higher than your VDD, if you're lucky a protection diode will end up powering your VDD net, if you're unlucky it will ruin your microcontroller. I'd advise you to use a voltage divider to monitor 1/2 battery voltage or some fraction of the battery voltage that's less than VDD. \$\endgroup\$ – Andrew Macrae May 21 '19 at 19:00
  • \$\begingroup\$ Would be a LDO with undervoltage lockout be an option for you? \$\endgroup\$ – Christian B. May 21 '19 at 19:04
  • 1
    \$\begingroup\$ @Andrew yes good point...@Christian I don't see any LDO that has an undervoltage lockout at the voltage I want (about 3V)...it's surprising to me that there's no regulator that shuts down around 3V to prevent overdischarge of lithium ion/polymer batteries. \$\endgroup\$ – donut May 21 '19 at 19:15

A supervisory/comparator or circuit is required if you want to do LDO enable control. One other option are LDO's with undervoltage lockouts which essentially have a comparator built in. Like the one in this question.

LDO with low-voltage cutoff?

Your right, you can't use a microcontroler to do undervoltage control, because it needs voltage to run. You need an external circuit. Another option is to use a pmosfet to do the control, which doesn't require a comparator.

  • \$\begingroup\$ Interestingly, I can't find an LDO that has an undervoltage lockout threshold at about 3V, which is a desired threshold to prevent overdischarge of a lithium ion/polymer battery. \$\endgroup\$ – donut May 21 '19 at 20:12
  • 1
    \$\begingroup\$ Look for LDO's with a UVLO pin, this one hase a settable range: mouser.com/new/Analog-Devices/adi-adp7104-regulators \$\endgroup\$ – Voltage Spike May 21 '19 at 21:32

I like this problem and it's kinda common to see something like it where an enable has to be constructed from a set of input signals.

Obviously your microcontroller can establish a PWR_Run signal from it's GPIO output, but it can't do that all the time. You should decide under what other conditions you want your LDO to turn on and stay on, and then build an or gate out of diodes and resistors.

My first thought would be to sense the rising edge of the input to the LDO as it's connected to VIN using a capacitor and an RC filter to let it turn on for a moment as the switch is connected and setting up the GPIO pin. As VIN charges the LDO input it will also charge EN starting everything up. Then before the resistor pulls the value of EN down to below the turnon threshold the microcontroller can assert GPIO keeping it high until the switch is turned off.


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ Depending on the microprocessor GPIO circuitry, the regulator may never turn on because P1 might be at high impedance at power off. \$\endgroup\$ – Voltage Spike May 21 '19 at 19:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.