APA102 vs. APA102c vs. APA104 vs. APA107 vs. SK9822 vs. UCS2904 vs. WS2813...

Moin,

ich bin auf der Suche nach RGB LED Stripes.
Ich möchte zwei parallele 3,5m lange Handläufe einer Treppe illuminieren.
Dazu habe ich mir letztes Jahr für erste Tests zwei 5m lange WS2813 Stripes und ein Netzteil zugelegt und erste Tests mit einem nodeMCU gemacht. Nach anfänglichen Schwierigkeiten wegen des Levelshifters lief es dann, war mir aber zu langsam. Über 600 Pixel einen Lichtpunkt laufen zu lassen war schon relativ langsam (geschätzt 6-7 Sekunden wenn ich mich Recht erinnere). Hinzu kommt, dass man den Data pin der WS2813 wohl nicht 2-3m verlängern kann um von dem Stripe der einen Seite der Treppe zum Stripe der anderen Seite der Treppe zu gelangen.
Nun bin ich also auf der Suche mit welcher Hardware das besser und schneller gehen könnte und dabei auf viele verschiedene LED Stripe Typen gestoßen.
Könnt ihr mir helfen herauszufinden mit welcher Hardware mein Vorhaben am besten und performantesten funktioniert?

Danke und lieben Gruß,
Chris

2-3m Zuleitung wirst Du wohl mit keiner Variante schaffen. Dafür bieten sich BlindLeds an, die Du z.B. schwarz schaltest, die aber das Signal regenerieren.

Gruß Tommy

Vielleicht kann man was anderes davorschalten? SPI oder I2C oder so um die 2-3m zu überbrücken?
Hauptfokus ist aber, das es viel schneller sein muss als das was ich jetzt habe.

Du wirst es als aufmerksamer Leser dieses Forums sicherlich schon mehrfach von mir gelesen haben: Die mit den vier Pins (+5V, GND, Takt, Daten) lassen sich grundsätzlich schneller ansteuern als die mit drei. Limitierend ist die µC-Geschwindigkeit und irgendwann die der ICs des Lichtbandes. Nach meiner Erfahrung und der von mir verwendeten Hardware (Teensy 3.2 und APA102) sollte eine Steigerung um den Faktor zehn möglich sein. Der nodeMCU sollte mit 8-12 MHz keine Probleme haben. Daher empfehle ich Dir die mit vier Pins.

Die 2-3 m kannst Du aber auch mit den Vierpinnigen nicht überbrücken. Daher könnte ich mir als Lösung vorstellen:

  • Zwei nodeMCUs, je Seite einer, die können doch funken.
  • Die zwei Streifen an verschiedene Pins und dann durch Hardware die Reichweite verlängern. Habe ich noch nicht getestet, würde ich aber bei Bedarf machen, eine Idee hätte ich.

themanfrommoon:
SPI oder I2C oder so um die 2-3m zu überbrücken?

I2C ist zu langsam.

Moin agmue,

deine Empfehlung weiss ich natürlich noch, hab ich nicht vergessen!
Ist das denn noch up-to-date?
Bei meiner Recherche habe ich ja durchaus LEDs gefunden die noch deutlich schneller können, siehe Titel.

Zum Bleistift hier:

20kHz (APA102) vs. 1,6MHz (UCS2904) das is mal eben Faktor 80!!!

themanfrommoon:
20kHz (APA102) vs. 1,6MHz (UCS2904) das is mal eben Faktor 80!!!

Du schaust in der falschen Spalte, das ist die PWM-Frequenz.

themanfrommoon:
deine Empfehlung weiss ich natürlich noch, hab ich nicht vergessen!
Ist das denn noch up-to-date?

Ich habe keinen Marktüberblick, daher kann ich nur von dem berichten, was ich kenne.

Die Dreipinnigen (WS2812) müssen mit einer festen Frequenz arbeiten, mir ist nur 800 kHz bekannt, kann auch 800 kBit sein, was auch immer. Wie lange es dauert, 600 Lichtpunkte zu beschreiben, ist also eine feste Zeit.

Die Vierpinnigen können mit einer variablen Taktrate beschrieben werden, auch mit Pause für einen Interrupt. Meine 300 Lichtpunkte APA102 (ob mit oder ohne C weiß ich nicht) an einem Teensy sind bei ungefähr 12 MHz ausgestiegen. Ich habe einen weißen Punkt vom Anfang zum Ende laufen lassen. Mit Helmuth habe ich mich dann auf 8 MHz sichere Taktfrequenz geeinigt.

So komme ich auf den Faktor zehn.

Auch gut. Welche sind denn die schnellstes in der Tabelle? Wie kann ich denn 4Mbs und 20MHz miteinander vergleichen?

Was sagt mir denn die PWM Frequenz? Wozu braucht man da MHz? Dem Auge reichen doch schon 50-100Hz, oder nicht?

themanfrommoon:
Was sagt mir denn die PWM Frequenz? Wozu braucht man da MHz? Dem Auge reichen doch schon 50-100Hz, oder nicht?

Das ist das Ein- und Ausschalten der LEDs für die Helligkeit. Wozu man MHz benötigt, mußt Du den Hersteller fragen, weiß ich auch nicht. Es mag spezielle Anwendungen geben, Deine Treppe gehört eher nicht dazu.

themanfrommoon:
Auch gut. Welche sind denn die schnellstes in der Tabelle? Wie kann ich denn 4Mbs und 20MHz miteinander vergleichen?

Das sagt Dir die Datenrate. Die LPD8806 habe ich nicht. Die Unterscheidung Mbs und MHz sagt mir jetzt auch nichts.

Evtl. zum Lesen für parallele Ausgaben mit WS2811 an der neuen Version 3.1 von FastLed.

Gruß Tommy

WS2812 und Kompatible.
Datenübertragung mit 800kHz über ein Pin. Geschwindigkeit fix. Das so 1,25µS pro Bit. Eine WS2812 braucht 24 Bit für die 3 Farben, mal 600 WS sind das ca 18ms; das sind mögliche 55 Refresh pro Sekunde. Eine Laufpunkt über 600 WS braucht schnellstens 11 s (wenn keine Zeit durch Berechnung verlorengehen).

WS2801 und Kompatible.
Datenübertragung mit getrennten Taktsignal. Übertragungsgeschwindigkeit bis zu 25Mhz. Die MAX Übertragungsfrequenz der Kompatiblen ist aber bei jedem Modell im Datenblatt nachzusehen.

Ich weiß nicht mit welcher Frequenz der nodeMCU Daten rausschieben kann.

Grüße Uwe

Zwecks Animationsgeschwindigkeit, da machst du bestimmt jeden Zyklus nur eine weitere Led an. Wenn das zu langsam ist würde ich immer gleich zwei oder mehr Leds ändern. Da musst du dann eben schauen ob der Effekt noch schön aussieht, wird ja Stufiger.

uwefed:
Eine Laufpunkt über 600 WS braucht schnellstens 11 s

Wenn man das auf zwei Handläufe aufteilt, sind es nur 300, also 5,5 s, bei Vierpinnigen dann nur noch 0,55 s. Nur theoretisch, aber man sieht, wo die Reise hingeht.

Die 2-3 m kannst Du aber auch mit den Vierpinnigen nicht überbrücken. Daher könnte ich mir als Lösung vorstellen:
Zwei nodeMCUs, je Seite einer, die können doch funken.
Die zwei Streifen an verschiedene Pins und dann durch Hardware die Reichweite verlängern. Habe ich noch nicht getestet, würde ich aber bei Bedarf machen, eine Idee hätte ich.

Nochmal zurück zu der Geschichte:

Zwei nodeMCU miteinander funken zu lassen hatte ich auch überlegt.
Allerdings wird die Programmierung dann komplizierter und wer weiß wie synchron das dann wirklich laufen kann. Hinzukommt, dass man dann eine weitere Fehlerquelle erzeugt hat und auch mehr Elektrosmog :wink:

Daher würde ich die beiden Streifen gerne mit einem µC ansteuern wollen.
FASTLED kann ja inzwischen auch mehrere Pins ansteuern. Das ist schonmal sehr gut, weil ich dann nicht mehr von dem einen Streifen zum anderen Streifen muss.

So, aber wie krieg ich denn jetzt 3m vom µC zum Ledstrip überbrückt?!

Per Suche habe ich Kabel gefunden:
https://www.ebay.de/itm/Dauerhaft-2-50M-3-Pin-LED-Verlangerungskabel-Linie-Fur-WS2812-WS2811-LED-Strip-/262018315295
https://www.amazon.de/ABAOTECH-Verlängerungskabel-Antioxidans-Verzinnten-Kupferdraht/dp/B07928RHP7

Warum klappt das denn nicht einfach per Kabel?

Lieben Gruß,
Chris

themanfrommoon:
Warum klappt das denn nicht einfach per Kabel?

Hi,
kein einziges Bauteil, so auch in der Elektronik ist ein ideales Bauteil, noch nicht einmal ein Stück Kabel!
Ein Kabel hat die nicht benötigten Eigenschaften, daß es einen Widerstand (R) hat, eine Induktivität (L) darstellt, sowie eine Kapazität (C) hat.
L & C sorgen dafür, daß ein Rechtecksignal mit zunehmender Länge verschliffen wird, und zunehmend seine Form verliert.
Damit können Bauteile, also hier die LEDs nicht mehr viel anfangen. Schaltet man eine "Signalaufbereitung" dazwischen, wird das Signal wieder frisch ausgegeben. Ich habe hier schon öfters was von Blind-LEDs gelesen, die das übernehmen sollen.

Gruß André

Hi

Weil 'Es einfach nicht klappt' - da hilft auch kein 'mit dem Fuß auf den Boden stampfen'.

Klar kannst Du dort auch 3 Kilometer Kabel zwischen pfriemeln - wenn aber der Hersteller sagt 'bei 30cm ist Schluss', wird Das wohl einen Grund haben, warum Der so was erzählt.
... die 30cm sind hier als 'Hausnummer' anzusehen - die maximal vom Hersteller garantierte Verbindungslänge könnte man ggf. im DaBla finden - hatte ich bisher noch nicht benötigt, deshalb auch noch nicht explizit danach gesucht, mir reichten bisher die Informationen, Die ich so im WWW dazu finden konnte.
Wenn Du die Länge überschreitest, KANN Das ja noch funktionieren, muß halt aber nicht - kann also auch jeder Zeit oder nach Mondphase ausfallen.
Vll. kann man hier einen Levelshifter oder so Zeug missbrauchen - wobei der Einfachheit auch Blind-LEDs diese Aufgabe übernehmen würden.

MfG

Ja verstehe ich, das ein Signal verschliffen werden kann.
Aber warum schon nach 30cm?
Ethernet geht ja zum Beispiel auch noch bei ein paar hundert Metern Kabellänge.
Was ist denn da anders?
Denn kann man das vielleicht mit einem CAT5 Kabel verlängern?

Ich hatte mal eine WS28xx Verlängerung gefunden. Finde ich leider noch nicht wieder ich meine da wurde als Überbrückung ein anderer Bus dazwischengeschaltet.

Blind LEDs sind bei meiner Anwendung keine Option. Es kann nur per 3m Kabel gehen.

Lieben Gruß,
Chris

Hi

Bei Ethernet war das Maximum 92 Meter, wenn ich mich nicht zu sehr irre, auf jeden Fall nicht über 100!

Was hältst Du von zwei einfachen Schmitt-Triggern aka 4093? (Die sind invertierend, deshalb Zwei - in jedem IC sind aber 4 enthalten).
Die sollten die Geschwindigkeit (800kHz) locker hinbekommen und 'Hinten' sollte wieder TTL-Pegel raus kommen.

Siehe:cmos4000.de wird zum Kauf angeboten!

MfG
Edit Code und URL-Tags gemischt -> Mist

Hallo,

jede "Schnittstelle" bzw. Übertragungstechnik hat ihre speziellen Eigenschaften.

Bei den WS Leitungen ist es wie bei I2C oder SPI. Die sind stark abhängig von der Leitungsqualität. Hier findet keine Fehlererkennung oder Korrektur statt. Müßte man in Software machen, geht bei den WS Leds nicht. Jede falsche Übertragung an deine Leds ist sichtbar in Form von falschen Farben oder kompletten Aussetzern o.ä.

Das heißt hier konkret die ICs sind davon abhängig das ein Mindestspannungspegel innerhalb einer gewissen Anstiegszeit bei ihnen ankommt. Wie bei TTL/CMOS Schaltungen üblich. Ist das nicht der Fall können sie die Pegel nicht eindeutig erkennen. Das verschleifen des Signals ist auch Frequenzabhängig. Der kapazitive Anteil des Kabels wirkt und der ist wiederum abhängig von der Kabellänge. Stell dir einen Kondensator vor, maßgeblich für die Kapazität ist die Fläche und Plattenabstand. Übertrage das auf ein Kabel, 2 Adern liegen parallel im Kabel in einen gewissen Abstand, je länger das Kabel umso mehr parallele Fläche. Je höher die Frequenz umso größer die Wirkung.

Anschaulich ist das hier für I2C erklärt. Gammon Forum : Electronics : Microprocessors : I2C - Two-Wire Peripheral Interface - for Arduino

Ich habe für die Verlängerung aber eine Idee. Man nutzt die Differenzsignalauswertung von RS485. Allerdings bräuchte man dann für jede WS Datenleitung eine RS485 Verbindung. Also zwei, für Takt und Signal. Die Signale lässt man 1:1 durch. Dann könnte man den Abstand zwischen µC und dem Anfang der WS Led Leitung bestimmt verlängern. 5V müssen eh vorhanden sein bei der Led Leitung. Nochmals gut abgeblockt am RS485 IC sollte das theoretisch funktionieren. Man bräuchte für 800kHz WS Takt RS485 ICs die mindestens 2MBaud können. Also nicht die vom Wühltisch.

Ich meine much auch zu erinnern das das schonmal jemand über RS485 gemacht hab. Leider finde ich es nicht wieder

na dann los gehts ... :slight_smile: