Highly efficient, very powerful LEDs like the Cree XML2 are relatively inexpensive, and have lots of interesting uses. According to Cree, they can “deliver[ ] an unprecedented 1198 lumens at 116 lumens-per-watt efficacy at 3 A,”1 with a maximum forward voltage somewhere around 3.15V. To put this efficiency into perspective: incandescent lightbulbs have an efficiency of around 14.5 lumens/watt.2 and compact fluorescent lightbulbs have an efficiency between 50 and 70 lumens/watt.3 They’re also really small (5mm x 5mm).4
They can be a hassle to power, though — constant current LED drivers are expensive, and aren’t necessarily as flexible as you might want them to be. An easy-to-use 1 amp driver is about $15 on digikey, and more expensive on some other sites.5 If you want to get the most out of your LEDs, though, you want a lot more than 1 amp. If you plan on running many LEDs, you might not want to spend a bunch of money buying numerous expensive drivers. The solution? Build your own.
Buck converters make for a good constant current power supply, and you can make your own fairly cheaply (and easily, if you have steady hands). Analog Devices does a nice job explaining how they work (an edited version of their explanation follows):6
I decided to build my buck converter LED driver using a TI TPS5430. This IC can provide constant 3A current with a 5.5V-36V input range. It comes in an SOIC 8-pin package, and requires relatively few external components to function (diode, inductor, etc.). The TPS5430 datasheet shows its application in delivering a constant voltage, but as noted above, to drive LEDs we want a constant current. 9 This is actually pretty simple to do.
Buck regulators consist of two switches, two capacitors, and an inductor, as shown [below]. Nonoverlapping switch drives ensure that only one switch is on at a time to avoid unwanted current “shoot through.” In Phase 1, [the switch] is closed. The inductor is connected to [the voltage source, which we’ll call V], so current flows from [V] to the load. The current increases due to the positive voltage across the inductor. In Phase 2, [the switch] is open and [current flows through the diode]. The inductor is connected to ground [through the diode], so current flows from ground to the load. The current decreases due to the negative voltage across the inductor, and energy stored in the inductor is discharged into the load.
The TPS5430 keeps its Vsns (Vsense) pin held to 1.221 volts.10 Thus, Vout is set by 1.221*(R1+R2)/R2. The current flowing through the R1-R2 branch is equal to Vsns/R2.
As such, we can use the value chosen for R2 to set the current through R1. It follows that if we replace R1 with an LED load, we set the current through those LEDs. 11 The TPS5430 functions to set Vout equal to 1.221V + the forward voltage drop of the LEDs at whatever current they currently run at. 12 The datasheet provides explanations and forumale for selecting the values for the capacitors (C1, C2, and C3) as well as the inductor and diode. Make sure that you use resistors that can dissipate the power running through them (P=I2*R…).
TI sent me some free samples for the TPS5430 (thank you very much, TI). I bought everything else, including a breakout board for the tiny SOIC 8 package used by my TPS5430. My inductor and diode are beefier than shown in TI’s application diagram above, in order to deal with my desired up-to-3A operating spec. The circuit looks like this:
Putting this thing together was kind of a pain in the ass, but it didn’t have to be. Since I was only prototyping, I used a breadboard, and not a custom PCB. Soldering the little TPS5430 chips to the breakout board was frustrating at times. The stranded wire that I’m using is difficult to insert into a breadboard, and my diode’s leads were too thick to fit in (I had to thin them a bit). Moreover, the breadboard probably inserted lots of unwanted resistance and capacitance. That said, I was happy when everything worked as planned.
The next step is to make this thing waste less power by adjusting what is dissipated by R1. The article that I cited above discusses an easy way to do this by “offsetting” Vsns to a lower value. 13
If you have any questions or feedback on the driver, leave a comment below.
- http://www.cree.com/LED-Components-and-Modules/Products/XLamp/Discrete-Directional/XLamp-XML2 ↩
- http://en.wikipedia.org/wiki/Incandescent_light_bulb ↩
- http://en.wikipedia.org/wiki/Compact_fluorescent_lamp ↩
- check the datasheet linked from Cree’s page ↩
- BuckPuck™ drivers like these are nice, but they aren’t cheap and I haven’t seen any that can deliver near 3 amps ↩
- Ken Marasco, How to Apply DC-to-DC Step-Down (Buck) Regulators Successfully, Analogue Dialogue Volume 45, pg. 3 (Nov. 2, 2011) available at http://www.analog.com/library/analogDialogue/cd/vol45n2.pdf ↩
- http://en.wikipedia.org/wiki/File:Buck_operating.svg ↩
- http://upload.wikimedia.org/wikipedia/commons/6/63/Buck_chronogram.png ↩
- See Figure 11 of the datasheet, reproduced below. http://www.ti.com/lit/gpn/tps5430 ↩
- See datasheet. ↩
- There’s an excellent article written about using chips like the TPS5430 in this sort of LED-driving application available here. Jon Kraft, Convert a Buck Regulator into a Smart LED Driver, Including Dimming, Analog Dialogue Volume 47 (March 2013), available at http://www.analog.com/library/analogdialogue/archives/47-03/smart_led_driver.pdf. ↩
- I don’t like ending sentences with prepositions, but sometimes it happens. ↩
- Jon Kraft, Convert a Buck Regulator into a Smart LED Driver, Including Dimming, Analog Dialogue Volume 47, pgs. 2-3 (March 2013), available at http://www.analog.com/library/analogdialogue/archives/47-03/smart_led_driver.pdf. ↩