Hallo, ich steuere eine WS2812 LED Kette, die auf einem E-Piano über den Tasten liegt, von einem MIDI PC Programm an. Ziel: ich spiele ein MIDI File ab und die jeweiligen LEDs über den E-Piano Tasten leuchten auf. Funktioniert im Prinzip auch. Allerdings leuchten immer mal wieder LEDs auf die nicht leuchten sollten (und umgekehrt, falsche Farben, usw.). Also gibt es keine saubere Signalübertragung. Die gesamte Strecke zwischen PC und E-Piano(WS2812 Kette) sind so ~4..5m. ~3m für USB. Der RP2040 unterstützt USB1.1 d.h. die 3m Meter sind schon grenzwertig. Pegelwandlung 3,3V auf 5V mit einem HEF4093B. Und dann noch mal ~1.5m twisted pair zu der WS2812 Kette. Bevor ich jetzt alles Mögliche ausprobiere, hat jemand eine Idee wie man die Signalübertragung robuster macht? - noch einen HEF4093B direkt vor die WS2812 Kette? - USB länger und twisted pair kürzer? - twisted pair länger und USB kürzer? - geschirmtes Kabel statt twisted pair? - twisted pair im geschirmten Kabel? - von WS2812 auf WS2815 umsteigen? - oder ....?
:
Bearbeitet durch User
Das sollte eigentlich unproblematisch sein. 1) Die WS2812 nehmen gegebenenfalls auch 3.3V-Pegel; tritt das Problem immer noch auf, wenn der Pegelwandler weggelassen wird? 2) Stimmt der Code? 3) Wie sieht die Spannungsversorgung aus, wieviele LEDs leuchten gemeinsam bei welcher Helligkeit? WS2812 brauchen ggf. schon recht viel Strom.
F. schrieb: > Das sollte eigentlich unproblematisch sein. > 1) Die WS2812 nehmen gegebenenfalls auch 3.3V-Pegel; tritt das Problem > immer noch auf, wenn der Pegelwandler weggelassen wird? > 2) Stimmt der Code? > 3) Wie sieht die Spannungsversorgung aus, wieviele LEDs leuchten > gemeinsam bei welcher Helligkeit? WS2812 brauchen ggf. schon recht viel > Strom. 1) ja, deshalb habe ich den Pegelwandler erst eingebaut ...hat aber nichts verbessert. 2) ja 3) Wieviele LEDs gleichzeitig leuchten hängt vom MIDI Musikstück ab. Aber da ich Klavierstücke abspiele (max. 10 Finger), sind es also max. 10 LEDs gleichzeitig. Helligkeit aller WS2812 ist auf 20% reduziert. Die Stromaufnahme liegt so bei <300mA.
USB verwendet Prüfsummen. Wenn es auf USB-Ebene Probleme geben würde, würdest Du entweder eine ungewöhnlich hohe Latenz sehen, also Ruckeln, oder das Gerät wird gleich ganz rausgeworfen und neu erkannt, also Aussetzer von 2-3 Sekunden plus Eintrag im Syslog. Ich vermute eher Probleme mit dem HEF4093B oder dem Twisted Pair Kabel. Hast Du mal nen anderen Peglewandler probiert? Ich würde z.B. 74LVC1T45 empfehlen. Natürlich 2 Keramikkondensatoren direkt an dessen beide Spannungseingänge. Das GND von dem Twisted-Pair-Kabel direkt an das GND des 74LVC1T45. Die 5V zur Versorgung der WS2812 und ein dickes GND dazu separat zum 5V-Netzteil führen. So dass der Strom zur Versorgung der WS2812 möglichst nicht durch das Twisted-Pair zum Pegelwandler fliesst.
Dietmar B. schrieb: > Funktioniert im Prinzip auch. Allerdings leuchten immer mal wieder LEDs > auf die nicht leuchten sollten (und umgekehrt, falsche Farben, usw.). Aha. > Die gesamte Strecke zwischen PC und E-Piano(WS2812 Kette) sind so > ~4..5m. > ~3m für USB. Der RP2040 unterstützt USB1.1 d.h. die 3m Meter sind schon > grenzwertig. Nö. > Pegelwandlung 3,3V auf 5V mit einem HEF4093B. Falscher IC. Nimm einen 74HCTirgendwas. Und dann eine Serienterminierung, hier ca.33 Ohm. > - noch einen HEF4093B direkt vor die WS2812 Kette? Nö. > - USB länger und twisted pair kürzer? Nein. > - twisted pair länger und USB kürzer? > - geschirmtes Kabel statt twisted pair? > - twisted pair im geschirmten Kabel? > - von WS2812 auf WS2815 umsteigen? > - oder ....? Alles nein. Siehe oben. Außerdem eine andere Masseanbindung. Dein Netzteil muss DIREKT zum Eingang der LED-Kette gehen! VOn dort dann die VErdrillte Leitung mit Masse + Signal zum RP2040. http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf#page=83 Beitrag "Re: Differnz-Signal für WS2812B"
Falsch leuchtende Pixel können auch von Timing-Problemen in der Software kommen, IRQ während der Übertragung etc. Sollte beim RP2040 eigentlich ausgeschlossen sein, wenn die Möglichkeiten der Hardware genutzt werden (PIO+DMA bietet sich an). Aber um schnell zu prüfen ob's ein Hardware oder Software Problem ist: Spiel einfach eins der vielen tausenden Beispielprogramme für RP2040+WS2812 drauf, eins was ohne USB usw. einfach nur ein Muster, Farbverlauf o.Ä. ausgibt. Wenn das auch falsche Pixel zeigt => Hardware.
Hallo, ich stand letztens bei einem Projekt vor ähnlichen Fragen. Längere Leitungen zwischen einzelnen WS2815 und zwischen der Signalquelle und der eresten WS2815. Dafür habe ich im Voraus einige Versuche am Basteltisch mit max. 3,5m Länge durchgeführt (Bild), wobei in meinem Projekt max. 0,8m vorkommen. Ich hatte dafür aber gleich Reihenwiderstände von 100 Ohm in der Signalleitung zwischen den WS2815 vorgesehen. Keine Probleme. Nach Fertigstellung hatte ich aber ähnliche Probleme mit falschen Farben und LEDs. Dann fiel mir auf, dass zwischen der Signalquelle (µC mit 3,3V) und der ersten LED kein Widerstand war. Nachdem ich deisen Widerstand eingefügt hatte, läuft alles wie geplant, auch mit 3,3V-Quelle ohne Pegelwandler.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.


