1
\$\begingroup\$

I don't understand, I have seen many people use the 74HC595 to drive 5V across 8 5mm green LEDs via 220Ohm resistors at the same time, whereas the datasheet says that the maximum Vcc current is 70mA. This should add up to in excess of 100mA...

I'd like to drive a 7 segments display via a 8 bit shift register, so if there is a reason why it works, I'd like to know. The 7 segments I've found draw 20mA per segment, but so do 5mm green LEDs!

Example: http://jumptuck.com/2011/11/03/how-to-drive-595-shift-registers-with-avr-hardware-spi/

\$\endgroup\$
  • \$\begingroup\$ You are correct. The circuit in your link is over-driven. It may work for a while or it may work forever if all LEDs are on for only short durations. \$\endgroup\$ – Transistor Apr 18 '16 at 20:18
  • \$\begingroup\$ Note that unless your seven-segment is really large, 20mA is probably an absolute maximum, and it should look just fine with 5mA or less per segment. Can you link the datasheet of the seven-segment? \$\endgroup\$ – uint128_t Apr 18 '16 at 20:21
  • \$\begingroup\$ @uint128_t: nearly all the 7 segments I've found on Farnell (3 to 4 digits) were rated 20mA... If 5mA is enough then a 74HC595 should do the trick. Is that enough? \$\endgroup\$ – user42875 Apr 18 '16 at 20:25
  • 2
    \$\begingroup\$ Some of "makers" don't pay attention to detail and exceed ratings listed in datasheets, or just to care to look at it in the first place. \$\endgroup\$ – Voltage Spike Apr 18 '16 at 20:26
4
\$\begingroup\$

You can (and should) run the LEDs at lower than the maximum current. Many modern LEDs are plenty bright at a few mA, no need to run them at 20mA unless you are planning to cast shadows across the room or blind unsuspecting users.

Exceeding the absolute maximum Vcc or GND current is not guaranteed to kill the part immediately, but it will probably affect reliability negatively. You could always use a 74LVC595A (100mA abs max) but it's still bad practice to get close to the absolute maximum values.

\$\endgroup\$
  • \$\begingroup\$ Thanks, that's clearer now. Is 5mA enough to see the digits of a 7 segments display in normal room lighting conditions? \$\endgroup\$ – user42875 Apr 18 '16 at 20:23
  • \$\begingroup\$ More than enough for the kinds we buy. \$\endgroup\$ – Spehro Pefhany Apr 18 '16 at 20:41
2
\$\begingroup\$

The entire 74HCxx series has an output current of +/- 15Ma per pin. Todays high-efficiency LED's can be blinding bright at just 5 ma of current. The IC's can output almost the full Vcc voltage of 5 volts.

The green LED needs about 2.9 volts to be on dim, and about 3.1 volts will make it bright. Except for infra-red LED's which turn on at 1.05 volts, most of todays LED's will turn on by 3.0 volts and reach maximum intensity at about 3.5volts.

This is for standard 'indicator' LED's and not "High-powered" LED's.

So your equation for drive current is simple, basically 5 volts - 3 volts gives you a 2 volt fixed voltage drop across your resistor. 2 volts through 2K ohm is 1mA, 200 ohms is 10mA, which is a bit high if all outputs are on, so a 330 ohm to 470 ohm 1/4 5% resistor works out great. This works best with LED's that have a maximum current of 20mA continous.

It will put about 4mA-6mA through each LED that is 'ON'. It is also within the safe limits of the IC in terms of combined current. I have used the 74HC series a great deal to drive simple indicator LED's. The LED's should last about 200 years at such low drive levels.

\$\endgroup\$
  • \$\begingroup\$ Thanks for the explanation (+1). Are you sure that 220Ohms gives 4-5mA? 2V divided by 220Ohms gives about 10mA, which means that 8 LEDs will be above the maximum rating of the chip (70mA). \$\endgroup\$ – user42875 Apr 18 '16 at 20:49
  • \$\begingroup\$ @user42875. I gave a range of 4mA to 5mA because of resistors tolerance issues, plus the LED's actual turn-on voltage vs. brightness. I see the OP is driving a 7-segment display, which is not as efficient as some round LED's. Also correcting my math. \$\endgroup\$ – Sparky256 Apr 18 '16 at 20:55

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.