Driving a 10W LED with PWM

Hello Everyone!

I'm currently working on a project that uses an Arduino to display weather conditions with the use of an RGB LED. I just received a Cree 10W RGBW LED.

https://www.amazon.com/world-XLamp-White-Emitter-4-Chip/dp/B0177ROR70/ref=sr_1_2?ie=UTF8&qid=1474946036&sr=8-2&keywords=led+world+10w+cree+XLAMP+RGBW

Now, based on the specifications of an Arduino, PWM outputs are not able to handle the current needs of the LED, so an additional driver circuit is needed. After doing some research, I have found some tutorials that claim to do this with circuit schematics, however I don't really understand how these circuits work. I'm hoping someone can clarify how they work and the pros/cons of each tutorial. Ideally, I would like my Arduino to be able to assign a PWM value to each one of the four LEDS (R,G,B,W) and smoothly transition from one color to another. This is the first tutorial I found:

http://www.tbideas.com/blog/build-an-arduino-shield-to-drive-high-power-rgb-led/

It shows a schematic to drive an LED by using a MOSFET. It says that the included circuit creates a very efficient design for driving an LED; but does it provide smooth PWM transitions? Does the MOSFET allow for brightness levels from 0-255 or is it purely an efficient way to provide simple on/off power to the LED?

This was the second schematic:

It uses a slightly different circuit design, with the main thing being that the MOSFETS in this example do not have heat sinks. Is it purely because the LED light strip requires less wattage than a 10W led, or does it just generate less heat. In the video, his demonstration has the LEDS change colors abruptly. Does that mean that this example does not allow for PWM?

I also read some schematics that used LM317s as the regulator for the LEDs. Will an LM317 provide enough power to drive the LEDs and how could they be wired for PWM.

Sorry for the seemingly clueless post. It's been quite a few years since I dealt with transistors and MOSFETs . Any help is greatly appreciated! Thank you all very much!

The second schematic is totally unsuitable. It will destroy the LED.

High power LEDs require a constant current supply and that is what is on the first link.

Basically it monitors the current through the LED with that resistor R2. The more current the more voltage is developed across it. That voltage is used to reduce the current by turning in the transistor which in turn turns off the FET. A balance is reached at some point and the current is made constant at a value determined by the value of R2.

It is not an efficient circuit however as excess power is burned off in R2 and the FET, but it is simple.

You must have your reasons to use a high power RGB LED.

The choice of supply is very important if you want to keep heat under control.
If you want to drive the LED to max, and use a lineair control circuit (= heat), then use a 5volt/3-4Amp supply.
A higher voltage than that, e.g. 12volt, will cook things at these currents.

I agree with Grumpy_Mike. If you go for lineair regulation, then the first 2-transistor diagram with current limiting/regulation is better. But the mosfet listed is unsuitable.
You need logic level fets, because you only have ~4.3volt gate drive left because of source resistor voltdrop.

Things will get hot. The LED needs a heatsink, and so do the mosfets.
R1 (10k) is way too high for PWM-ing a power mosfet. Drop to 1k max. 470ohm would still be ok.

A better option (very little heat except for the LED itself) is switching PWM drivers.
Then a smaller 9volt or 12volt supply can be used.

Leo..

So while waiting for replies, I tried to do some research and ended up with this: if LEDs are directly connected to a power source, they will attempt to pull as much power as they can which is usually too much for the LED to handle, resulting in a much shorter lifespan and eventual death of the LED. Thus, the need for a regulator is justified. Now if I use the schematic in the first link, will connecting it to a PWM output on the Arduino result in the ability to provide an adequate amount of electricity to the LEDs whilst still allowing for me to assign a certain brightness value for them? If not, are there any simple circuits that will help me accomplish this? Thank you very much for responding! :slight_smile:

Yes, that schematic has a PWM input shown.
When the PWM input is low that stops the FET from coming on. When it is high the transistor controls the FET like I said before.

Got it. It makes a lot more sense now. On a final note, theoretically I should be able to use any type N FET as long as it can handle the load, right?

stevegarrett253:
On a final note, theoretically I should be able to use any type N FET as long as it can handle the load, right?

The answer has already been given in post#2.
Only a logic level fet will work.
Leo..

Hello again everyone,

I stopped by my local RadioShack after work today to pickup whatever I could find in hopes of getting the LED to work. I got a 2N3904 NPN Transistor, a 1 Ohm 10W resistor, and the only MOSFET they had, an IRF510. Came home, scrapped an old motherboard chipset heatsink and bolted the LED and MOSFET down to manage heat and got to work connecting the leads according to the schematic. I also did a bit of calculating for the resistor values after finding the LED's data sheet online (linked below). I then loaded the standard Fade sketch onto my Uno and tried, but no luck. The components were still cold and the LED showed no signs of life. To make sure I hadn't received a dud, I connected the leads to the 3.3v and ground rails through the resistor to make sure they worked. The LED is functioning, meaning that the error lies within my circuit. The data sheet states that the minimum required current for the LED is 350mA with a maximum of 1000mA. With the 1 ohm resistor, I should be able to supply the LED with 500mA, well within the range, according to the equation listed on the link: 0.5/1.0 = 500mA. Furthermore, factoring in the power dissipation, 0.25/1 = 0.25W, says that I could get away with a 1 watt resistor, however the one I found was only rated to 10W. I also dug around my spare parts to find an input resistor and settled on a 1.5K-Ohm. Clearly there is something wrong, however I don't quite see what it is... Is it the fact that I used a different MOSFET that wasn't a logic level FET or are my resistance values off?

On a final note, would it just be easier and less hassle to wire all the LEDs to PTC resistors and add in individual LM317 regulators to stabilize the voltages?

A very big thank you to all who helped!

Here is the data sheet to the LED I have:

http://www.cree.com/~/media/Files/Cree/LED-Components-and-Modules/XLamp/Data-and-Binning/XLampXML_Color.pdf

You didn't mention which Arduino you have. I assume it's a 5volt type (Uno, Mega)

The IRF510 is NOT a logic level mosfet. It might or might not work.

"The data sheet states that the minimum required current for the LED is 350mA"

Wrong. At 350mA, LED power will be about 1watt per chip/colour.
But a LED like that will already work from a few mA.

Post a picture of the setup.

Forget about the LM317. That will get you into more trouble/heat.
Leo..

Is it the fact that I used a different MOSFET that wasn't a logic level FET

Yes.

Possible, but I doubt that it wouldn't work at all with this fet.
Let's see a picture of the setup first.
Leo..