Hi all guys
I'm developing a project with RGB leds. The number of RGB led is not fixed for now, but surely can be more than simple arduino board pwm can handle.
So i need a big help facing this problem: how to control each pwm channel? I need a pwm expander, obviously, but i cannot find anything's right for my project.
The RGB leds are the high power type, with currents for each color approximately 300-350mA, so for the TLC5940 (alone without other components) is too much.
The firs idea i made was: use the output of the pwm expander to drive high power mosfets.
Yeah, sounds great and should be the right way, but....the TLC5940 doesn't have a push-pull output (high when duty, low otherwise).
So i search for other chips. I've found the PCA9685 which sounds great: push-pull output, internal clock, i2c interface...
But it's really diffucult to find, and there're very poor libraries for Arduino.
So, in a few word:
arbitrary number of RGB leds
300-350mA for each color
needs a power output stages to handle the high power.
How can i solve my problem?
Dani88:
The firs idea i made was: use the output of the pwm expander to drive high power mosfets.
Yeah, sounds great and should be the right way, but....the TLC5940 doesn't have a push-pull output (high when duty, low otherwise).
That's what pullup resistors are for...to give you the highs.
Dani88:
So, in a few word:
arbitrary number of RGB leds
300-350mA for each color
needs a power output stages to handle the high power.
How can i solve my problem?
350mA is nothing. A normal transistor can easily handle that (2N2222, BC337, whatever...), no MOSFET needed.
That's not your problem, your problem is that the output gets inverted when you drive a transistor with a TLC5940. You need to either use two transistors on each LED to un-invert it or use PNP transistors (BC327) with common cathode LEDs.