Not only just release the schematics and board design, But also I want to share my experience during the development of the shield.
Someone who want to design Arduino shield, LED driver, or modify the shield may find it helpful.
It will be three parts. If you find any in-accuracy or have suggestions on design, please let know.
Here is the first part: original writing is in my blog http://neuroelec.com/2011/02/designing-rgb-led-shield-1-led-driver/
Designing RGB LED Shield – 1. LED Driver
I will start to write why I chose particular chips and components while I designed the shield. It will be a expanded version of my first post. First part of the writing is about LED driver which is the part that I spent majority of time during development.
A primary reason for designing the shield was that I want to control high power RGB LEDs with the Arduino. There are many chips specifically designed as LED driver from many different companies. I need three independent channels to mix red, green, blue light to get any color I want.
A most common type of high power LED is 350mA one. These day, maximum current of high power LED is going higher and higher. Still common and easy to source types are 350mA and 700mA. So I looked at the LED driver chips that can power up to 700mA LEDs. Then, I found LT3496 from Linear Tech.
LT3496 is a just perfect chip for my designing goal. It has 45V, 1A internal switch that can drive up to 750mA. Best of all is three independent channels in a single chip which minimize the circuit and foot print. Since it can take up to 45V, it can drive 10 LEDs per channel, total 30 LEDs from a single chip.
Now, let’s take a look at what is LED driver is. LEDs need to be operated at constant current, otherwise they burn out quickly. LED driver is essentially a constant current power supply which can be linear mode or switching mode. Switching mode LED driver is a bit difficult to design, but it is way more flexible and efficient especially when it is going to drive different number of LEDs. So most of LED drivers are constant current switching power supply. Main differences between regular voltage regulated switching power supply and LED driver are current control and dimming circuit for LED brightness control. Dimming LED can be achieved by varying current limit or PWM input. Depending on how a driver circuit is designed, both of dimming methods can be implemented. Since I want to have RGB color mixing, dimming LED is a essential feature to have. I will write more about how I implement both dimming methods in a separate post.
In here, I will focusing on current mode switching power design. Constant current mode is achieved by regulating output current instead of voltage. Current monitoring is done by measuring voltage drop across a small value resistor (called current sensing resistor). There is a voltage drop across the resistor depending how much current flow. It is Ohm’s law. For example, when 1A current flow across a 0.1 ohm resistor, the voltage drop across the resistor is 1A x 0.1 ohm = 0.1V, 100mV (V = I x R). The driver monitor the voltage drop and make it constant. Rest of the part is regular switching power supply.
Basic components for switching power are switch, inductor, diode and input/output capacitors. One important factor of the design is switching frequency, how fast switch will turn on and off. Switching frequency is normally hundreds KHz to a few MHz. With high frequency switching, low value of inductor and capacitors can be used. So overall foot print of circuit is small and components are cheaper. But high frequency operation is not as efficient as lower frequency operation. Also switch itself dissipate more heat at higher frequency switching. Even though switching power is quite efficient, at high power output, switch will dissipate a lot of heat. Compromise between size/cost and efficiency/heat has to be made.
LT3496 operates from 330KHz to 2.1MHz. Linear tech’s reference design for the LT3496 runs normally at 2.1MHz. So the design is small and has low cost components. If input voltage and output voltage (number of LEDs) is fixed, you can still achieve relatively high efficiency. However if you don’t know or input and output voltage varies, it is very difficult make a circuit efficient at high operation frequency. Since I don’t know how many LEDs and what input voltage people will use with the shield, I can not optimize the circuit for a particular configuration.
To have flexibility of operation frequency, it is require to have high value inductor, which means bigger size, higher cost. The higher the inductance of the inductor, lower the ripple current to LEDs, lower minimum operation frequency. Among the same value inductors, bigger size inductor normally have higher current rate and lower DCR (resistance). Low DCR is important since it affects efficiency and amount of heat dissipation from the inductor. At high frequency operation, 10-15uH is normally good enough. For the large range of input and output voltages, I chose high value inductor, 47uH rated 1.5A. Rated amp looks overkill, but for 700mA operation at least 1A inductor is required and high amp rated inductor have low DCR. With the 47uH inductor, operation frequency can be as low as 330KHz depending on input and output voltage. Because of low ripple, output capacitor can be small which also helps for higher dimming ratio as well.
LT3496 can be configure for buck, boost, buck/boost design. In buck design, input voltage has to be higher than output voltage. However, it is most efficient and simple as well as allows high current output.
the final design of the LED driver handles LEDs pretty well. It has good current regulation, wide operation frequency, modest heat dissipation, low current ripples.
Later, I will post a page that summarize the appropriate operation frequency and input voltage depending on output voltage (number of LEDs) and a spread sheet that calculate recommended frequency and input voltage ranges.