Pages: [1]   Go Down
Author Topic: TLC5940 and 74HC595 Shift Register  (Read 1494 times)
0 Members and 1 Guest are viewing this topic.
Vancouver, British Columbia
Offline Offline
Newbie
*
Karma: 0
Posts: 8
Good Faith
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello forum,

First post here, and I am just looking for some help in understanding how these two components - the TLC5940 and the 74HC595 Shift Register - differ from one another.  I am just getting started with my first few projects with Arduino, working towards building a 8x8 LED grid.  Seems like one, or both, of these components should be helpful... do they essentially do the same thing?  I read some older posts where people are using both together, too.

Thanks in advance for sharing your knowledge.
Logged

Espoo, Finland
Offline Offline
God Member
*****
Karma: 7
Posts: 586
"Oops, try again..."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So far my favorite source of datasheets: http://www.datasheetcatalog.com/

Go there, and get familiar with these components.
I wonder, why do you think that you could use them? Sounds like you are trying too much in the beginning.

Cheers,
Kari
Logged


The only law for me; Ohms Law: U=R*I       P=U*I
Note to self: "Damn! Why don't you just fix it!!!"

0
Offline Offline
Shannon Member
****
Karma: 207
Posts: 12200
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Look at the LED multiplexing examples for use of the '595...
Logged

[ I won't respond to messages, use the forum please ]

Espoo, Finland
Offline Offline
God Member
*****
Karma: 7
Posts: 586
"Oops, try again..."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oops, and again, I was too busy while reading the first question. LED grid was mentioned there, so these components are needed.

Kari
Logged


The only law for me; Ohms Law: U=R*I       P=U*I
Note to self: "Damn! Why don't you just fix it!!!"

Vancouver, British Columbia
Offline Offline
Newbie
*
Karma: 0
Posts: 8
Good Faith
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

So, my current understanding is that the TLC5940 and the 74HC595 are both types of shift registers, but the TLC5940 is specially designed as a LED driver (it combines a high-power, low-side switch and a shift register... but can only be used to sink current, whereas the 74HC595 can be wired through a high-side switch to send current???).  I am pulling this from this video http://blip.tv/file/485113 (4:20 - 5:35)... Am I understanding this correctly??

I will then be unable to form a matrix using only TLC5940's because they are only low-side, and unable to send current?

Many thanks to all who have replied to this thread... datasheetcatalogue has been a big help!


Chris
« Last Edit: March 18, 2011, 06:48:04 pm by gooduinofaith » Logged

Fort Lauderdale, FL
Offline Offline
Faraday Member
**
Karma: 71
Posts: 6144
Baldengineer
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I will then be unable to form a matrix using only TLC5940's because they are only low-side, and unable to send current?

Minor point of correction, nothing "sends" current.  Current is a flow so there are "sources" and "sinks".  The TLC5940 is a current sink.  Something else must source the current, generally the power supply.

You are correct both the 5940 and 595 are basically shift registers.  The 5940 is designed specifically for high power PWM applications. The 595 is more generic.  As I recall, the 595 is not able to source very much current, so you typically need to use them with a transistor.

How you design your matrix will determine what components you can and cannot use.  For low power 8x8 you really don't need any additional components.  The only reason you start add in additional components like shift registers is so you can use less pins or buffer the I/O output.  For example, if you are just using standard LEDs and you limit the current to 5 or 10mA you can just drive the matrix directly from the Arduino's I/O pins.  (It will take all 16 available I/Os.)
« Last Edit: March 18, 2011, 11:34:19 pm by James C4S » Logged

Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.c

Vancouver, British Columbia
Offline Offline
Newbie
*
Karma: 0
Posts: 8
Good Faith
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the correction James!  Good point about being able to do an 8x8 with just the Arduino's outputs, as well.  I guess I am looking down the road hardware-wise, as I hope to eventually use common cathode RGB led's to make a similar matrix with (which I think should require 48 pins for an 8x8???  Might start with a 4x4 for those).

Thanks again,

Chris
Logged

Red Sea, Saudi Arabia
Offline Offline
God Member
*****
Karma: 12
Posts: 579
..On The Red Sea
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

... the TLC5940 is specially designed as a LED driver (it combines a high-power, low-side switch and a shift register...

IsThere any equivalent High-Side device??

Since the TLC5940 can control LED current, the high side does not need to, right???

IsTHere a nice array of high-side configuration FETs in a small package that a 595 could drive easily??

Hmmmm....
Logged

Regards, Terry King  ..On the Red Sea at KAUST.edu.sa
terry@yourduino.com  LEARN! DO! (Arduino Boards, Sensors, Parts @ http://yourduino.com

Vancouver, British Columbia
Offline Offline
Newbie
*
Karma: 0
Posts: 8
Good Faith
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I was thinking of pulling from one of "Grumpy Mike's" monome projects he had posted on his website  (http://www.thebox.myzen.co.uk/Hardware/Mini_Monome.html).  


His schematic (located halfway down the page, and downloadable in pdf) shows him using TCP6108 MOSFETS for the rows triggered by the Arduino pins (I think?)... To quote:

"The TLC5940 controls the LEDs by means of a current sink, that is, it pulls the LED to earth. Therefore, in order to multiplex it we have to connect four cathodes, one on each row, to the input of the driver chip and the other end of the LEDs have to be pulled up to 5V when it is time to light up that row. This can be done with a p-channel FET, when it’s gate is a 5V then the FET is off or high resistance, when the gate is at earth then it is turned on, or has a very low resistance. The Arduino drives these FETs by pulling one low at any one time."
Mike Cook

I must admit, my growing but rudimentary understanding of diagrams is slowing me in fully understanding his layout.  I don't think I quite understand how the current is flowing here.  These are common cathode RGB LED's, right?  Where is the current flowing from?  Is it Arduino Pin 15 - 18?  I'm a little lost...

ps:  Terry, thanks very much for you post!  It's wonderful having you weigh in on the topic, as many of your enlightening postings all over the forum have been integral in getting me this far.

Chris
« Last Edit: March 19, 2011, 05:24:34 pm by gooduinofaith » Logged

Red Sea, Saudi Arabia
Offline Offline
God Member
*****
Karma: 12
Posts: 579
..On The Red Sea
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Oh, I LIKE this FET: http://www.toshiba.com/taec/components2/Datasheet_Sync//78/11611.pdf  Now, IsThere an easy-to-connect TO92 or other 3-pin version?? It's great for heat-sinking to a PCB, though... 

OK, I need to look at the schematic more. The current basically flows from +5V through one of these FET 'switches' to a ROW of 4 LEDS. Then the TLC5940 decides how much current will flow in each LED. I Think..

Chris, thanks... what keeps a lot of us going with Arduino is knowing that we're not in a vacuum no matter where on the Earth (Or the Space Station?) we are.  Right now I'm in the Middle of the Middle East and people are getting shot North of me. And South, like 40 yesterday. And East in Baharain. And West in Libya.  It's pretty damn distracting. And disappointing.  Some feelings of friendliness and collaboration and tolerance go a long way right now.
Logged

Regards, Terry King  ..On the Red Sea at KAUST.edu.sa
terry@yourduino.com  LEARN! DO! (Arduino Boards, Sensors, Parts @ http://yourduino.com

Pages: [1]   Go Up
Jump to: