100V LED Buck driver

driver board with test LEDs
Here the driver is seen powering a string of 8 white LEDs in series for a total forward voltage of 27.2V from a 30V input at 15mA.

My electric bike is my primary mode of transportation so I need to be able to ride it under all conditions and at night that means I need light, lots of light. It seems silly to me to have a separate battery to power the lights when I have this nice big battery for the motor and it would be one more thing to remember to charge. The hiccup comes from the fact that the bike battery is at 48V (with a soon to come upgrade to 80V) so a switching power supply is needed.

Motivation for Switching LED drivers

LEDs do not limit their own forward current. Or more precisely, their impedance vs. current is almost flat. In practice this means that if you connect an LED to a voltage source, it will draw far more current than it can sustain and burn out. For single LEDs at low (fixed) voltages, a resistor may be used to limit the current since the resistor has a linear impedance vs. current relationship.

Resistor limiters may be unsatisfactory if a fixed brightness is desired. Consider a white LED with a forward voltage of 3.4V being driven by a LiPo cell. When fully charged the LiPo may output as much as ~4.2V but at the end of it’s cycle, as little as ~3.6V. Subtracting the fixed forward voltage, this leaves .8V to 0.2V or a 4x range. Any resistor we select will then result in a 4x variation in current and thus (roughly) brightness over the discharge cycle of the battery. If we wish to drive a string of LEDs in series, the problem gets worse as the forward voltage of the LED string becomes a larger and larger percentage of the total voltage.

Resistors are also wasteful. The same current is passing through the resistor as the LEDs and the resistor must be large enough to regulate the current to the required stability. At high currents, a non-negligible amount of power may be dissipated in the resistor.

Enter the current mode switching regulator: A resistor is still in the circuit but only as a current sensor so it has much smaller value (typically <1Ω) thus it dissipates much less power. Because the current is being actively controlled, it is much more tightly regulated across a range of input voltages and the LED brightness stays fixed. Most current mode LED drivers also incorporate a logic level PWM input for dimming or / and a mechanism for adjusting the target current which makes then convenient to use in systems.

Component selection

I selected a part from Linear Technology because Linear’s documentation is always very clear and accurate. Their parts also tend to incorporate a lot of functionality and require very few support components making them easy to design with. While Linear’s parts tend to be slightly higher cost per unit, for hobby volumes, the difference is much less important than quality.

Design

The LT3756, is very well suited to my application. It allows up to 100V in and 100V out in a buck, boost or buck boost mode. Because this is a high frequency (>100kHz) switching power supply, a carefully laid out circuit board was required (bread boarding won’t work), and because I want 4 of these on my bike and expect to find further uses for this driver, I decided to create a general purpose LED buck driver around the LT3756.

What I arrived at is essentially a breakout board implementation of the buck reference design for the LT3756. It accepts up to 100V input and can drive a string of LEDs with a forward voltage up to the input voltage (minus a little bit for good regulation). I chose to size the inductor and transistors to drive up to 500mA of current which is plenty for applications where the extra brightness is coming from many LEDs in series rather than a few ultra high intensity modules. For my particular application, I am planning to use strings of 12 80mA LEDs.

With just the board, a current sense resistor, a power supply, and a couple of jumpers, you can make a string of LEDs light up. The extra features of the driver chip such as under voltage shutdown, open LED detection, dimming etc. are broken out for wiring on a bread board or other mother board. The circuit is also general purpose enough to be used as a 500mA CC/CV power supply.

Open Source

All of the design files are open source and available on Github.

Tools

I simulated and fine tuned the circuit in LTspice tool freely available from Linear Technology and designed the schematic and did the placement and route and generated the manufacturing files using EAGLE CAD.

For manufacturing, I went to DorboxPDX PCB manufacturing. Given that I knew I wanted at least 5 copies of the board from the start DorkbotPDX had a great price and good enough quality for the density of the board I was making.

Buck mode regulation

For a good intruction to Buck convertsers, Schematictake a look at the Wikipedia article. In very brief summary, the key components are a switch (MOSFET), an inductor a capacitor and a diode. Current flows from the input power supply, through the switch, through the inductor and then through the load. When the regulation point (either voltage or current) is reached, the switch opens but the inductor forces current to continue to flow so the diode starts conducting and the current flows in a loop through the inductor, load and diode. In even grosser simplification, you can also think of the switching regulator as just doing very fast PWM on the load to control the current.

Constant current / constant voltage regulation curve
The output of the regulator is kept on the red line. Constant current up to a fixed voltage and then constant voltage at that point.

This LED driver has two points of particular interest: first it normally regulates current rather than voltage as most switching power supplies; and second it, it adjusts the low side of the load rather than the high side. So if the input is 100V and 30V is required to drive the desired current, the high side of the load will be at 100V and the low side will be at 70V relative to ground. I.e. the output is level shifted.

A secondary feedback mechanism is provided for voltage control so the output current will be regulated up to the point that sourcing the desired current would require a voltage beyond the set limit, at which point, the circuit will regulate the output to that voltage instead. See the figure on the right for the region of regulation. The driver also sets the OPEN_LED fault pin when it switches to voltage regulation as this usually means the LED string has failed open.

Layout

Board design imageFor switching regulators, the main concern is to keep the switching loop as small as possible. Take a look at the layout (and the layout guidance in LT3756 datasheet) and you’ll see that the loop from V+ through the switch inductor and diode is kept small to minimize it’s effect as an antenna to radiate EMI. All of the analog reference pins should have decoupling capacitors with their traces as short as possible. Finally, the entire module has a ground plain with as little cutting as possible given that this is a two layer board.

 


Component Use

Component
Component representation of the LED driver board for use in projects. Click for the EAGLE CAD library.

For including the LED module in other projects I created a component of the module in an EAGLE library. Organized by pin, here is how to use the module.

  • V+ — the supply voltage for the module. Between 6V to 100V and must be higher (10% recommended) than the required output voltage for stable regulation.
  • GND — Module ground. Remember that the output voltage is regulated relative to V+ not to ground.
  • SHDN — Run / stop control for the whole module. May be driven as high as V+. The SHDN pin may be used as an under-voltage protection as well. See the LT3756 datasheet for details.
  • OPEN_LED — An open collector output to indicate that the LED string has faulted open / that the regulator is regulating voltage instead of current. Use an external pullup resistor to your system logic level and this pin will pull low when active. Multiple driver modules may have their OPEN_LED signals together and the signal will go low if any of them have a fault.
  • PWM — Dimming input for the module. Drive with a logic level (3.3V or 5V compatible) PWM signal of less than 50kHz or connect to VREF if unused.
  • FB_TOP — Top of the voltage feedback network see FB below.
  • FB — Because the output voltage is level shifted away from ground, the module has an internal network to adjust the feedback reference. To set the voltage limit and OPEN_LED trip point. Use a resistor divider as shown, the voltage limit will be 2.5V * R3/R4 where R3 and R4 are as pictured and Vin is FB_TOP.Feedback circuit
  • CTRL — Optional current setting adjustment which may be used as an analog dimming mechanism. The module already has a circuit for over temperature protection built in and connected to CTRL so no external connections are required but by externally pulling CTRL lower, the target current may be lowered see the datasheet for details.
  • VREF — 2V reference. Use for driving CTRL normally and PWM if unused. Can source up to 100µA.
  • ISP, ISN — Current sense resistor high side and low side respectively. An external current sense resistor may be used by connecting it between ISP and ISN or an SMD1206 resistor or through hole resistor may be populated directly on the module in which case these pins should be left unconnected.
  • LED_A — LED string Anode
  • LED_C — LED string Cathode

Use update

I now have the schematic for my bike electronics motherboard which incorporates 4 of these modules posted over here.

One thought on “100V LED Buck driver”

Leave a Reply

Your email address will not be published. Required fields are marked *