0

I'm trying to build a simple LED controller using this shift register, however when I remove the 5V power source, the device breaks down. The error message was : "This device broke because of: Voltage at pin STCP is 5v, while maximum is Vcc = 0v". There isn't any current in the circuit to break it down. Can anyone explain to me why it behaves that way?

Basically, I connected the output of the register to resistors and LEDS. Here is my wiring diagram: enter image description here

Here is my code:

const int SER  =8;   //Serial Output to Shift Register
const int LATCH =9;  //Shift Register Latch Pin
const int CLK  =10;  //Shift Register Clock Pin

void setup()
{ 
 //Set pins as outputs
 pinMode(SER, OUTPUT);
 pinMode(LATCH, OUTPUT);
 pinMode(CLK, OUTPUT);
 
 digitalWrite(LATCH, LOW);                //Latch Low
 shiftOut(SER, CLK, MSBFIRST, B10101010); //Shift Most Sig. Bit First
 digitalWrite(LATCH, HIGH);               //Latch High - Show pattern
}

void loop()
{
 //Do nothing
} 
4
  • 1
    Where are you getting this error message? Are you using a simulator? Which one? This is probably because the voltage limits on the signal pins depend on Vcc (supply voltage). Having powered signal lines connected to an unpowered chip can backfeed the power through the signal pins, which is bad.
    – chrisl
    Nov 15, 2022 at 8:49
  • This set up doesn't work in real life so I rebuild it in TinkerCad and get that error message. So next time if I want to rewire something, should I just turn all the power off?
    – Speh
    Nov 15, 2022 at 9:24
  • Are you talking about a real life circuit? Yes, you should turn the power off when rewiring. The circuit in your question does not work because it is not complete and unpowered, hence the error message when you try to build it in a simulator. What is the actual problem?
    – StarCat
    Nov 15, 2022 at 10:16
  • @StarCat I intentionally disconnect the shift register from the 5v power source. This makes the shift register breaks down and I'm trying to understand why.
    – Speh
    Nov 15, 2022 at 11:03

1 Answer 1

0

Yes, you should not disconnect Vcc from a chip as long as you have active signal lines running to it, which have a voltage level different than ground. To be safe: Just remove the power from your whole circuit before removing the power lines - or only remove the power lines once you have removed all other connections.

This depends on the used chip. But most chips with digital data/signal lines have internal protection diodes connected to the pins. If you provide a voltage above the limit, then a current can flow through the protection diode into the Vcc line of the chip. This is done to protect the internal hardware connected to the pin (since the whole chip can endure more than a single pin by its own).

With removing the Vcc connection to the chip you are lowering Vcc to ground level, so way below the level of a HIGH signal line. Thus the current can flow through the pins protection diode to Vcc and feed power to the chip through the signal pin. But the protection diodes are not made for enduring a significant power draw for more than very short spikes. So when doing that you can fry the protection diodes. And you cannot predict, if it will fail short (creating a short between the pin and Vcc, preventing further communication through this pin) or fail open, in which case the chip might still work (if the pins internal hardware is still OK).

For that reason some datasheets will define the voltage limits of the digital input pins dependent on Vcc. In the datasheet of the 75HC595 section 7.3 "Recommended Operating Conditions" you will see the "V_I Input voltage" with the limits to be 0V and Vcc.

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.