High Power LED Driver

Posted on Posted in Electronics

This is a continuation of Beginning the Aquarium LED Lighting Project.

Driver circuit options

Now that the power source and LEDs have been selected, it’s time to figure out how to hook everything together and how to get the power right.  Since the power source will supply 12 volts, the combined voltage drops of each LED in the string must not exceed 12 volts.  In reality, it will have to be even less than that because the PSU may not provide exactly 12 volts and the driver circuitry may need some head room.  I’ll use the voltage drops listed in the data sheets (assuming maximum current) to plan the initial layout and tweak, if needed.

Color Voltage Drop # per string # of strings Drop per string
Green 3.8 2 2 7.6
Red 2.3 4 1 9.2
Blue 3.5 3 3 10.5
Royal Blue 3.5 3 3 10.5
Cool White 3.5 3 3 10.5

The actual configuration for Blue, Royal Blue, and Cool White is 2 strings of 3 LEDs and 1 string of 2 LEDs since there are 8 LEDs of each of those colors.  The voltage drop on those strings will only be about 7 volts.  Based on this information, I’ll need 12 modules to drive current; 1 for each string.  That seems like a lot of current controllers to drive 5 colors.  I might come back to this some day and look at a different voltage source…

Current Driver Options

Since LEDs are driven by current instead of voltage, a current driver circuit is required.  There are prebuilt modules like BuckPuck, and others from MeanWell, but I’ll be building a custom circuit to control the current Instead of using a commercially available module.  The ready-made modules provide convenience and speed at the expense of price, size, and flexibility.

A custom current source could be inexpensive and fairly small, so the only choice is between a linear or switching circuit.  I chose a linear circuit because of the lower cost and easier construction using only resistors, capacitors, and the CAT4101 driver chip (datasheet).  The drawback with the linear regulator is heat generation and efficiency.  The CAT4101 needs 500 mV head room, so I’m probably cutting it close with the blue and white channels that have 3 LEDs. On the other hand, the strings with only 2 LEDs will be burning a fair amount of excess voltage as heat.  Hopefully, a heatsink should be able to solve the problem.

On to the prototype!

A quick prototype using the sample schematic on the CAT4101 datasheet proves that the design works and lights up a test LED!  A potentiometer successfully adjusts the current and dimming can be achieved with PWM from and Arduino.

DIY breakout board for CAT4101
DIY breakout board for CAT4101
CAT4101 with PWM dimming
CAT4101 with PWM dimming

The CAT4101 caps out at 1 amp, but the cool white LEDs will be driven at 2 amps, so I’ll need to drive those chains with 2 chips in parallel as mentioned in the datasheet.  After spending a huge amount of time in Eagle, I was finally able to create the following schematic for a single driver board that can be configured to control 2 channels up to 1 amp each, or a single channel up to 2 amps.

Schematic for current driver
Schematic for current driver

Now I just have to turn this into a board and start using it!  This turned out to be a quite a long process, and I think I finally got it close to right on the 6th version.  I created gerbers and sent an order to ITead.  I think v7 will move the the resistors and capacitors to the back of the board to cut the size in half, then I can panelize the board since I’ll need 40 of these in total to run 5 fixtures (2 on my friend’s tank and 3 on mine).

The iterative versions of the  PCB
The iterative versions of the PCB

I can finally start working on the fun part – the control system!  It should be pretty straight forward with an AVR, a real time clock, some potentiometers, and an inexpensive LCD display.