Advice on Arduino High Output LED Driver Shield

Hello list members,

I have some questions for the experts here that hopefully you can shed some light on.

I am designing a high output multichannel LED driver shield with an Arduino, each of the six PWM channels on an ATMega328P are tied to a CAT4104 LED driver (Intelligent Power and Sensing Technologies | onsemi) to independently drive at 700mA each high output LED (all of the LED channels on the CAT4140 are tied together to get to that 700mA output rating. The pulse/strobe timing on each LED channel has to be independently controlled via PWM and with minimum ringing or rippling at the LED end.

The common power rail (2.5A or 5A of 12V power) is tied to each of the LED anodes, with the CAT4101 sinking 700mA of PWM pulsed power to each.

According to ON Semi, I should "...calculate the CAT4104 power dissipation based on the formula on Page 14 (VinIn + VLEDILED=5V0.007A + 1.5V0.7A, leading to 1W when assuming Vin=5V, forward LED voltage=3.5V). The last step is the PCB design assuring the thermal resistance junction to ambient is sufficient low to allow the power generated in the CAT4104."

With designing the PCB, what would be some tips on assuring the thermal resistance junction to ambient is sufficiently low to accommodate all six CAT4104s in a single enclosure without heat dissipation issues? Aluminum clad instead of copper clad PCBs? Heat sinks? Or would active cooling of some sort likely be required?

Lastly I am seeing some significant ringing with views of 20kHz PWM waveforms expanded out to see whole cycles - 5us per division. White LED 650mA, 60cm wire length. I've attached some images of the ringing below, any thoughts on reducing this ringing and rippling would be helpful. I am thinking a smoothing capacitor or in the alternative reducing the wiring length between the CAT4104 (but that would significantly reduce the functionality of the design with short wires).

Any thoughts or help on this would be greatly appreciated!

:slight_smile:

IMAG0639.jpg

IMAG0635.jpg

IMAG0636.jpg

Aluminum clad instead of copper clad PCBs? Heat sinks? Or would active cooling of some sort likely be required?

I have never come across aluminum clad PCBs but why? Aluminum is a poorer conductor of heat than copper so it will not help. Anyway the thermal conductivity is not a very important factor in heat sinking it is dominated by surface area.

What you need to know is what thermal resistivity you require. Then you can look at heat sinks that have the same sort of resistivity and see what size they are so you know what you need.

As to the ringing, is this real? That is it looks to me like an uncompensated scope probe rather than ringing.

Those pictures are from a developer's scope that is not working on the project anymore so I don't know what his setup was over there. I have a two channel Rigol I just picked up and plan on replicating those experiments if I can get the heat dissipation issues resolved with this first prototype I have cobbled together so far.

To address the thermal issues, looking at the data sheet it looks to me that the chip has a thermal pad underneath that will have to be reflow solders to the PCB to help dissipate heat. It is relatively common for high power LED drivers. The LT3496 we are using on our LED shield https://ledshield.wordpress.com/ requires the same. In order to spread the heat over a bigger surface you need to likely place thermal vias in that area under the chip as well. If that still is not enough you may want to look at a PCP with 2oz copper thickness.
However, given the abilities of the chip you are using I'd assume you are looking more for a low cost solution, thus I'd suggest staying away from 2oz PCBs as these a rather expensive and not available from the usual low volume PCB houses e.g. batch PCP or OSH Park.

I am also wondering why you are looking at such high PWM frequencies. While the chip you are using has a low dimming ratio already ( 1% duty cycle resolution or 100:1), using such high PWM frequencies is not going to help that at all, unless the aim is to use as small as possible components, but in that case there is plenty of room on a Arduino shield :wink: