MAX7221 runtime shortage VCC to GND.

Thread Starter

Hamzaha

Joined Feb 28, 2020
13
Hello

I'm using MAX7221 to control 8 * 7-segments display, Controlled by ESP8266 NodeMCU 1.0

It runs smoothly and reliably for long times, but rarely before, (and yet 3 times just today) It shorts VCC to GND (to about 2.7V) , and driving its pins LOW (around 1.5V).

In consequence, It turn ESP8266 OFF, which operates on 3.3V.

The display PCB Is designed due to this schematic :
*Note : I'm using only 1 chip, no chaining.

1589891965817.png


Pics 'could' be useful :
error sign

Display PCB.



The Only solution is to unplug power for about 2 seconds.

What could be the issue ? could it be temperature-related ?
 

DickCappels

Joined Aug 21, 2008
10,152
Could it be SCR latch-up? Do you have any input signals that are lower than ground or above V+?

In principle overshoot or undershoot on an input could cause this problem.
 

JohnInTX

Joined Jun 26, 2012
4,787
You don't say what your power supply is but if it's a simple 3 terminal regulator, it could be going into thermal shutdown when many segments are lit.
 

Thread Starter

Hamzaha

Joined Feb 28, 2020
13
You don't say what your power supply is but if it's a simple 3 terminal regulator, it could be going into thermal shutdown when many segments are lit.
Yeah, It's like on-fire!
I'll try a heat-sink.

Could it be SCR latch-up? Do you have any input signals that are lower than ground or above V+?

In principle overshoot or undershoot on an input could cause this problem.
Great inspiration Mr DickCappels!

In essense, I got 1 common ground and all signals are limited to the 5V voltage regulator, or even 3.3 Regulator on NodeMCU.

I'm reading about Latch-up, It's an inspiring thought though. Thanks

@DickCappels Well, I've read about SCR Latch-up, then realized SCR is an acronym of Silicon Controlled Rectifier. Which is not the case I've. (Except if it's presented inside MAX7221 :: IDK).
 

JohnInTX

Joined Jun 26, 2012
4,787
It could be both if the display is powered by a separate regulator. The display regulator goes into thermal shutdown dropping its V+ lower than the signals from the separately powered Arduino causing CMOS SCR latchup. A twofer!
 

WBahn

Joined Mar 31, 2012
29,978
Yeah, It's like on-fire!
I'll try a heat-sink.
That's very likely your problem. What is the input voltage to the 5 V regulator? How much current is it supplying?

I'm reading about Latch-up, It's an inspiring thought though. Thanks

@DickCappels Well, I've read about SCR Latch-up, then realized SCR is an acronym of Silicon Controlled Rectifier. Which is not the case I've. (Except if it's presented inside MAX7221 :: IDK).
And SCR is the name given to a particular four-layer semiconductor structure that has certain characteristics. The name itself derives from those characteristics that are very useful and devices and circuits are designed to take advantage of it. But that same four-layer structure is present in any CMOS circuit as a parasitic construct between NMOS and PMOS transistors that are close together and connected in certain ways (including the common totem-pole output driver configuration). If the external voltage on those lines is more than a diode drop above the power supply rail then that can trigger the SCR structure resulting in latch-up and cause a power-ground short that can only be reset by powering down the chip.

The fact that you only have to power it down for two seconds and not longer indicates that it might be a latch-up situation since an overheating device would often require longer to cool sufficiently.
 

Thread Starter

Hamzaha

Joined Feb 28, 2020
13
It could be both if the display is powered by a separate regulator. The display regulator goes into thermal shutdown dropping its V+ lower than the signals from the separately powered Arduino causing CMOS SCR latchup. A twofer!
I see your point, that's possible reason if I'm using multiple regulators.

But I only have 1 main regulator there for the system.

That's very likely your problem. What is the input voltage to the 5 V regulator? How much current is it supplying?
The input voltage = 12V from a 3A power supply.

the current across the regulator's output wont exceed 400-500 mA as farthest expectations in peak. I can't measure it because all parts are assembled to the PCB.


The fact that you only have to power it down for two seconds and not longer indicates that it might be a latch-up situation since an overheating device would often require longer to cool sufficiently.
Whenever I face this issue again, I'll replug the MAX7221 cable and see the effect.
 

WBahn

Joined Mar 31, 2012
29,978
So if you are using 12 V to power provide 500 mA at 5 V, you are dropping 7 V at 0.5 A and the regulator is having to dissipate 3.5 W. That's actually quite a bit of heat to dissipate without any heat sinking. What regulator are you using?
 

Thread Starter

Hamzaha

Joined Feb 28, 2020
13
So if you are using 12 V to power provide 500 mA at 5 V, you are dropping 7 V at 0.5 A and the regulator is having to dissipate 3.5 W. That's actually quite a bit of heat to dissipate without any heat sinking. What regulator are you using?
It's L7805CV
 

WBahn

Joined Mar 31, 2012
29,978
It's L7805CV
So that's a TO-220 package with a 50 °C/W junction-to-ambient thermal resistance and a 125 °C max operating junction temperature. So assuming an ambient temperature of 25 °C that limits you to about 2 W of dissipation. I would like to keep it to no more than half of that, or 1 W. If you need to dissipate 3.5 W, I'd recommend picking a heatsink that can dissipate 7 W without hitting the limit, or at least 5 W.

Another alternative is to shift some of the power to a series resistor between the 12 V and the regulator. That regulator has a drop out voltage of 2 V, so allow 3 V which would put your power dissipation at 1.5 W, which is in the vicinity of not needing a heat sink. If you are comfortable with the max current not exceeding 500 mA (even briefly), then you would want a resistor that would drop 4 V at 500 mA, or about 8 Ω (probably 7.5 Ω). That will need to be able to dissipate 2 W, so go with a 3 W to 5 W rating.
 

Thread Starter

Hamzaha

Joined Feb 28, 2020
13
Confirmed : The voltage regulator is the responsible for this issue.

What was critical to know that :
The "5V" voltage is dropped to about 2.5V and MCU stopped, MAX7221 shows 88888888.

when I cool the regulator by bloating, The voltage goes up to normal (5V).

after I hit the 'reset' button on MCU, everything starts again successfully.

Why After I hit 'reset' button ?
because the esp8266 controls the MAX7221 by 2 of 3 pins determines the mode esp8266 enters (0 and 2) .
1591260421557.png
In case of any of 2 pins driven LOW while MCU is powered, It goes elsewhere other than correct boot mode (from SPI Flash).

But I've no report what time critically happens in, which pin, timing .. etc
 
Top