I'm trying to string 16 tlc 5940's in series with a maximum of 4 RGBleds per chip (some have 2 some have 3 some have 4.) I've done similar things in the past but with white only LEDs. In the last project we maxed out at a 30 chips in series before we started to see signal degradation(12 leds per chip in that one for a total of 360 unFETted LEDs).
When stuff doesn't work I tend to trod on the shoulders of others as a base-line test. But even here I fail.
If I take the schematic from texas instruments and replicate it, (in this case a building block of three chips daisy'd'), and the 5940 library from Arduino and a bunch of RGB leds- the ones connected to the first two chips work flawlessly and I can address each one perfectly.(3 leds on #1 so 9 channels and 4 leds on #2 so 12 channels, and 4leds on #3)) The LEDs connected to the 3rd chip however just flicker at about 3 hz and I have no control over them.(. I'd rather not use one chip per color to maximize the current on each of the colors, and instead I have just chosen a limiting resistor on IREF that will deliver the lowest amp level of all the colors - I'm not worried about true whites or accurate colors right now, I just want to find the issue. So the conenction pattern up along the outputs is RGBRGBRGBRGB NC NC NC NC
A few other details - schematic: lifted right off the TI TLC 5940 cascading document (a little different than the 5940 spec sheet but close and I've tried it too),
I'm running both chips and leds off 3.3 V. My power supply can deliver 3 amps so I don't think I'm out of juice. (i've tried 5v also thinking that by the time it hits the third chip it's too low - we've seen 5940s behave oddly at threshold Vs).
Each led is Red-(FV 2.4V, 20mA), Green and Blue each-(FV 3V 25mA). Limiting resistor is 2k on IREF (i've also tried 2.7 k which seems to give me a bit better performance - these are 1/4 watts) Using the 2K gives me the lower 20mA per channel matching the lowest power RED. I have had three chips in series running with the 4th behaving badly but that's as far as I can get, and haven't been able to repeat it, and its a long way from 16 ( i realize 16 will require a power overhaul but I just want to get beyond 3 or 4 for now)
I'm also NOT using MFETs for switching the LEDs. Since I'm way under the 5940s mA limit and I'm not populating all the outs, I thought that would be fine. I don't intend on running any eye searing Luxeon modules.
I've built this thing on breadboards, project boards and even photoetched dual layer PCB's so it's not likely a short or bad trace. This is TI's design and it doesn't seem to work. Of course the fault is with me, but is there a trick or missing "assume you knew" info?
Some TI schematics show Xerr needing a pullup resistor of 100k and although I can't believe it's this, I've tried with and without. I'm also not worrying about dot correction yet.
I've tried a cap on the IREF resistor and a pull up resistor on the BLANK to prevent full-on during loss of signal (only one pullup per row of 5940's since all blanks are tied together).
I've tried caps on and off on the LED power rail as well as the main power, and yes all grounds are tied together including the driving arduino's.
I know there is a MAX solution to this but we've had such good luck with the 5940 and all of our software is built around it, I would prefer to stick to what (I thought) I knew.
Thoughts?
When stuff doesn't work I tend to trod on the shoulders of others as a base-line test. But even here I fail.
If I take the schematic from texas instruments and replicate it, (in this case a building block of three chips daisy'd'), and the 5940 library from Arduino and a bunch of RGB leds- the ones connected to the first two chips work flawlessly and I can address each one perfectly.(3 leds on #1 so 9 channels and 4 leds on #2 so 12 channels, and 4leds on #3)) The LEDs connected to the 3rd chip however just flicker at about 3 hz and I have no control over them.(. I'd rather not use one chip per color to maximize the current on each of the colors, and instead I have just chosen a limiting resistor on IREF that will deliver the lowest amp level of all the colors - I'm not worried about true whites or accurate colors right now, I just want to find the issue. So the conenction pattern up along the outputs is RGBRGBRGBRGB NC NC NC NC
A few other details - schematic: lifted right off the TI TLC 5940 cascading document (a little different than the 5940 spec sheet but close and I've tried it too),
I'm running both chips and leds off 3.3 V. My power supply can deliver 3 amps so I don't think I'm out of juice. (i've tried 5v also thinking that by the time it hits the third chip it's too low - we've seen 5940s behave oddly at threshold Vs).
Each led is Red-(FV 2.4V, 20mA), Green and Blue each-(FV 3V 25mA). Limiting resistor is 2k on IREF (i've also tried 2.7 k which seems to give me a bit better performance - these are 1/4 watts) Using the 2K gives me the lower 20mA per channel matching the lowest power RED. I have had three chips in series running with the 4th behaving badly but that's as far as I can get, and haven't been able to repeat it, and its a long way from 16 ( i realize 16 will require a power overhaul but I just want to get beyond 3 or 4 for now)
I'm also NOT using MFETs for switching the LEDs. Since I'm way under the 5940s mA limit and I'm not populating all the outs, I thought that would be fine. I don't intend on running any eye searing Luxeon modules.
I've built this thing on breadboards, project boards and even photoetched dual layer PCB's so it's not likely a short or bad trace. This is TI's design and it doesn't seem to work. Of course the fault is with me, but is there a trick or missing "assume you knew" info?
Some TI schematics show Xerr needing a pullup resistor of 100k and although I can't believe it's this, I've tried with and without. I'm also not worrying about dot correction yet.
I've tried a cap on the IREF resistor and a pull up resistor on the BLANK to prevent full-on during loss of signal (only one pullup per row of 5940's since all blanks are tied together).
I've tried caps on and off on the LED power rail as well as the main power, and yes all grounds are tied together including the driving arduino's.
I know there is a MAX solution to this but we've had such good luck with the 5940 and all of our software is built around it, I would prefer to stick to what (I thought) I knew.
Thoughts?