74HC595 Current Draw?

As I am sure has been discussed many times, the 74HC595 can output 35mA per pin, but can only handle 70mA at the Vcc pin (silly, if you ask me). My project involves me controlling 144 LED's (12x12), and I would like to use an 8-bit shift register to control the LED's.

My plan involves daisy-chaining 3 shift registers together (18 total shift registers, in 6 total groups) to drive these LEDs. This would require 8 total pins on the Arduino.

Okay, so, with a 20mA current draw per LED, that gives me 160 mA total, well over the 70 mA limit. Of course, this assumes that all LED's are on.

Question: There is a slim chance that all LED's will be on at one time. Would this circuit still function properly, or is there an alternative to the 74HC595 (or a higher current version) that I should be looking into? Of course, an inexpensive chip would be preferred, but I am open to other opinions. Thanks!

sparkfun sells a chip (uln2803) that is an npn transistor array. add some resistors and you can power an led per transistor easily. and since its dip you wont have a rats nest of wire going everywhere

also, this might interest you

Have a look at TLC5926, TLC5927, TLC5916, TLC5917. High- and constant-current shift registers.


Roc

weirdo557:
also, this might interest you

Shift Register 8-Bit High-Power - TPIC6B595 - COM-00734 - SparkFun Electronics

Would the TPIC6C595 work as well? I believe it is basically the same package, except that it handles half as much overall current (but still within my maximum operating conditions (20mA at 8 drains = 160mA), comes in a smaller package, and is cheaper ($1.07 each at Mouser).

Yes.

Would the TPIC6C595 work as well?

Yep, but it needs current-limiting resistors for the LEDs.


Rob

Graynomad:

Would the TPIC6C595 work as well?

Yep, but it needs current-limiting resistors for the LEDs.

For the TLC592* chips, since they are constant current chips, rather than loading in 1's and 0's for the output pins, I would load in hex values from 0 to 255 (for the corresponding brightness) and then latch as usual? Then, the LED's would be driven at a corresponding brightness, correct?

They seem like great chips and would actually (probably) be cheaper, considering I would need only 9 chips (16-bit) and would not need current limiting resistors. Do any of them come in a DIP package? Mouser only lists them as SMD/SMT.

I haven't used them but it seems you can adjust the brightness on the fly, or just use a single resistor.

The data sheet doesn't show a DIP version for the 16-bit chip, the 8-bit chips are available in DIP.


Rob

Graynomad:
I haven't used them but it seems you can adjust the brightness on the fly, or just use a single resistor.

The data sheet doesn't show a DIP version for the 16-bit chip, the 8-bit chips are available in DIP.

Darn, I really like these chips, but I need to have a DIP version. The 8-bit versions are twice the price (costs me four times as much) on Mouser. Do you know of any similar chips that are offered in a DIP package?

For the TLC592* chips, since they are constant current chips, rather than loading in 1's and 0's for the output pins, I would load in hex values from 0 to 255

That is not how I read the data sheet for the TLC5925. It is 0 and 1 like a normal shift register only the constant current is set by one resistor on the chip, no need for resistors on the LEDs.

Grumpy_Mike:

For the TLC592* chips, since they are constant current chips, rather than loading in 1's and 0's for the output pins, I would load in hex values from 0 to 255

That is not how I read the data sheet for the TLC5925. It is 0 and 1 like a normal shift register only the constant current is set by one resistor on the chip, no need for resistors on the LEDs.

For the 5925, that's right. Sorry about that, I misspoke. The 5926 and 5927 provide "256 analog dimming steps." Of course, that's all for naught unless I can find the same chip in a DIP package.

Try this one
8-bit shift register with +/- 24mA current capability

http://www.fairchildsemi.com/ds/74/74ACT299.pdf
$0.56 at www.newark.com
http://www.newark.com/fairchild-semiconductor/74ac299pc/ic-8bit-universal-shift-register/dp/58K3253

You could look at 12 or 20 bit shift registers like these
http://datasheets.maxim-ic.com/en/ds/MAX6920.pdf
http://datasheets.maxim-ic.com/en/ds/MAX6921-MAX6931.pdf
Use this to source current, and TPiC6B595s to sink current (or ULN2803 on output of 74HC595).

If your matrix is 12x12, why do you need more than 2 8bit parts each for the rows & columns?

Request a couple of samples from MAXIM.

Maxim not much on DIP parts. I requested a couple of samples with 0.65mm lead spacing.
I have a couple of 28 pin SOIC apapters from dipmicro to put them on.

I have several different sizes I purhased to play with, all shipped for $2.50.

Still waiting on my $20 panel of surface mount adapters to arrive from Thailand.
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=120628243230
(ordered Feb 16)

CrossRoads:
You could look at 12 or 20 bit shift registers like these
http://datasheets.maxim-ic.com/en/ds/MAX6920.pdf
http://datasheets.maxim-ic.com/en/ds/MAX6921-MAX6931.pdf
Use this to source current, and TPiC6B595s to sink current (or ULN2803 on output of 74HC595).

If your matrix is 12x12, why do you need more than 2 8bit parts each for the rows & columns?

Request a couple of samples from MAXIM.

It's for a 12x12x12 LED cube, and I am trying to keep the muxing down, so I am turning on a layer at a time (144 LED's at most).

I used the below shift register chips in my 5x5x5 led cube and they worked great. !6 bit, dip package with constant current output pins, where one external resistors sets the constant current value for all 16 bits.

$2.64 each! I'd go with 56 cents and 8 resistors personally.

Oh, and this notice on the data sheet:

This part is in production but has been determined to be
LAST TIME BUY. This classification indicates that the product is
obsolete and notice has been given. Sale of this device is currently
restricted to existing customer applications. The device should not be
purchased for new design applications because of obsolescence in the
near future. Samples are no longer available.
Date of status change: November 1, 2010
Deadline for receipt of LAST TIME BUY orders: April 30, 2011

Too bad, 16 bit shift & good current sinking, like having 2 each 74HC595 &ULN2803, or two of TPIC6B595, in one package.

Allegro has a 16-bit surface mount version, available for less, $1.23
http://www.newark.com/allegro-microsystems/a6282eestr-t/ic-led-driver-constant-current/dp/72M5990

Is like a current-sink version of the maxim current source part.

"It's for a 12x12x12 LED cube, and I am trying to keep the muxing down, so I am turning on a layer at a time (144 LED's at most)."
So you've got horizantal muxing & vertical muxing.

Using a Maxim 12-bit chip to drive anode high and allegro chip to pull low, that's just 2 chips & resister per layer, with the vertical chip cycling thru the layer output enables.