WS2801-LED-Strip signalling issues - Page 1
Forum section: electronics / projects

author: curclamas
author_rank: Contributor
timestamp: November 08, 2012, 03:53:04 pm
content: Hello hello,I´m currently working on a project that involves installing addressable LED-stripes on the ceiling. The length of the longest chain is about 14 meters now. I have attached a schema of the installation below.If I only connect the power supply to the first strip and rely on the strip-to-strip interconnections and the strips themselves to transfer the power I end up with the brightness dropping fast with every meter of the strip, but the signals (e.g. rainbow animations) are showing up beautifully. If I connect a 2*4mm² cable parallel to the strip there is no more significant voltage drop but I have to quarter the output frequency of my controller to avoid flickering and weird artifacts. If I also connect the end of the cable back to the power supply to further reduce voltage drop I can only use one tenth or so of the output frequency. I have some ideas to solve this problem, e.g. adding high capacity caps to every strip-to-strip-interconnect or only feed the power in via inductors. But I´m really not into signal integrity so that I don´t really now what is done in a case like this, so I wanted to ask you for your ideas. I can also provide you with scope measurements if needed, but they´re somewhat hard to make since the ceiling is 3 meters high and I´ve got an heavy, old CRT scope.Thank you in advanceGreetings from BerlinFrederikPS: Please excuse if my English is kind of messy ^^

author: SeanB
author_rank: Super Contributor
timestamp: November 08, 2012, 06:18:31 pm
content: Cut the ground and 5V link out of the strips, and use the 4mm cable only to provide power and ground to the strips. Do not parallel them, as you probably are getting noise injected on the thin power lines. try as well adding a 100uF capacitor at each module power input.

author: curclamas
author_rank: Contributor
timestamp: November 08, 2012, 06:44:35 pm
content: I thought of cutting the strip power interconnects earlier, but then I thought that maybe I need the GND interconnects to assure that two adjacent stripes have the same signal ground.I have redrawn the circuit, do you think this variant would be superior?

author: SeanB
author_rank: Super Contributor
timestamp: November 08, 2012, 07:58:04 pm
content: Try it and see, it should work.

author: Psi
author_rank: Super Contributor
timestamp: November 08, 2012, 09:42:25 pm
content: 5V is a bit low for power transmission over 14 meters.ya really want 24V and local 5V regs

author: curclamas
author_rank: Contributor
timestamp: November 08, 2012, 10:38:20 pm
content: That would be quite a mess, every meter is rated 10W max. and in the final state there will be up to 80 meters or so of LED-stripes so i really prefer using thick enough power lines and as much as needed of them. The voltage drop over the power cables is insignificant (measured it). One time I forgot the strip-to-strip power connection in the area of that red circle, everything worked fine to that circle, behind it the lights were a flickering mess.Tomorrow I will try to disconnect the strip-to-strip interconnects of the 5V and the GND rail and connect a 460µF cap (the only one I have enough of) to the beginning of every stripe, but I´m still worried that the signal might need the GND interconnection at the stripes.We will see, maybe I´l show you a picture of the finished project

author: David_AVD
author_rank: Super Contributor
timestamp: November 08, 2012, 10:39:24 pm
content: How many WS2801 chips and how many LEDs per metre of strip?

author: curclamas
author_rank: Contributor
timestamp: November 08, 2012, 10:56:51 pm
content: 32 RGB-Leds / 32 WS2801 per meter. Therefore speed is vital

author: David_AVD
author_rank: Super Contributor
timestamp: November 09, 2012, 06:44:38 am
content: Out of interest, what clock speeds are you running it at?Also, do you have a resistor in series with the output of the data and clock lines? If so, what value?Also also, what driver chip are you using (micro I/O pin, 74HCxx, etc) and are they 3.3V or 5V signals?

author: curclamas
author_rank: Contributor
timestamp: November 09, 2012, 08:02:39 am
content: At the moment something like 1MHz or so, without the power lines something around 5MHz is possible. The stripes have a 27 Ohms resistor in series with the input and the output. The driving circuit´s outputs are absolutely fine, each clock and data output is buffered with a channel of a SN74AHCT245DW transceiver chip runnig at 5V. But every WS2801 should act as a buffer itself, isn't it?

author: David_AVD
author_rank: Super Contributor
timestamp: November 09, 2012, 08:34:05 am
content: Just for giggles, have you tried adding a 100R resistor in series with the driver outputs (at the driver end of the cable) ?I think you're possibly clocking the WS2801 faster than a lot of people do. I know it says 25MHz max, but that's an ideal figure with short cables, etc I suspect.Maybe try theDIYCforum as there's plenty of people there who have used WS2801 and other pixels.Oh, one more thing. What brand power supply is it?

author: curclamas
author_rank: Contributor
timestamp: November 09, 2012, 08:54:36 am
content: The signal input is absolutely fine. And the frequency worked pretty well as long as I don´t connect that extra cable so there has to be a problem with that line.The power supply is from MingWei out of Zhejiang, China.http://www.aliexpress.com/item/Guaranteed-100-201W-5V-40A-switching-power-supply/548569838.html

author: poorchava
author_rank: Super Contributor
timestamp: November 09, 2012, 09:14:53 am
content: I think you could try transmitting power at higer voltage, and then supplying individual modules via regulators (either linear or switching). This might be done on per-meter basis: for example every 0.5m there is a regulator and modules are wire to closest regulator available.

author: David_AVD
author_rank: Super Contributor
timestamp: November 09, 2012, 10:39:57 am
content: Those power supplies are (imo) made to look like Mean Well units. I've seen them close up and found that they radiated all manner of EMI, totally wiping out TV reception within a house. Is there any chance you can substitute a good quality power supply and test again.

author: curclamas
author_rank: Contributor
timestamp: November 09, 2012, 11:02:17 am
content: At the the moment this is no option, but maybe in future. Can I somehow reduce/compensate for that emi? Like with ferrites or caps?

author: David_AVD
author_rank: Super Contributor
timestamp: November 09, 2012, 11:45:32 am
content: Quote from: curclamas on November 09, 2012, 11:02:17 amNot really. I tried everything under the sun (ferrites, caps, inductors, etc) with that crappy power supply. Replaced it with a genuine Mean Well and all the issues disappeared.

author: madworm
author_rank: Frequent Contributor
timestamp: November 09, 2012, 11:50:11 am
content: You can get a genuine Meanwell (5V, 30A) for under 30€.http://www.reichelt.de/Schaltnetzteile-Case-geschlossen/SNT-MW150-05/3/index.html?;ACTION=3;LA=2;ARTICLE=85210;GROUPID=4959;artnr=SNT+MW150-05

author: curclamas
author_rank: Contributor
timestamp: November 09, 2012, 11:59:07 am
content: Maybe I'll try one of them but I still think there is some funny buissines going on with my wiring and its not exactly optimal in terms of signal integrity.

author: curclamas
author_rank: Contributor
timestamp: November 13, 2012, 02:19:11 pm
content: Update:I have done some testing and measurements. The Problem isn´t limited to this power supply, the supply seems to be absolutely fine, there is no ripple at all and it doesn´t make any difference if its switched on, or of and the power being fed in with a linear supply.What I thought before seems correct, the interconnects between the grounds are needed for signal integrity.I have measured some clock signals:With interconnects:{temporary offline}Without:{temporary offline}I think I´ve found the Problem, it seems like the input cable causes some distortion:The upper one is the clock signal measured at the cable, the lower one is measured at the input of the transceiver chip:{temporary offline}The data line is 5 meters long, here is a datasheet of the cable:http://www.farnell.com/datasheets/40380.pdfI have the one with 2 conductors (SCK and SDA) and shielding (GND).That was the cable with the best perfomance so far (I have tried some). For now I will try to use a much shorter cable, but does someone of you have an idea which cable could be better?

author: SeanB
author_rank: Super Contributor
timestamp: November 13, 2012, 05:18:44 pm
content: Network cabling? Designed for high speed data, you use one pair for clock, one pair for data and the other 2 pairs for ground.

author: David_AVD
author_rank: Super Contributor
timestamp: November 13, 2012, 08:37:11 pm
content: Is that 5 metres of cable from driver board to first pixel? If so, that's likely to be at least part of your problem. Reliable operation with WS2801 requires less cable (for data and clock) than that.

author: bingo600
author_rank: Super Contributor
timestamp: November 13, 2012, 08:55:24 pm
content: Could these pages be of help ?http://neophob.com/2012/03/lpd6803-spi-and-long-distance/http://neophob.com/2012/04/long-distance-spi-installation-lessons-learned/He concludes -Quote/Bingo

author: mrflibble
author_rank: Super Contributor
timestamp: November 14, 2012, 07:58:19 pm
content: That guy also concludes ground loops are a good idea, soooo.....http://neophob.com/2012/04/long-distance-spi-installation-lessons-learned/I do agree with his assessment of BAD in the first example however.Apart from that, I second SeanB's recommendation of using UTP network cable for this. Nice and cheap, and works reasonably well for long distances. As long as you keep the frequency reasonable.Stupid question: why would you even need a 1 MHz SPI clock? Say you want to update at a 100 Hz frame rate... How many configuration bits per string are there to be updated each frame?Anyways, 14 meters for the longest chain sounds a bit optimistic. If you have to reach larger areas you can always split the chain in for example 4 quadrants on your ceiling, with the controller in the middle. This would mean 4 SPI data output, but what the hell... So 1 common SCK and 4 seperate SDO's.

author: curclamas
author_rank: Contributor
timestamp: November 14, 2012, 10:47:05 pm
content: I have tried STP cable and different termination methods, without noticeable success. So I will now make shorter paths for the cable and I will work on an active cable based on differential line transmitters and receivers for longer distances, similar to this Paper:http://www.ti.com/lit/an/slyt441/slyt441.pdfIdeally I need a dual transmission receiver and a transmitter both working @5V this would reduce complicity and BOM costs.My controller has 8 outputs with 8 SDA (individual buffered) and one common SCL buffered to 8 individual lines. In the future its planned to use up to 20m*(32Pixel/m) stripes at > 60-100Hz update rate. Also you have to take in mind is the fact that I have to wait at least 1ms after every transmission to latch the sent data. (although the datasheet says 0,5ms but this seems to work unstable).

author: mrflibble
author_rank: Super Contributor
timestamp: November 14, 2012, 11:15:16 pm
content: Heh, I use the SN65LVDS1/2 for the long distance SPI and thought of mentioning it ... but then thought that was possibly overkill for this application. Plus, it's 3.3 volt and not 5 volt supply. Why not ditch any 5 volt related mcu stuff you might have in there and use 3.3 volt parts? There's more easily obtained 3.3 volt parts to chose from these days than 5 volt...You could even tell yourself you do it in the for the power savings.WS2801 also eats 3.3 volt, so that should be no issue. Unless ofcourse you also have the 5 volt as led supply.... Which incidentally would mean you'd burn up quite a bit of power in those WS2801s, relative to what you burn in the leds I mean.*checks datasheet*Mmmh, WS8201 has max VOUT of 7.0 volt, so that's 2 leds in series max. Well, so much for that plan....

author: David_AVD
author_rank: Super Contributor
timestamp: November 15, 2012, 12:13:49 am
content: Sending the data via differential pairs is what others do for longer distances and WS2801 strips. What you're doing is very common in the Christmas lighting world.TheSN75158(dual driver) andSN75157(dual receiver) are sometimes used for exactly this purpose.

author: curclamas
author_rank: Contributor
timestamp: April 26, 2013, 09:49:02 am
content: Hello, hello!Seems like I've finally figured out what's the problem here:When I feed in like a 4MHz signal at the beginning of the strip, the signal on the cable has some ringing on it. But after the first WS2801 chip the signal is absolutely okay, nearly no signal distortion at all and nearly 50% duty cycle on the clock line. When I measure at some point just before the LED's are doing weird things, I still see a nice, clean square-wave. The problem is: now it has like 90% duty cycle. The further down the strip I measure, the higher gets the duty cycle. This seems to me like there has to be a culprit in the WS2801. The datasheet says:QuoteBut it also says:QuoteDoesn't this imply a distortion of 600ps? This would mean after about 200 pixels the duty cycle would be nearly 100% at 4MHz which is about what I figured out experimentally.I wonder if its possible to build like a "repeater" which corrects for the signal distortion every 100 pixels or so. Meanwhile I've just build a workaround by separating the strips into several parts as our controller can feed 8 WS2801 in parallel. When I have more time (studying physics and developing a product does not leave you with much time) and probably better gear I will put some further research into this topic.

author: David_AVD
author_rank: Super Contributor
timestamp: April 26, 2013, 11:38:13 am
content: I guess the issues you're having are the combination of a fast clock and a lot of pixels in the chain. The solution (as you've found) is to use separate drive lines for (smaller) multiple chains. This is what some of the commercial and DIY designs do. They normally update at no faster than 25ms from memory.

author: kathy82
author_rank: Newbie
timestamp: July 30, 2013, 04:00:44 am
content: Does anyone have an example of the Netduino controlling aWS2811 LED strip? I've been looking for samples, but all I can find is references to FastSPI used with the Arduino but nothing for the Netduino.

author: djlorenz
author_rank: Contributor
timestamp: March 28, 2014, 08:28:03 pm
content: bump of an old thread... have you solved this issue? i've already problems of flickering when i use 5mt strips cutted every meter....you can see different colour flickers here:thank you for any help!