Posts tagged arduino
I designed my first arduino shield. It took longer than I thought, but finally get it work.
I will put the schematic and board design once I clean up (the schematic is ugly right now)
- Linear tech LT3496 – 3 Channels, 1 A, 40V LED driver
It is basically High power led driver based on LT3496 which can drive three independent channels up to 750mA. Obviously having three channel is meant for RGB LED. LT3496 can drive about 10 LEDs for each channel (which is about 36V). It is designed for Buck mode, so it require higher input voltage than sum of LED forward voltage drop. Since most high power leds have 3.4-3.6V voltage drop, it need 12V for 3 LEDs, 24V for 6 LEDs, and 36V for 10 LEDs. So theoretically it can drive 10 LEDs x 3 at 700mA. Because of power dissipation of the chip, total power need to be lower than 45W, so 10 LEDs x 3 at 350mA or 3 LEDs x6 at 750mA is more realistic figure.
- LED Current adjustment – Analog Device AD5254 (I2C , 4 channel , 256 positions, non-volatile)
If I use one kind of LED, I can just use proper current sensing resistor for that. I rather use many different kind of LEDs that have different maximum current. It would be great to have dynamic current adjustment depending on LEDs. AD5254 enable to adjust maximum current for each channel from arduino. This can be used for bright adjustment along with PWM.
- I2C – 3 channel PWM – attiny85
CyzRGB – BlinkM alternative firmware : http://code.google.com/p/codalyze/wiki/CyzRgb
Last feature of shield is i2c PWM instead of using arduino PWM pins. Since arduino has 6 PWM pins, I can stack the shield only two of them. By using i2c PWM, I can stack as many as I want. It is act as high power blinkM. Consequently the LED shield use only 2 i2c pin from arduino regardless of number of shield I use. There is open-source blinkM firmware that support most blinkM function and more. Also I can use all the resource that are created for blinkM.
- Small high voltage input switching 5V power supply
Since arduino can take only up to 12V, it was necessary to separate 5V power supply. LM2841 can be used with 42V which is more than enough for LED driver. Also having separate power allow me to use shield separately from arduino.
A video showing blinkM sequencer with cyz_RGB firmware driving 10W RGB LED.
Just a few pictures.