How to get enough current to 25 to 30 RGB LEDs?

If I go with 25 RGBs with the 5 TLC5940s, if I turn them all on at the same time, would it be 25RGBs x 3 (num of LEDs) x 20mA = 1500 mA = 1.5 A?

Yes.

If I go with multiplexing. If I understand correctly, if I want to turn on ALL the LEDs, each row would only be truly on 1/3 of the time, so to compensate it gets pulsed with 3 times as much mA to compensate. So when all lights in one row are ON, it would be 25 leds x 60mA = 1500 mA = 1.5 A?

No. LED"s usually could not be overdriven more than 2x times.
And with low multiplexing ratio (3x is low, compare to 8x or in some cases to 16x) you most likely wouldn't be able to tell a difference in brightness if you don't overdrive at all. Visual perception is quite non-linear things/curve, so 0.5 A may be o'key.

I agree. IF you turn them all at once, yes it would draw 1.5A.
Do you have any code yet ?

If I go with multiplexing. If I understand correctly, if I want to turn on ALL the LEDs, each row would only be truly on 1/3 of the time, so to compensate it gets pulsed with 3 times as much mA to compensate. So when all lights in one row are ON, it would be 25 leds x 60mA = 1500 mA = 1.5 A?

You're still not getting it. You CAN'T DO THIS with the TLC5940 because of the resistor on pin-20. The current limiting resistor I keep mentioning that you keep ignoring. How can you put 60 mA into a led connected to a TLC if the current is limited to 20mA?

READ UP ON THE TLC5940 before you start making plans. You're getting the cart before the horse.
THIS IS FROM THE TLC5940 LIBRARY:

The 2K resistor between TLC pin 20 and GND will let ~20mA through each
LED. To be precise, it's I = 39.06 / R (in ohms). This doesn't depend
on the LED driving voltage.

  • (Optional): put a pull-up resistor (~10k) between +5V and BLANK so that
    all the LEDs will turn off when the Arduino is reset.

Again, thanks to everyone for their comments, help. I am doing lots of reading, and some of the info seems to be conflicting a bit.

I read a post yesterday, and they were discussing multiplexing, and how it is a myth that multilpexing uses less power/current. They mentioned that the specs of the LEDs, with DC max is around 20mA, but when pulsing it you can go up to 10 times higher. The way they explain it (I might be condensing it too much), they made it seem that in order to compensate multiplexing, you end up having to send more mA's. With DC you would send constant 20mA for maximum brightness, but when you multilpex you would send higher mA to compensate the fact that it is getting pulsed (again I might be making up my own jargan here).

Also, on other random posts/info that I've read, I often came up with folks recommending not to use the 5V from the arduino to light up many LEDs, as it may overdraw/damage the unit. I don't expect to become an expert on electronics after this project. I will end up doing many things because I am "told to" do it that way, even if I don't understand the how/why.

From what I've read, seems the TLC5940's can be daisy chained without a real limit (I assume at one point there are better options). So not knowing much about current, voltage, etc, I still would find it hard to believe that a 5v supply from the arduino could light up unlimited amount of LEDs as long as TLC5940s are being used. (To confuse me even more, seems many instructions suggest powering up the arduino with the USB cord, and I seem to think Voltage coming out of USB is 3.5, might be wrong)

I do need lots of help, and I don't want to keep bothering the same people that have helped me, so my second best choice is to put up posts with questions to see who is able and willing to help me out.

I finally understand the diagram that was created for me. But, for example, the MOSFETS I am using call for a 5v input/connection but it doesn't specify if it should come from the arduino, or another source, hence this post.

Maybe it has been my luck, but it seems that more often than not, the same folks reply to most of the posts that I've read. I don't want to upset the "forum" ways. It seems I can keep asking new questions on my original thread (On the Project Guidance section), or I can start new threads for specific questions. For example, this post, I could have asked on my original post of where to get the power from, or I could have started a new post on the LEDs section (I chose the later). So if anyone knows which would be the best way for me to post let me know

Now to address actual comments ..

raschemmel:

If I go with multiplexing. If I understand correctly, if I want to turn on ALL the LEDs, each row would only be truly on 1/3 of the time, so to compensate it gets pulsed with 3 times as much mA to compensate. So when all lights in one row are ON, it would be 25 leds x 60mA = 1500 mA = 1.5 A?

You're still not getting it. You CAN'T DO THIS with the TLC5940 because of the resistor on pin-20. The current limiting resistor I keep mentioning that you keep ignoring. How can you put 60 mA into a led connected to a TLC if the current is limited to 20mA?

READ UP ON THE TLC5940 before you start making plans. You're getting the cart before the horse.
THIS IS FROM THE TLC5940 LIBRARY:

The 2K resistor between TLC pin 20 and GND will let ~20mA through each
LED. To be precise, it's I = 39.06 / R (in ohms). This doesn't depend
on the LED driving voltage.

  • (Optional): put a pull-up resistor (~10k) between +5V and BLANK so that
    all the LEDs will turn off when the Arduino is reset.

Yes, I don't quiet understand it all well yet. I do understand that resistor in pin #20 is very important. I was under the impression that the resistor made sure no more than 20mA go out per channel at a time, but that I would still be responsible that the power supply supplied enough mA to turn on all the channels. 16 channels x 20 mA = 320 mA. If I am understanding correctly, if I want to turn on ALL 16 LEDs that might be connected to a TLC5940, I would need to make sure the TLC5940 is getting at least 320 mA, and the resistor on pin 20 would guarantee that no matter what each channel wouldn't get more mA. As for how would I send out 60mA? Well I figured it would be part of my math/setup. For regular use, they suggest a 2k resistor for a 20mA mas output, so figured I could control the overall amount of mA that get to the chip (ie 1500 mA) and then I could do the math for the resistor to use in pin #20 to allow for up to 60mA vs 20mA at a 2k resistor (Hey, for a newbie not a bad way to think correct?)

From your replies, it seems the current/power supplied by the arudino would be enough to cover my 30 RGBs. You obviously know much more about the subject than me, so by no means I am questioning your knowledge. I am trying to explain my train of thought so that other newbies can take advantage of the information I am discovering myself.

Would it be safe for me to assume that for my project, 25 to 30 RGBs the power/current available from the arduino itself would be plenty, but if I wanted to go much larger (ie 20 TLC5940s daisy chained) I would probably need a separate power source?

raschemmel:
I agree. IF you turn them all at once, yes it would draw 1.5A.
Do you have any code yet ?

Ok, so it seems 1000 mA is the same as 1 A.

So if I did go with 25 RGBs with 5 TLC5940s, and turn them all at the same time, it would draw 1.5 A. 1.5 amps doesnt say much to me really. Can the current supplied by arduino cover the 1.5 amps?

As for code, none yet. I've found one good source that uses TLC5940s but no multiplexing. I plan to integrate multiplexing on his code, and I am sure that when time comes to it, I will be asking for help.

Magician:

If I go with 25 RGBs with the 5 TLC5940s, if I turn them all on at the same time, would it be 25RGBs x 3 (num of LEDs) x 20mA = 1500 mA = 1.5 A?

Yes.

If I go with multiplexing. If I understand correctly, if I want to turn on ALL the LEDs, each row would only be truly on 1/3 of the time, so to compensate it gets pulsed with 3 times as much mA to compensate. So when all lights in one row are ON, it would be 25 leds x 60mA = 1500 mA = 1.5 A?

No. LED"s usually could not be overdriven more than 2x times.
And with low multiplexing ratio (3x is low, compare to 8x or in some cases to 16x) you most likely wouldn't be able to tell a difference in brightness if you don't overdrive at all. Visual perception is quite non-linear things/curve, so 0.5 A may be o'key.

Again, please don't take offense, but I read a detail post that says that it is a myth that multiplexing saves current/power. According to them, the myth is that since you power different sets/rows at different times, you end up needing/using less current. For example, you mentioned .5A should work, since I will only be powering up 1/3 of the LEDs at one time, but they reading stated that to compensate for "less time" you send more current, and they do mention that Max DC is different from pulse, and that pulse can be up to 10 times higher than DC.

Mind you, this is a DIY project for fun, so I don't need to run brightness at is optimal potential. I have a general understanding of the 30fps and the visual effect. It just seems I might be going a bit TOO much reading, and I might be confusing complex/optimal configurations with simple ones.

raschemmel:
Read my reply to your OTHER POST. You have not given us any code. You don't understand how the TLC5940 works. You don't need to calculate anything and you could run both off the arduino because the leds are not all going to be on at the same time.
If you use a separate power supply (+5Vdc) for the TLCs, you need a common ground with the arduino or it won't work. You can
forget about the math. You have a schematic. build it as you see it on the schematic. As I said several replies ago , there is only
ONE current limiting resistor for ALL the leds and that the one I told you about on pin 20. You don't need to calculate current because the leds won't be on all at the same time.

I do appreciate folks letting me know what "will work" for my project, but might not work for lager projects. If you could clarify a bit better, it would help me and future readers. You state I don't need to calculate anything, and for 30RGBs that might just be the case. If I do multiplex seems I would be using up to 500 mA if I turn on the whole row (all 30 LEDs, 10RGBs), and if I don't multiplex and turn on everything on at once (all 90Leds /30RGBs) I would use 1.5 A. From what you say, seems Arudino 5v supply would cover these two scenarios.

But what if my project was much larger? Would at some point I need to do some math? (Remember, I am not trying to question your knowledge, just asking questions other newbies might have).

My main goal is to complete the project (less the coding) during the 10 days my son will be here. I am willing to do as I am told (ie just use the arduino power source to light up all my LEDs), but would also like to learn while I am at it. (ie 30 RGBs can be handled by the arduino power supply, but X amount of LEDs would require a separate power source).

Also, being that I am a newbie, I have found it very difficult to find info on power sources (maybe I am not using the right key words). If I did end up with a "Large" project, that would require a separate power source and math, how would I do it? I am not looking for someone to type up answers just for me, keywords I can use to search, or links to write ups would be very helpful.

Someone mentioned that for me to use a different power source, I would need a common ground, otherwise arduino wouldn't work. If I google "common ground' I would get lots unrelated hits. How would I search to find more info on what you mentioned? I don;t know much about electronics, but I know if I get a regular DC lighbulb, and connect the negative side of one battery, and the positive side of another battery it wont light up. With that in mind, I assume "common ground" wouldn't be as simple as connecting the ground from the arduino to the TLC5940, and the 5v, positive wire, of a 2nd power supply to all the anodes.

Well, you got one thing right. If you have more than one TLC, you need to allow for 16*20=320mA per chip so you would need a separate 5Vdc supply rated for whatever your max is, and you would have to make sure that your ps and arduino share a commonground. Other than THAT calculation, you don't need to calculate anything because it comes down to 20mA per led or multiples of 320mA, (ie 320,640,960,1280,1600 etc...As far as "pulsing" (x2,x3 etc) that is prevented by the current limiting resistor on pin 20, so that's not going to happen with the TLC5940. If you wanted to do that you would need a circuit that amounts to a digital ps that can vary the voltage to the led by sending a digital command to the circuit that commands the power supply to multiples of the voltage for one led. The other way to do it is use an analog voltage to drive power transistor or mosfet by varying the voltage sent to the base resistor of the transistor or if using a mosfet which is voltage controlled, not current controlled (as is the transistor) you would vary the voltage to the mosfet . Look at figure -8 of attached datasheet. It shows the current transfer curves. If you follow the voltage (left to right) where it intersects with the current (bottom to top) you will see that it starts to turn on at 2V and goes up to 50A at 5v (Vgate to source; the drive voltage on the Gate). The analogWrite command outputs a PWM signal which is not analog , but rather a variable duty cycle signal that if filtered with a resistor and a cap, can be smoothed out to an analog voltage with some ripple on it. The amount of the ripple depends on the R & C values. You only have 6 analog outputs but you can drive multiple mosfets with each one because the gate requires very little current. You should use at least a 1k resistor on the gate of each mosfet. You should get (or build) a 5Vdc power supply that is rated for whatever your maximum current load is.

I finally understand the diagram that was created for me. But, for example, the MOSFETS I am using call for a 5v input/connection but it doesn't specify if it should come from the arduino, or another source, hence this post.

As I said, it CAN come from the arduino but needs filtering , otherwise all you will get is flickering due to the PWM signal is a 0V to 5V many times a second (the duty cycle depends on the 0 to 255 value used in the command.) There is just so much information involved with what you are attempting that I can't help but say that you are seriously underestimating the complexity and difficulty of what you are thinking of doing. You are treating it as if it is trivial when in fact people spend months (or years) learnign some of these things. You are talking about breadboarding a complex circuit as if you were building legos. I did exactly what you are talking about and much much more 30 years ago when I first started in electronics. The difference is that I spent THOUSANDS OF DOLLARS JUST ON BOOKS AND PARTS and I spent every waking moment thinking about the circuits I was building . I was building several circuits a day only to take them apart and build something else the next day. I bought 166 OP AMPS (at 25 cents each) one day because they were $3.75 op amps on clearance sale because the store just wanted to unload them to make room for other stuff. I was building a dozen op amp circuits a week, including a 10-band octave audio equalizer that was tested by a certified audio engineer to be studio quality. I built six different current limited power supplies into a wooden cigar box using wood screws as terminals because I couldn't afford the real thing. When I was finished I took a metal can opener and ran accoss all the output terminals shorting them in a shower of sparks and when I removed it and measured the outputs they had all returned to the adjusted levels. I bought electronic parts like most people buy groceries. I came home every weekend with armfuls of books. I had over a 500 reference books on everything you could think of. I built a color organ that took 2 weeks only to give it away because I had no room to keep it because I was renting a room in a house. So the circuit you are talking about building I would eat for breakfast, but for you, someone who only 24 hours ago didn't know what the zig-zag symbol meant, I think it is "challenging' to say the least. More power to you. Most people wouldn't dream of attempting that with no experience. And we haven't even talked about software yet. You either very very ambitious or just plain naive. Some people might even say you have "more guts than brains", but one thing is above question and that is your noble intent to do something for your son. It's something your 10 yr son can not possibly understand because he doesn't realize the difficulty of it .
The only thing that I can tell you that might shed a positive light on an otherwise scary situation is that when I worked at Heathkit back in 1980 , the Vice President of a bank came in one day and said he wanted to build a home security system. He made it clear that money was no object and he could just pick up the phone and ask someone to install one but he didn't have a hobby and thought it would be interesting to build one himself. I think it was the same month that Gene Roddenbury came in to pick up his Ham tranceiver. Anyway, I asked the banker if he had ever done any soldering and he replied no. I asked him if he had ever done anything with electronics and he said no. I told him that if he bought the $20 soldering course and took it home and built it, (the course contains parts that you install in pc boards and solder) as if it were the security system, reading every word carefully, that if he do that successfully he was ready to build the alarm system. He bought the course, came back a week later and said it worked the first time he powered it up and wanted to buy the alarm system kit. I sold him the kit and he came back two weeks later and said it worked perfectly the first time he powered it up.

RFP30N06LE.pdf (189 KB)

Thank you for your input.

I've been doing more reading, and I seem to be even more confused yet interested. Seems if I send 5v current to arduino, with 1.5 or 2A it wouldn't make a difference, as the arduino would only use the mA that it needs. That contradicts what I've read before, that going over the V limit on LEDs will burn them, as well as going over the mA. (At the moment not a big deal).

I am keeping my fingers crossed that the mouser package does get to my mom by Saturday, so that I can go with the multiplexed version. That one would cap at 500 mA at any given time, and seems it would be low enough to be able to use the single power supply for the arduino.

But so that I can learn a bit more. If I did go with 5+ TLC5940s. I would start adding up the mA, so for 3 I would need just under 1A. Assuming 1 go with many TLCs, I would also need many power supplies. How would I make them common ground?

As for the rest of your reply, I truly did enjoy reading it. I don't mean to insult or undermine anyone. I do know I am going for a rather large project for it being my first project. I know 30 years ago, even 20 years ago I couldn't have come even close to do what I pretend to do. The internet has made it possible for total newbies like myself to take advantage of thousand of years of combined experience from posters/repliers like yourself. I thankfully have the advantage to use forums like this one to post questions and get answers, whereas 30 years ago, you needed to know someone that knew the stuff or hit the books like you did.

There are SO many projects I've wanted to do, but couldn't even attempt because I didn't know how to control hardware with software. This is a field that really interests me, and I already have a few more projects I plan to work on the near future, like the RFID tag doggy door.

For about the last 4 days I've done little else during my awake hours than to read up about the project I want to do. The more I read the more I understand I have to look at it as a two step project. First half is to build the thing with my son, and 2nd half will more than likely be me programming the code, then sending it to my son for him to upload. With my experience it is impossible for me to build one full mirror and program it from now till the end of the month when my son flies back to Miami.

My goal is that between now and Sunday that my son arrives, to gather as much information as I can on how to put together the circuit/diagram. I want to make sure I have everything set up correctly (as it stands, if I do get the MOSFETs I can use arduino power supply, but if I end up having to daisy chain 5 TLC5940s, I will need to find a power supply of 5v and 1.5A or little over. If too much over I could use resistor to manage?). That way, when my son comes, it will seem as if I am the bad ass dad that knows exactly where everything goes, and exactly what parts to use, etc.

Once I know exactly which parts to use (where to get my 5vs from, resistor sizes, etc) It should be all about putting it together. I don't have much experience soldiering, but recently I put together 92 LEDs onto the plastics of my motorcycle to replace the turn signals. I did solder a single resistor to each LED. Anyhow, I am sure I can complete the diagram in the 10 days, even if I have to go with little sleep. My hope is that by doing all my homework/research now, when I put it together I should be confident enough that I can send my son home with it, hoping that shortly after I can build one exactly the same, then code it for both of us.

Again, hope I don't come across as insulting, but I am looking at the "putting together" aspect as a lego project. With the forum help I am getting info on which "legos" I need, and how to put them together. I am confident CrossRoad diagram is correct, so now I am gathering the info on the "details". On the code side, it seems there is enough out there for me to copy, paste and adjust code to get "something" going. Then with time and much trial and error, we can start getting into much better set ups. Something I hope my son gets into, and we end up outdoing one another with the fine tuning and the custom animations we can come up with.

You have seen my other post, and the diagram. I would trust your judgement 100%. If you want to help me out and just fill in the blanks for me, I would follow your lead without asking "why". For example, most examples suggest using the USB power source, but I think that is only about 3.5 (ok so I quickly checked it is around 5v, up to 500mA per port). OK, but once the mirror is done, it wouldn't be connected to a computer via USB, so what power supply would be suggested? (I know there is a 9 volt battery connector to the aruduino, so it doesn\t necessarily have to be a 5v input it seems). It also seems for power supply, it would make a big difference weather I go with a 2 TLC5940s and multiplex, of if I daisy chain 5 TLC5940s instead with no multiplex.

I did plan to do the math/research on the size of resistors I should use. For the ones on pin 20 on the TLCs you suggest a 2k resistor if I remember correctly. What about the rest?

Use the values in the schematic as is.

BUILD THIS.
We need it working by COB tomorrow...
The lights IN EACH RING are 16 segments of neon connected in 4 sets of opposing 4 so that when you sequence the 4 sets it creates the illussion of rotation, like a flying saucer. The lights are installed inside a tube steel frame welded together with triangular cross section with the round neon inside the triangle and corner of the triangle forming outer ring of the circle. The need to be suspended from chains inside Paramount Studio Sound Stage 13 (the one where they filmed the first Star Trek Movie) and Leonard Nimoy and William Shatner will be the guest speakers at the banquet. There are six rings, starting with the smallest at 3 feet in diameter (at the farthest corner of the studio way up in the corner, and the largest is 30 feet in diameter and suspended about 10 feet off the dance floor (off camera). The smallest is "rotating" (sequencing) the fastest and the largest is "rotating" the slowest. When I give you the signal , I want you to hit the switch on the controller to sequence all six rings ONE AT A TIME, each ROTATING at a different speed. In the dark room it will look like a flying saucer coming in for a landing and hovering right over the dance floor. Tomorrow we'll talk about the water fountain you see in the lower left corner of the photo.

The resistors at the Gate of the MOSFETs: 150 ohm.
Common ground means connect all the grounds together, usually at the power supply.
Each TLC5940 and its 16 LEDs can draw up to 320mA (with Iref set to 20mA) for the LEDs and somewhere in the 25 to 60mA range for the chip itself, see page 4 Icc.
So up to 380mA x 2 = 760mA if you multiplex across 3 banks.
See Figure 3 of the datasheet to select other values and the resulting current.
USB can only supply 500mA.
Onboard regulator is rated for 800mA, but will likely go into thermal shutdown, or go up in smoke with that much current.
Suggest a seperate 1 to 2A supply for the LEDs. Connect that supply Gnd to the Arduino Gnd so they share a common reference point.
9V battery is only good for a few hundred mAH, would drain quite quick. You definitely want a wallwart here.

You definitely want a wallwart here.

WARNING: WALWARTS DON'T HAVE REGULATORS ! (AT LEAST MOST OF THEM DON'T).
They are simple transformer +rectifier rated for some specific load current. Measure the voltage that comes out of an UNLOADED 9V walwart and it is probably about 10.5Vdc until you connect the load, and then the voltage is a function of the load. Conclusion:
the only way you are going to get +5.0Vdc +/- 0.250V (TTL SPEC) s to find a +5V dc Logic supply or build one yourself.
You can look online. I wouldn't connect a 6V walwart to a 5V logic circuit. That's asking for trouble.

Quote from: Magician on March 19, 2014, 08:49:45 pm
Quote
If I go with 25 RGBs with the 5 TLC5940s, if I turn them all on at the same time, would it be 25RGBs x 3 (num of LEDs) x 20mA = 1500 mA = 1.5 A?
Yes.
Quote
If I go with multiplexing. If I understand correctly, if I want to turn on ALL the LEDs, each row would only be truly on 1/3 of the time, so to compensate it gets pulsed with 3 times as much mA to compensate. So when all lights in one row are ON, it would be 25 leds x 60mA = 1500 mA = 1.5 A?
No. LED"s usually could not be overdriven more than 2x times.
And with low multiplexing ratio (3x is low, compare to 8x or in some cases to 16x) you most likely wouldn't be able to tell a difference in brightness if you don't overdrive at all. Visual perception is quite non-linear things/curve, so 0.5 A may be o'key.

Again, please don't take offense, but I read a detail post that says that it is a myth that multiplexing saves current/power. According to them, the myth is that since you power different sets/rows at different times, you end up needing/using less current. For example, you mentioned .5A should work, since I will only be powering up 1/3 of the LEDs at one time, but they reading stated that to compensate for "less time" you send more current, and they do mention that Max DC is different from pulse, and that pulse can be up to 10 times higher than DC.

I understand your confusion, but let me re-phrase. The question isn't how much current you willing / have/ wish to supply to LED's. There is a data sheet for your led's. If you don't have - find one. It would tell you exactly max. current you can inject. It's not a democracy, and there is no referendum, it's technical specification that must be followed.
Example:

PART NO. LURF22841 Page 2/5
Absolute Maximum Ratings at Ta=25 °C
Forward Current I F 50 mA
Peak Forward Current
Duty 1/10@10KHz I FP 130 mA

As you can see, max current limited by 130/50 = 2.6 x
According to logic of simple math, it's should be 500 mA , but the problem is , that led's 'd failed

It's not a democracy, and there is no referendum, it's technical specification that must be followed.

Funny , Magician , but totally true and appropriate. Good job pointing that out.. It's an uphill battle. CancunManny is building a space shuttle in his back yard.

All the wallwarts I use are switching regulator based.
Some examples:
http://www.dipmicro.com/store/index.php?act=viewCat&catId=518
Pololu - Regulators and Power Supplies - Arizona!
http://www.mpja.com/5-Volt-DC-Plug-Power-Supply-4A-Regulated/productinfo/18520%20PS/ - Florida!

Only old junk left over from old electronics is still transformer based.

Well slap me silly ! That's great news ! I had no idea they finally did the obvious.

raschemmel:

It's not a democracy, and there is no referendum, it's technical specification that must be followed.

Funny , Magician , but totally true and appropriate. Good job pointing that out.. It's an uphill battle. CancunManny is building a space shuttle in his back yard.

LOL hey, I am actually building two of them, don't forget! Will I run into problems, for sure! Will they get done in 10 days, hopefully yes, realistically probably not.

PART NO. LURF22841 Page 2/5
Absolute Maximum Ratings at Ta=25 °C
Forward Current I F 50 mA
Peak Forward Current
Duty 1/10@10KHz I FP 130 mA

As you can see, max current limited by 130/50 = 2.6 x
According to logic of simple math, it's should be 500 mA , but the problem is , that led's 'd failed
[/quote]

It is not like I am trying to "change" the specifications, I am just having a hard time understanding it all (as I should since I have no idea what I am doing really). I still don't understand the relationship between volts and current very well. Going by memory, but the RGBs I will be working with, two colors run off of 3.4 volts, the other at 2.2 volts, and I think all with a forward current of 20 mA.

The TLC5940's will put out 20mA per channel, but don't two of the LEDs need higher voltage? That is why I started to think I had to do something to compensate for the lower voltage LEDs.

CrossRoads:
The resistors at the Gate of the MOSFETs: 150 ohm.
Common ground means connect all the grounds together, usually at the power supply.
Each TLC5940 and its 16 LEDs can draw up to 320mA (with Iref set to 20mA) for the LEDs and somewhere in the 25 to 60mA range for the chip itself, see page 4 Icc.
So up to 380mA x 2 = 760mA if you multiplex across 3 banks.
See Figure 3 of the datasheet to select other values and the resulting current.
USB can only supply 500mA.
Onboard regulator is rated for 800mA, but will likely go into thermal shutdown, or go up in smoke with that much current.
Suggest a seperate 1 to 2A supply for the LEDs. Connect that supply Gnd to the Arduino Gnd so they share a common reference point.
9V battery is only good for a few hundred mAH, would drain quite quick. You definitely want a wallwart here.

Ok, so to have a common ground, i just have to make sure I connect all grounds together? If I was working with 3 power supplise, a 3v a 5v and a 12v. Would I just connect the 3 grounds together, run leads to anything that needs ground, then circuits that need 3v I would connect the 3v lead, the ones that need 12v I would connect the 12v lead, etc?

As for the resistor needed on pin 20 of the TLC5940s. I looked at the graph, I understand it but wasn't able to get values from it. Further down the datasheet i found the formula.

I max = (v (iref)/ r (iref) x 31.5 I max I want to set to 20mA, v (Iref) = 1.24, so I solve for r (iref)

if my algebra is still good

r (iref) = (v (iref) x 31.5)/20mA = 1.953

what is 1.953? Usually R are in Ohms correct? but 1.953 (2 Ohms) is too small no? I think raschemmel suggests I use a 2k resistor (so maybe my figure is 1.953 ks?), but I think someone else suggested I should use a 150 ohms resistor on pin 20.

I never have heard the term wallwart, at first I thought you were referring to walmart lol. I am on my way to Stern, the local electronics store in Mexico. I will see what type of power supplies they have available for me to purchase. Will make sure I am not getting a transformer.

Ok, so to have a common ground, i just have to make sure I connect all grounds together? If I was working with 3 power supplise, a 3v a 5v and a 12v. Would I just connect the 3 grounds together, run leads to anything that needs ground, then circuits that need 3v I would connect the 3v lead, the ones that need 12v I would connect the 12v lead, etc?

Yes.
If your brightnesses are uneven, you adust for that using the PWM value for a particular color.

Figure 3, shows 1.92Kohm for 20mA. 2K is close enough.

150 was for the gate of the MOSFET, limits the curren from the arduino into the MOSFET gate capacitance. Cap looks a short to +5 or Gnd when it first changes voltage level. 5V/150ohm = 33mA, so plenty of current to change the MOSFET gate level without over-current from the Arduino.

I still don't understand the relationship between volts and current very well.

OHM"S LAW
V(volts)=I (A) X R(ohms)
P(Watts) = I(A) x V(volts)

SEE GRAPHS ON PAGES 9,10 & 11

tlc5940.pdf (1.23 MB)

V=IR, I = V/R so with simple simple substitions you get these use power dissipations:

P=IV = (I^2)R = (V^2)/R
P=I^2
R good for MOSFETs, where you know Current and Rds
P=IV good for BJTs where you know Vce and I
P=V^2/R good for resistors where you know V & R