Due to high demand expect some shipping delays at this time, orders may not ship for 3-4 business days. On MLK Day no orders will be shipped.
0

TLC5947 PWM blinking when chained together
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

TLC5947 PWM blinking when chained together

by kartoon on Wed Dec 08, 2021 4:41 pm

Hello community!

I would have a very urgent question and sorry for the urge, we are just sitting here in a museum, connected to 25,000 leds and experiencing a strange problem that we cannot solve.

The problem:
Several TLC5947 25 PWM controllers were connected, the first of the signal is a 20m! receives over a long shielded UTP cable and passes it to the second on a 2m long UTP cable. We can control the first, dimmer, on and off, perfect. When an empty 2m UTP cable is connected to its output, the LEDs flash, the control goes away. If we plug the first output into the second one, the second control will also crash. We found that if the length of the UTP cable between the first and second is no longer than 1.5m, the signal is faultless on both controllers and the others.

Question:
What can we do to use 2m long cables for the link?

The LEDs are supplied separately from the same controller and microcontroller (ESP32 Thing). The lands are shared.

I would be very grateful for a quick response.

Thanks!

kartoon
 
Posts: 3
Joined: Wed Dec 08, 2021 4:30 pm

Re: TLC5947 PWM blinking when chained together

by adafruit_support_bill on Wed Dec 08, 2021 5:33 pm

Longer cables have more capacitance which tends to slow down the signal rise-time. You could try slowing down the clock rate on the bus so that the signals have time to settle. The driver for the TLC5947 uses 'software SPI', so that would mean tweaking the transmit code in the library.

The Adafruit_TLC5947::write() function is the place to do it. I'd try adding in a delayMiroseconds() call just after the digitalWrite(_clk, LOW); on line 69.
https://github.com/adafruit/Adafruit_TL ... LC5947.cpp

Start with around 100uS delay and adjust up or down to find the fastest speed that works.
https://www.arduino.cc/reference/en/lan ... roseconds/

adafruit_support_bill
 
Posts: 82793
Joined: Sat Feb 07, 2009 10:11 am

Re: TLC5947 PWM blinking when chained together

by kartoon on Wed Dec 08, 2021 6:41 pm

This is a proposal to be considered strongly, it is easy to imagine that it will work. Thank you very much.
Is there anyone else who can confirm or throw in another idea?

kartoon
 
Posts: 3
Joined: Wed Dec 08, 2021 4:30 pm

Re: TLC5947 PWM blinking when chained together

by kartoon on Wed Dec 08, 2021 8:59 pm

We've progressed and the LEDs are on, but a blinking LED isn't running on them. the delay is 1000us, we tried bigger and smaller. It is not entirely clear that the input of the first pwm can handle 20m wires, (sftp) but the otput is not a meter. What is the principle of the relationship between dout and din? Can be a problem the switching supply?
We can not turn off the leds, after turn on.

Thanks.

kartoon
 
Posts: 3
Joined: Wed Dec 08, 2021 4:30 pm

Re: TLC5947 PWM blinking when chained together

by adafruit_support_bill on Thu Dec 09, 2021 7:19 am

The CLK and LAT signals are passed straight through. The DIN shifts data into the chip and the DOUT shifts data out the other side to the next chip in the chain.

Since CLK and LAT are driving the full length of the combined cable sections, they will be most affected by capacitance and noise. You can try adding short delays before and after each write to the CLK and LAT pins to compensate for the distortion of the signal. If you have access to an oscilloscope you can see what the signals actually look like.

Image

adafruit_support_bill
 
Posts: 82793
Joined: Sat Feb 07, 2009 10:11 am

Please be positive and constructive with your questions and comments.