2
\$\begingroup\$

I implemented the below latching power circuit (can be found here https://circuitcellar.com/resources/quickbits/soft-latching-power-circuits/) that has 1 button to turn the circuit on and is turned off programatically by pulling MCU_LOGIC_POWER pin low. The circuit battery is a Lipo battery and VIN goes to the voltage regulator portion of the circuit. As soon as the MCU is powered on it sets the MCU_LOGIC_PWR pin as an input pullup.

latch circuit

This is how the latch circuit components are layed out on the board

board

There are two ways to turn off the circuit: directly by software or by pressing the power button for some time - this will also trigger a software shutdown. Note that both ways end up pulling the pin low to turn it off. Everything works fine until the temperature rises to about ~40 degrees Celsius under normal circuit operation - the circuit has a rf antenna that heats up the board and thus also heats the power circuitry, since it is a small board. When such temperature is reached, the circuit turns off normally by either of the 2 ways described eariler, but as soon as it turns off, it won't turn on again until the temperature goes down (putting it in the freezer for ~30 seconds is enough for it to start working again). While it is hot, there is a low but audible buzzing sound coming from the board. This sound goes away while I press the power button, altough the board does not power on. Also worth mentioning that this circuit's MCU is an ESP-12F that has a built-in LED. While the circuit is in this non working state (where I cannot turn it on), the LED will be turned off and pressing the power button will do nothing (at least nothing visible). If I let the circuit cool down withouth putting it in the freezer, I noticed that the MCU LED will blink very fast right before the circuit enters the working state where I can power it on again. This is very likely a design problem since I have 20 of these boards and all present this behaviour. Does anyone have a clue about what I am doing wrong?

Disclaimer: I am not an electrical engineer, I only have basic knowledge of electronics.

Here are the components used:

EDIT:

While this maybe disregards the heating problem cause, i just realized that I can probably drop the entire latch circuit and use the chip enable pin of my voltage regulator to do the same job and probably eliminate the heating problem, since I strongly believe it lies on the latch circuit components. Here is my idea:

enter image description here

While the button is pressed it enables the regulator powering the MCU. The MCU sets MCU_LOGIC_PWR as an input pullup on startup. To turn it off the MCU pulls the power pin low. Am I missing something? (Other than the missing resistor from the CE pin to ground)

\$\endgroup\$
10
  • 3
    \$\begingroup\$ Pressing the power button for some time will just keep the main power control MOSFET (U1) activated and not turn the circuit off. Maybe you are missing a component in your schematic? \$\endgroup\$
    – Andy aka
    Sep 22, 2023 at 11:57
  • 1
    \$\begingroup\$ I am sorry. I forgot to mention that pressing the power button for some time triggers a software shutdown in the MCU - software is the only way to turn this off. About the U1 I believe it is ok(?) I mean it works while it works :)I will edit my question with more information \$\endgroup\$
    – ruben
    Sep 22, 2023 at 12:02
  • 1
    \$\begingroup\$ The reverse leakage current in D1 between pin 3 and 1 may be too high at rising temperature and the weak internal pullup resistor can no longer provide the required Vgs for U2. Try a standard diode type there. \$\endgroup\$
    – Jens
    Sep 22, 2023 at 15:13
  • 1
    \$\begingroup\$ @ruben: Press-and-hold is normally implemented with hardware logic, as a way to cut power to misbehaving software. \$\endgroup\$
    – Ben Voigt
    Sep 22, 2023 at 20:13
  • 1
    \$\begingroup\$ @ruben I agree, this is a contraindication. \$\endgroup\$
    – Jens
    Sep 22, 2023 at 22:32

1 Answer 1

2
\$\begingroup\$

Mosfets leak more as the temperature goes up. Perhaps the circuit is marginal as-is?

Simulate it in SPICE, adding an inverter as a stand-in for the MCU output. Then run a temperature sweep and see if there are any hints to be had. Don't expect it to fail at the same temperature - that would require models based on characterization of the very parts you're using on the board, most likely. But it should degrade if mosfet leakage is a problem, and you'd see the magnitude of the problem as well. If that's what it is.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Thanks for the tip! I will try to learn how to use SPICE to give that a go. Meanwhile I literally edited my answer while you posted this. I too am suspicious it is the mosfets that are causing the problem (with my very little knowledge). I just realized that maybe I don't need them to accomplish a soft latch circuit. If you can, please take a look at my edit and confirm I am not dreaming... \$\endgroup\$
    – ruben
    Sep 22, 2023 at 13:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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