Ws2801 vs WS2812b

LED-Streifen mit einzeln steuerbaren RGB-LEDs sind weiterhin und immer mehr populär. Begonnen hat es mit dem Chip WS2801 von Worldsemi und die Story wird sehr erfolgreich mit dem LED-Chip Neopixel oder WS2812b fortgesetzt. Der WS2801 ist ein separater Chip mit einer Zweidraht Kommunikation auf Basis von SPI. Zusammen mit Versorgungsspannung kann er 3 LEDs (RGB) mit PWM farbenfroh ansteuern (24 bit Farbe). Der WS2812b ist ein in eine LED eingebetteter Chip mit einer Eindraht-Datenkommunikation (siehe Bild 3). Zusammen mit der Versorgungsspannung kann er 3 Ausgänge mit PWM steuern. Mit RGB-LEDs also auch 24 bit Farbe erzeugen.
Merkmale des WS2812b

Vergleiche

Also welche Variante von Lichterkette kauft man nun. Was ist der bessere Chip oder die bessere Produktkategorie. Viele Projekte bieten sich damit an. Z.B. LED-Matrix-Anzeigen bauen. Doch wie bekommt man die bessere Bildwiederholfrequenz hin oder was?

Worauf kommt es an

Der Aufbau einer LED-Matrix ist eine lineare Strecke. Alle LEDs sind von der Verkabelung hintereinander angeordnet. Der Dateneingang des Nachfolgers wird vom Vorgänger erzeugt. Beide Varianten des Chips arbeiten so, dass man von einer Quelle 24 Bit (3 Byte) vorne reintackert und wenn das 25-te Bit kommt, wird das Paket zum Nachfolger-Chip weitergegeben. So können über eine Kaskade alle Chips/LEDs mit einem neuen Farbwert versorgt werden.

Es kommt also auf die Datenübertragung des Datenbusses an.

WS2801

Hier ein Ausschnitt aus des WS2801 Datenblatt:

Als Extremwerte ist bei „Input Clock Frequency“ 25 MHz angegeben. Das ist wohl wirklich extrem. Denn realistisch wird man dieses HF-Signal kaum durchbekommen. Und man braucht für die Quellseite jemanden, der 25MHz SPI kann. Der beliebte Raspberry Pi, der zwei integrierte Hardware-SPIs hat, kann erfolgreich nur bis zu 6 MHz machen.
Wenn wir jetzt diesen Wert nehmen und annehmen, dass bei jeder Periode eines von 24 Datenbits übertragen wird, dann kommen wir zu:
6 000 kHz : 24 = 250 kHz
damit können wir eine LED 250 000 mal pro Sekunde aktualisieren. Gehen wir von einer kleinen 16×16-Matrix aus (es soll ja auch ein bisschen was angezeigt werden) mit 256 LEDs. Dann sind immerhin noch rund 970 Hz übrig. Also die komplette Matrix mit rund 1 kHz aktualisieren. Nicht schlecht.
Aber es kommt noch eine Zwangspause hinzu. Die Daten werden nur „angezeigt“, wenn eine Pause von 500 µs erfolgt. Rechnen wir also aus, wie viel Zeit die Datenbits für 256 LEDs und die eine Pause kosten:
256 * 24 * (1:6MHz) + 500µs = 1,524 ms (pro Vollbild)
Jetzt brauchen wir die Sekunde nur noch durch diesen Wert Teilen:
1 s: 1,524 ms = 656,168
Damit bekommen wir eine realistische maximale Wiederholfrequenz der kompletten Matrix von ca. 650 Hz. Das ist ziemlich gut.

WS2812b respektive Neopixel

Werfen wir denselben Blick auf den Neopixel. Dieser Chip wird nicht mit SPI angesteuert, sondern mit einer Timing-Gesteuerten 1-Draht-Kommunikation. Wie man in dem folgenden Ausschnitt aus dem Datenblatt sieht, kodiert man eine 0 mit einer Rechteckpuls-Vollperiode der Form Kurz-Lang, während man eine 1 mit der Form Lang-Kurz kodiert. Eigentlich ein ziemlich einfaches System:

Die Timings der Signale muss ziemlich Exakt sein. Man bekommt das mit einem Arduino durch exaktes ausrechnen der CPU-Takte und die korrekte IO-Pin-Ansteuerung aber hin. Siehe Tabelle.
Wir erkennen gleich aus der ersten Zeile: TH+TL = 1,25 µs. Das ist die Periodendauer. Zum festschreiben muss noch ein Low-Puls von > 50µs dazukommen. Wieder mit unserer angenommenen Matrix von 8×8 Pixeln ergibt sich:
256 * 24 * 1,25 µs + 60µs = 7740µs (Zeit für ein Vollbild)
Nun können wir uns die Anzahl der Vollbilder pro Sekunde ausrechnen:
1 s : 7,74 ms = 129,2 (Vollbilder pro Sekunde)
Wir erkennen also, dass ein Signal mit Clock mehr Daten pro Zeit übertragen kann, als ein Timing gesteuertes Eindraht-Signal.

Resume

Der ältere WS2801 gewinnt gegen den jüngeren WS2812b mit hier 650 Hz : 129 Hz Wiederholfrequenz bei einer 256er Matrix. Jetzt kann man sich fragen wieso wird der neuere so häufig eingesetzt und hat quasi alles besetzt? Wohl, weil er in eine LED integriert ist, derweil der WS2801 als klobiger (vermutlich auch Stromfressender) Chip neben den LEDs sitzt. Entweder auf dem LED-Streifen oder in irgendwelchen Gehäusen. Realistischer lässt er sich sowieso mit 2 MHz betreiben. Indes 1/3 von 650 Hz ist immer noch viel. Angesichts von hohem Leistungsbedarf, sollte man eh mehrere Teilpanels machen, wenn es größer werden soll. Hier kann auch der Neopixel wieder punkten, denn ein ESP8266 hat oft zu wenige Pins herausgeführt, um als SPI zu funktionieren. Ein ESP32 mag, dank 4 CPUs, vielleicht in der Lage sein mehrere LED-Teilpanels anzusteuern mit korrekten Timings für WS2812b. Panels aus WS2801 kann er dank zweier Hardware SPI-Schnittstellen als Doubel ansteuern.
Unterm Strich gibt es Vor- und Nachteile und man sollte das nehmen, was man bekommt.

Duschvorhang-Magnet-Halt-Hack

Der Duschvorhang – immer da, wo er nicht hingehört und weg, wo man ihn braucht. Also so ein richtig flatteriges Wesen.

Aber was, wenn man den Duschvorhang so modifizieren könnte, dass er genau da an der Wand bleibt, wo man es „dicht“ braucht? Wäre das nicht optmal?

Der magnetisch haftende Duschvorhang

Es gibt was. Die guten Starkmagneten können einen Vorhang etwa da halten, wo man ihn gene hat. So könnte es aussehen:

Vorhang an Ösen mit Magneten fixiert.

Was man dazu braucht

  • Eine Ösenzange
  • Einige Ösen aus magnetischem Material
  • Enige Niob-Starkmagnete
  • Enige Streifen Gewebeklebeband
  • Einige Tropfen Sekundenkleber

Basteln

  1. Zunächst benötigt man mal einige Starkmagnete (oft Niob). Diese gibt es als ‚Centartikel‘ im Internet, man kann sie aber auch aus „schönen“ Verpackungen ausbauen. Z.B. wurde meine Maus in einer „geilen“ Verpackung geliefert, die so ein Türchen mit Magnetschnappverschluss hatte. Mit einem Messer ausschneiden und schon hat man den Magneten für eigene Experimente.
  2. Jetzt sollten die Ösen in den Vorhang eingezwickt weden.
    Man überlegt, wieviele Kontaktstellen man möchte / wieviele Magneten man hat. Alle 20-30 cm ist ausreichend. Ich habe dazu ein schwedisches Modell einer sog. Ösenzange benutzt:

    Ösenzange mit Ösen

    Auch wenn die Ösen wie Kupfer oder Messing aussehen, in wirklichkeit sind es nur elektrolytisch veredelte Eisen-Teilchen. Damit aber genau das Gegenstück für die Starkmagnete, das wir brauchen.
    Auch wenn die Ösen eine geringe Masse haben – es reicht. Alternativ kann man auch, Muße vorrausgesetzt, die Eisenplättchen aus der Verpackung mit ausbauen und irgendwie mit Nadel und Faden oder Sekundenkleber auf den Vorhang am Saume anbringen.

  3. Nun kommt der Teil mit den Magneten.
    Die müssen relativ exakt dort an der Wand landen, wo auch die Ösen am Saume des Duschvorhangs zu hängen kommen. Das geht am Besten mit ‚Versuch-und-Fehler‘. Zwar kann man die Magnete mit dem Sekundenkleber auch direkt auf die Fliesen aufkleben. Doch Korrekturen sind da nicht wirklich drin. Und bei Mietwohnungen stellt sich auch die Frage der Reversibilität. Also was ist die Lösung?

    Mit Sekundenkleber aufgeklebt.

    Man nehme ein Stück, einen Streifen Gewebeklebeband (auch bekannt als Duck-Tape, Panzer-Tape, etc.) und klebe den Starkmagneten zunächst dort mit dem Sekundenkleber auf. Jetzt ist es relativ einfach, die richtige Position zu finden und das Konstrukt an die Fliesen zu pappen.
    Zugegeben: So richtig toll sieht es nicht aus. Es sei dem Einzelnen überlassen, die Ränder mit einem Messer/Schere noch enzukürzen. Man beachte jedoch, dass dadurch die klebene Fläche abnimmt und der Halt gefährdet ist. Von der Variante, den Sekundenkleber sein zu lassen und stattdessen den Starkmagneten unter das Klebebandstück zu legen, rate ich eher ab. Die Konstruktion neigt dazu, sich auszubeulen und später abzugehen.

  4. Wenn alle Magnete ungefähr auf der Höhe der Ösen sind, ist der Hack fertig. Viel Spaß beim Basteln, Duschen, und Rumspritzen.

    Duschvorhang frei und Sicht auf Magnete an den Fliesen.

 

CH+DE -Kabel

Manch einen Europäer zieht es in die Schweiz und – Schock. Eines der kleinsten Länder Europas leistet sich einen eigenen Steckerstandard. Nicht Schuko und auch nicht den Franzosen-Schutzkontakt, obwohl man davon umringt ist.

Basteln

Dieser Artikel erklärt, wie man seine Schukogeräte für 1 Sfr und 86 Cent in der Schweiz betreibt.

Anleitung für einen Adapterstecker von Schweizer Steckdose auf deutsche/österreichische Schuko-Steckose.

Natürlich kann man sich ein halbes Dutzend Adapterstecker kaufen, mehr Spaß und Flexibilität hat man aber mit dieser obendrein billigeren Variante: Man nehme ein Verlängerungskabel (Mehfachssteckdose), schneide den Stecker ab und setze einen schweizer Stecker dran.

Man benötigt dazu nebst ein wenig Werkzeug folgendes:

  • Einen schweizer Stecker zur Montage. Bei Verfassen dieses Textes für 1 SFr bei Coop käuflich zu erwerben.

  • Ein Shuko-3-fach-Verlängerungskabel aus dem Baumarkt. Seinerzeit für 85 Eurocent bei OBI zu erstehen. 

Nach Bereitlegung des nötigen Werkzeugs wie Schraubendreher, Seitenschneider und Messer kommt der Moment der Wahrheit. Der Schuko-Stecker des Verlängerungskabels wird mit dem Seitenschneider abgeknipst. Vorzugsweise eher beim Stecker als beim Rest des Verlängerungskabels.

  • Für einen Überblick des weiteren Vorgehens sollte man den schweizerischen Stecker nun auspacken und aufschrauben

    Hier ist also je Ader einzeln gut zugänglich und je eine weitere Schraube zu betätigen. Weiterhin sehen wir ene Lasche, die mit zwei Schrauben befestigt ist und das Kabel zugentlasten soll. Diese muss vor dem weiteren Vorgehen gelöst werden. Am besten eine Schraube ganz heraus und die andere halb. So lässt sich das Kabel nacher ohne übermäßige Fingerfertigkeit festschrauben.

    Zurück zum Kabel: Nun die Isolation mit dem Messer oder besser einer Abisolierzange entfernen und ca. 3-4 cm die Adern überstehen lassen. Dabei drauf achten, dass die Einzeladern möglichst nicht mit angeschnitten werden. Die Einzeladern ebenfalls abisolieren (ca. 5-8mm). Wer nun ganz professionell sein möchte und das nötige Zübehör hat, kann nun Aderendhülsen mit einer Aderendhülsenkrimpzange auf die abisolierten Enden der Litzen aufkrimpen. Für alle anderen Fälle tut es ein beherzter Zwirbelgriff auf die Litzenenden.

Die abisolierten und verzwirbelten bzw. mit Aderenthülsen versehenen Enden der Adern nun in den Steckerpins festschrauben. Wichtig ist, auf die korrekte Anordung zu achten: Rot-Gelb kommt in die Mitte und es sollte diese Ader am längsten überstehen. Braun und blau kommen außen hin. Ob rechts oder links ist dabei egal. Streng genommen gibt es eine korrekte Anordnung, doch letzlich kann man und darf man sich nicht auf eine Orientierung verlassen. Entsprechend sind alle Geräte (die ja auch für den Schuko-Raum identisch produziert werden) für orienterungsfreie Stecker ausgelegt und es ist so oder so sicher. Überdies sind in unserem Fall ja wieder Schuko-Dosen am Ende. Also ist alles egal.


Am Ende ergibt sich ein Verlängerungskabel, dass einen schweizerischen Stecker und drei Schuko-Dosen hat: