Driving 24x24 RG LED matrix?

Hello Ardiuno Forum, glad to finally make a post and stop lurking and finally join in on the community.

I'm currently working out the best way to drive a matrix of 24x24 RG LEDs (made up of 8x8 RG Matrices that I got here: http://www.ebay.com/itm/170628218127?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649 )

I have so far successfully driven/multiplexed a 4x4 RGB matrix and one of the 8x8 RG matrixes using 8 p-channel FETS, a 74LS138 decoder, and a TLC5940 (with the Mux library) so I have an understanding of how to drive LED matrices. Obviously I can just use 3 74LS138, 24 fets, and 3 TLC5940s (48 LEDS total in a row, one 5940 can drive 16 channels), but I'm trying to figure out a way to cut down on the arduino pins necessary to do this (3 per decoder).

I'm thinking of using six output pins on the Arduino to two 3-to-8 multiplexers to each of the decoders as follows:

  • mux0_O0 -> mux0_O2 to select lines of decoder 0
  • mux0_O3 -> mux0_O5 to select lines of decoder 1
  • mux0_6, mux0_7, mux1_0 to select lines of decoder 2

Logically I can't see why this isn't feasible, but if I am wrong in assuming that this is possible, correct me.

I can't find a way to cut down on TLC5940s, but I have more than I know what to do this ( ordered WAY too many when I knew nothing about what was going on, I then didn't research enough and didn't realize you could just multiplex the rows :] )

I also can't find any way to cut down on FETs - I thought about just using the same 8 FEts to drive each set of 8 rows, but I'd need some way to multiplex those as well, and I'd rather just plop another FET down per row.

Again, I'm mainly concerned about keeping the amount of output pins on the arduino. If the multiplexing setup I described works, I could in theory drive up to 40 rows at a time, bringing my maximum display resolution up to [n*8]*40, n being the number of TLCs that I have.

I also have a couple questions about the current draw of the LEDs - I understand that when multiplexing that the maximum current draw that will be reached is simply one of the row's max current draw. If I'm going for a 8x8 RG matrix, assuming that all LEDS are on in the row, that should be [16*.020]A, or 320mA. So it should follow that the current for a 24x24 matrix should be 3[16*0.20]A, or 960mA.

What I don't understand quite well is the current source/sink aspect of the circuit. I know that the TLC5940s can sink ~60mA per pin, and that in this case they should only be sinking 40mA if both red and green LEDs are on. What I don't understand is how can the FETs source more current than the power supply can provide? I'm currently using a breadboard power supply with a wall adapter rated at 650mA from SparkFun. Will this be enough to power the LEDs, or will I need a power supply that can handle more current? Or is the current allowed to be higher somehow (my FET can source 27A) if you are able to sink it within the circuit (which the TLCs can do)?

Sorry for the long post - any help is much appreciated. Let me know if I should clarify anything. Thanks!

24 x 24 is just 9 of 8x8, yes?
I would consider 9 identical of what you have now, then use a 1 of 10 decoder to pick the one data is being sent to.

CrossRoads:
24 x 24 is just 9 of 8x8, yes?
I would consider 9 identical of what you have now, then use a 1 of 10 decoder to pick the one data is being sent to.

CrossRoads - Thanks for the reply! That would work, but wouldn't that imply that I'll need 9x the components? 72 p-channel FETs, 9 decoders (plus the 1-10), and 9 TLC? The FETs alone would cost me over 50$, which isn't really within my budget for this project.

Is the method I described not an option/flawed? I'm trying to keep any further costs as far down as I can and use the least amount of hardware possible.

Well, you said you had plenty of TLC5940s, and wanted to keep arduino pin usage down.
Having 9 of what you have now means your brightness won't go down either vs cutting it by 1/3 to handle 3 times the rows.
I can't open the link you posted from here.
Do you have a schematic of what you have now and what you'd like to get to?

Another option is three sets of 8 x 24 then.

CrossRoads:
Well, you said you had plenty of TLC5940s, and wanted to keep arduino pin usage down.

I know, but I don't have that many FETs. I'm trying to get this all laid out on paper before I order any more parts - don't want another TLC5940 order frenzy happening just because I saw someone else's design using 12 TLC5940s driving an 8x8 RGB Matrix :slight_smile:

CrossRoads:
Having 9 of what you have now means your brightness won't go down either vs cutting it by 1/3 to handle 3 times the rows.

Does this also figure 9 power supplies as well? I'm mostly confused on how much current my 650mA rated wall adapter can draw... I would assume 650mA, but my FETs are rated at 20+ Amps. If this can be explained to me, I would have a lot less trouble with the design.

CrossRoads:
I can't open the link you posted from here.
Do you have a schematic of what you have now and what you'd like to get to?

I'm afraid I don't currently have a schematic of my current setup - I'll give it a shot when I get into gear tonight. Simply put, its just a standard multiplexing setup using a decoder and using FETs to source the current for each row, with each led column tied to one pin of the TLC5940. Most of my design comes from Grumpy Mike's Mini Monome schematic: http://www.thebox.myzen.co.uk/Hardware/Mini_Monome.html

CrossRoads:
Another option is three sets of 8 x 24 then.

Would this require three power supplies? (See above)

--

I guess I'm mainly concerned how to power this thing. I don't really understand how the FET is able to generate more current than what my power supply is rated at. I still haven't tried sourcing more current than my power supply mainly because I'm afraid to - if I had some sort of explanation as to the power situation I'd be pretty much set.

Thanks again for the replies.

The FETs will only pass along as much current as is needed.
Say you had a 5V source and a 5 ohm resistor - if the power supply was capable, then 1000mA of current would flow.
If the supply can only output 650mA, the voltage may drop (linear supply), go into cutoff (switching power supply), or something else. The FETs will only pass along what is available.
If you had 24 LEDs each getting 20mA, that would be 480mA.
But the TLC5940s are very rapidly switching between 16 LEDs, and you can control the current draw. So you can take whatever you have and dial down the current to not overload the supply you have using the Iref resistor and Grayscale correction.

At the same time, you can get a decent power 4A supply for not much money:
http://www.mpja.com/prodinfo.asp?number=18520+PS 5V, 4A $7
http://www.mpja.com/prodinfo.asp?number=18464+PS 5V, 4A $6
http://www.mpja.com/prodinfo.asp?number=18599+PS 12V, 5A $16

I see - thanks, that clears up a lot of confusion. I'll go ahead and look into getting a higher rated power supply then.