Verwirrungen über WS2812 und WS2812B

Startseite Foren LEDs, Controller, Player Verwirrungen über WS2812 und WS2812B

Ansicht von 1 Beitrag (von insgesamt 1)
  • Autor
    Beiträge
  • #515
    Folker Stange
    Verwalter

    schon spaßig, was für Gerüchte im Netz umherfliegen. Ein Anwender schrieb mir neulich, dass er minderwertige Ware bekommen hat – es ging um ein 8×8 Panel mit 64 WS2812 LEDs bestückt. Auf dem Diamex-Etikett steht wahrheitsgemäß WS2812-basierend. Der Anwender bestand darauf, dass er WS2812B (wie Berta) kaufen wollte und nun minderwertige WS2812 (ohne Berta) erhalten habe und nicht einmal auf den LEDs sei ein Aufdruck vorhanden (steht ja auch auf keiner drauf). So richtig konnte ich nicht folgen, da wir generell nur WS2812B einsetzen (aber aus einem völlig anderen Grund). Nun war der Anwender der Meinung, der „nicht-B-Typ“ habe bekanntermaßen Instabilitäten und funktioniere in langen Ketten nicht, die Enden würden flackern etc. Oha, das kommt mir dann aber bekannt vor:

    Vorab, dies ist völliger Blödsinn. Das Problem liegt ganz wo anders. Erst nachdem der Anwender herausrückte, dass er mit der Arduino-Plattform experimentiert, da kam Licht ins Dunkle.
    Fakt ist, dass ein PWM-Chip (WS2811) RGB-LEDs ansteuern kann, dieser in Ketten (Daisy-Chan) angeordnet wird und Daten über eine Leitung seriell weiterreicht. So lassen sich bis zu 1024 LEDs ansteuern. Dieser Chip wurde folgerichtig direkt in die LED integriert (einfach genial!). Die ersten LEDs trugen die Bezeichnung WS2812S und benötigten noch ein RC-Glied (100n + 150 Ohm) um zu funktionieren. Brauchten also Anschlüsse für +5V; GND; Input; Output; und RC – fünf Pins. PLCC Gehäuse mit 6 Pins oder 4 Pins sind Standard. Also verwendet man das 6 pinnige Package – logisch, oder? In unaufhaltsamer Weiterentwicklung wurde das RC-Glied dann integriert. Es ist ja auch ein Hünerfuttergrab, wenn man 256 LEDs mit weiteren 512 passiven Komponenten bestückt. Heraus kam die WS2812B. Gut, die Chinesen haben da mal wieder was ganz dolles hingelegt und diese LED in das näxt kleinere Gehäuse gepackt. Chinesenlogischerweise nicht kompatibel zum Vorgänger. Was in den gelben Schädeln so vorgeht, das kann man als Mitteleuropäer eh nicht nachvollziehen – kommt wahrscheinlich vom überdimensionalem Reiskonsum – aber lassen wir das…
    Der Chip ist allerdings völlig identisch in beiden LEDs.
    Also was soll dieser Quatsch mit instabil usw.?
    Das Problem sind die Arduino-Bastler – man möge es mir verzeihen, wenn ich es so deutlich anspreche. Es gibt da eine Library von Adafruit und noch ein paar mehr darüberhinaus. Diese Lösungen sind sehr, sehr zeitkritisch. Der Arduiono-Programmierer sucht i.a.R. nach Einsatz dieser Library den Fehler nicht in seiner gebastelten Umgebeung (ist ja klar) – sondern beim massenhaft (ich spreche von mittlerweile Milliarden) hergestellten WS2812-LEDs.
    Also Klartext: Miese Stromversorgung, unterdimensioniert, dünne Drähtchen, schlechte Kontakte führen zu verdunkelter Verfärbungen ab einer bestimmten Länge. Schlecht umgesetzte Implementierung zu Flackern und Falschfarben. Der häufigste Fehler, Signal liegt an der ersten LED und die Betriebsspannung wird lustig an- und abgeklemmt. Plötzlich „friert“ der Strip ein und die erste LED geht gar nicht mehr bzw. zeicht nur noch eine Farbe. Schuld daran ist natürlich die WS2812S – weil veraltet (Vorsicht Ironie!). Nein, nein mein junger Programmierer – es ist der Part, der sich gerade grübelnd über die vermeintlich „miese“ LED beugt, der hat den Bockmist zu verantworten. Die erste LED gekillt – das kommt ungelogen so oft vor. Dann rufen erboste Anwender an und beschweren sich über defekte Stripes. Meine Antwort darauf: „Arduino? Aha, erste LED abschneiden und dann geht alles wieder. Bitte darauf achten, dass alle drei Leitungen abgeklemmt werden, wenn man das System neu programmiert“.

    Eigentlich, da nun integriert, könnte auch der 100n Stützkondensator wegfallen, auch genannt „Angst-C“. Aber nö, es gibt regelmäßig ein Drama, wenn auf WS2812 Installationen diese Dinger fehlen (daher sind die auch bei uns in Mengen drauf). Ist genauso wie die 22p an einem Quarz. Fossil, weil nicht nötig – aber wehe wenn nicht dran – das muss dann der gesuchte Fehler sein. Diese Pseudofakten halten sich seit über dreißig (!) Jahren hartnäckig und stammen noch aus den Anfängen der TTL-ICs. Kleiner Tipp – lasst die Teile mal bei einem funktionierenden System weg – oho, geht ja auch ohne…

    Also, wer experimentiert ist immer eine Nasenlänge voraus, gesetzt dem Falle, er akzeptiert auch mögliche, eigene Fehlerquellen. Aber so ist der Mensch nicht gestrickt – daher gibts von den besonders ignoranten Zeitgenossen solche Gerüchte, die dann ein noch simpleres Wesen zur eigenen Argumentation wohlwollend heranzieht.

    Kommt man wirklich nicht weiter, dann hilft ggf. ein funktionierendes System um den starren Sinn aufzuweichen. Digi-Dot-Booster beispielsweise. Den kann man leicht für eine Arduino-Ansteuerung verwenden und der geht gerantiert.

    Falls ich diesen Post irgendwann Jemanden als Hinweis verlinke, bitte nicht als Unhöflichkeit auffassen – es ist davor vielen Hobbyisten ähnlich ergangen – hier möchte ich nur die Augen weit öffnen. Aber ich fürchte auch das wird einigen „Fachleuten“ nicht reichen. Aber einen Versuch wars wert…

Ansicht von 1 Beitrag (von insgesamt 1)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.