WS2812B verrecken wie die Fliegen...

Mir ist jetzt zum 2. Mal in 3 Tagen die erste LED einer Matrix gestorben. :astonished:

Es ist ja nicht so, dass ich zum ersten Mal etwas mit LEDs mache - alles ausgefuehrt, wie immer:

LEDs mit AT Netzteil versorgt (Elkos neu, laut Oszi keine Spannungsspitzen bein ein- oder ausschalten)
Ground Arduino mit Ground LEDs verbunden und mit Durchgangspruefer gecheckt und Verbindung fuer gut befunden
Kurze Datenleitung vom Arduino ueber 220 Ohm an Din von der ersten LED
LED Spannung an
Arduino via USB (einzige Spannungsversorgung) an

Bang! Erste LED kaputt, wieder SMD auf Plastikfolie loeten muessen. Ohne Loetkolben, bin gerade unterwegs... Zum Kotzen!

Ideen, was da schief laeuft?

Helmuth

Helmuth:
Ideen, was da schief laeuft?

Ich tippe mal auf Spannungsspitzen in der Datenleitung.

In dieser Schutzbeschaltung ist noch eine Diode enthalten:


(Diode mit dieser Schutzbeschaltung nicht am Arduino, sondern dicht vor der ersten LED platzieren)

jurs:
Ich tippe mal auf Spannungsspitzen in der Datenleitung.

Wo könnten die denn herkommen? Ich zweifle das nicht an, es ist mir persönlich einfach unklar. Habe nämlich auch schon 2 oder 3 LEDs auf diese Weise verloren. Hab es mir damit begründet, dass die wohl nen Knacks weg hatte - Qualitätsstreuungen usw..

sth77:

jurs:
Ich tippe mal auf Spannungsspitzen in der Datenleitung.

Wo könnten die denn herkommen?

Die Spannung für die Datenleitung kommt von Deinem Arduino, die Spannung für die WS2812-VCC kommt von einem anderen Netzteil? Dann können sich die Spannungen unterscheiden.

Wie hoch ist denn konkret die Spannung

  • am Arduino-Ausgang?
  • am LED-Netzteil?

Darüber hinaus:
Wie lang ist die Leitung zwischen Arduino-Ausgang und LED-Matrix?
Mit wie viel Strom wird die Matrix angesteuert?
Wie viele Einspeisepunkte für die LEDs gibt es, also nach jeder wievielten LED speist das LED-Netzteil ein?

jurs:

sth77:

jurs:
Ich tippe mal auf Spannungsspitzen in der Datenleitung.

Wo könnten die denn herkommen?

Die Spannung für die Datenleitung kommt von Deinem Arduino, die Spannung für die WS2812-VCC kommt von einem anderen Netzteil? Dann können sich die Spannungen unterscheiden.

Gut, in dem Fall sollte man die Spannung des Datenpins begrenzen, mir selbst sind die LEDs aber an der gleichen Spannungsquelle verstorben.

sth77:
Gut, in dem Fall sollte man die Spannung des Datenpins begrenzen, mir selbst sind die LEDs aber an der gleichen Spannungsquelle verstorben.

Schutzbeschaltung aus Reply #1 nicht verwendet?
Länge der Zuleitung?

Wenn zwei Leiter parallel verlaufen (z.B. die Stromleitung und die Datenleitung zu den LEDs) und in einem Leiter eine starke und plötzliche Stromänderung auftritt (z.B. LEDs an/aus), dann tritt in dem parallel verlaufenden Leiter eine Induktionsspannung auf. Zum Beispiel eine Induktionsspannung in der Datenleitung aufgrund der Stromänderung in der Stromleitung.

Mikrocontroller reagieren aber extrem allergisch, wenn die Spannung an einem Datenpin höher wird als die VCC-Versorgungsspannung des Controllers. Da machen WS2812 Controller keine Ausnahme.

Ich bin nur ein Softwaremensch und kenne mich mit Hardware und ESD- und EMV-Schutzmaßnahmen nur recht grob aus, aber ich würde lieber die in Reply #1 verlinkte Schutzbeschaltung aus Widerstand und Diode dicht vor die erste LED setzen als mich ständig mit durchgebrannten WS2812 Controllern an der ersten LED-Position herumzuärgern.

Hallo,
"laut Oszi keine Spannungsspitzen"
Wie haste das denn gemessen? Optisch auf dem Schirm geschaut?
Am besten Du läßt Deine Schaltung so wie sie ist und opferst noch einige LED´s.

Dann hängst Du Dein Oszi/Messgerät in die Leitungen und mist Strom und Spannung.
Die Max/Min Werte der Messung speicherst Du aber!
So eine Spannungs/Stromspitze kann so schnell sein, das Du sie überhaupt nicht "siehst".
Nach- dem "durchknallen" der LED kannst Du dann nachschauen wer Dir da einen Streich spielt.
Gruß und Glück
Andreas

Danke @jurs und fuer alle Hinweise, ich werde eine zusaetzliche Diode einbauen.

Ich habe mir die Spannung vom LED Netzteil nur "optisch" mit einem alten Analogoszi angesehen, Spikes im Mikro- oder Millisekundenbereich sehe ich da natuerlich nicht. Allerdings wuerde ich bei einem Fehler vom Netzteil Probleme bei mehreren LEDs erwarten und nicht nur bei der ersten. (?)

Statische Aufladung? Mit Sicherheit ausschliessen kann ich nichts, sonst gaebe es ja kein Problem, aber ich halte es fuer unwahrscheinlich, da die Schaltung 5 Minuten vorher noch lief und zwischenzeitlich an der Hardware nichts angefasst wurde.

Induktion? Denkbar, da impulsweise erhebliche Stroeme (ca. 15A) in die Matrix fliessen. Ja, ich habe die Kabel aufgeraeumt (grober Fehler?!) und die ungeschirmte Datenleitung und Versorgungsspannungsleitung liefen parallel. War ich es, der immer geschirmte Netzwerkkabel empfiehlt? Es hat halt lange auch so funktioniert...

Was sich auch geaendert hat, ist der Content auf den LEDs, da die Noisefunktionen teilweise sehr flashige schnelle Helligkeitswechsel produzieren. Vorher lief da eher so aalglattes weiches Zeug (mit relativ konstantem Stromverbrauch).

Ich habe noch einen Freeduino Mega rumliegen den ich auf 3,3V umschalten kann - werde den ab jetzt benutzen fuer mehr Headroom auf der Datenleitung (vielleicht sollte ich auch gleich meine Nostalgie ueber Bord werfen und nur noch Teensys nehmen...), den Widerstand vergroessern, eine Diode einbauen und geschirmtes Kabel nehmen - mal schauen, ob das hilft.

Falls nicht, werfe ich beim Tod der naechsten LED das LED Netzteil aus dem Fenster...

Gruesse

Helmuth

jurs:
Mikrocontroller reagieren aber extrem allergisch, wenn die Spannung an einem Datenpin höher wird als die VCC-Versorgungsspannung des Controllers. Da machen WS2812 Controller keine Ausnahme..

Das kann ganz leicht passieren, wenn der Arduino vor dem PC-Netzteil startet oder andersherum das PC-Netzteil vorm Arduino ausgeschaltet wird. Dann ist VCC null, während der Arduino Daten sendet.

2 weitere tote LEDs, einen Wutanfall und ein zu Unrecht misshandeltes und jetzt verbeultes Netzteil spaeter:

Der Controller ist das Problem!

Offensichtlich gibt es auf den IO Pins eine Spannungsspitze beim Einschalten - wenn ich zuerst das LED Netzteil einschalte, dann den Controller und danach - bei laufendem Controller - die Datenleitung anstoepsle funktioniert es ohne weitere Opfer.

Nicht mein Tag heute...

Gruesse in die Runde,

Helmuth

Hast du die Schutzschaltung von Reply #1 schon drin oder nicht ?

Ich bastle auch gerade mit den WS2812B ohne die Schutzschaltung.
Hatte bisher kein Problem, war wohl eher Glücksache.
Werde das möglichst bald einbauen.

Komisches Verhalten. Ich habe in der ferigen aufbauten meist einen 330Ohm Widerstand am DataPin. Aber das hast du ja auch bereits wie oben erwähnt.

In letzter Zeit sind mir eigentlich keine mehr defekt gegangen. Speise aber die 5V sowohl in Led Strip sowie Controller ein. Über ISP Programmer hab ich VCC abgeschaltet.

Nein, ich hatte die Diode noch nicht drin, weil gerade keine zur Hand war... jaja, die Ungeduld...
Naja, ob ich jetzt 2 oder 4 LEDs wechseln muss, ist auch egal.
Zumindest ist nun die Ursache eingekreist.

Ich habe innerhalb der letzten 2 Jahre sehr viele verschiedene Setups mit WS2801, WS2811, WS2812, WS2812B, LPD1101 und LPD8806 gehabt - am Anfang immer "ohne alles" direkt angeschlossen, spaeter als ich mich fuer Speed zu interessieren begann mit Widerstand zur Impendanzanpassung, niemals mit Diode.

Jedenfalls ist mir da nie etwas kaputt gegangen.
Das ist jetzt zum ersten Mal passiert, weil offensichtlich der ATMega2560 oder zumindest ein IO Pin ein Problem hat. Wie da bei 5V Versorgungsspannung (aus einem laufenden Netbook gespeist) hoehere Spannungen rauskommen koennen, ist mir zwar ein Raetsel, aber anscheinend Tatsache.

Gruesse

Helmuth