2
\$\begingroup\$

I have a 5m LED strip (Ultimate Fancy LEDs) that consists has 30 LEDs per meter of WS2812B chips. Is uses a SP601E Bluetooth controller and was delivered using a 5V/6A power supply. Out of the box, the strip and controller works fine.

What I want to is the extend the wire (about 3m) from the controller to the actual strip. This is to be able to have the strip in the roof and the controller (with buttons) at the floor (so the kids can use it). The problem comes when I try to dim the strip. When changing from 100% brightness, the strip starts to flicker. My analysis is that data wire (that runs at 800kHz) is to long for the controller to being able to properly drive those extra meters. I tested a few different cables but can´t really get it to work properly.

  1. Using a typical 3-wire power cable (1.5mm diameter wires)
  2. SFTP network 4 pair network cable, AWG 26 where 5V supply uses 3 conductors, 4 wires for GND and 1 for DATA. In this case the voltage drop is a bit to much, losing about 0.5V over my 3 meter wire. But still this does not work properly for the DATA.

One weird thing though, is that the flickering is worse further down the strip (regardless of cable choice). I don´t really see this issue at the first meter of strip. If this is a signal integrity issue of the data line, I should see this an the entire strip, right? If I just get a good waveform to the first chip, the WS2812B should reshape the signal after each chip, right?

So, am I having power issues or signal integrity issues? I will later next week see if I can get a scope and measure some signals/voltages and get some more info. In the case of signal integrity, would adding a simply buffer/line driver do the trick?

Update 1: So it seem to be related to signal of data line and not power. Tested both supplying the strip at both end and this improves the “yellowness” of the end of the strip but does not change the flickering. Also tested with huge cap at beginning of strip, no change.

Also tested to add 220 ohm resistor before cable, things go much worse. Not only flickering but color change as well. Can’t really see that the data line degrades much over the cable (just some softer edges).

When it comes to the flickering, what actually happens is that the strip does not turn off but actually turns the leds brighter. I see a small voltage drop on the power line when it happens. If I short the data, basically don’t run it through my cable (so only power and ground in cable) things works fine. So the cable must cause the data line to violate some parameter (rise/fall or high/low time). I’ve ordered some buffers to see if this improve things...

Update 2: Added a scope picture with comparison of the controllers 2 channels. CH1 has my extension cable and a led strip attached. CH2 is unloaded (so should be close to ideal).

I now realize that the controller high output is somewhere around 3.7-3.8V. When dimming the strip (and not drawing so much current), the supply voltage is at 5.34V. For the WS2812, high is 0.7xVdd which is 3.71V. Potentially the insertion of my cable, scales of that tiny margin. Plan is to test a level translator tomorrow to get the data line up to 5V.

Scope shots

\$\endgroup\$
11
  • 2
    \$\begingroup\$ Add a 1000 uF cap close at the start of the led strip and see how it reacts. \$\endgroup\$
    – Passerby
    Commented Feb 21, 2021 at 14:24
  • \$\begingroup\$ Power and signal integrity are the same from the standpoint of the LED. There is a minimum voltage for an LED to produce light. If it is met while current is passed through the LED, the energy will make light and heat, otherwise just heat. There's a little bit of capacitance and resistance everywhere; if the capacitance and resistance in what feeds the LED ends up smoothing your AC LED blinking (dimming for LEDs is just blinking fast) below that minimum voltage, you get what you observed. \$\endgroup\$
    – Abel
    Commented Feb 21, 2021 at 14:27
  • \$\begingroup\$ Is there a chance to decrease the data rate? WS2812 should work at far lower speeds \$\endgroup\$
    – Sim Son
    Commented Feb 21, 2021 at 14:29
  • 2
    \$\begingroup\$ It's probably a power supply issue, I agree with Passerby \$\endgroup\$
    – bobflux
    Commented Feb 21, 2021 at 14:40
  • 1
    \$\begingroup\$ This is a transmission line signal integrity problem that may be solved by attempting to dampen each end with something close to the cable impedance. I assume load current * cable resistance drop is insignificant and a load cap has been tried \$\endgroup\$ Commented Feb 21, 2021 at 14:49

3 Answers 3

3
\$\begingroup\$

One chip consume 60mA at full brightness.150 is 9A. Power conductors on strip can not conduct so much current. I got voltage drop over 5m strip 0.3V with current 350mA. Run power wires in parallel to strip and connect at few point to strip will improve it.

\$\endgroup\$
9
  • \$\begingroup\$ Since the WS2812B is current regulated with Vdd= +3.5~+5.3 , your assumptions may be incorrect \$\endgroup\$ Commented Feb 21, 2021 at 15:51
  • \$\begingroup\$ If length of datalina affects the signal, the chips on the beginning of strip will be affected. You think to conduct 9A over thick wire conductor will be OK? I measured around 1Ohm per 5 meters. I understand not the full current run over full length but even a half is too much \$\endgroup\$
    – user263983
    Commented Feb 21, 2021 at 16:07
  • 1
    \$\begingroup\$ If voltage droop is the issue it would be strange for it to be fine at full brightness (high average current) but fail at low brightness. This suggests either an issue with the PWM (so more decoupling needed) or signal integrity the data lines. \$\endgroup\$ Commented Feb 21, 2021 at 16:29
  • \$\begingroup\$ @user1850479 WS2812 has PWM controller inside. Also string has decoupling capacitors. \$\endgroup\$
    – user263983
    Commented Feb 21, 2021 at 18:03
  • 1
    \$\begingroup\$ It doesn't matter where the PWM is implemented, if turning it on causes issues, insufficient decoupling or a signal integrity issue (or both as they exacerbate one another) become likely. \$\endgroup\$ Commented Feb 21, 2021 at 18:21
2
\$\begingroup\$

1.5mm wire is about AWG 15 which is an insignificant loss at 6A @ 6m x 10 mΩ/m = 60mV, also the WS2812B operates from +3.5~+5.3 V.

But the 25 ~ 50 Ohm CMOS driver into a 10pF CMOS load with a 3m delay line of around 15 ns is going to ring enough to corrupt the signal integrity for CMOS Clock and data.

The solution is simple, but look at the differences in the spectral domain and time domain for a step input response.

enter image description here

For those unfamiliar with transmission line theory, the characteristic impedance for wires when the delay time is near or greater than the rise time is due to \$Z_o=\sqrt{\dfrac{L}{C}}\$ where L depends on Length/diameter ratio {somewhat }and twists of pair/m around 5nH/m and capacitance depends on insulation Dk and is inverse to gap. UTP Twisted pair might be 220 Ohms and TV flat cable 300 Ohms with coax 50 or 75 Ohms.

Here's an interesting design challenge question.

  1. What is the trace cross-section area of copper from LED to LED and return so that 150 x 60 mA distributed current sinks drop less than or= 1.5V end to end. as current reduces from 9A down to 60 mA.
  2. Then what is the total loop resistance?

My back of the envelope calculations are 2mOhm per trace LED to LED doubled sided = 1mOhm but for both Vdd & Vss becomes 2mOhm total x 150 = 300 mOhm. So 1 Ohm seems a little excessive. This could be ~2oz copper unplated 70um T. x 3.3mm W x 24 mm L for 2.17mOhm. I'll have to measure mine.

\$\endgroup\$
8
  • \$\begingroup\$ You consider the wire from power supply to strip but not the power conductor on strip. \$\endgroup\$
    – user263983
    Commented Feb 21, 2021 at 16:10
  • \$\begingroup\$ The wire strip is designed to not lose more than it can handle in 5m. \$\endgroup\$ Commented Feb 21, 2021 at 16:15
  • \$\begingroup\$ So you think that small piece of copper can conduct amperes?. Resistance 0.2Ohm/meter. \$\endgroup\$
    – user263983
    Commented Feb 21, 2021 at 16:25
  • \$\begingroup\$ If you assume it was designed to work, then they would be using wide traces superlightingled.com/images/FSLRGB-IP65-5050X150/… \$\endgroup\$ Commented Feb 21, 2021 at 16:39
  • \$\begingroup\$ Yes I know it can handle all of the design current, otherwise they wouldn't work. What assumptions have you made? @user263983 \$\endgroup\$ Commented Feb 21, 2021 at 17:06
2
\$\begingroup\$

The solution was to add a 5V level shifter.
As pointed out in the update, the controller shifts out data with a high voltage level of 3.7V.

The 2 cases are:

  1. Full brightness: Power supply is around 5V => WS2812 expects high voltage as 0.7x5 = 3.5V
  2. Dimmed: Power supply increases to around 5.3V => WS2812 expects high voltage as 0.7x5.3 = 3.71V

So, more dimming, less current and higher power supply which result in that it WS2812 does not recognize the high level and things start to go south...

Thanks for replies!

\$\endgroup\$
1
  • \$\begingroup\$ Good , but you cannot expect to see ringing with a 25MHz scope \$\endgroup\$ Commented Mar 28, 2021 at 0:04

Not the answer you're looking for? Browse other questions tagged or ask your own question.