RGB Led Band von Action

OP #7972838
Lesenswert?

Hallo Liebe Leute

Habe mir heute so ein dünnes RGB Led Band von der Firma Action gekauft. Mit Controller und für USB Anschluss

Habe das mal zerlegt und da sind kleine SMD-Leds drauf mit 4 Anschlüssen. Farben sind nur RGB (kein weiß) (Spannung ca. 4 Volt)

Jetzt würde ich gerne wissen, wie könnte ich die selber ansteuern.

Habe mal das Signal am Osci angeschaut

Das Datenpaket schau so aus:

16 Bits (1Bit hat 1,2 µs Länge) Pause von 3µs 8 Bits

Die Dattenpakete kommen alle 100ms

Habe mal so nach Leds geschaut, die in Frage kommen könnten: z.B. WS2812 Aber da scheint der Datenstrom durchgehend 24 Bit zu sein. Die scheinen auch 6 Anschlüße zu haben ?!

Was könnte das für eine RGB-LED sein ????

Jemand eine Idee ?

: Bearbeitet durch User
#7972845
Lesenswert?

Robert P. schrieb:

Jetzt würde ich gerne wissen, wie könnte ich die selber ansteuern. Habe mal das Signal am Osci angeschaut Das Datenpaket schau so aus: 16 Bits (1Bit hat 1,2 µs Länge) Pause von 3µs 8 Bits

Da fehlt noch etwas zur Synchronisation. Warum zeigst du keinen Screen Shot

Die Dattenpakete kommen alle 100ms ... Jemand eine Idee ?

Schick einfach solche Datenpakete, wie du sie auf dem Oszi (mit 'z') gesehen hast. Dann kann dir der Typ egal sein.

Zeig einmal ein vernünftiges Bild von den LEDs und verrate die Abmessungen.

: Bearbeitet durch User
(Firma: 1984now) #7972904
Lesenswert?

Robert P. schrieb:

Also ein WS2812er ?

Sehr wahrscheinlich, ja.

Warum sind dann die 16 Bit von den 8 Bit so getrennt

Hat nix mit den LEDs selber zu tun, sondern mit der Ansteuerung. Die ist halt Scheisse. Allerdings nicht so Scheisse, dass nix mehr geht.

Die WS281x haben nicht wirklich ein starres Timing, sondern reichlich (undokumentierte) Spielräume, die im konkreten Fall offensichtlich von der Ansteuerung teilweise genutzt werden.

Hier hat sich jemand mal ausführlich mit diesen Timing-Spielräumen beschäftigt:

https://wp.josh.com/2014/05/13/ws2812-neopixels-are-not-so-finicky-once-you-get-to-know-them/

#7972918
Lesenswert?

Jede einzelne LED verwendet ein Paket von 24 Impulsen. Das sind 3 Bytes welche die Helligkeit der Farben grün, rot und blau (in dieser Reihenfolge) bestimmen. Jede LED-Farbe kann also Helligkeitswerte von 0 bis 255 annehmen. Das höherwertige Bit wird zuerst übertragen.

Eine 0 überträgt man durch einen kurzen HIGH Impuls mit 250 … 380 ns.

Eine 1 überträgt man durch einen langen HIGH Impuls mit 750 … 1000 ns.

Mit der nachfolgenden LOW Phase muss jedes Bit insgesamt 1250 … 5000 ns lang sein.

Nachdem alle LEDs ihre Helligkeitswerte erhalten haben, halte die Daten-Leitung für mindestens 280 µs auf LOW. Dann ändert sich die Helligkeit aller LEDs auf den vorher festgelegten Wert.

Dieses Timing ist zu allen Versionen der WS2812 kompatibel.

: Bearbeitet durch User
OP #7973029
Lesenswert?

Danke ob.s für den Link Danke Nemopuk für die Erklärung

Ganz ist mir die Funktionosweise vom dem WS2812 noch nicht klar.

Wenn ich z.B. 10 Leds habe (WS2812er) Muss ich dann 10* 24 Bit reinschieben und dann den Reset auslösen und dann werden die Werte auf die 10 Leds durchgeschaltet ?

Also alle Leds zuerst laden und dann Reseten?!

Oder kann ich eine Led laden, reseten und dann immer um eins weiterschieben lassen ?

Bei mir habe ich nämlich immer ein 24Bit Signal und dann 100ms Pause und dann wieder 24Bit. Und es entstehen Lauflichter, Muster usw..

#7973037
Lesenswert?

Robert P. schrieb:

Muss ich dann 10* 24 Bit reinschieben und dann den Reset auslösen und dann werden die Werte auf die 10 Leds durchgeschaltet ?

Also alle Leds zuerst laden und dann Reseten?!

Eher anders herum. Erst resetten, damit alle "wissen", dass jetzt Daten kommen. (ist aber nur meine Vermutung).

Robert P. schrieb:

Bei mir habe ich nämlich immer ein 24Bit Signal und dann 100ms Pause und dann wieder 24Bit.

Könnte die Pause nicht auch vorher kommen, und du siehst sie nicht (nach dem Einschalten)?

Und es entstehen Lauflichter, Muster usw..

Naja, das ist ja nur eine Änderung der Helligkeiten (der drei Farben) bei jedem Aktualisierungszyklus).

Das Timing ist eigentlich halbwegs gut im Datenblatt ( https://cdn-shop.adafruit.com/datasheets/WS2811.pdf ) auf Seite 4 (graphisch) mit einem Beispiel für drei LEDs beschrieben.

Zum Testen habe ich mir einfach mal einen Arduino mit einem Neopixels Beispiel bespielt.

: Bearbeitet durch User
#7973061
Lesenswert?

Robert P. schrieb:

Ganz ist mir die Funktionosweise vom dem WS2812 noch nicht klar.

Die einzelnen Bits werden wie eine Zelle betrachtet: Hi:400ns, Lo:850ns => ›0‹ Hi:800ns, Lo:450ns => ›1‹

' >=50µs (50000ns) Lo wird als Reset erkannt. Dann n*24 Zellen (für n-LEDs) werden am Stück gesendet. Die erste LED greift sich die ersten 24 Zellen und reicht alles Folgende an die dahinter liegende Kette weiter.

: Bearbeitet durch User
OP #7973075
Lesenswert?

Rahul D. schrieb:

auf Seite 4 (graphisch) mit einem Beispiel für drei LEDs beschrieben.

ja, diese Diagramm habe ich eben nicht verstanden..... jetzt schon eher.

Aber trotzdem lässt sich meine Lichterkette damit nicht erklären. Habe da ein paar hundert Leds in der Kette und es kommen nur einmal 24Bit und dann 100ms Low und dann erst wieder einmal 25 Bit

Müssten da dann nicht 100 mal 24Bit kommen und dann Pause (Reset) ?

#7973095
Lesenswert?

Ob S. schrieb:

Die WS281x haben nicht wirklich ein starres Timing, sondern reichlich (undokumentierte) Spielräume, die im konkreten Fall offensichtlich von der Ansteuerung teilweise genutzt werden.

Es ist alles bestens* dokumentiert"! Leider interpretieren die meisten das nur falsch.

Norbert schrieb:

Die einzelnen Bits werden wie eine Zelle betrachtet: Hi:400ns, Lo:850ns => ›0‹ Hi:800ns, Lo:450ns => ›1‹

Die Lo Zeit ist hier als Minimum zu erachten. Max. Frequenz... 850ns bis knap vor "Reset" 450ns bis knap vor "Reset"

*) Die Fehler in den Ersten Dablas, mal außen vor. :}

: Bearbeitet durch User
OP #7973100
Lesenswert?

Klaus F. schrieb:

Robert P. schrieb:

Oszi

Tolles Bild.

Man könnte auch Butterbrotpapier in Bildschirmgröße zurechtschneiden, das dann auf den Bildschirm legen und mit Blei- oder Buntstift abmalen. So machte man das vor 50 Jahren, wenn man keinen Poloroid-Vorsatz für sein Scope hatte.

Najaa.. ein Bild wurde gewünscht und die Timings hatte ich vorher ja schon angegeben.. So ging es halt schneller und einfacher Mit einer hohen Auflösung hättest du vermutlich auch nicht mehr Infos herausgelesen ?


Aber ich habe jetzt meinen Denkfehler gefunden.... (peinlich) Ich hatte das Oszi ja am Ende der Lichterkette angehängt (ups) Am Anfang sieht das natürlich anders aus! Habe jetzt Daten von 9000µs länge Die einzelnen 24 Bit sind 32µs lang Sind also so ca. 280 Leds

Die komische Lücke (3µs) von den ersten 16Bit zu den letzten 8 Bit ist noch immer, aber scheint so zu funktionieren....

Also alles klar. Danke für die Antworten! :-)

l.G. Robert

#7973107
Lesenswert?

Teo D. schrieb:

Norbert schrieb:

Nicht laut Datenblatt, und das ist für mich die einzig maßgebliche Instanz.

Doch, das steht so im Dabla, man muss es nur richtig lesen können.

Ich weiß ja nicht woher dieses Verlangen kommt, ständig persönlich zu werden… Alles zwischen den gezeigten Werten und der magischen 50µs Schwelle ist nicht definiert und gilt deshalb als nicht definiert. Im Sinne von ›Es ist nicht definiert‹

Angehängte Dateien:
#7973280
Lesenswert?

Norbert schrieb:

Alles zwischen den gezeigten Werten und der magischen 50µs Schwelle ist nicht definiert und gilt deshalb als nicht definiert. Im Sinne von ›Es ist nicht definiert‹

Das sind Bauteiltoleranzen. Das ist ein Dabla, da wird dir nicht vorgeschrieben was DU einhalten must. Da garantiert dir der Hersteller, was für Grenzen das Bauteil einhält. Die Logischen Konsequenzen daraus, musst du schon selber ziehen.

#7973300
Lesenswert?

Teo D. schrieb:

Die Logischen Konsequenzen daraus, musst du schon selber ziehen.

Ja, mache ich. Da erschließen sich zwei Möglichkeiten:

  1. So wie im Datenblatt beschrieben
  2. Ich denke mir einfach etwas aus was mir gerade passt. Einen weiteren Teil wünsche ich mir und den Rest lese ich aus dem Kaffeesatz. Mitternacht, Vollmond, Friedhof, tote Katze, heftig schwenken.
#7973401
Lesenswert?

Teo D. schrieb:

Das sind Bauteiltoleranzen.

Nein, nicht unbedingt. Es sagt was der Hersteller garantiert. Und wenn er auf die Idee kommt, ein Re-Design des Chips durchzuführen, kann sich das Zeitverhalten der Bauteile ändern. Bei Einhaltung der genannten Zeiten funktioniert dann der neue Chip genauso, ohne dass an der Software etwas geändert werden muss.

Robert P. schrieb:

Ich hatte das Oszi ja am Ende der Lichterkette angehängt ...

Dann passt vermutlich die Anzahl der gesendeten Datenblöcke nicht zur Anzahl deiner LEDs. Sonst dürfte hinten nichts mehr raus kommen.

: Bearbeitet durch User
#7973409
Lesenswert?

Rainer W. schrieb:

Teo D. schrieb:

Das sind Bauteiltoleranzen.

Nein, nicht unbedingt. Es sagt was der Hersteller garantiert. Und wenn er auf die Idee kommt, ein Re-Design des Chips durchzuführen, kann sich das Zeitverhalten der Bauteile ändern, bleibt aber innerhalb der laut Datenblatt garantierten Zeiten.

Ja, der Begriff mag hier etwas hacken aber wenn, und das hat er hier mehrfach getan, Bauteilwerte sich ändert, gibts auch ein neues Dabla zu. Erst waren die angegebenen 15ms bis zum Reset, doch nur 5ms... Was so einige MCs und deren Programmierer ins Schwitzen brachte. Dann kam V2 wo die 15ms eingehalten wurden... Mein letzter Stand ist V6. Reset-Time 50ms und was an den LED Strömen geändert o. nur im Dabla korrigiert(?). Ein Abblock-C ist da auch schon verbaut... Oder ist der C erst V7 integriert?

PS: V6 scheint die Letzte V zu sein. 280µs bis Reset (sorry das ich hier immer ms angegeben habe) und voller 3,3V Support (zuvor nur 3,5V) und integriertem C. http://world-semi.com/web/userfiles/productfile/WS2812B-2020-V6_V1.0_EN.pdf

"RESET time>280μs , it won't cause wrong reset while interruption, it supports the lower frequency and inexpensive MCU."

: Bearbeitet durch User
#7973700
Lesenswert?

Teo D. schrieb:

Ja, der Begriff mag hier etwas hacken aber wenn, und das hat er hier mehrfach getan, Bauteilwerte sich ändert, gibts auch ein neues Dabla zu.

Was meinst du in diesem Zusammenhang mit "hacken"? https://www.google.com/search?q=hacken+bedeutung&oq=hacken

Solange die Daten sich innerhalb der im Datenblatt genannten Spezifikationen bewegen, gibt es KEIN neues Datenblatt. Du bemerkst i.d.R. gar nicht, ob ein Chip in einem neuen Prozess hergestellt wurde oder in einer anderen Fab produziert wurde.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren