1
\$\begingroup\$

I have a small circuit which is normally powered by a CR2032 coin cell but also has a SWD header for programming. I made a simple power path switch so that when I am programming, VDD is supplied by the programmer.

The schematic looks like this:

schematic

I found that the CR2032 coin cell gets severely degraded after unplugging the 3.3v power. Oscilloscope showed a huge influx of current from the decoupling capacitors (~200uF) in the circuit, caused by the Q1 becoming "reverse conductive" immediately after the 3.3v is removed and the voltage difference causes the current to flow back into the battery.

I'm stuck in trying to resolve this, adding a capacitor in parallel with R1 doesn't solve the issue because the current consumption of the circuit (MCU + Radio) powered by VDD isn't constant (varies between 5uA and 50mA). Thus, you cannot select a single time constant to work for this.

I do not want to add a diode between VBAT and VDD because there cannot be any significant voltage drop during normal operation.

How can I prevent current from flowing back into the coin cell while at the same time not dropping VDD when the switch from 3.3v to VBAT power is made?

Update: I am targeting a quiescent current in the single-digit uA range when the power is supplied by VBAT.

Update: Here is the OP-AMP based circuit based on Andy's suggestion:

opamp based schematic

Update: Here is improved version of the OP-AMP circuit which adds D2 to eliminate current inrush from VDD to the coin cell when VCC is connected (caused by the limited slew rate of OA1). Note that OPA349 should be used as OA1 and low-leakage schottky diode should be used for D2 (this was the best I could find in CircuitLab).

I'm not happy with the BOM cost of this solution but it might be the best I am able to achieve here.

schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
8
  • \$\begingroup\$ Maybe add a low power comparator that waits until the two voltages have equalized before turning on the MOSFET? \$\endgroup\$
    – Andy aka
    Jan 19 at 15:22
  • \$\begingroup\$ is the extra circuitry going in the device, or the programmer? \$\endgroup\$
    – Pete W
    Jan 19 at 15:54
  • \$\begingroup\$ @Andy: Comparator is a nice idea, I had a hard time finding one low power enough at a reasonable cost. Building one from discrete components is not out of question here. \$\endgroup\$ Jan 19 at 16:36
  • \$\begingroup\$ @Pete: The schematic posted above goes into the device. \$\endgroup\$ Jan 19 at 16:38
  • 1
    \$\begingroup\$ @ErikHenriksson take a look at my answer here for a comparator circuit that is low cost and very low power. Another similar answer here that can be used to turn off a cell when it gets too low. The point being that it uses a comparator that is sub 1 uA and, if a voltage reference is needed, it is also sub 1 uA. \$\endgroup\$
    – Andy aka
    Jan 19 at 16:54
0
\$\begingroup\$

Another circuit proposal, this time with a low Iq LDO regulator with Vout 2.8V. It only works for battery voltage > 2.8V, but this could be acceptable?

schematic

simulate this circuit – Schematic created using CircuitLab

[![enter image description here][1]][1]

\$\endgroup\$
15
  • \$\begingroup\$ I think (?) the problem posed by the question is, that Vdd capacitors charge to 3v3, and as soon as you disconnect from the programming header, the cap abruptly discharges into the battery's lower voltage. \$\endgroup\$
    – Pete W
    Jan 19 at 20:37
  • \$\begingroup\$ Correct, the circuit described here is IIUC identical with my original schematic \$\endgroup\$ Jan 19 at 22:47
  • \$\begingroup\$ I edited my answer with a schematic. The Vdd capacitor does not discharge into the battery's lower voltage and the circuit is not identical with the original schematic. \$\endgroup\$ Jan 20 at 6:35
  • \$\begingroup\$ I don't understand how this works. When you remove VDD, R1 is pulling down the gate so M1 will "immediately" be conductive. What is preventing C1 from draining into the battery? \$\endgroup\$ Jan 20 at 11:47
  • 1
    \$\begingroup\$ I updated the circuit with a new version that does not let current flow into the battery according to the simulation. \$\endgroup\$ Jan 20 at 20:07

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.