Transistor causing problems switching ground side of an LED

I have a circuit where I have a voltage regulator running through the appropriate resistors into the collectors of three separate TIP120 transistors. The Arduino is set up to PWM each of those TIP120s. The output of each transistor is connected in parallel to the positive lead of several RGB LEDs. Each transistor runs one color. So, the first transistor is connected to the red lead of each LED, the second is green, and the third is blue.

All the colors of the LEDs share a common ground, but on that ground I put another TIP120 so I can switch on and off each LED individually. So, the LEDs on the power side determine the color, and the one on the ground side of each LED determines which one actually turns on.

The problem is, I don't think the TIP120s on the ground side are fully switching. The colors are not right and the LEDs are not as bright as they should be. But, if I jump across one of the ground side transistors with a piece of wire, the corresponding LED gets much brighter and the color looks correct.

Why is this happening, and what's the best way to fix this? I was considering having the ground side transistors drive a relay that would actually be connected to the LEDs, but I'd prefer to have the fast switching speed of a transistor for what I'm doing.

My eyes glazed over, can you draw us a diagram?

Ok, here's a very non-scientific sketch I made up quickly, but it should get the point across. "120" denotes a TIP120 transistor. See, the top three can be PWMed in order to set the color, then the bottom two would choose which LED actually turns on with that color. At least that's the idea. I don't think the bottom two are working properly. Not sure if it's because they are on the ground side of the LEDs, or because they're in series with the transistors that are being PWMed.

For what it's worth, the bases of all of the transistors are connected to output pins of the Arduino with a 1K resistor inline.

And where and how do the resistors fit into this drawing? :fearful:

The current limiting resistors for the LEDs? They are between the voltage regulator and the first set of transistors, like this.

The ones on the base of each transistor are just in series between the base and the pins of the Arduino. Not much to show there.

You don't have enough power supply.

2014-02-22_19-25-45.jpg

I did not realize transistors had a voltage drop between the collector and emitter when they were saturated. I thought it was just a straight pass through like a relay.

Darlington transistors have a 2 to 4 volt drop.

Hmmmm... How does that factor into calculating the proper resistor to achieve the desired current through the LED? Does it at all?

Do you have a link to the LEDs?

Yep.

I am not running them at full brightness since the TIP120s I have are only rated to 2W, and the heat sinks I have on the LEDs probably wouldn't support full power. I think I'm only running each color at about 200mA.

I had the 5V regulator in there so I wasn't going to have to have such a high wattage current limiting resistor. But, I will probably just ditch the 5V regulator and run a higher wattage resistor. The main voltage I'm running is 12V, so obviously the resistance needs to be higher too, but like I said I'm not sure how having the TIP120s in the circuit factors into it.

Thanks for all the info.

Perhaps using N and P channel Fets will work.
On resistance is about 70mOhms, therefore at 1 amp this would give .07Volts which is nothing.
EDIT:
Separate resistors

Why not drive the LEDs from 6 Arduino outputs?

Well, since you asked, I have to say that I'm actually simplifying the circuit for the purpose of asking this question. There's really twelve RGB LEDs, not two. I need the capability to drive up to two of them with different colors at any given time, so I have six TIP120s able to be PWMed, two sets of RGB.

Each set of three TIP120s feeds six RGB LEDs in parallel, and then each LED has an additional TIP120 on the ground side to control which of the twelve actually turns on.

Anyway, this is all kind of already assembled, which took a very long time soldering point to point. I wish I would have known that the TIP120s weren't the ideal thing to use in the beginning, but rather than go to all of the work of switching out all 18 of them, I will probably just run 12V through the whole circuit, and increase the resistor values appropriately.

I'm still wondering though how the voltage drop through the transistors factors into the value of the current limiting resistors for the LEDs.

Ess_El_Emm:
Well, since you asked, I have to say that I'm actually simplifying the circuit for the purpose of asking this question.

Yeah- even I know there are three connections on a transistor.....

I'm still wondering though how the voltage drop through the transistors factors into the value of the current limiting resistors for the LEDs.

You simply subtract it from the supply voltage just like you do the forward voltage drop of the LED.

However looking at what you are doing you seem to have the LEDs in parallel when both bottom transistors are on - not a good idea as they don't share current when wired like this.

this is all kind of already assembled, which took a very long time soldering point to point

Physics is no great respecter of work you have already done.

If the TIP120s have a voltage drop of 2 volts and lets say the LED is 2.5 volts.
12V - 2V(TIP120) - 2.5V(LED) - 2V(TIP120) = 5.5V (across the resistor)
If you are running the LED at 200mA (.2A).
R = 5.5/.2 = 27.5 ohms for each resistor (one for each LED)
Resistor wattage = V(RES) * I(RES) = 5.5 * .2 = 1.1 Watt resistor.
I would the use 2 Watt resistor or larger.
If the TIP is 2V at .2mA the wattage dissipated is .4 Watts (400mW)

However looking at what you are doing you seem to have the LEDs in parallel when both bottom transistors are on - not a good idea as they don't share current when wired like this.

See new drawing Reply 11

Thanks for clarifying that Mike. So with 12V, if I have two TIP120s in each circuit (one on top for each color and another on the ground side) I should figure for a source voltage of 8V for each color? (Oh, actually I see Larry did the calculations for me. Thanks.)

I know that if something I did was completely wrong, then yeah, I'd just totally take it apart and re-do it, but I think I can salvage this. XD

Yes, I know the LEDs are in parallel. I want them to receive full current when the bottom transistors are on. But, with the way the program is written, at most, only two of the bottom transistors will be on at the same time.

Good night