Notes on High Power LED Drivers

(Back to the bike lamp project)

LED's necessitate a constant current power supply. The easiest solution to this problem is to use a resistor. As we all know, R = V/I; thus, if we have an input voltage of 5v and the LED draws 1A at 4V it means we have to waste 1A at 1V. In this case, a 1Ω resistor would be needed. That may work fine, but there are a lot of issues with this. First of all the resistor is simply wasting power. This loss may be tolerable in most situations, but if the device is battery operated chances are that efficiency is one of the top design priorities. Moreover, it is impossible to use a microcontroller to control the led without using extra components as most can source or sink no more than 20mA. It is also impossible for this setup to provide a higher output voltage than the input voltage. It quickly becomes obvious that a better solution is needed, comes in the switching regulator. The following is a collection of thoughts and data about linear and switching high power LED's driver.

  1. Linear Regulator
  2. Switch Mode Regulators
    1. Microcontroller considerations
    2. OnSemi's NCP3065
    3. SwCAD (LTSpice) Simulation
    4. Deal Extreme's Drivers
    5. TPS61165
  3. Bibliography

Linear Regulator

As mentioned above, a simple resistor can be used to drive a high power LED, but this requires that the input voltage be constant. If the input voltage will vary, such as when powered by NiMH batteries, a simple circuit using MOSFET and NPN must be added in order to provide constant current. In this case the MOSFET acts as a variable resistor. This is very well described in this article on instructables.com. This circuit also allows brightness to be controlled by a microcontroller using Pulse-width modulation.

Switch Mode Regulators

SMPS are a highly complex subject which I cannot pretend fully understanding. The following are my efforts at designing a SEPIC topology LED driver using the NCP3065 from OnSemi.

Microcontroller considerations

  • AVR's will usually pull pins high on start-up, this may be an issue. Using a gate driver is a possible solution
  • Frequencies vary between ~50Khz up to a few Mhz. And as such proper de-coupling and ground plate must be used.
  • Boost topology is usually more efficient than buck.
  • In boost topology Vout cannot be bellow Vin.
  • Buck-Boost configuration requires more monitoring, but often requires a single extra component to the boost topology.
  • Efficiency usually varies between 70% and 90%.
  • Lower frequencies will usually have bigger ripple current.
  • High frequencies can mean the microcontroller uses more power. Some switching regulators, such as TI's TPS61165, have a hold feature that solves this issue.

OnSemi's NCP3065

The current design is based on OnSemi?'s NCP3065 configured in the SEPIC topology with a dual winding inductor. The design accepts a wide voltage input range from 6V to 18V and will drive a string of 3 Cree XR-E at 1A. Efficiency is expected to be around 85%. The NCP3065 offers a low frequency (>= 200Hz) PWM input for dimming options. The following circuit is derived from an evaluation board. If I were to make 20 kits for this circuit, it would cost around 20~30$ each. If 20 people contact me saying they are ready to wire the money, I would be ready to make a run.

NCP3065 SEPIC Design Schematic (click for full size)
NCP3065 SEPIC Design Schematic



NCP3065 SEPIC Design PCB (click for full size)
NCP3065 SEPIC Design PCB

You can also [[NCP3065_SEPIC_DRIVER.tbz download the Eagle CAD files]].

SwCAD (LTSpice) Simulation

Test simulation of the buck topology in Linear's SwCAD (LTSpice). Running at 100Khz, 25% duty cycle.


(Click for full size)

Deal Extreme's Drivers

The website dealextreme.com (DX) offers some high power LED drivers for flash light applications. These are very cheap (~3$ a piece), especially compared to other buck drivers (like the nFlex or the BuckPuck) which range between 20$ and 35$. One of the interesting driver DX offers is the 3.6~8.4V 5-Mode 3W Circuit Board. So what do you and do you not get for 3$? Well the DX driver will drive a single Luxeon III led at around 800mA (80% total) and efficiency is around 75%. Not bad! Of course the more expensive ones can drive many leds at a time and have efficiencies ranging from 80% to 95%. But this is still a good, cheap, alternative. For my application I wanted to be able to control the led using an AVR microcontroller. The DX Driver looks a little awkward, it's two PCB's sandwiched together. But that's just our luck! The top part is the controller and the bottom is the driver. Just cut the top part and you've got a nice, single led driver. The control pin on the driver expects to be driven from an open collector output and so requires an NPN transistor and pull-up to be driven from the AVR. The biggest con about this driver is that using Cree's XR-E LEDs that have a much higher voltage drop, the driver will not provide more than 500mA.

TPS61165

The TPS61165 is a switching LED driver from Texas Instrument which is a perfect match for the specifications of this light. It will provide up to 1.2A in either buck, boost or sepic topology and has a 1.2Mhz switching frequency. As of this writing, I still have to make a breakout PCB for this chip as it only comes in a 6SON (similar to QFN) package which makes it hard to prototype. I'm also waiting on some inductors. More will be added here as it goes along.

Bibliography

(Back to top)

Attachments