Looking for feedback on my design of a high-power LED driver - Page 1
Forum section: electronics / projects

author: sarfata
author_rank: Contributor
timestamp: July 18, 2012, 04:26:31 am
content: Hi Everyone!First post here, so a little introduction is in order. I have a background in computer sciences, mobile applications development mostly. But before that busy work-life, I used to do electronics with my dad and then with friends. Most of my projects evolved around robotics and PIC uc.Fast forward to 2012, I am working fulltime on a new project that a friend and I hope to launch this fall on a crowdfunding platform. It's a colored lamp controlled by a smartphone or tablet. More (preliminar) information is available onhttp://www.tbideas.com/This lamp uses a high power (40W) LED from LedEngin. I have built a cheap current source using a mosfet and a transistor a few weeks ago but it wasted lots of heat and did not let me use the LED at 100% of its potential. I have spent the last few days designing a switching current source board to replace this early board.The board is being built by Laen PCB 'as we speak' so I have not tested it yet. I am sharing the schema and pcb with you to get some constructive criticism! This is an early prototype and I am sure we can improve lots of things.I have chosen the LT3518 to control the current source. The driver is built around three of those, I followed the buck configuration design given in the datasheet. We will power the board with 18 V (to be provided by another switching power supply - not done yet) and the three LEDs should receive about 700mA current.In this prototype design I have included three temperature sensor to measure and graph the temperature of the board. Those will probably not be included in the final design.You can download the schematics, board, etc from this blog post:http://www.tbideas.com/blog/design-of-the-led-driver/Or directly here:Schematics and Board design in Eagle PCB format:http://www.tbideas.com/blog/wp-content/uploads/2012/07/board-v0.2.zipSchematics in PDFhttp://www.tbideas.com/blog/wp-content/uploads/2012/07/board-schema-v0.2.pdfBill of Materialhttp://www.tbideas.com/blog/wp-content/uploads/2012/07/board-v0.2-BOM.csvGoogle sketchup model of the finalized boardhttp://www.tbideas.com/blog/wp-content/uploads/2012/07/board-v0.2-sketchup.zipThose are the two specific areas where I am looking for feedback:- Choice of LT3518: I have looked at other solutions but they were either more expensive or only available in grid packages. If someone knows of a better chip for a 700ma/1A current source please let me know. It would also be nice to have only one chip for the three channels;- Routing of the board: this is my first Eagle work in a very long time, my first two layers PCB and also my first time routing a switching power supply. I have tried to follow basic recommandation (keep the SWITCH part very short, get the inductor close to the schottky and the capacitor, etc) but feedback on that will be very much appreciated;- Heat management: Any PCB design recommandation to reduce heat?Any other comments gladly welcomed!thanks a lot,thomasPS: Useful datasheetsLEDEngin LED:http://www.ledengin.com/files/products/LZC/LZC-03MC00.pdfLT3518:http://cds.linear.com/docs/Datasheet/3518fd.pdf

author: sarfata
author_rank: Contributor
timestamp: August 17, 2012, 04:58:26 am
content: Hi everyone!Just wanted to let everyone know that I have built it and it works! Of course there are a lot of improvements to be made and I am working on v0.3.Some pictures of the board and the results here:http://www.tbideas.com/blog/some-pictures-of-our-latest-prototype/Comments and feedbacks much welcomed!thomas

author: DarkPrince
author_rank: Regular Contributor
timestamp: August 17, 2012, 06:58:50 pm
content: At work so I can't be to extensive, but that is beautiful. Great job! Curious, are those boards from the OSH Park pcb service?

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: August 18, 2012, 07:17:48 am
content: Nice work sarfataI have a few questions.Do you have any heat issues?Did you manage to make a measurement on efficiency?And did you try dimming?Do you have any noticable flicker?I have been working along remarkably similar lines. But I am going for more full room lighting as opposed to spot lights.For another chip I have tried the NCL30160 but I got a bit of flicker at low light levels.Version II has gone to the Attiny461, and I still have flicker at low light levels but I will be able to fix this.I get good efficiency from 24v about 93%, but it is hard to measure accurately.I am using Cree XTE leds that I have mounted myself. Quite cheap.My biggest problem now is making a suitable light fittings, with diffusers.Here is a link to my Project. I will update it when I get the chance.https://www.eevblog.com/forum/projects-designs-and-technical-stuff/domestic-led-lighting-project/

author: T4P
author_rank: Super Contributor
timestamp: August 18, 2012, 04:10:11 pm
content: Flicker, check with a scope this can mean periods where the PWM is too slow for your eyeFlicker can also mean excessive distortion (Yes that does matter ...)

author: sarfata
author_rank: Contributor
timestamp: August 18, 2012, 04:43:17 pm
content: Hi!Thanks a lot for your feedback guys! It's great to not be alone working on this and get some feedback from other electronic geeksDarkPrince: Yes I ordered the PCBs from OSHPark. I got them in about two weeks. It was the first time I ordered PCBs (I used to do etch them myself) and the quality is really really impressive. I have not pushed the service to its limits (gave myself some extra clearance and did not use the silk screen on the bottom) but the result is absolutely perfect as far as I can tell. Getting three boards for such a cheap price is great. For the size of my boards, it cost $34.05 with express shipping. I can only highly recommend them.HackedFridgeMagnet:I started with a linear current source:http://www.tbideas.com/blog/build-an-arduino-shield-to-drive-high-power-rgb-led/and this had some serious heat problemsI would not let it on for more that a few minutes.Compared to this first experiment, the new board does not heat at allI would say most of my heat problems are on the LED now (I use a 40W LedEngin LED). I have put the LED on this heatsink:http://www.nuventix.com/products/led-cooling/par30-cooler-40w/and it gets reasonably warm (I also bought the fan but did not screw it yet).The parts that generate heat on the board are:* the input power connector (I have used a 2.5x5mm power jack which is rated for 1A and it's taking ~1.5A when the LED is at full power);* the polarity protection diode (I have used a 8Amp but it still gets very hot, I would have to find a better way to do polarity protection...);* the LM317 which I have put there because I wanted this board to work on it's own without depending on an external 3.3 power supply. This was stupid because I run the board at 18/20V and even if the LT3518 dont use a lot of current, the LM317 has a lot of volts to dissipate...* The LT3518s barely heats, the inductors just a little bit.Now about flickr... I did get some flickr on the first board I built. I have tried to debug that for a while. I have found that using a bigger capacitor (10uF electrolytic) on the 3.3V rail helped but did not make it go away completely.At some point, I started building another board to try not including the LM317 and using an external power supply and it turns out that board #2 and #3 do not have any flickr problem (even with the LM317). So I would say I dont get flickr 66% of the time...I will have to double check the joints on the first board. Did not have time to do that yet.A problem I do have with this board, is electronic noise. It is the first time I design something to run at 1Mhz. No matter where I put my oscilloscope probe, I get huge spikes everywhere. The circuit works fine but I am not sure how to find out whether this noise is "within normal range" or not. I might try slowing down the LT3518 and although I paid attention to that the first time, I will be even more careful when routing the PCB for the next prototype.I have not done any efficiency measurement yet. I am not sure how to go about that, especially because I have the LM317 which is also going to use some energy.And finally, yes I have tried dimming with PWM, it works really really well. I have built another board with an Atmega 32u4 which is basically an Arduino Leonardo clone to drive the PWM. I have added a Roving network RN-171 module and I can control the RGB led remotely from my phone with an iPhone app.All of this is open source, I would love to have someone else use it! Let me know if you need help!* Arduino source code:https://github.com/tbideas/illumi* iPhone/iPad app source code:https://github.com/tbideas/illumiappThanks for the link to your project, I will take a good look at that! Making a nice light fitting is a problem for me too now.thanks again for your comments!thomas

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: August 19, 2012, 11:22:48 pm
content: Yes the leds themselves are the only cooling problem I have, I just run at lower power and and have more aluminium. I am only running at 1/3 max power. But this gives the best efficiency. The tradeoff being you need 3 times as many leds.the flicker in my attiny version is probably caused by the slow micro processor feedback loop combined with the low effective a2d resolution at low input levels. I know I can fix this so I am not worried, but it will take a bit of sorting out.My gate waveforms are nice and square and I am only running at 66khz, so I have not heating or distortion issues on the Fet.my version 1 also had flicker and it was similar in design to your version II. i never really looked into the cause. that is why I asked if you have flicker.If i was you I would slow down the switcher, the only thing you gain by high speed is a smaller inductor and cap.I use a fuse and a tvs diode (see my schematic) to protect my circuit's input, this should protect against overcurrent and reverse polarity. It wont use much power.

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: September 15, 2012, 01:52:31 am
content: Replying to questions from my thread here.QuoteJust while sorting out the driver electronics it might more clearly delineate the individual transitions. Also in the final design the switching frequency plays a part in the efficiency. Too high and you have a lot of switching losses, too low and you have a lot of component losses(inductor) and you also stress the leds with the higher ripple. There is a happy medium that is hard to find.QuoteThis is a must for any micro design, the standard to use is a 100nF ceramic.Also use an small lossy inductor (100uF that looks like a resistor) to the AVcc from the Vcc pin. Also a 100nF from AVcc to Agnd.So you are saying the gate voltage Vgs looks ok when the load is resistive. But becomes worse when the led load is added. Is that right?If that is the case it is strange, I would do a short lead length version of your circuit, I think you will be surprised by the improvement.Another thing is to use Kelvin connections for the current sense. With the low pass filter ( 10k and 100nF) near the input pins. The kelvin connections means use differential inputs and dont let any other current flow through these tracks. Also route them next to each other to reduce the cross sectional area of the loop.You can leave this till later, you can't easily breadboard it, but until you do you will have too much spurious noise in the ADC, so I would use about 500mOhms for the current sense.

author: sarfata
author_rank: Contributor
timestamp: September 15, 2012, 08:18:33 am
content: Hey,For those who are jumping in this thread, we are not talking about the initial design I posted (worked fine but was expensive). We are talking about a new design based around a Attiny861 doing the current control for the three channels (read discussions in HackFridgeMagnet thread:https://www.eevblog.com/forum/projects-designs-and-technical-stuff/domestic-led-lighting-project/).The version I talked about yesterday in your thread was on a breadboard. I used vero board today to do something cleaner. I am happy to report that it works very well. I first used the ADC in single-ended mode with a 0.1 Ohm sense resistor but the precision was not enough. I switched to differential mode with a 20x gain and the reading is now precise enough to control the current.With a very simple while(1) { /* adjust pwm based on adc value */; sleep(1ms); } it works perfectly.I have tried it with different LED colors and the efficiency is between 65% to 71% (it is better when the led forward voltage is higher). This is the input power to the board (which includes a 7805 for the Attiny) vs the energy that goes into the light.I will play around with the value of the inductor, the period of the PWM and input voltage to see if I can improve it. Using three LEDs at the same time will also improve efficiency. What level did you reach?Finally, I have to give some thought to what happens if the LED is in short circuit or if there is no LED. I was not brave enough to try today!Next step: design a PCB to have the three channels running at the same time (I only did one on the vero board), improve the algorithm to manage the three channels and do another level of PWM at a few hundred hertz to control brightness.thomas

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: September 15, 2012, 09:29:26 am
content: Gee you work fast.I got about 93% +- 3% at 24 volts and about 20watts from memory, over 3 channels.You wont get this at 9 volts as I guess you know.In this case for short circuit protection you are really protecting against heat in the Led or Fet. So I think the micros slower response time will be ok. Just wind down the current, and If your logic can see a real short then turn off. (ie the ratio between pwm duty cycle and current is completely wrong)

author: ptricks
author_rank: Frequent Contributor
timestamp: September 15, 2012, 01:41:05 pm
content: Quote from: sarfata on August 18, 2012, 04:43:17 pmFor an SMPS not to radiate noise you need filtering on the input and the output for EMI. Otherwise the power source wires and the output wires become broadcast antennas for the noise. Spikes of noise can be stopped by adding some RC circuits to the board to clamp any spikes and using shielded inductors.http://www.national.com/AU/design/courses/117/dis04/05dis04.htmedit:Forgot to mention that if you want a really easy noise detection device, use an AM radio, it will let you know how bad the EMI is and how far out it goes.

author: Pak_Engineer
author_rank: Contributor
timestamp: September 15, 2012, 04:08:31 pm
content: Quote from: sarfata on August 18, 2012, 04:43:17 pmWhy not use a P channel mosfet? That would certainly draw less power and stay icy. Something like this from Afrotechmods:

author: sarfata
author_rank: Contributor
timestamp: September 19, 2012, 03:38:27 am
content: Hi!Thanks a lot ptricks for the advice. I will try to find an AM radioMy next design should be better protected and I will be careful to choose shielded inductors.Pak_engineer: I have to thank you twice, once for the great advice and another time for my new subscription to AfroTechMods. Looks like there is tons of very very interesting stuff there, I had heard the name before but never looked at it. Thanks a lot.I am putting a mosfet PNP in my new design as we speakthomas