7
\$\begingroup\$

I'm new to Arduino - and electronics in general - and am having a frustrating problem with two serial-to-parallel 74HC595 chips trying to drive two 7-segment LED displays. The LEDs are both common cathode, and each LED input has its own 510 ohm resistor, connected up to an output of a 74HC595. If I unplug the common cathode from A, I see the correct display in B. If I unplug the common cathode from B, I see the correct display in A. But when both common cathodes are plugged in, B starts displaying rubbish (mostly it's just blank though) while A displays correctly. It's like there's not enough power to go around. I'm using the 5V power output, because that's what the 74HC595 chips need (actually it can be between 2V and 6) and I don't want to start frying chips.

If anyone can point out what I'm doing wrong (or what I could potentially try to get it working) that would be great. I am working on a hobby project where I was hoping to have 6 of these LED and 74HC595 chips hooked up.

\$\endgroup\$
  • \$\begingroup\$ Is there any difference in behavior if you were to display "11" or "88"? \$\endgroup\$ – W5VO May 19 '10 at 3:57
  • \$\begingroup\$ how much current is your power supply rated for? what are you using? \$\endgroup\$ – vicatcu May 19 '10 at 15:24
  • \$\begingroup\$ @W5VO: if I sequentially (and cumulatively) light segments a through g, it works up to c on both LEDs. Then, when I add the d segment into the mix, LED2 goes blank and LED1 displays a to d. If I unplug the ground lead at this point, and then plug it in, LED2 lights up correctly for a brief moment then goes out again. \$\endgroup\$ – Jono May 19 '10 at 17:43
  • \$\begingroup\$ yea you clearly are current limiting your voltage supply based on the previous comment... \$\endgroup\$ – vicatcu May 20 '10 at 1:07
  • \$\begingroup\$ @vicatcu: I will have to look at the numbers; presumably it would mean measuring the current through every input and output to the circuit (3.3V, GND and also the 3 digital input pins used to drive the ICs' data/clock/latch) \$\endgroup\$ – Jono May 20 '10 at 7:11
3
\$\begingroup\$

From what you said about the resistor, figuring nearly-to-the-rail output from the CMOS 74hc595 and about 1.25V diode drop, each segment probably is pulling about 7mA. If you get two full displays going that's starting to add up. Just 14 segments at this current (not even two full digits worth) you're already breaking 100mA. Not to mention that if you are powering the 74HC595's off the same 5V source that's still more current, though thankfully not too much since it is a CMOS device.

I'd have to look at the specs of the arduino to be sure, but it wouldn't be surprising if the tiny little regulated supply on the arduino isn't up to it. Even if it were rated for it, I'd probably try to at least feed the 74HC595's with a separate 5V supply. To use a separate supply, be sure to tie the grounds together.

If you plan on running 6 digits, accounting for all segments on, you'd want something with at least 500mA or even better 1000mA. It's better to have the amp-capacity and not need it, than need it and not have it.

\$\endgroup\$
  • \$\begingroup\$ Your answer got me thinking about my next steps, which include using the Arduino as a digital switch for other self-powered devices. For instance, controlling a RC vehicle with its own LiPo battery. For now though, I will sit down and try do the math to see how a separate supply might help. \$\endgroup\$ – Jono May 19 '10 at 20:41

protected by Dave Tweed Jul 26 '14 at 10:55

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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