Forum: Mikrocontroller und Digitale Elektronik ESP32 + WLED / LEDs blinken nur wild


von Peter (friendyl_reddit)


Angehängte Dateien:

Lesenswert?

Hi zusammen,

hier erstmal die Auswahl an Hardware, die ich verwende:

24V COB LEDs (5m) 
(https://www.amazon.de/dp/B0C1YTDSKD?psc=1&ref=ppx_yo2ov_dt_b_product_details)
ESP32 NodeMCU AZDelivery NodeMCU Development Nachfolgermodell ESP8266 
(https://www.amazon.de/dp/B071P98VTG?psc=1&ref=ppx_yo2ov_dt_b_product_details)
24V Netzteil 
(https://www.amazon.de/dp/B01LAVDD8S?psc=1&ref=ppx_yo2ov_dt_b_product_details)
TXS0108E Logic Level Converter 
(https://www.amazon.de/dp/B07V1FY9W5?psc=1&ref=ppx_yo2ov_dt_b_product_details)


Ich hab auf dem ESP32 WLED installiert und hatte zuerst folgendermaßen 
angeschlossen (habe mich dabei an diesem Video hier orientiert( 
https://www.youtube.com/watch?v=oQuzGRDiKKc&list=PLPirg5QG5Eoqt7ubqgYgYFKxzErwlnfyO&index=4)


Da das nicht funktioniert hat (Fehlerbild: Die LED blinkt in allen 
möglichen Farben und Effekten, lässt sich aber nicht in WLED steuern) 
hab ich mir einen Level Shifter besorgt, da soweit ich das richtig 
verstanden habe, der Datenpin am ESP32 nur 3,3V liefert und das LED Band 
aber 5V benötigt.

Das ganze habe ich wie folgt verkabelt (siehe Foto).
Einen Widerstand brauch ich ja nicht, da es sich um ein WS2811 Band 
handelt?!

Wenn ich mir die Verkabelung auf Link anschaue, dann ist da nur die Rede 
von 5V oder 12V LED Bändern. Aber ich hab ja ein 24V Band oder ist die 
Verkabelung da gleich zum 12V?

Und müssen wirklich alle A-Anschlüsse vom Level Shifter, die nicht 
verwendet werden (also in meinem Fall A2-A8) ebenfalls an den GND vom 
24V Netzteil? Bis das ganze nicht läuft hab ich das ganze nämlich mit 
Wago Klemmen angeschlossen und so eine lange hab ich dann auch nicht 
hier :D


Es gab hier mal einen Artikel mit dem gleichen Fehlerbild, leider hat 
der Ersteller als er es hinbekommen hat nichts weiter dazu gesagt wie.

Vielleicht kann mir hier ja jemand weiterhelfen woran es liegt.

von Jack V. (jackv)


Lesenswert?

Eigentlich™ brauchst du bei aktuellen WS2812-Versionen überhaupt keinen 
Levelshifter.

Ansonsten wäre ein Oszi oder zumindest so’n 10€-Logic-Analyzer sehr 
hilfreich bei der Fehlersuche – wenn die LEDs wild blinken, gibt’s ein 
Problem mit dem Timing, oder das Signal ist zu verzerrt. Auch könnte 
man, um ein Softwareproblem auszuschließen, mal z.B. Micropython auf den 
μC tun und damit mal manuell die erste LED ansteuern.

von Peter (friendyl_reddit)


Lesenswert?

Gilt das denn auch für die WS2811 Bänder oder nur für die WS2812 Bänder?
Ob das eine aktuelle Version ist weiß ich gar nicht so genau.


Ich hab jetzt schon den dritten ESP32 ausprobiert, ich weiß es wäre 
möglich, dass alle defekt sind aber doch eher unwahrscheinlich?

Ist die Verkabelung denn so richtig oder muss man wirklich alle nicht 
verwendeten A Eingänge an den Ground vom Netzteil klemmen? In dem 
anderen Post mit dem gleichen Problem lag es am nicht vorhandenen Level 
Shifter schrieb der User, danach soll es gegangen sein. Aber welchen er 
verwendet hat oder wie dieser angeschlossen wurde (mit oder ohne 
Widerstand) stand da leider nicht mehr.

von Gerald B. (gerald_b)


Lesenswert?

Hast du am Levelshifter OE (Output Enable) an Va (über einen Widerstand) 
angeschlossen? Wenn du den Amazonlink öffnest und mal das 3. oder 4 Bild 
mit dem Nokia Display nimmst und mit der Lupe drübergest, siehst du es 
;-)
Eine Richtungsumschaltung, um In- und Output zu tauschen, scheint es 
hier nicht zu geben. OE und DIR können fiese Fallen sein.

Wie man derlei Ungemach ganz unkonventionell auf die Schliche kommen 
kann, bei geflashtem WLED, einfach den Ausgang auf PWM stellen und 
mittels einer roten LED und einem Vorwiderstand ca. 1K, den 
Signalverlauf nachverfolgen und 0%, 100% und Zwischenwerte einstellen. 
Das muß vor und nach dem Levelshifter funzen. Wenn die LED dahinter 
immer aus oder an ist, dann ist da was faul (z.B. OE unbeschaltet)

: Bearbeitet durch User
von Peter (friendyl_reddit)


Lesenswert?

Gerald B. schrieb:
> Hast du am Levelshifter OE (Output Enable) an Va (über einen Widerstand)
> angeschlossen? Wenn du den Amazonlink öffnest und mal das 3. oder 4 Bild
> mit dem Nokia Display nimmst und mit der Lupe drübergest, siehst du es
> ;-)

Ich habs ohne Widerstand gemacht, da auf der Website von WLED steht, 
dass beim WS2811 kein Widerstand benötigt wird.


Wenn ich mir dann aber das Schaubild hier anschaue:
https://kno.wled.ge/basics/compatible-hardware/#levelshifters

Dann blicke ich hier langsam gar nicht mehr durch. Da ist der Widerstand 
nämlich auf einmal nach dem B1 Ausgang und nicht beim OE.


> Eine Richtungsumschaltung, um In- und Output zu tauschen, scheint es
> hier nicht zu geben. OE und DIR können fiese Fallen sein.
>
> Wie man derlei Ungemach ganz unkonventionell auf die Schliche kommen
> kann, bei geflashtem WLED, einfach den Ausgang auf PWM stellen und
> mittels einer roten LED und einem Vorwiderstand ca. 1K, den
> Signalverlauf nachverfolgen und 0%, 100% und Zwischenwerte einstellen.

Eine einzelne rote LED hab ich leider nicht da und Signalverläufe kann 
ich ehrlich gesagt auch nicht nachverfolgen :D


Online (auf YouTube und Co.) heißt es immer das sei so einfach und eine 
Sache von 5-10 min (in den Videos klappt es komischerweise), und bei mir 
will es einfach nicht laufen. Ich will da jetzt auch nicht massenhaft 
weitere Bauteile reinhauen, man :D



> Das muß vor und nach dem Levelshifter funzen. Wenn die LED dahinter
> immer aus oder an ist, dann ist da was faul (z.B. OE unbeschaltet)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter schrieb:
> Das ganze habe ich wie folgt verkabelt (siehe Foto).
Wie lange sind denn die Leitungen?
Im Grunde solltest du die Signalmasse vom ESP zur ersten LED definiert 
und nahe bei der Signalleitung führen. Am besten sollten beide 
miteinander verdrillt sein. Allein "irgendwie elektrisch über irgendeine 
irgendwo platzierte Wago-Klemme miteinander verbunden" ist Käse.

Denn wenn das ein riesig großer Stromkreis ist, dann ist das wie eine 
risengroße Wicklung eines Trafos, wo jede Ströung aus der Gegend 
einkoppeln kann.

Peter schrieb:
> Ich habs ohne Widerstand gemacht, da auf der Website von WLED steht,
> dass beim WS2811 kein Widerstand benötigt wird.
Der mag das nicht "brauchen", aber (d)eine Signalleitung braucht eine 
sinnvolle Terminierung. Am einfachsten ist hier eine Serienterminierung.

Hier im Forum schlagen allmonatlich User mit den selben Problem auf. 
Exzessiv ausgekaspert haben wir das mal im 
Beitrag "WS2812b flackern / 3600 LED Matrix"

: Bearbeitet durch Moderator
von Peter (friendyl_reddit)


Lesenswert?

Lothar M. schrieb:
> Peter schrieb:
>> Das ganze habe ich wie folgt verkabelt (siehe Foto).
> Wie lange sind denn die Leitungen?

Also alle Leitungen sind momentan erstmal nur maximal ein Jumper Kabel 
lang (müssten so ca. 15-20 cm sein?).


> Im Grunde solltest du die Signalmasse vom ESP zur ersten LED definiert
> und nahe bei der Signalleitung führen. Am besten sollten beide
> miteinander verdrillt sein. Allein "irgendwie elektrisch über irgendeine
> irgendwo platzierte Wago-Klemme miteinander verbunden" ist Käse.
>

Also das mit den Wago Klemmen ist jetzt wirklich nur provisorisch, ich 
wollte das ganze erstmal zum laufen bekommen und danach dann natürlich 
festlöten.


> Denn wenn das ein riesig großer Stromkreis ist, dann ist das wie eine
> risengroße Wicklung eines Trafos, wo jede Ströung aus der Gegend
> einkoppeln kann.
>
> Peter schrieb:
>> Ich habs ohne Widerstand gemacht, da auf der Website von WLED steht,
>> dass beim WS2811 kein Widerstand benötigt wird.
> Der mag das nicht "brauchen", aber (d)eine Signalleitung braucht eine
> sinnvolle Terminierung. Am einfachsten ist hier eine Serienterminierung.

Puh, das heißt?:D
Lieber doch einen Widerstand einbauen? Und wenn ja dann wo? Auf der WLED 
Website sind da irgendwie leicht unterschiedliche Aussagen zu den von 
Amazon/Hersteller:


1. https://kno.wled.ge/basics/compatible-hardware/#levelshifters
Das dritte Bild ist ja mein Level Shifter, hier ist der Widerstand nach 
dem Ausgang B1.

2. 
https://www.amazon.de/dp/B07V1FY9W5?psc=1&ref=ppx_yo2ov_dt_b_product_details
Hier ist in Bild 4 zu sehen, dass der Widerstand vor OE ist.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter schrieb:
> Also alle Leitungen sind momentan erstmal nur maximal ein Jumper Kabel
> lang (müssten so ca. 15-20 cm sein?).
Du hast dein LED-Band über ein Steckbrett verkabelt und versorgt?

von Steve van de Grens (roehrmond)


Lesenswert?

Peter schrieb:
> Dann blicke ich hier langsam gar nicht mehr durch. Da ist der Widerstand
> nämlich auf einmal nach dem B1 Ausgang

Ich habe das auf http://stefanfrings.de/ws2812/index.html erklärt

> Online (auf YouTube und Co.) heißt
> es immer das sei so einfach

Willkommen in der Realität!

> Also alle Leitungen sind momentan
> erstmal nur maximal ein Jumper Kabel lang

Die taugen nicht für Stromversorgungen, sind zu hochohmig. Ebenso die 
Kontakte von Steckbrettern.

: Bearbeitet durch User
von Peter (friendyl_reddit)


Lesenswert?

Lothar M. schrieb:
> Peter schrieb:
>> Also alle Leitungen sind momentan erstmal nur maximal ein Jumper Kabel
>> lang (müssten so ca. 15-20 cm sein?).
> Du hast dein LED-Band über ein Steckbrett verkabelt und versorgt?

Nein, einfach so mit den Jumper Kabeln bzw. diesen hier:
https://www.amazon.de/dp/B07S8CLRLK?psc=1&ref=ppx_yo2ov_dt_b_product_details


Edit: ich Jann hier nur zwei Beiträge alle 30 min erstellen, daher 
dauern die Antworten vielleicht etwas.

von Gerald B. (gerald_b)


Lesenswert?

Hast du bei WLED auch den richtigen Ausgang aktiviert? Mitunter sind 
Boardaufdruck und GIPO vom ESP Modul nicht indentisch! So ist es 
jedenfalls bei den ESP8266 basierten Boards. Dann mußt du WS2814 / 
SK6812 RGBW wählen. BRG und swap ws gn.
Die WS2814 Streifen funktionieren gut, bestehen aber auf 5V Pegeln.
Ich habe hier mal meine Universalplatine mit ESP8266 Derivaten 
dokumentiert:
https://www.ledstyles.de/index.php?thread/28750-universalplatine-f%C3%BCr-esp8266-vorzugsweise-f%C3%BCr-wled/
Als ESP Module können ESP01, ESP07 oder ESP12 verwendet werden. Als 
Ausgänge stehen ja nach Bestückung 4x PWM über LL-FETs oder 2 
Levelshifter oder 1x RS485 zur Verfügung, wenn die Datenleitung mal 
"etwas länger" werden soll. Die Boards haben ein 78xx kompartibles 
Schaltreglermodul zur Stromversorgung, so das sie gleich von der 
Versorgungsspannung der Stripes mitversorgt werden können.

von Peter (friendyl_reddit)


Angehängte Dateien:

Lesenswert?

Nachtrag an alle:
Also es lag wie es mir scheint tatsächlich am fehlenden Widerstand in 
der Datenleitung.

Ich konnte mir grad noch auf die schnelle einen 68 Ohm Widerstand 
besorgen und hab den in die Datenleitung (ohne Level Shifter) 
zwischengeschaltet.

Also nun so wie im neu angefügten Bild.


Nun geht es schon mal deutlich besser, die Steuerung des Controllers 
kommt an. Also die Farben passen und die Effekte (Solid usw.) passen 
auch. Beim Wechsel der Farben flackert das LED Band zwar noch 
kurzzeitig, vielleicht muss der Widerstand größer/kleiner gewählt 
werden?

von Flip B. (frickelfreak)


Lesenswert?

Peter schrieb:
> vielleicht muss der Widerstand größer/kleiner gewählt
> werden?

Nein, wie Lothar M. schreibt: Die Abzweigung(Wagoklemme) im Blauen 
massepfad muss direkt am LED-Band angebracht werden. Zwischen LED-Band 
und dem ESP-Signalgnd darf so gut wie keine Spannung abfallen. Nutze im 
fetsen aufbau auch kurze leitungen und stärkere Leitungsquerschnitte, 
dein LED-Band benötingt rund 3A.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter schrieb:
> mit den Jumper Kabeln bzw. diesen hier:
> https://www.amazon.de/dp/B07S8CLRLK
Dann lass einfach das "Jumper" weg. Denn "Jumperkabel" sind solche 
vorkonfektionierten Leitungen:
- https://www.google.com/search?q=jumperkabel&tbm=isch

Flip B. schrieb:
> dein LED-Band benötingt rund 3A.
AWG20 (=0,5mm²) hat 34 Ohm/km, also 34 mOhm/m. Das wären bei 3A und 1m 
Kabellänge jeweils 0,1V Spannungsabfall. Also eigentlich noch nicht so 
kritisch.

Peter schrieb:
> Ich konnte mir grad noch auf die schnelle einen 68 Ohm Widerstand
> besorgen und hab den in die Datenleitung (ohne Level Shifter)
> zwischengeschaltet.
Der wird für eine ordentliche Serienterminierung nicht irgendwo 
"zwischengeschaltet", sondern der kommt direkt an den Treiber, hier als 
an den ESP.

Denn bei Signalen mit steilen Flanken ist eine Leitung eben nicht nur 
eine Leitung und alles, was miteinander verbunden ist, hat ganz naiv 
überall gleiches Potential. Sondern wenn der Treiber eine Signaländerung 
ausgibt, dann wandert die (mit Lichtgeschwindigkeit) am Draht entlang 
und wird am anderen Ende beim Empfänger reflektiert und wandert zurück. 
Damit diese Signaländerung nicht endlos hin- und herreflektiert wird, 
braucht es die Terminierung.

Und zur Signalleitung gehört auch die Masseleitung. Denn der Strom, der 
in die Signalleitung hineingeschickt wird, muss über die Masseleitung 
zurück zum Treiber (weil jeder jeder Stromkreis immer geschlossen ist). 
Und weil dieser Strom der selbe ist wie auf der Signalleitung erzeugt 
diese Signaländerung (=Stromänderung) auf der Masse hat natürlich die 
selben steilen Flanken.

Und deshalb muss die Fläche in diesem Kreis 
Treiber-Signalleitung-Masse-Treiber möglichst klein sein, dass dort 
keine Störungen ein- und auskoppeln können. Ergo: Signalleitung und 
Masseleitung verdrillen (hatte ich shcon mal gesagt).

: Bearbeitet durch Moderator
von Peter (friendyl_reddit)


Lesenswert?

Lothar M. schrieb:


> Ergo: Signalleitung und
> Masseleitung verdrillen (hatte ich shcon mal gesagt).

Wie meinst du das? Die Signalleitung (also die 24V die vom Netzteil 
kommen?) soll ich an die Masse anschließen? Und an welcher Stelle soll 
ich das machen?



Vielleicht noch ein kleiner Nachtrag zur Fehlersuche:

Mit dem Widerstand funktioniert es jetzt bis zu einer gewissen 
Helligkeit perfekt. Die Steuerung kommt an und das LED Band reagiert so 
wie es soll.

Je höher ich aber die Helligkeit in WLED stelle umso mehr kommt es mal 
zu Aussetzern in der Form, dass bei solid grün z.B. dann mal für eine 
Sekunde die Farbe auf rot oder blau wechselt und dann wieder auf grün. 
Regel ich die Helligkeit dann herunter funktioniert es wieder perfekt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter schrieb:
> Die Signalleitung (also die 24V die vom Netzteil kommen?)
Was vom Netzteil kommt, dient der Versorgung. Das Signal ist das, 
was vom ESP kommt, sich laufend ändert und die Informationen trägt.

> Je höher ich aber die Helligkeit in WLED stelle umso mehr kommt es mal
> zu Aussetzern
Da gibt es vorrangig 2 Möglichkeiten:
- Deine Versorgung ist schlecht
- Die Verdrahtung ist schlecht (und deshalb ist die Signalqualität 
schlecht)

Da wäre jetzt mein nächster Griff der zum Oszilloskop, denn damit kann 
man genau solche Sachen sicher erfassen und bewerten. Prinzipiell ist 
ein Oszilloskop das richtige Messmittel, wenn man es wie hier mit 
seriellen Bussen zu tun hat.

Aber zeig soch einfach mal ein Bild von deinem Aufbau, dann kann man 
shcon mal sagen, was man machen könnte.

von Kurt S. (bmbbsr)


Lesenswert?

mit der Aktuellen Vesion von WLED 0.14.b1 Hoshi
ändern sich die pinbelegung der digitalen
schau mal nach GPIO != Data speziell beim ESP32 8Kanal vorher 4kanal
Dann sind die COB nicht auf dem GBR signal meine Ws2811 laufen auf RGB

Wild blinken heist fast immer falscher Kanal GPIO

von Sebastian W. (wangnick)


Lesenswert?

Peter schrieb:
> TXS0108E Logic Level Converter

Der TXS0108E und seine autobidirektionale Magie ist mir suspekt. Ich 
hatte mit diesem IC zur Pegelwandlung für LED-Streifen Probleme. Das 
Datenblatt sagt: "PCB signal trace-lengths should be kept short enough 
such that the round trip delay of any reflection is less than the 
one-shot duration. This improves signal integrity by allowing any 
reflection to see a low impedance at the driver. The one-shot circuits 
have been designed to stay on for approximately 30ns." Aber in 30ns 
kommt die elektromagnetische Welle in Kupfer nur 6mm weit!

LG, Sebastian

von Gregor J. (Firma: Jasinski) (gregor_jasinski)


Lesenswert?

Sebastian W. schrieb:
> Der TXS0108E und seine autobidirektionale Magie ist mir suspekt. Ich
> hatte mit diesem IC zur Pegelwandlung für LED-Streifen Probleme.

Ja, weil man den für so eine Anwendung auch gar nicht verwenden sollte, 
sondern etwas Passenderes nehmen müsste, beim Testaufbau in der 
Anfangsphase ist vermutlich gar kein Levelshifter nötig, sondern nur ein 
entsprechend dimensionierter Schutzwiderstand, der gleichzeitig als 
Terminierung fungiert. Irgendwelche Steck- und Wackelverbindungen, wie 
man oben lesen kann, sind Tabu für solche Aufbauten, für die Leitungen 
mit Stromversorgung der LED-Streifen sollte man diese schon gar nicht in 
Erwägung ziehen – entweder vernünftige Schraubklemmen verwenden oder 
anlöten. Bei größeren Stromstärken müssen auch entsprechend 
dimensionierte Querschnitte der Leitungen verwendet werden, also dickere 
– das gilt dann auch für die Masseleitung, über die diese Stromstärke 
dann auch zurückfließt; die Last- und Steuerpfade sollten nach 
Möglichkeit auch getrennt geführt/verlegt werden und für die 
Steuerleitungen über längere Strecken muss man möglicherweise auch eine 
Abschirmung verwenden.

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Lothar M. schrieb:
>> Signalleitung und Masseleitung verdrillen

Peter schrieb:
> Wie meinst du das? Die Signalleitung (also die 24V die vom Netzteil
> kommen?) soll ich an die Masse anschließen? Und an welcher Stelle soll
> ich das machen?

Ich habe auch das auf http://stefanfrings.de/ws2812/index.html erklärt. 
hast du dir die Seite angeschaut? Du kannst gerne Fragen dazu stellen.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter schrieb:
> Lothar M. schrieb:
>> Ergo: Signalleitung und Masseleitung verdrillen
> Wie meinst du das?
Du sollst die nicht abisolieren und dann leitend verdrillen, sondern die 
isolierten Leiter miteinander verdrillen um die Einkopplungen zu 
reduzieren:
- https://de.wikipedia.org/wiki/Verseilung

: Bearbeitet durch Moderator
von Peter (friendyl_reddit)


Lesenswert?

Nachtrag an alle:

Es lag wie ich vermutet hatte an der Größe des Widerstands. Hab jetzt 
einen 470 Ohm Widerstand verwendet und es funktioniert perfekt, auch 
wenn ich die Helligkeit ganz aufdrehe. Level Shifter hab ich gar nicht 
eingebaut.

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.