Forum: Mikrocontroller und Digitale Elektronik Flackern bei LED Stripe-Setup bei einem Schlagzeug


von MonteChristo (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe folgendes Problem. Und eine mögliche Erklärung, aber keine 
Idee, wie man das Problem einfach lösen kann und da bräuchte ich Hilfe.

Die Grundidee ist wie folgt: Es gibt ein Schlagzeug, deren einzelne 
Trommeln mit LED Stripes illuminiert werden sollen. Diese sollen 
"irgendwie" miteinander verkabelt werden und ein Arduino übernimmt dabei 
den Logikteil.

Ein erstes Konzept was umgesetzt wurde, sieht wie folgt aus. Siehe 
hierzu auch das Foto im Anhang. Der Arduino steuert mit seinem Datenpin 
6 insgesamt etwa 250 LEDs auf vier WS2813 an. Als Arduino wurde der Nano 
gewählt. Weil die LED Stripes sich aber auf unterschiedliche Trommeln 
verteilen, muss es eine Art Übergang zwischen den einzelnen Stripes 
geben.

Wie man an der Schaltung sieht, gibt es 4 Buchsen (MIDI, 5 Pin) welche 
so verkabelt sind, dass der 6er Pin von Arduino in die erste Buchse 
geht, zusammen mit den 5V und der Masse. Auf der ersten Trommel geht 
eine weitere Buchse dann an den +5V, D(ata)I(n) und Ground von dem 
WS2813. Der D(ata)O(ut) wiederum wird über das gleiche Kabel 
zurückgeführt. Zurück auf dem Board ist der DO mit dem DI der nächsten 
Buchse verlötet. Damit sind die WS2813 theoretisch in Reihe geschaltet.

Jetzt ist es so, dass das ganze Build maximal zwei Trommeln unterstützt 
und diese noch nicht einmal gut. Die erste Trommel funktioniert gut, 
egal welche, aber schon die zweite flackert wie irre, die dritte (wenn 
angeschlossen) leuchtet dann gar nicht mehr, die vierte auch nicht.

Meine Vermutung ist jetzt wie folgt. Durch das 1m lange MIDI-Kabel ist 
die Strecke zwischen DO und DI von zwei Stripes insgesamt 2m plus 
interne Verkabelung. Meine Befürchtung ist, dass dies zu lang ist für 
eine saubere Signalübertragung. Da schon mal die erste Frage: Liege ich 
mit der Vermutung korrekt?

Sollte dies der Fall sein, geht es an die Lösung des Problems: Diese 
umfassen zwei Möglichkeiten. Erstens könnte ich die Datenstrecke 
verkürzen indem ich jedem Stripe eine eigene Datenleitung spendiere und 
somit die Signalstrecke verkürze. Hierbei die Frage: Kann ein Arduino 
Nano mit der FastLED Bibliothek 4 Stripes über 4 Datenpins unterstützen? 
Gibt es da Sachen die ich unbedingt beachten muss oder kann ich diesen 
Ansatz gleich vergessen weil (Gründe). Die andere Methode wäre, dass ich 
irgendwie das Signal entweder "ungestörter" von Stripe1_DO zu Stripe2_DI 
bekomme oder es irgendwie wieder auffrische. Hat da jemand eine Idee, 
wie ich das machen könnte?

Und natürlich könnte ich eine Möglichkeit vollkommen außer Acht gelassen 
haben, auch da bin ich offen für Vorschläge.

Ich hoffe ich habe das Problem ausreichend Beschrieben. Und Danke schon 
einmal für die Hilfe.

von Jens M. (schuchkleisser)


Lesenswert?

Du weißt das 250 dieser LEDs leicht mehrere Ampere Strom aufnehmen und 
die dünnen Strippchen und Stecker das nicht vertragen?

Evtl. hast du auch ein Problem mit den Erschütterungen, das käme dann 
noch obendrauf.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Was für ein Netzteil?
Ich komme auf 18mA * 3 * 250 = 14A.
Stripes sollte man mindestens an beiden Enden versorgen, sonst ist der 
Spannungsabfall zu hoch.

von mIstA (Gast)


Lesenswert?

Also ich würde auch am ehesten auf ein Problem mit der Stromversorgung 
tippen. Ändere doch Deine Ansteuerung mal so, daß immer nur eine 
einzelne LED leuchtet und als Lauflicht die ganze Länge aller vier 
Streifen hintereinander durchläuft.

Sollte es wider erwarten doch an der Signalqualität liegen, könntest Du 
auch versuchen, zwischen den Steckern auf Deiner Platine jeweils eine 
WS2813 zur Signalauffrischung einschleifen; also zwischen Dout das am 
ersten Stecker zurückkommt und Din vom zweiten Stecker usw. je eine 
einzelne WS2813 zur Signalaufbereitung zwischenschalten.

von MonteChristo (Gast)


Lesenswert?

Ich habe das Problem tatsächlich identifizieren und lösen können.

Das Problem war die kumulierte Kabellänge von 2m zwischen den einzelnen 
Stripes. Gibt man jedem „substripe“ einen eigenen Datenport und 
reduziert damit die max. Kabellänge auf 1m funktioniert es. Das Coding 
ist dann etwas komplizierter aber schaffbar.

von Stefan F. (Gast)


Lesenswert?

Schau dir dazu 
http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf 
Kapitel 9.4 an. Da Erkläre die die Schwierigkeiten der Stromversorgung 
und wie man es sicher löst.

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.