Forum: Mikrocontroller und Digitale Elektronik WS2812B falsche Daten weitergeleitet


von Lorin M. (lorinm)


Lesenswert?

Hi,

Ich habe ein Problem mit zwei WS2812B strips. Ich habe eine Lampe 
gebaut, die ich über W-lan und ein Arduino Yun ansteuer. Nach ein paar 
Monaten habe ich jetzt leider das Problem, dass gewisse LEDs falsche 
Farben einstellen oder auf Updates gar nicht reagieren. 
Interessanterweise funktionieren die ersten 10-20 LEDs immernoch perfekt 
jedoch habe ich danach das Gefühl das Signal wird nicht mehr richtig 
weitergeleitet.
Ich habe einen 300ohm Wiederstand und Kondensator eingebaut, jedoch habe 
ich jetzt zum die Lampe ganz abzuschalten einfach das Netzteil 
ausgesteckt, an Welchem die WS2812B und das Arduino hängen. könnte dies 
ein Problem sein? Hat jemand sonst etwas ähndliches bemerkt? Ich habe 
keine Lust noch einmal zwei ganze Streifen zu kaufen da sie auch nicht 
ganz gratis sind...

Besten Dank im Voraus!

Grüsse
Lorin

von John (Gast)


Lesenswert?

vermurkstes Timing des Ansteuersignals?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Lorin M. schrieb:
> Interessanterweise funktionieren die ersten 10-20 LEDs immernoch perfekt

Wieviele sind es denn insgesamt?

Miss mal, ob die letzte noch 5V an den Versorgungsleitungen hat.

von Teo D. (teoderix)


Lesenswert?

Zu viel unbekannte Variablen!
Billig Stripes aus China, wie verbaut...

Fehler nach 10-20 LEDs? Genauer eingrenzen!
Dort Lötstellen, Kerkos prüfen. Betroffene LED(s) abklemmen, 
überbrücken.
DSO vorhanden? Ja - na dann...
Spannung prüfen wurde ja schon genannt.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

John schrieb:
> vermurkstes Timing des Ansteuersignals?

Unwahrscheinlich, wenn die erste LED funktioniert. Jede WS2812B frischt 
das Timing wieder auf. Nach der ersten LED sind kleine 
Timing-Abweichungen theoretisch bereits korrigiert.

Lorin M. schrieb:
> Ich habe einen 300ohm Wiederstand und Kondensator eingebaut

Wo? Macht das Sinn?

von Toralf W. (willi)


Lesenswert?

Moin,

Torsten C. schrieb:
> Jede WS2812B frischt
> das Timing wieder auf. Nach der ersten LED sind kleine
> Timing-Abweichungen theoretisch bereits korrigiert.

naja, das Timing wird nicht korrigiert, allerdings Pegel und Flanken 
schon. Wenn das Timing sehr unsauber ist (z.B. Jitter) kann das schon so 
vorkommen, das nur die letzten LEDs vernünftig leuchten.

Ich würde erst einmal an der Stelle wo es nicht mehr geht eine paar LEDs 
überbrücken um ein defekt der selben auszuschließen (am Ende der Brücke 
natürlich den Stamm unterbrechen und keinen Schluss klemmen).

Ansonsten noch mal ein anderer Tip, die Ketten laufen nicht nur mit 400 
und 800 kHz sondern auch mit 133 kHz. Steht nicht im Datenblatt, geht 
aber. Zum testen weil sehr langsam und man das sogar per UART auf einem 
mega hinbekommt interessant, auch wenn man so keine hohe Wiederholrate 
mehr erreicht.

LG Willi

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Toralf Wilhelm schrieb:
> das Timing wird nicht korrigiert

Doch, nennt sich 'reshaping', vergleiche D_in mit D_out:
https://cpldcpu.files.wordpress.com/2014/01/ws2812_hi_variation1.png

Das steht auch im Datenblatt. Quelle des Bildes:

https://cpldcpu.wordpress.com/2014/01/14/light_ws2812-library-v2-0-part-i-understanding-the-ws2812/

Toralf Wilhelm schrieb:
> Ich würde erst einmal an der Stelle wo es nicht mehr geht eine paar LEDs
> überbrücken

Es funktionieren die ersten 10-20 LEDs, also gibt es gar keine 
eindeutige Stelle, ab der es nicht mehr geht.

An 400 oder 133 kHz kann es auch nicht liegen, wenn die ersten 10 bis 20 
LEDs funktionieren.

Nun lass Lorin doch erstmal die Spannungsversorgung messen, bevor wir 
hier allen möglichen Unsinn diskutieren. Die dünnen Leiterbahnen auf 
Strips sorgen für Spannungsabfall; der ist in den allermeisten Fällen 
die Ursache.

PS: Ich habe 312 LEDs in der 'chain' und rund alle 40 LED ein 'Mini-360 
Buck' im U-Profil, um über die gesamten 5,2 Meter stabile 5V zu 
garantieren. Nur so als Tipp. Die Module gibt es ab 72ct:
http://www.aliexpress.com/item/-/1877349317.html

: Bearbeitet durch User
von Lorin M. (lorinm)


Lesenswert?

Der Kondensator ist über die 5V Versorgung angeschlossen um 
Einschaltspitzen auszugleichen und der Wiederstand nach dem Arduino auf 
der Datenleitung.
Die Spannungsversorgung liefert genau 4.9V wenn alle eingeschaltet sind 
und 5.2V (Schon zuviel?) wenn alle ausgeschaltet sind. Am Ende messe ich 
immer noch 4.2V resp. 5.1V. Der maximale Strom des netzteils ist 20A.
Es sind zwei Stripes an je 120 LEDs (60LEDs/m).
Leider kann ich nicht genau angeben, ab wo es nicht mehr funktioniert, 
da es variert. Ich habe jetzt ein Script hochgeladen, dass die ganze 
Zeit alle ein und wieder ausschaltet. Zum Teil wird das Signal ab der 
10. bis 20. nicht mehr weitergeleitet. Das ist bei beiden Streifen 
unterschiedlich. Zum Teil zeigen die LEDs ab einem gewissen Punkt auch 
einfach eine falsche Farbe an, als ob z.b. das Blau Byte nicht mehr 
weitergesendet wurde. Meistens zeigt die erste LED die das Signal nicht 
mehr richtig bekommen hat eine falsche Farbe an.
Osziloskop habe ich leider keins.

Als ich die Lampe zum ersten mal in Betrieb genommen habe hat auch alles 
wunderbar funktioniert erst jetzt nachdem ich sie einige Zeit nicht 
gebraucht habe ist mir das aufgefallen.

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Lorin M. schrieb:
> Am Ende messe ich immer noch 4.2V resp. 5.1V.

4,2V sind zu wenig, damit bekommt man genau den o.g. Effekt. Also 
entweder dickere Leitungen für 5V parallel legen oder alle 40..100 LEDs 
einen Spannungsregler, der vor Ort geregelte ~5.3V aus einer höheren 
Spannung von einem dünneren Versorgungs-Kabel erzeugt.

Ich habe mich für 24V, dünne Kabel und Buck-Spannungsregler entschieden, 
aber natürlich kannst Du auch dicke Kabel oder Längsregler nehmen.

PS: Der Spannunsabfall ist bei den ersten 10..20 LEDs nach einem 
Eispeise-Punkt besonders hoch, weil dort die Summe aller Ströme für alle 
folgenden LEDs durch eine und die selbe dünne Leiterbahn geht.

: Bearbeitet durch User
von Lorin M. (lorinm)


Lesenswert?

Ich habe jetzt in der Mitte auch noch direkt eine Stromversorgung 
angeschlossen und die LEDs haben etwas heller geleuchtet jedoch war das 
Problem nicht gelöst.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Lass doch mal ein Lauflicht (1 bis 5 LEDs "an") über die komplette Länge 
durchlaufen. Wenn der Fehler beim Lauflicht nicht auftritt, hast du mit 
höchster Wahrscheinlichkeit doch ein Problem mit dem Spannungsabfall 
über die komplette Leitungslänge.

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Magnus M. schrieb:
> Lass doch mal ein Lauflicht (1 bis 5 LEDs "an") über die komplette Länge
> durchlaufen

Gute Idee. Um sicher zu gehen, nur #050505 statt #FFFFFF.

Vielleicht ist es auch eine Kombination aus Spannungsabfall und defekter 
LED.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Torsten C. schrieb:
> Vielleicht ist es auch eine Kombination aus Spannungsabfall und defekter
> LED.

Das wage ich zu bezweifeln.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Magnus M. schrieb:
> Das wage ich zu bezweifeln.

Was hilft dem TE diese geratene Einschätzung?

Vielleicht hat eine Leiterbahn einen Haar-Riss und/oder ist an der 
Stelle bereits durchgeschmort. Lass ihn doch erstmal das Lauflicht 
ausprobieren.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Torsten C. schrieb:
> Was hilft dem TE diese geratene Einschätzung?

Nichts. Wie du bereits richtig erkannt hast handelt es sich hierbei um 
eine "Einschätzung".

> Lass ihn doch erstmal das Lauflicht ausprobieren.

Habe ihm etwa davon abgeraten?

von Joachim B. (jar)


Lesenswert?

Torsten C. schrieb:
> PS: Ich habe 312 LEDs in der 'chain' und rund alle 40 LED ein 'Mini-360
> Buck' im U-Profil, um über die gesamten 5,2 Meter stabile 5V zu
> garantieren. Nur so als Tipp. Die Module gibt es ab 72ct:
> http://www.aliexpress.com/item/-/1877349317.html

wo hast du die denn her?

ich wollte gerade bstellen nach deinem Link, aber das ist mir dann doch 
zu heftig:

 Zwischensumme:

25 Stk US $19.25  ist ja OK, aber

Versand: US $48.54 spinnert!

von Lorin M. (Gast)


Lesenswert?

Das Lauflicht funktioniert fast, bei einem Streifen bleibt die blaue LED 
noch einen Zyklus zu lange leuchten ab einer gewissen Position und die 
letzte LED scheint kaputt zu sein, sie reagiert zwar auf das Signal 
jedoch immer falsch. Jedoch funktioniert jetzt auch das Blinklicht mit 
allen LEDs...
Das einzige was ich gemacht habe ist die Spannung auf wirklich maximal 
5V runter zu drehen.

Ich begann am Signal zu zweifeln und deshalb habe ich jetzt auch noch 
ein anderes Arduino-Board ausprobiert um da Fehler aus zuschließen was 
nichts brachte. Zur Ansteuerung benutze ich die FastLED library, die 
sollte soweit ich weis gut sein.

von Joachim B. (jar)


Lesenswert?

Joachim B. schrieb:
> ich wollte gerade bstellen nach deinem Link, aber das ist mir dann doch
> zu heftig:
>
>  Zwischensumme:
> 25 Stk US $19.25  ist ja OK, aber
> Versand: US $48.54 spinnert!


so bestellt bei ihbäh!

http://www.ebay.de/itm/391041665743?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT


Mini 3A DC-DC verstellbar Step-down Konverter Standard Power Strom Modul 
LM2596
Artikelpreis   17,85 EUR
Rabatt auf einzelne Artikel   -1,00 EUR
Stückzahl   5 x 5! = 25

Zwischensumme   17,85 EUR
Rabatt auf einzelne Artikel   -1,00 EUR
Versand   Kostenlos

das gefällt mir eher.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Joachim B. schrieb:
> das gefällt mir eher.

Ist auch besser, da ein MP1584 drauf ist, der bis 28V geht. Bei den 
Mini-360 habe ich das 24V-Netzteil am Trimmer auf 23V runter gedreht.

Ich bin gerade dabei, die Module zusammen zu fassen, unter 
https://github.com/TorstenC/Notizblog/wiki/Buck-Module

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.