Simple Colour Change Lamp

Just for the fun of it I made a very simple colour change/mood lamp.
It uses a single 10W RGB LED like this http://www.ebay.co.uk/itm/10W-Watt-RGB-Red-Green-Blue-HIGH-POWER-LED-Light-Lamp-DIY-UK-STOCK-/271028515764?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item3f1a8ef3b4
attached to a heatsink http://www.ebay.co.uk/itm/10W-LED-Aluminum-Heat-Sink-Heatsink-110x18mm-UK-Stock-/280935964629?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item4169169fd5
I built a triple constant current power supply to power the RGB LED and a ATtiny85. I bought a cheap lamp from Lidl and removed it’s wiring and lamp and replaced with the LED. It’s powered of a 12V wall wart. I may add a IR led in the future and make it remote control the colour & intensity.
Attached are a couple of pictures, the schematic & the sketch.

ATtiny-RGB Moodlamp.pdf (8.88 KB)

ATtiny_10W_LED_Moodlamp_v01.ino (3.46 KB)

The obligatory videos... Testing the LED and constant current PSU http://www.youtube.com/watch?v=bI8p4E3tFjs The money shot http://www.youtube.com/watch?v=HY5Knu6SCKA

Nice LED. I might have to get a couple!

One thing...do the MOSFETS/resistors in the power supply get very hot?

2W seems a little on the low side for the resistors. I'm thinking the resistors in the photos are more than 2W.

fungus: Nice LED. I might have to get a couple! I'm certainly impressed with it. Might be tempted to try this http://www.ebay.co.uk/itm/30W-30-Watt-High-Power-RGB-Full-Color-Rainbow-LED-Light-DIY-/230767996419?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item35bad82e03 next time.

One thing...do the MOSFETS/resistors in the power supply get very hot? Red MOSFET gets warm enough for a heatsink due to greater voltage drop but blue and green hardly get warm at all though I have put heatsinks on all of them as the electronics are in a plastic box with little air flow and will be on for hours at a time.

2W seems a little on the low side for the resistors. I'm thinking the resistors in the photos are more than 2W. Without ordering online and paying P&P I could not get a small 2W 2.2ohm resistor so got the 3W wirewound ones from Maplin

The details on the constant current driver circuit came from here http://laserpointerforums.com/f51/simple-linear-mosfet-dimming-circuit-pwm-70812.html

What is the difference between the circuit you linked and this one?: http://www.tbideas.com/blog/build-an-arduino-shield-to-drive-high-power-rgb-led/ Yours has extra parts for beeing PWM friendly as it says on the page, but I really don't understand the explanation. I did mine and I noticed that when PWM level is low the led blinks a little, I really don't know if it will bother with the other colors turned on, need to test that. Do you think adding those extra parts will solve that?

Thanks

Pancra85: What is the difference between the circuit you linked and this one?: http://www.tbideas.com/blog/build-an-arduino-shield-to-drive-high-power-rgb-led/ Apart from using different MOSFET and resistor values the circuits are the same, the schematic I attached to the first post has 3x of these circuits to separately drive the RGB colours in the LED it also has a voltage regulator to give a 5V supply for the ATtiny85 that does the PWM colour changes.

Yours has extra parts for beeing PWM friendly as it says on the page, but I really don't understand the explanation. I did mine and I noticed that when PWM level is low the led blinks a little, I really don't know if it will bother with the other colors turned on, need to test that. I use no extra parts to make the thing more "PWM friendly". I don't notice any flicker at low levels but that might be because at lease one other colour is always bright so may mask the flicker effect.

Do you think adding those extra parts will solve that? See above

Apart from using different MOSFET and resistor values the circuits are the same

I mean the shaded parts, it says on the webpage that those parts are for "adding PWM input support", I built it without those parts and still works (even if it blinks a little when PWM is low)

When I look at your linked page I only see the below schematic. It also works for me without the extra circuit bits, I also removed R1 from my version. Maybe that's the cause of your flicker.

How should I change your .ino script if I need this on Arduino? I have all the components of ATtiny-RGB Moodlamp.pdf but instead of Tiny I have Arduino.

UniFly: How should I change your .ino script if I need this on Arduino? I have all the components of ATtiny-RGB Moodlamp.pdf but instead of Tiny I have Arduino.

Just make sure redPin, greenPin & bluePin are PWM pins on your arduino and wire to them pins.

Thanks a lot for your shared project. Can I use irf540 instead of irf520? Is it risky to test irf540?

UniFly: Thanks a lot for your shared project. Can I use irf540 instead of irf520? Is it risky to test irf540?

A quick compare of the data sheets and it looks like the main values match or are better so yes it should work.

I tested this on Arduino. There are two things that are not ok. It works but the led is cold and not bright as it can be (I have http://www.ebay.com/itm/1pc-10W-10-watt-rgb-High-Power-LED-Light-Lamp-Chip-Lamp-Light-/131112967487?pt=LH_DefaultDomain_0&hash=item1e86f11d3f ). Secondly, colors are switching that means not fading.
Should I use 0,1,4 PWM pins on Arduino? Any comments what should I change?

Please note that I have checked irf540 and irf520.

The script I used ATtiny_10W_LED_Moodlamp_v01.ino

UniFly: I tested this on Arduino. There are two things that are not ok. It works but the led is cold and not bright as it can be (I have http://www.ebay.com/itm/1pc-10W-10-watt-rgb-High-Power-LED-Light-Lamp-Chip-Lamp-Light-/131112967487?pt=LH_DefaultDomain_0&hash=item1e86f11d3f ). If you use different LED, MOSFET & transistor values then you may need to calculate different resistor values for R2, R4 & R6. See this article and the component data sheets to work out the correct resistance and wattage values needed.

Secondly, colors are switching that means not fading. Should I use 0,1,4 PWM pins on Arduino? Any comments what should I change? You need to use PWM compatible pins. On the UNO they are pins 3,5,6,9,10 & 11 (the pin number on the board has a ~ in front of PWM pin numbers)

Over the weekend, I finally got around to finishing a similar thing, except i used 5 of them... potentially it can supply over 50 watts of light but I decided to limit the current, it pulls around 2amps at 12v (or 24watts) and decided that's bright enough.

http://www.youtube.com/watch?v=sSLNyOEIvY0

But i also did what you did using an attiny85 for the bedroom, they certainly beat 5mm LED mood lights you get from shops..

I figured it's kinda pointless seeing it in daylight... so I just switched it on (it's 1am, plenty dark enough i suspect)

http://www.youtube.com/watch?v=2bb7zUUN8yI

oh and just to explain... I'm using 2n2222's :D and no "current regulation" each npn can deliver around 800ma, so I use a 68 ohm resistor to the base pin for each segment, this rougly supplies 120ma per color which is well within spec of the transistor... I purposely kept it low knowing that when the LED heats up, i expected the current to rise up to 200 maybe 300ma, in which case it's well within spec of the 800ma limit of the transistor AND within the 300ma per RGB channels from the 10 watt.

So, 120ma * 3 * 5 = 1.8amps or 21watts.

The multimeter reads 1.8 - 1.9 amps...

Now, because I have no current limiting resistor on the emitter/collector side of the LED, it relies just on the 68ohm resistor, I originally was going to use something like a 30-40ohm resistor and 1/4watt was not up to the job, so i stuck with the 68 ohm resistor and hoped that once the LED's warmed up, it would draw more current to get to the 300ma mark.

And (as I suspected) ... No.

The heatsink keeps the LED's cool and sadly (even in 45c / 100f+) heat, still no... maybe if i run it for a few hours instead of 30 - 40 minutes the current will slowly creep up? - good because I like bright.

next time i'll use 1/2watt resistors and push the 50watt boundy, as it is 21watts is bright enough.

Using 1.5 ohm instead of 2.2 did the job!

Also I changed the script lines for Arduino Uno:

define RedPin 3

define GreenPin 5

define BluePin 6

Now I'm focusing on scripting. Can anyone give me simple example - how to get e.g., Violet color light (whitout fading and extra stuff). Just as simple as possible script.

Please note that I'm creating disco ball lamp. I need focused light so will try this http://www.ebay.com/itm/2-X-Glass-Lens-Reflector-Collimator-4-90-Degree-for-10W-LED-Light-Lamp-Bulb-/221277747689?ssPageName=ADME:L:OU:US:3160

Thank you Riva! Here is the light - http://www.youtube.com/watch?v=d98uWca-7F0

UniFly: Now I'm focusing on scripting. Can anyone give me simple example - how to get e.g., Violet color light (whitout fading and extra stuff). Just as simple as possible script.

If you want just a single colour then use a paint programs colour wheel or an online version to select the required colour and read off the RGB values. Then change loop() to just these three lines

            analogWrite(RedPin,0x9F);
            analogWrite(GreenPin,0x00);
            analogWrite(BluePin,0xFF);

and replace the 0xXX parts with the R,G & B values you want. You may need to tweak the values to get the exact colour you want.