high speed MOSFET gate driver config / TLC5940

Hi,

I am currently working on a project that involves dimming LED strips via PWM. Originally, I used the PWM outputs from an Arduino using a transistor totem-pole config to drive a MOSFET as fast as possible. The config can be found here: http://joost.damad.be/2012/09/dimming-1 … t-and.html

I was able to get my MOSFET (I can’t remember exactly, but they are logic-level, similar to the FQP13N06L) to switch < 50ns!

However, I was not happy with the Arduino 8-bit PWM capability - especially when it was very dim ( < 10%), so I am now looking to user a a TLC5940 LED driver, with 12-bit PWM. This would allow me to control more than one set of LED strips as well!

I have a few questions that I am having trouble with:

  1. I am not that familiar with BJTs, so I am a but fuzzy on how the totem pole config works. Specifically, I don’t know if I can just connect the output pins of the TLC, and expect it to work? Arduino outputs high (+5V) and low (0V), but the TLC5940 uses current sink outputs, which is not the same thing. Also, will the output be inverted because of the TLC being a current sink?

  2. Is my current totem pole config practical? I have looked a little at gate drivers… can someone suggest one?

A bit more information that might be useful:

200Hz PWM frequency

LED strips: COM-10261

Thanks,

Hengy

I did a quick look at the circuit you were using and the TLC LED driver DS.

The TLC driver replaces your totem-pole and MOSFET LED drive. The TLC is to directly drive the LEDs without the need for a MOSFET or series current limiting resistor.

Thanks for the reply. I am going to use the TLC to drive LEDs with current draw well above 4 amps, hence why I need to drive a MOSFET.

Hengy

You could drive a MOSFET with the TLC5940 but it isn’t designed for that.

When an output is active it will try to sink a constant current and this will pull the gate of a MOSFET low. But when inactive it is doing nothing so you will have to provide something to pull up the gate. A resistor will do but the rise time might not be what you want. PWM values will of course be inverted with a NMOSFET. (10% is 90%)

Instead of adding more hardware, why not do something about the limitations of the Arduino PWM library.You have a 16 bit timer that can do the job even if the library doesn’t support it.

With a PWM frequency as slow as 200Hz you really don’t need a fancy gate drive circuit. All it does is reduce power dissipation on the signal edges and those happen at such a slow rate that the power reduction is minimal. Slow could in fact be a good thing as it will reduce radiated EMI. You may not care but your neighbor trying to listen to AM radio might.