I am working on a project using an Arduino Mega to control 64 one-meter RGB LED strips using 4 Texas Instruments TLC5940 (16 channel LED driver). I have a separate 12V power supply for the LED strips, and P-channel MOSFETs at the TLC5940 outputs to convert the TLC5940 current sink to something that switches my LEDs on/off. This is all working perfectly with the first TLC5940 controlling the first 16 LED strips.
I am powering the TLC5940 (but not the attached LED's), via the Arduino Mega board connected to a USB port on my PC. This USB supplies 5V at a max of 500mA. The TLC5940 in theory sinks as much as 20mA/channel, for a potential max of 320mA for all 16 channels.
Next I test 2 TLC5940 connected in series, and the second TLC5940 begins to overheat and malfunction (I have unplugged all power before doing any damage to the TLC5940, which I have verified by successfully testing just each single TLC5940, as described in the 1st paragraph).
Before I redesign my circuits and invest in another 5v power supply, could the USB limited supply current of 500mA or less be the reason the second TLC5940 in my series is overheating?
You can drive a TLC5940 to death no problem, I have done this. I was driving an 8x8 LED matrix - all LEDs at once and cycling the duty cycle from 0 to 4095 and it would go flakey on me after a minute or so like you describe and I killed a couple of chips too. When I made it cycle from 0 to 2048 it resolved these problems.
If your numbers are right and you are sinking 320mA @ 12V. 320mA * 12V = 3840mA but DIP package is rated for 2456mW total.
I am not sure why it would be a problem for the second IC and not the first if they are dissipating the same amount of power.
Thank you @JoeN for taking the time to reply. Here's a picture of my output circuit:
In theory, the 2K ohm IREF resistor I have on my TLC5940 sets the current sink of the LED outputs to 20mA for each of the 16 channels, so that's where the 20mA/channel * 16 channels = 320mA comes from.
RPU in the above image is 470ohms, and VLED is 12V. So I believe the voltage at the output pin of the TLC5940 is 12V - (20mA * 470 ohms) = 2.6V. I would expect power to be sunk from all outputs would then be: 16 channels * 2.6V * 20mA = 832mW. This is well below the rating of the chip, and with just a single chip connected this all runs fine.
When I connect my second TLC5940 PCB in series with my first is when I have a problem. I suspect the second TLC5940 is sinking additional current from the first TLC5940 PCB. Here's a picture of my TLC5940 PCB schematic. Perhaps you can spot something that would be causing a current drain form the first board thru the 2nd TLC5940.