LED Driver - using TLC5940, Help Needed!!!

I am driving currently 6 High Power (3W) LED's using 1 CAT4101 IC. http://www.onsemi.com/pub_link/Collateral/CAT4101-D.PDF
the typical CAT circuit that i am using

i have 84 such LEDs driven by 14 such drivers. But since i am using Ardunio Deci, i am using on 4 PWM to dim or brighten the LEDs. So thought of using the TLC5940 to get more PWMs so that i can control these 14 channels seperately to dim each set of 6 LEDs individually.

The CAT drives the LED so no current related issue there, the power goes thro the CAT IC.

The issue is, since the TLC5940 is current sinking, and i want to use that signal to Dim or Brighten the LED by sending the TLC signal to the PWM Pin of the CAT, will it work if i connect it directly?

or how do i go about increasing the number of PWMs effectively to drive more LEDs?

A typical circuit that i found online on Arduino forum for the TLC5940 is :

The issue is, since the TLC5940 is current sinking,

So you put a resistor say 10K from the TLC output up to 5V. Then you simply wire the TLC output to your drive chip.

i just made a schematic based on your input, will this work on the circuit?

Yes that is the idea.

The only snag will be that as the CAT4101 needs a high to turn it on and the TLC produces a low to be on then the brightness control will be inverted. This leads to the annoying side effect that even when the TLC commands the LEDs to be off they will be on very very dim.

If you want to avoid this then you need to put a transistor between the TLC and the controller to invert the signal.

the minimum V needed at CAT is 0.4V to turn on the Device, so can i reprogram the ardunio to work in reverse, meaning send a 0 to have maximum brightness and send 4095 to have minimum brightness?

will that help?

i have been sending signals of 0-255 (min-max) to control the Driver, now sending 4095-0 (min-max) to control vide TLC will that be a problem? or it is only an increase in no of steps or preciseness?

r it is only an increase in no of steps or preciseness?

Yes that is nothing else.

so can i reprogram the ardunio to work in reverse,

Yes that is what you will have to do, it's no big issue, but the not being able to turn it completely off might be, you will be left with a 4095:1 pwm signal instead of off. Can you live with that?
I would try a few channels first just to see the effect.

That shouldnt be a problem as upto 0.4V the Output will be Off... meaning on scale of 0-4095 on 5V, 0.4v = 328 is the reading so till that i shouldnt have any problem.. so 0 to 328 the output will be zero.

will that be alright?

I will anyways do the circuit for a single chanel and check it out.

That shouldnt be a problem as upto 0.4V the Output will be Off

No you misunderstand. The output of a TLC is a PWM signal, That means it is either 5V or 0V. It is the on / off ratio that gives the dimming.
See:-
http://www.thebox.myzen.co.uk/Tutorial/PWM.html

yikes.. in that case the only way to find out is to test it and see.

will do it now..

tested it and it worked really well with the error that you had mentioned...

it never turn off completely!!! it was say driven at 3-5% when the value was 4095.

I send the values in reverse, from 4095 to 0, so that it dim's up.

As you mentioned i used a 10k resistor from VCC to the outputs. Will increase of decrease in this pullup resistor value affect the output?

What can be done? is there any way i can overcome this?

Will increase of decrease in this pullup resistor value affect the output?

No you still get the same voltage out.

is there any way i can overcome this?

Yes I said before you put a transistor between the two to invert the signal.

Base to the TLC output, (you still need the 10K from here to the 5V) collector to input of CAT4101, input also to a 10K resistor which goes to 5V and emitter to ground.

so is this the schematic?

if so will a basic NPN BC547 work?

Not quite. R2 should be from the TLC output to 5V with the base of the transistor connected directly to the output of the TLC.

The TLC chip only pulls down so R2 acts as a base current limiting resistor when the TLC is off and the transistor is on. When the TLC is on the current through R2 is diverted into the TLC and the base is connected to ground.

Any general purpose NPN will work here.

so is it like this?

Yes that's it. :slight_smile:

okie, that a lot.
will give that a shot now and see what the results are

hi, i tested it and worked. but when i want 32 of them the circuit gets very clumpsy and big...

can i use a UNL2003 or a HEX Invertor 74LS04/05 that basically has an inverted output, instead of the transistor and the resistors ...so if the TLC output is 0, ULN's is +5v and vice versa?

Yes you can use either of those to invert the signal instead of a transistor.

thanks a ton and another Q...

can i use the 5V from the Arduino to drive all the ICs - 2 TLC5940's and 6 75LS04's (to drive 32 of them)...? or a seperate +5v and common ground is required?

I would think so, but to be on the safe side add up the current and make sure it doesn't exceed any limits. Is it direct off the USB if so the limit is 500mA.
Also make sure that you add some supply decoupling capacitors.