Experience with 74hc595

Hi,
I was always using tpic5695 or TLC5925 for my projects with leds, but now I'm considering use of 74HC595
I was looking around the net and there is awful lot of different answers, how much current are the chips actually able to provide.
The datasheet clearly says max. 35mA/pin, max 70mA through Vcc or Vss and power dissipation of 500mW, but I see a lot of projects around, that are exceeding these limits.
The question is: Have you ever used the 74HC595, how much current (8 LEDs ON) are you sourcing/sinking and for how long without damaging the chip?

I have used them, and I pay attention to the current limits - so no more than 8mA/output, figuring some variation in current limit resistors and Vf of LEDs.

Doesn't the datasheet say 35 mA max per pin?

I have a thread about a scrolling LED sign:

That used 595s along with transistors to drive 504 LEDs. That used multiplexing, still, a single chip might be driving 8 LEDs on at once.

Well, for TI's 74HC595, you've got:

±6-mA Output Drive at 5 V
Continuous current through VCC or GND ±70 mA
and
IO Continuous output current VO = 0 to VCC ±35 mA
and Note 1:
(1) Stresses beyond those listed under absolute maximum ratings may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated under recommended operating conditions is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.

and output voltage levels VOH and VOL spec'ed at:
VOH: QA?QH, IOH = ?6 mA
VOL: QA?QH, IOL = 6 mA

So you can try and drive at higher currents, voltage levels seen are not specified, and long term there's a good chance of part damage/failure.

If multiplexing, driving high from a shift register and sinking with a transistor, I would use a more capable part: cd74AC164, spec'ed for 24mA output drive
±24mA Output Drive Current

Doesn't have dual stages, but you have NPN/N-channel as current sink to determine when current will flow, so I don't think that's an issue. Use the 2nd DS line as an inverted chip select line - data is shifted when the pin is high.

Maybe I'm not reading this right, or this is a different chip, but this one looks like it is 35 mA per pin. Or am I misinterpreting?

On the LED strip I was working on they had 150 ? resistors as current limiters, so that would give (5 - 2)/150 = 20 mA per pin. Does that sound right?

buracek:
I was looking around the net and there is awful lot of different answers, how much current are the chips actually able to provide.

Not much.

buracek:
The datasheet clearly says max. 35mA/pin, max 70mA through Vcc or Vss and power dissipation of 500mW

Yep. There's no confusion over it or "different answers". The specification says 70mA per chip.

buracek:
I see a lot of projects around, that are exceeding these limits.

There's also millions of LEDs attached to Arduino pins without resistors, that doesn't make it right. Most of those people have never read a datasheet in their lives.

For sinking current, use a TLC5916 or TLC5940. They're current controlled and the difference in price is made up for by not having to mess around with resistors, etc. (IMHO)

For sourcing there's the TPIC6B595, but it's usually better to sink.

fungus:
Yep. There's no confusion over it or "different answers". The specification says 70mA per chip.

Per pin, in what I linked.

I agree that your linked specs say that.

I don't see how both Io (output pin current) and Icc can be per output pin however, and be different. I think your spec sheet is just confusing. There is only one Vcc pin, so why say per pin?

This one (as per Crossroads) says Io is +- 35mA per pin for Qn, and Icc is 70mA, which must be total.

http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf

The pins you're referring to are "Vcc" and "GND", not I/O pins.

I'm not sure how you could get more than 70mA per chip without overloading one of those.

In my opinion and seeing from datasheet you can drive without any problems one led per pin of the 74hc595 with current into led of 20 mA(the maximum current output from pin is 35 mA) but with 20 mA for led you can drive 3 leds from 3 pins at the same time because you have a current from the 74hc595 of 20mA x 3 = 60 mA with another led you exceed the maximum 70 mA for the 74hc595 ....for more leds you must use the multiplexing...
Probably in a lot of integrated circuit you can bit exceed the maximum rating but I think that you won't substitute the chip one time at week XD

They can obviously take some abuse - the evidence is all around us.

There's another limiting factor which is that the voltage output drops with increasing current.

Look at VOH in the datasheet. With 6V Vcc and 7.8mA draw, the voltage drops to 5.2V.

It doesn't specify values for higher currents than 7.8mA but with Vcc=5V and 20mA draw it will probably drop down below 3V.

At 3V a Blue LED won't allow 20mA to pass. If you connect a blue LED to a pin you'll never reach 20mA because there won't be enough volts to push that much current through the LED. It will reach equilibrium at a value less than 20mA.

The same sort of thing might happen to the whole chip, that's why they survive. As an experiment you could set it up to draw 20mA on each pin then turn the pins on one at a time and measure the current going into the chip (and on each pin). Draw a graph of the result and post it.

Just because the chip survives doesn't mean it's good engineering. The LEDs will get dimmer, the chip could heat up...it might even damage it in the long term.

But note that they say "stressing the parts to these levels is not recommended." The other thing to note is what they use for test conditions on other specs. I was looking at NXP's 74HC595 datasheet, and while their "limiting value" is ±35mA (section 8), all the testing is done at < 10mA (section 10).

Similarly, we have the perpetual debate regarding MCUs. For example, the ATmega328P datasheet says 40mA per GPIO pin is the "Absolute Maximum Rating" with strong words about not actually operating it that way. Test conditions are 20mA at Vcc=5V and 10mA at 3V.

Do people operate parts at the Absolute Maximum Ratings and get away with it? Yes, but that does not make it A Good Idea. The question is how long will it continue to work. You've got to ask yourself one question: "Do I feel lucky?" Well, do ya, punk? :smiley:

Hi,
Thank you all for your answers. I agree with everyone who says 35mA per pin up to 70mA per chip (for example max. 2x35mA or 7x10mA) as mentioned in the datasheet. however as someone above said there is a lot of schematics without resistors, driving 8x20mA highly exceeding the limits from datasheet and so on. Stressing the chip. So I was wondering if the "real life" practice is that the chips are capable of supplying more than the datasheet says and asking if someone is actually sucessfully stressing the 595's above the datasheet values. I'm going to use my favourite TLC5925 where I don't have to worry about limits, voltage drop or current. One 2k2 resistor on the reference pin will do the trick.
Also if I read the datasheet right: If I connect four leds with anode and four leds with cathode to the 595, I'll get up to 140mA per chip (70mA through Vcc pin when four outputs are high and sinking current through four leds to the ground and 70mA through Vss pin when four outputs are low sinking current from 4 LEDs connected to Vcc) at the same time. Am I correct?

So I was wondering if the "real life" practice is that the chips are capable of supplying more than the datasheet says and asking if someone is actually sucessfully stressing the 595's above the datasheet values.

Electronics follows the same laws of physics as most other things in life, that of the normal distribution.
Limits on current in components apply over the whole temperature range, so using excess current at low temperatures will do less damage than at high temperatures. So yes there will always be people "getting away with it" and others not. The proportion of those that do and those that don't change as the stress changes.
You will get a shortening of life of a component the closer to the stress rating you get. However one single example tells you nothing. It is like the statistics on smoking, anecdotally the "my grandmother is 95 and she smokes 40 a day" tells you absolutely nothing about the safety of smoking. Hence the: well I get 200mA from this component even though the data sheet says 70mA similarly tells you nothing.

If I connect four leds with anode and four leds with cathode to the 595, I'll get up to 140mA per chip (70mA through Vcc pin when four outputs are high and sinking current through four leds to the ground and 70mA through Vss pin when four outputs are low sinking current from 4 LEDs connected to Vcc) at the same time. Am I correct?

In principle this is correct, in practice running so many bits of the chip AT the stress rating reading is quite a dumb idea.

If I connect four leds with anode and four leds with cathode to the 595, I'll get up to 140mA per chip (70mA through Vcc pin when four outputs are high and sinking current through four leds to the ground and 70mA through Vss pin when four outputs are low sinking current from 4 LEDs connected to Vcc) at the same time. Am I correct?

So you are proposing sourcing 70mA with 4 high output pins to Gnd outside of the chip,
and sinking 70mA with 4 low output pins from Vcc outside of the chip?
That would probablyt be okay, chip internal control currents are negligible. Got a feeling the chip would get warm. 70mA comes in VCC pins, goes the Gnd else where. 70mA from elsewhere comes in and goes out the Gnd pin.

If you are proposing connecting 4 high outputs to 4 low outputs with an LED/resistor in series with each pair, the same 70mA would come in the VCC pin and out the GND pin. Still just 70mA tho, there is now way to get to 140mA.

fungus:
They can obviously take some abuse - the evidence is all around us.

There's another limiting factor which is that the voltage output drops with increasing current.

Look at VOH in the datasheet. With 6V Vcc and 7.8mA draw, the voltage drops to 5.2V.

It doesn't specify values for higher currents than 7.8mA but with Vcc=5V and 20mA draw it will probably drop down below 3V.

At 3V a Blue LED won't allow 20mA to pass. If you connect a blue LED to a pin you'll never reach 20mA because there won't be enough volts to push that much current through the LED. It will reach equilibrium at a value less than 20mA.

The same sort of thing might happen to the whole chip, that's why they survive. As an experiment you could set it up to draw 20mA on each pin then turn the pins on one at a time and measure the current going into the chip (and on each pin). Draw a graph of the result and post it.

Just because the chip survives doesn't mean it's good engineering. The LEDs will get dimmer, the chip could heat up...it might even damage it in the long term.

Thank you, this is the sort of answer I was looking for. I'll do the test when I'll have a few minutes. I wonder myself what will be the voltage drop, maximum current and power dissipation on the chip.

So you are proposing sourcing 70mA with 4 high output pins to Gnd outside of the chip,
and sinking 70mA with 4 low output pins from Vcc outside of the chip?
That would probablyt be okay, chip internal control currents are negligible. Got a feeling the chip would get warm. 70mA comes in VCC pins, goes the Gnd else where. 70mA from elsewhere comes in and goes out the Gnd pin.

This is correct. I wonder if anyone tried this. Seems to be OK according to the datasheet, unless it will exceed the max. power dissipation as you mentioned.

Well, absolute max is 70mA, no good engineer is going to run it that hot.
If you want LEDs to be powered with 20mA, than a better choice is cd74AC164, +/-24mA output per pin, or TPIC6B595, can sink 150mA per pin.

fungus:

[quote author=Nick Gammon link=topic=199610.msg1472368#msg1472368 date=1384766481]

fungus:
Yep. There's no confusion over it or "different answers". The specification says 70mA per chip.

Per pin, in what I linked.

The pins you're referring to are "Vcc" and "GND", not I/O pins.
[/quote]

It seems an odd qualification to make, since there is only one Vcc pin and only one Gnd pin.

I'm puzzled now about how my LED sign is working. I presume it was designed by professionals. At a given moment one 595 can be driving (sourcing) 8 LEDs, via a 150 ? resistor (each), and running at 5V. From my calculations above that should be 20 mA of current each, so that would be 80 160 mA and not 70 mA for the chip.

One slightly mitigating factor might be that as the multiplexing switches to different rows of LEDs some outputs will not necessarily be driven high all the time, so if a "cooling off" period was required the chip would get that.

However previous discussions have indicated that you are not supposed to exceed maximum levels, even momentarily.

One more question, from the datasheet from reply #4, what does it mean ±70 mA? What is the difference between that and 70 mA, since the chip won't be outputting negative voltages?

(edit) Corrected error. 8 x 20 mA is 160, not 80.

+/- 70 refers to VCC or GND pin, so I'd read that as 70mA in on VCC pin (70), and 70mA out on Gnd pin (-70).
What kind of voltages do you see across the LEDs & current limit resistors, with a 'scope?