Controlling a 7 Amp LED strip with a TLC5947?

My project
1x 6 meter long RGB LED strip (4 pins: 12v, Red Ground, Green Ground and Blue Ground) Collectively consuming 7.2A of current.
TLC5947 RGB LED driver

I need to use the TLC5947 to variably control the brightness of the Red, Green and Blue channels of this one long 6 meter LED strip. Obviously I can't connect the grounds of the strip directly to the TLC channel because it can only sink 60mA of current. So I need to come up with some sort of way to use a mosfet instead. Have the 3x mosfets control the ground connections of the LED strips red, green and blue channels.

What can I use to do so? The TLC is a ground based PWM controller, meaning that instead of sending 0 - 5v, it opens and closes it's ground connection. Understandable but now with a high Current Consuming LED strip like this, I need to use a Mosfet and with a mosfet you usually send the 0 - 5 v to open and close the mosfet gate to various degrees. How can I use the ground pin of the TLC to open and close the mosfet?

Some things to note.

  1. I only have 3 channels remaining free on the TLC so that's all I can work with, no cascading another TLC stuff.
  2. I need to be able to use the PWM of the TLC (main reason why I need to use it) otherwise I would just use an Due without nothing else and just DigitalWrite pins on and off. But I need the PWM.

Easy. Use a regular n-channel power MOSFET, pull-up resistor to switch it on, the open drain of the TLC to switch it off.

Of course you still have to connect the GND of the TLC with the GND of your LED strip power supply - or the source of the power MOSFET of course.

I'm having trouble picking an appropriate value resistor as it seems whatever I pick, there's still a little bit of current flowing through the mosfet, making the led strips not completely turned off.

Please post your circuit diagram (a proper one, so that excludes Fritzing), with proper annotation and part numbers and values.

Hi,

Is the TLC5947 one of these drivers where the PWM does not turn fully ON ?

These sort of things usually will turn fully OFF (i.e. data = 0, output is never driven), but with data = FF, the output is ON PWM-1 periods and OFF for 1 period.

Just a thought... never used that device.

Yours,
TonyWilk

No schematic, everything done on a breadboard. Best thing I can put together.

TonyWilk:
Hi,

Is the TLC5947 one of these drivers where the PWM does not turn fully ON ?

These sort of things usually will turn fully OFF (i.e. data = 0, output is never driven), but with data = FF, the output is ON PWM-1 periods and OFF for 1 period.

Just a thought... never used that device.

Yours,
TonyWilk

Thanks Tony. I'll have to check. I tested the driver with 1 led before testing with a strip. The single LED turned all the way on and off so I figured the led strip would behave the same.

That's your schematic, and it's pretty well readable.

What's the value of R1?

For an open drain output on ch1 this basically looks correct - unless the output is never 100% of the time open indeed. If that's the case, you may need to invert the signal with an extra transistor.

Was that LED test done with or without the MOSFET switch in place? This makes a difference as the MOSFET inverts the signal (it's off when the TLC output is actively pulling the gate low, and on when the TLC output is off and the resistor pulls up the gate).

wvmarle:
That’s your schematic, and it’s pretty well readable.

What’s the value of R1?

For an open drain output on ch1 this basically looks correct - unless the output is never 100% of the time open indeed. If that’s the case, you may need to invert the signal with an extra transistor.

Was that LED test done with or without the MOSFET switch in place? This makes a difference as the MOSFET inverts the signal (it’s off when the TLC output is actively pulling the gate low, and on when the TLC output is off and the resistor pulls up the gate).

I’ve tried various values for R1 from 100 ohms to 10k. There’s always some “leakage” where the LED strip channel would still light up just a little bit.

The LED test I did was done with just a single LED directly on the driver. No mosfet was involved in that one.

TonyWil

TonyWilk:
Is the TLC5947 one of these drivers where the PWM does not turn fully ON ?

These sort of things usually will turn fully OFF (i.e. data = 0, output is never driven), but with data = FF, the output is ON PWM-1 periods and OFF for 1 period.

You’re correct (except for full on being data = FFF - it’s 24-bit PWM).

It will switch off the output for at least one cycle every time. And that’s what stops the MOSFET from being switched fully off.

LED: off when the output is off, on when the output is on (and sinking current). So for your PWM you will have noticed that 000 switches off the LED and FFF switches it ON.

Strip: off when the output is on, on when the output is off (and sinking current. PWM values are reversed: FFF switches it off, and 000 switches it on. And there the problem occurs: at FFF there is still one out of 4096 cycles that the MOSFET is switched on, and that you see in your LEDs.

Solution: add a second transistor to reverse the signal to the MOSFET gate. MOSFET must be logic type, fully on at VGS = 5V. PNP between Vcc and MOSFET gate; pull-down resistor between gate and GND; TLC signal to PNP base. A small signal transistor such as the BC557 will do fine.

wvmarle:
TonyWil
You’re correct (except for full on being data = FFF - it’s 24-bit PWM).

It will switch off the output for at least one cycle every time. And that’s what stops the MOSFET from being switched fully off.

LED: off when the output is off, on when the output is on (and sinking current). So for your PWM you will have noticed that 000 switches off the LED and FFF switches it ON.

Strip: off when the output is on, on when the output is off (and sinking current. PWM values are reversed: FFF switches it off, and 000 switches it on. And there the problem occurs: at FFF there is still one out of 4096 cycles that the MOSFET is switched on, and that you see in your LEDs.

Solution: add a second transistor to reverse the signal to the MOSFET gate. MOSFET must be logic type, fully on at VGS = 5V. PNP between Vcc and MOSFET gate; pull-down resistor between gate and GND; TLC signal to PNP base. A small signal transistor such as the BC557 will do fine.

So essentially the solution is to “convert” the ground pin to a sort of VCC pin by the use of a transistor. Guess that’s were I was headed anyways. Alright then.

Hi,
Is there a reason you need to use a TLC5947, do you need all those levels of intensity for each colour.

Tom... :slight_smile:

TomGeorge:
Hi,
Is there a reason you need to use a TLC5947, do you need all those levels of intensity for each colour.

Tom... :slight_smile:

Yes, that's exactly why I need to use it. Everything that is connected to the drivers 24 channels takes advantage of the PWM functionality. Something that neither of any arduinos, nor software PWM can achieve.

Driving the LED strips with marmosets was much easier since I just drove the gate pin with the arduino output directly. But the trade off is No PWM. Not for all 24 channels at least. With this driver I get all PWM but now I gotta do this hanky panky with the path of lowest resistance and transistors.

Hi,
Its only a thought;

You place a logic gate, a 2 input AND gate, between the 5947 output and the gate.
Then using software, when you need a channel to go OFF, you use another output on your controller to change the gate input so no signal from the 5947 gets to the MOSFET.

Its like an ENABLE/DISABLE for each channel.

If you have the available outputs and are interested, I can do a suggested circuit for you.

Tom... :slight_smile:

Isn't it easier to connect the outputs to an inverter? You'd need a pull-up resistor of course on the input to make sure it's not floating. Pretty much the same effect as the transistor solution, but a bit easier to build I guess.

Hi,
Something like this;
TLC5947_Output Control.jpg
Only problem the MOSFET isn’t logic level.
Not sure what the output levels are from the 5947.
Tom… :slight_smile:

Hi,
Good idea @wvmarle;
TLC5947_Output Control2.jpg

Tom… :slight_smile:

Re: diagram TLC5947_Output Control2.jpg

That MOSFET needs > 5V to turn on to drive a few amps.

Looking at the datasheet, the TLC5947 has Constant Current Outputs, dunno what Iref is set to.

I reckon you'll need something like this to invert and drive the MOSFETS:
Diagram:
TLC5947_inv_MOSFET.png

Yours,
TonyWIlk

TLC5947_inv_MOSFET.png

TonyWilk:
Re: diagram TLC5947_Output Control2.jpg

That MOSFET needs > 5V to turn on to drive a few amps.

Looking at the datasheet, the TLC5947 has Constant Current Outputs, dunno what Iref is set to.

Yours,
TonyWIlk

If the 5947 is being supplied 12V then the gate will turn on, as it is driving into 470R when enabled and some small gate current will flow.
Just the choice of transistor to take the shorted 470R to ground current will have to be chosen.
We will see what information the OP can supply.
Tom… :slight_smile:

This are actually the schematics I was thinking of:
schematic.png
The right one only works for logic level MOSFETs, the left one can supply 12V to the gate. Advantage here is that the LED will be off when the pin is low or input, as it is on startup, and there is no need for extra enable pins. Just set the PWM to 000 and the output of the TLC will always be off, the gate of the MOSFET gets pulled low, and the LEDs are off.

MOSFET part number is randomly chosen for the correct symbol.

wvmarle:
This are actually the schematics I was thinking of:

Ah, of course, the TLC's a 5V part with 'hi voltage' outputs - yeh, I like the one on the left.

Would add a pull-up 'cos the outputs are open-drain and swap that 10k pull-down for 1k to speed up the MOSFET turn-off a bit. Not sure what PWM frequency is, but 10k might leave the MOSFET a bit soggy for 10's of uS or so.

Yours,
TonyWilk