Pages: [1]   Go Down
Author Topic: 16x6 LED Matrix Sourcing and Sinking Ideas  (Read 1162 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 23
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello world,

I have made a 16x6 white LED matrix.  It works with scrolling text from here: www.instructables.com/id/Make-a-24X6-LED-matrix/ (more like destructables...right?) and is set up almost exactly the same way.  I have two (2) 74HC595 sourcing the rows and 4017 with a ULN2803N sinking the columns.  I would like to change this set up because I feel that this is very limited in further capabilities such as PWM'ing and increasing current to compensate for the 1/6th duty cycle.  I have done much research on this forum and on some other sites (mostly Grumpy Mike's site).

I would like to use Grumpy Mike's Mini Monome project as a base for mine.

I have looked at these pages:
http://www.thebox.myzen.co.uk/Workshop/LED_Matrix.html
http://www.thebox.myzen.co.uk/Hardware/Mini_Monome.html

Here are some chips I have to give you an idea:

3x TLC5940
2x 74HC595
3x ULN2803
4x TPIC6C595
3x 4017

I am not very good with code past the Arduino tutorials section, but I feel I am pretty good at adapting code to work for myself.  In the case of the Mini Monome project, I can not figure out how to adapt it to my project.

So the question: What is the most efficient way to source and sink my LED matrix with PWM'ing capabilities? (preferably with the TLC5940 I believe.)

Thanks...especially to Grumpy Mike.


P.S. I CAN rewire in order to sink the 16 rows (in the case of the TLC5940) and source the 6 columns.
« Last Edit: October 13, 2011, 09:01:35 am by mxc1090 » Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6639
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I'd rewire it to use 6 PNP transistors (e.g. BC327) sourcing the columns, and either a TLC5940 or 2x74HC595 + 2xULN2803 + resistors sinking the rows. The 6 PNP transistors can be driven (via a series resistor to the base) either from 6 Arduino pins, or from 3 pins and a 74HC138 3-to-8 decoder.

If using the TLC5940, do the sums to make sure you won't exceed its power dissipation rating at the LED current you want to use.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

0
Offline Offline
Newbie
*
Karma: 0
Posts: 23
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'd rewire it to use 6 PNP transistors (e.g. BC327) sourcing the columns, and either a TLC5940 or 2x74HC595 + 2xULN2803 + resistors sinking the rows. The 6 PNP transistors can be driven (via a series resistor to the base) either from 6 Arduino pins, or from 3 pins and a 74HC138 3-to-8 decoder.

I was trying to keep the discrete components to a minimum, so maybe a MIC2981? http://micrel.com/_PDF/mic2981.pdf It's a current source driver array (no experience with this exact one) and goes for just over $2 on Digikey.  It would bring six transistors + six resistors down to one 18 DIP socket/chip.  And yes, I would like to use six pins from the Arduino to scan instead of a counter, shift register etc.

If using the TLC5940, do the sums to make sure you won't exceed its power dissipation rating at the LED current you want to use.

Looking at the datasheet, it looks like I need some data I don't have, like current (Icc) into the TLC.

The equation is on page 15: http://www.ti.com/lit/ds/slvs515c/slvs515c.pdf
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6639
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I was trying to keep the discrete components to a minimum, so maybe a MIC2981? http://micrel.com/_PDF/mic2981.pdf It's a current source driver array (no experience with this exact one) and goes for just over $2 on Digikey.  It would bring six transistors + six resistors down to one 18 DIP socket/chip.  And yes, I would like to use six pins from the Arduino to scan instead of a counter, shift register etc.

The problem with that chip is the Vce(sat) i.e. the voltage you lose in it, which is around 2v. By the time you add the forward voltage of the LEDs and the minimum output voltage required on the TLC5940 for it to work properly in constant current mode (1v at 120mA, or 0.5v at 40mA), you'll probably find you need more than 5v supply voltage.

Looking at the datasheet, it looks like I need some data I don't have, like current (Icc) into the TLC.

The equation is on page 15: http://www.ti.com/lit/ds/slvs515c/slvs515c.pdf

It's basically the maximum current you want to drive each LED at, times the number of LEDs you are driving (16 if you are using all the pins), times the voltage drop across each output (i.e. 5v less the voltage lost in the column driver, less the forward voltage of the LED). Plus the power drawn by the TLC5940 internals.

[/quote]
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

0
Offline Offline
Newbie
*
Karma: 0
Posts: 23
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The problem with that chip is the Vce(sat) i.e. the voltage you lose in it, which is around 2v.

Discrete transistors it is!  I did not see that value I just assumed it was the the standard 0.4V...oh well.

It's basically the maximum current you want to drive each LED at, times the number of LEDs you are driving (16 if you are using all the pins), times the voltage drop across each output (i.e. 5v less the voltage lost in the column driver, less the forward voltage of the LED). Plus the power drawn by the TLC5940 internals.

Although I shouldn't assume again, I will make sure I run the TLC5940 under its spec'd power ratings.  For now assume that I don't increase the current to compensate for the duty cycle and I will let them run somewhat dimmer. 
                                                                                                 
I ordered some parts and I will update this thread when I attempt again.  Thanks for your help dc42.
Logged

Pages: [1]   Go Up
Jump to: