[work in progress] 16 Luxeon Rebels RGBW array - PWM controlled by Arduino board

marco1988

Newly Enlightened
Joined
Aug 7, 2009
Messages
30
Location
Brescia, Italy
Hi!

This is my first post, and also my first experience with high power leds.
I want to share my work in progress with you.

My idea is to make an RGBW array controlled by a cheap C programmable microcontroller called Arduino (very popular here in Italy).

I purchased the Arduino board (and already programmed it with test code and inexpensive 5mm leds), and then I ordered 16x luxeon rebels from www.led-tech.de (I was unable to find a cheap and well "equipped" online reseller here in Italy.. please suggest me some alternatives here in EU, if you know something!).
Leds are 180lm cool white (6x), 145lm green (3x), 495mw royal blue (3x) and 85lm red (4x).
I put 4 reds because of their lower light emission.
Rebels are reflow-mounted (from led-tech) on 1cm square aluminium boards, which I hope provide good thermal conductivity.
I decided to mix colors in different positions to maximize color blending and minimize colored shadows.
Reds are mounted at corners because of lower maximum allowed junction temperature and greater light degradation at high temperature condition.

66778252.png


This RGBW array is a sort of small-scale test, and if everything goes well I will light the main room of my house with some of these lamps.

The main problem is represented by thermal dissipation.
Leds are sticked to heatsink through a VERY thin layer of cpu (not adhesive) thermal compound (I pressed down hard to make compound strate as thin as possible) and epoxied all-around.
Although the result may seem a bit messy in the following photos, it's actually very very solid and of good appearance.
I hate math but I've done a little research and it ended up that I need a heatsink of at least 2C/W.
For this test array I decided not to go fanless, because it would have required a huge and bluky heatsink (at least 15x15x5cm).
So I "stole" a pentium4 full-copper heavy heasink from my father's office :p

Now, without doing math: a p4 has a TDP of 50-100w.. my array (driven in pwm at 700ma per channel) has a heat dissipation, in the worst case (rgbw channels all at 100% duty cycle), of about 35w (correct me if I'm wrong!).
The fan is very noisy, but driven at 5volts it's unnoticeable. I'll do some tests to check whether the cooling is sufficient or not (I hope and I believe so!).
Tomorrow I'm going to power up the array and check light output (with sunglasses :p) and COOLING.
The heatsink may seem too small to the naked eye, but provided that heat dissipation performance GREATLY increases using forced air, I hope it's going to be adequate.
My future plan is to connect the Arduino board to ethernet and develop an iphone client to change colors and turn on-off the array wirelessly.

Please post your comments/suggestions, THANK YOU.

(now pics-time!)

Arduino with test board connected:
04082009253.jpg

Heatsink hand-lapping:
06082009279.jpg

Led pcbs without thermal compound:
07082009284.jpg

Led pcbs with thermal compound:
07082009287.jpg

Led pcbs with expoy thermal-resistant glue:
07082009293.jpg

Heatsink with fan:
08082009295.jpg

08082009296.jpg
 
Last edited:
Why don't you also put a thermal sensor on the heatsink, and then PWM the fan, so that it stabilizes the temperature? You would definitely reduce the fan noise, or be able to eliminate it just by dimming down the light. Something like MCP9700 would just require one ADC port.
 
:welcome:

looks very nice and adventurous. thanks for sharing it with us. cpf needs more people like you :D

hope it works flawlessly, cant wait for the beamshot. i'm slightly worried that the light may have some 'colourful' corona at the edges of the main flood. :p
 
hi! thank you for your replies.

About the temp sensor and pwm fan control, I totally agree, it's on my future plans! I'm just worried that not placing the sensor in the centre of the heatsink may cause incorrect temp readings (I mean.. side temp not linearly proportional to the temperature in the center of it)

I just tried the array and I'm totally satisfied with colored light output ( they're just 3 blues /greens and 4 reds.. but they make A LOT of light!).. but not with the whites.

I drove them at 800ma (even reds, but for 10secs max) and I thought that 1000+ lumens would have been more.. bright!

One question: is it safe to drive whites at 1A? I'm a bit worried about junction temp.. I hope-think that my array provides great thermal dissipation-transfer, but does the slight output increase justify the risk of damaging dies (if there's actually the risk)?

Thank you so much, later today I'll post some shots.

Thank you.
 
Interesting. I thought about trying something similar with an Arduino, but have never gotten beyond the what-if stage.

Can you drive high-power LEDs with the Arduino output pins? I thought the current was limited to something like 20mA?
 
Interesting. I thought about trying something similar with an Arduino, but have never gotten beyond the what-if stage.

Can you drive high-power LEDs with the Arduino output pins? I thought the current was limited to something like 20mA?

40mA per pin.. just useful for testing with 5mm rgb leds.

With bigger loads you have to use mosfets.
 
I wouldn't worry about the location of the temp sensor on that heatsink. Just put it wherever you have space and then figure out what the relation is between the reading you get from the sensor and the actual temperature you want to measure. Chances are it will be pretty linear. Anyway with that all copper heatsink the temperature probably doesn't vary much more than a few degrees.
 
Nice project!

I've not seen a copper heatsink for a P4 before.

I know copper is an excellent heatsink, better than aluminum, but the fins on your unit are very short, compared to other P4 heatsinks I've seen.
Perhaps not enough heat is being carried away by your underpowered fan.
By the way it is okay to power the white LED's at 1.0 amp, but not the red ones - up to 700ma only.
Thanks for sharing your work!

Jeff O.
 
I'm drooling over the heatsink, how nerdy is that?!

I think it will be fine, since it is copper fins, big chunk of copper, and there is a fan, but it's all in the testing.
 
hi!

heatsink temp with 6 whites @800mA is 45-50°C / 113-118°F with fan powered at 4volts. absolutely NO noise at all.

a little math:

room temp 25c
difference between room and heatsink = about 23c

now, let's suppose that ALL the input energy generates heat:

3.2v * 800ma * 6 = 15watts

so I suppose the heatsink, with fan revving @ 4volts, being about 1.5 c/w (am I right?)


if we apply full load (I can't test now, I have to build 4 current regulators<--tomorrow):

3.2v * 1a * 12 = 38.5watts (GBW)
3.4v * 700ma * 4 = 9.5watts (reds)

Tot= 48watts * 1.5 + 25c (room temp) = 97c (<-- heatsink temperature)
Considering a thermal resistance of 15c/w (junction->pad->pcb->thermal paste), led junctions temps would be under 135c (datasheet limit, excluding reds).
So, powering the fan at 6-7 volts would solve all the heat issues. (also considering that in a real scenario whites and all colors will never be at 100% all together!)

I don't want to pwm the fan because I googled and found out that pwm switching frequency is too high and does not work well with brushless motors. And even if I decide to pwm it, now what I want is to find how power dissipation varies, in correlation with changes in fan speed.
Tomorrow I'll try and let you know.

Sorry for my english, here in Italy it's very late and I'm writing/sleeping at the same time :)
 
Nice project!

I've not seen a copper heatsink for a P4 before.

I know copper is an excellent heatsink, better than aluminum, but the fins on your unit are very short, compared to other P4 heatsinks I've seen.


Jeff O.

these are industrial heat sinks for industrial systems where space is a problem, but fan noise is not (small fan-->high noise)

this is for p4 2.2ghz max --> max tdp 50-55w

I'm drooling over the heatsink, how nerdy is that?!

I think it will be fine, since it is copper fins, big chunk of copper, and there is a fan, but it's all in the testing.

drool over this:

all copper, very, very, very, VERY heavy. the center is a giant cylinder of copper
(again.. from my father's office :p)


110820093012.jpg

I think I'll stick a p7 on it :p
 
I din't think about the PWM frequency problem. Maybe you could try using a very slow PWM. I mean not using the built in PWM generator, but just a timer interrupt that increments a counter. I know when you have just one of the units running it will be pretty quiet, but once you get a whole bunch of them in one room, well the noise of the fans might start to get annoying.

Also, are you generating your constant current for the LEDs with some sort of buck converters? There are some Arduino projects out there on the web that did some things that are pretty much MOSFET destruction machines.
 
I din't think about the PWM frequency problem. Maybe you could try using a very slow PWM. I mean not using the built in PWM generator, but just a timer interrupt that increments a counter. I know when you have just one of the units running it will be pretty quiet, but once you get a whole bunch of them in one room, well the noise of the fans might start to get annoying.

Also, are you generating your constant current for the LEDs with some sort of buck converters? There are some Arduino projects out there on the web that did some things that are pretty much MOSFET destruction machines.
please tell me more about these projects..

now i'm using lm317 to limit the current, and a small circuit that generates analog 450hz pwm, and this setup works flawlessly (but it's not so energy-efficient)

With arduino I think it would be ok to use an irf530 and lm317 as current limiter.. (or it's not ok?)

thank you very much.
 
UPDATE:

beamshot with W, B, G @1A and R @ 700mA

astonishing!





array.jpg



color rendering is VERY VERY GOOD. (even better if I shut down Blues - not in these pics).

beamshot.jpg







but.. heat dissipation is not sufficient, even with the fan at full speed. (it's a disaster!!!)

I'll cut out all the fins and use this heatsink as a copper plate to attach to a bigger hs.
 
Looks like that has excellent color clarity. Even on the red's, which i've noticed tend to be lacking with most white LED's. Excellent idea! I hope you figure out your heatsinking problems. Good luck~
 
Also you need to check out the heat dissipation on your PCB. You are using a linear dimming technique so the FETs will have to dissipate a lot of heat. Linear dimming is not recommended for power LEDs. Also check the temperature of the heatsink. What feels hot to you may actually be within tolerance.
 
WOW, marco, awesome project! :bow: :clap:

I have a friend who lit his entire home theater with LED RGB clusters, DMX controlled, ~2 years ago...but they are much lower power lights. Probably less than 100 lumens per cluster. I think he used about 20 of them. Color only. Halogens for white light.

You could light an entire room, color and white, with just ONE of your arrays. :faint:

I have a few comments/suggestions, plus some questions if you don't mind :):

1) Your Rebel LEDs, do they have copper thermal pads? Can you solder those pads to the heatsink? That would give much better heat transfer. :thumbsup: Thermal compound is actually a poor thermal conductor. It's OK for filling the air pockets between a CPU and heatsink, but that's about it.

2) The Rebel datasheet says that it can handle 1000mA max current, but "Maximum Ratings limits are specified when applied singularly and for device operation not to exceed 60 seconds". So you probably don't want to drive it at 1A continuous... :poof:

3) I am really curious about the driver circuitry. Can you post any photos or schematics of your driver, with the mosfets? What are you using for a power supply? :thinking:

4) I am also curious about your UI. Are you thinking hardware, or software? If you implement a DMX interface, you can use commercial lighting controllers and software. Very expensive though. Another approach is to control everything through a PC over wifi (so you can use, say, an iphone to control your color mix). :cool:

5) Did you see the announcement for the new Cree MC-E RGBW LEDs? Each package has red, green, blue, and white LED dies. Here is the datasheet. I think I might get a bunch of these to do home accent lighting...maybe 4 packages per light. I also program Arduino for hobby microcontroller stuff. Will you share your source code? Feel free to PM me if you want to collaborate. I don't work for anyone. This is just my hobby. :)

Ciao!

-Jeff
 
If i take it correctly, than the rebels are put on the heatsink with thermal compound, and then fixed with epoxy.

That alone is already a very bad situation, as without pressure a far to thick compount layer will be betweem the pcb and the heatsink.

2nd, i cannot really imagine that HSF ever working for a P4. The fins are very short, and the aspect ratio wastes at least 80% of the fans possible airflow. 50W being too much for it seems entirely reasonable.

I have a similar power on one example design (was 4*P7 at 2.8A). Well. Exactly the same design power. I used a big-*** thermal pipe heasink mounted on the back of a 1cm lapped aluminium headspreader and screwed the stars on this heatspreader (until almost all thermal grease was squeezed out). Even though its a HUGE heatsink, and amoung the best rated ones on review sites, it still got pretty hot without a fan. To hot to touch, actually.
 
The thermal epoxy here is unlikely to be a significant thermal impedance, unless it's crappy epoxy.
The MCPCB is the BIG thermal impedance. Depends on the board, but it's typically quite significant. Unfortunately, soldering directly to the sink is not very practical. A decent thermal via board- with a LOT of vias per device- will greatly outperform MCPCB.

The Rebel Reds should not be run over 350mA. They have both a worse thermal impedance AND a higher derating at elevated die temps. I measured it and found that the output at 700mA is nowhere near twice as high as at 350mA. It only increased a little, actually, and it's hard to get long life at 700mA continuous. Wasn't worth it.
 
Top