RGB LEDs with arduino/transistor won’t dim

arduinotransistors

Why doesn't this work? I have fifteen RGB LEDs wired up with this configuration. The transistor I'm using is the MJE3055T. Are the transistor's voltage ratings (collector-base, collector-emitter) just too high for this low-voltage, high current application? When I eliminate the arduino and transistor and plug the LEDs directly into the power supply (with resistors of course) they work perfectly…

Does anyone know why this isn't working? Have suggestions for a different transistor?

Thanks!

led schematic

Best Answer

Do the math on the currents. That transistor only has a gain of 20 that you can count on. With 1 kΩ base resistors to 5V, the base current will be about 4.3 mA. That times 20 is only 86 mA. That will be shared by all the LEDs that the transistor is driving. Since you say there are 15 LEDs in parallel, that means each only gets 5.7 mA, which will be visible but dim.

What current do you want to run each LED at? That times 15 is the current the transistor needs to be able to sink. That divided by the transistor's gain is the minimum base current required.

There are several solutions that come to mind:

  1. Use a transistor with more gain.

  2. Give it more base current. The limit is what the arduino can supply. You'll have to check the arduino datasheet for that. Probably in the 10-20 mA range, but I haven't checked.

  3. Use a FET instead. This is actually a good application for a FET. I like the IRLML2502 for low side swithing from 5V logic. In this case you drive the gate of the FET directly from the microcontroller digital output without a resistor in series.

It would help if you said what the max current per LED is intended to be.