Hallo zusammen. Ich möchte mal in die Runde fragen, ob ihr auch schon so schlechte Erfahrungen mit den LEDs WS2812 und WS2812B bezüglich der Qualität gemacht habt. Ich habe ein Array mit ca. 1500 Stück am Start, wo die LEDs fast täglich "sterben wie die Fliegen". Die LEDs wurden über ebay bezogen aber von einer sehr profesionellen Bestück-Firma montiert. Dort kann ich mir absolut sicher sein, das keine Schädigung durch ESD und falsches Löten stattgefunden hat. In einem anderen Projekt wurden die WS2812B verwendet. Allerdings nur 4 Stück auf einer Platine. Dort zeigen sich nach kurzer Zeit Farbfehler und Totalausfälle. Wer kann ähnliches Berichten?
Vielleicht ein Temperatur-Problem? Oder elektrische Parameter nicht eingehalten?
Ingo P. schrieb: > Vielleicht ein Temperatur-Problem? > Oder elektrische Parameter nicht eingehalten? Hm, wir haben die VCC von 5 auf 4,7V gesenkt, brachte auch keine Verbesserung. Dann haben wir schon die Over- und Undershots nachgemessen.( Auf der Datenleitung. Brachte aber auch nichts ungewöhnliches.
Am Schaltplan liegts nicht, leider. Ich wollte nur wissen, ob diese Qualitätsprobleme auch bei Anderen bekannt sind, oder ob ich nur Pech hatte. Oder ob jemand sagen kann, ob es kritische Sachen zu beachten gibt, die vielleicht nicht so im Datenblatt stehen. Gruß Frank
Frank B. schrieb: > Am Schaltplan liegts nicht, leider. Woher weißt du das? Hast du einen Kreuztest mit WS2812 aus einer anderen Quelle gemacht, bei dem diese funktioniert haben? Wenn im Forum jemand schreibt, der IC wurde defekt geliefert, weil die Schaltung nicht funktioniert, liegt es zu 95% am Schaltplan, Layout, oder ähnlichen Sachen und nicht am IC.
Am Schaltplan liegt es leider trozdem nicht. Wir haben mit zwei verschiedenen Projekten von zwei verschiedenen Entwicklern mit zwei verschiedenen LED-Sorten (WS2812 und WS2812B) die gleichen Probleme. Also.. hat jemand auch so schlechte Erfahrungen mit diesen Leds gemacht? Hier nochmal ein paar Highlights: Die Bonddrähte bei einer Led waren wohl nix. Bei leichtem Druck auf die Silikon-Linse leuchtet die Led wieder. Beim zweiten Projekt mit einer WS2812B bekommt eine von 4 (nur bei einer Platine von 4 Leiterplatten) einen Farbstich. Wenn man mit Kältespray draufgeht, ist die dann wieder normal für ein paar Sekunden. Die Temperatur der Leiterplatte hatte 45°C. Und so weiter.Und so weiter
Ingo P. schrieb: > Vielleicht ein Temperatur-Problem? Hm, der gekaufte Led-Streifen hat aber auch 45°C auf der Oberfläche, da passiert nix
> Die Bonddrähte bei einer Led waren wohl nix. > Wenn man mit Kältespray draufgeht, > ist die dann wieder normal für ein paar Sekunden. Hat beides irgendwie mit Wärme zu tun. Freilich können Bond-Drähte mal kaputt sein, aber evt. auch kaputt gehen, wenn es zu warm wird. Wenn nur einmal 2 LEDs kaputt gegangen sind, kann es natürlich auch mal ein Einzelfehler sein. Vielleicht hilft dir der folgende Link weiter: http://www.elektronikpraxis.vogel.de/waermemanagement/articles/110354/ > Am Schaltplan liegt es leider trotzdem nicht. > Wir haben mit zwei verschiedenen Projekten von zwei verschiedenen > Entwicklern mit zwei verschiedenen LED-Sorten (WS2812 und WS2812B) die > gleichen Probleme. Nur weil 2 Entwickler den gleichen Fehler machen, heißt es nicht, dass es dann kein Fehler mehr ist... Die Annahme dieses Schlusses ist m.E. verkehrt. Aber es wäre jetzt eine Unterstellung, den Entwickler einfach die Schuld in die Schuhe zu schieben. Nimm es einfach als Möglichkeit hin, dass in beiden Projekten auch der Schaltplan fehlerhaft sein könnte und dies genauer überprüft werden sollte. Die Entwickler können prima Schaltungen entwickelt haben, die dann in luftdichte Gehäuse gebaut werden und beide Probleme zeigen, weil die Wärme nicht weg kann.
Die WS2812 scheinen ziemlich Hitzeempfindlich zu sein. Sind die vorgeschriebenen Löttemperaturen eingehalten worden?
Hallo, ich hatte mehrere WS2812-Stripes, bei denen jeweils die erste LED sporadisch flackerte bzw. Fehlfarben anzeigte. Alle weiteren LEDs funktionierten aber, d.h. die Bits wurden von der nicht-korrekt-leuchtenden LED zumindest korrekt weitergeleitet. Wieso auch immer ?!? Einen 300 Ohm Serienwiderstand habe ich in die Datenleitung direkt an den Arduino-Ausgang gesetzt, um die Overshoots (verursacht durch die Leitungsinduktivität und den schnellen Signalanstieg an den MCU-IOs) wegzubekommen, aber auch ohne diesen war der Fehler vorhanden. Eine Pufferung der VCC mit 10uF an den Stripes brachte nichts, ebenso wenig die Filterung mit 100pF an den DI-Pads. Leitungs-Klapp-Ferrite waren genauso nutzlos... Die Fehlfunktionen wurden bei geringerer VCC allerdings stärker bzw. häufiger. Wenn ich VCC des Arduinos und VCC der LED-Stripes auf <4.8V abgesenkt habe, war die Fehlfunktion der ersten LED nicht mehr sporadisch, sondern offensichtlich. Bei >5.2V trat der Fehler bei keinem der getesteten Stripes mehr auf. Bei 4.8V Betriebsspannung war der Fehler nach dem Einschalten in kühler Umgebung nicht sofort, sondern erst nach ca. 1 Minute vorhanden. Durch Anpusten der LED mit einem Fön konnte ich sie von sporadisch blinkend bis komplett aus bewegen, nach dem Abkühlen flackerte sie wieder, bei 5.2V war wieder alles OK. Um den Fehler weiter nachvollziehen zu können (nachdem ich den o.g. Test-Stripe mit 4 LEDs mechanisch beschädigt hatte und alle anderen Stripes längst verbaut sind), habe ich mir von einer 5m-Rolle einen weiteren Test-Stripe abgeschnitten, der nun leider grins zwischen 4.5V und 5.5V einwandfrei funktioniert, mit demselben Arduino, Steckbrett, Schaltregler-Modul, alternativ lineares Labornetzteil, usw... Tja. Ursachen? Möglicherweise habe ich ESD-Schäden beim Löten oder auf dem Steckbrett verursacht, davon will ich mich nicht freisprechen, dann haben die LEDs aber sehr unterschiedlich stark ausgeprägte ESD-Schutz-Strukturen integriert, denn meinen aktuellen LED-Strip kann ich traktieren wie ich will, der läuft und läuft und ... Dann wäre der von mir beobachtete thermische Effekt nur eine Folge des ESD-Schadens... Oder es gibt wirklich ein mechanisches Qualitätsproblem, was eben auch erklären würde, warum es bei mir immer nur die erste LED getroffen hat, also dort, wo das Kabel mit dem Strip durch Löten verbunden, also mit Hitze traktiert wird, und dieses später ja auch mechanisch bewegt wird... So ganz zufrieden bin ich mit diesen "Könnte sein"-Erklärungen auch noch nicht, andererseits gehen mir auch langsam die Theorien aus ;-)
Ich hatte ein Problem mit einem 25-er strip WS2801 von eBay. Fehlerbild: Ab und zu kurzes Flackern der ersten LED. Fehlerquelle: Defet der ersten LED. Diese hatte wohl einen Schuss. CLK-Signal wurde durchgetaktet. DAT-Signal ist nicht durchgekommen. Gruß Micha
Tobias Franke schrieb: > ich hatte mehrere WS2812-Stripes, bei denen jeweils die erste LED > sporadisch flackerte bzw. Fehlfarben anzeigte. Alle weiteren LEDs > funktionierten aber, d.h. die Bits wurden von der > nicht-korrekt-leuchtenden LED zumindest korrekt weitergeleitet. Wieso > auch immer ?!? Könnte ein Timing Problem sein. Teste mal ob das Flackern verschwindet, wenn die erste LED (die flackert) nicht direkt vom AVR angesteuert wird, sondern von einem anderen Streifen. Gruß Stefan
Hmm, das habe ich auch zuerst gedacht, aber dann müssten die später folgenden LEDs ja auch falsche Informationen bekommen, und eben das tun sie nicht. Aber ich werd's mal testen, sobald ich wieder einen flackernden Streifen habe. Die Signalform habe ich mit einem 1GS-DSO geprüft, Zeiten und Flanken sehen gut aus, Interrupts sind deaktiviert, die Bits werden per Assembler-Schleife rausgeschoben. Die Library dürfte von Tim stammen, der ja auch schon weiter oben gepostet hat, den Code habe ich nur überflogen, nicht im Detail geprüft, da das Scope-Bild dem erwarteten Signal entsprach. Heute Nacht habe ich auf der Webseite von Pololu noch folgenden Hinweis zu deren WS2812-Strips gefunden: "Warning: The WS2812B seems to be more sensitive than our original TM1804-based LED strips. We recommend connecting a capacitor of at least 100 μF between the ground and power lines on the power input and generally following good engineering practices when handling and using this product (e.g. take precautions against electrostatic discharge (ESD) and avoid making or changing connections while the circuit is powered). If the strip does get damaged, it is often just the first LED that is broken; in such cases, cutting off this first segment and resoldering the connector to the second segment brings the strip back to life." Das deutet zumindest auf schon einige Reklamationen seitens der Käufer hin, und das evtl. auf ESD, da am schlechtesten nachweisbar...
Das Problem mit den Flackernden LEDS taucht zumindest bei einzelnen LEDs auf, wenn man den Abblockkondensator weglässt. Hängt Dein Problem also evtl. mit einer instabilen Stromversorgung zusammen? Probiere ist doch einmal mit einem zusätzlichen Kondensator (X7R MLCC oder so, kein Elko) direkt am Streifen.
Und Temperaturprofile beim Löten von LEDs ist ne heisse Sache, häufig auch eher WG dem Kleber als WG den Bonds... Klaus.
Kenne das Fehlerbild. Hatte 15.000 RGB LEDs eines Asiatischen Markenherstellers die zu 30% so gestorben sind. Das ist bitter, das ist teuer, da kann man nur so lange austauschen und besänftigen bis der Horror vorbei ist. Geh zum Fraunhofer Institut 'ISIT' die machen Schliffbilder auf denen in meinem Fall genau die fehlerhafte Ausbildung der Punktschweissung des Bonddrahtes zu sehen war. http://www.isit.fraunhofer.de/ Der Bonddraht soll an der Schweissung abgeplattet wie ein Nagelkopf sein. In meinem Fall hatte er oft am Ende noch die Kugelform, die nur punktuell an der Kontaktfläche hing. Eine weitere Möglichkeit ist ein falscher Vakuumgreifer beim Bestücker und / oder ein zu unsanftes Absetzen auf der PCB. Da man auf der Silikonlinse greifen muss ist das Zusammenspiel aus Greifer und Absetzen heikel. Dein Bestücker kann Dir sicher sagen welcher Greifer, welcher PCB Unterstützer auf welcher Maschine bei Deinen Chargen gefahren wurde. Bei Epoxy Verguss gibt es dass Problem nicht so. Selbst der beste Bestücker macht solche Fehler wenn er bis dato nur mechanisch unempfindliche Bauteile bestückt hat. Nur das ISIT o.ä. können Dir genügend Munition geben um mit einer ganz kleinen Restwahrscheinlichkeit einen Teil der vernichteten Kohle wiederzubekommen.
Tobias Franke schrieb: > Die Fehlfunktionen wurden bei geringerer VCC allerdings stärker bzw. > häufiger. Wenn ich VCC des Arduinos und VCC der LED-Stripes auf <4.8V > abgesenkt habe, war die Fehlfunktion der ersten LED nicht mehr > sporadisch, sondern offensichtlich. Bei >5.2V trat der Fehler bei keinem > der getesteten Stripes mehr auf. Das spricht dafür, dass über die Datenleitung zur Versorgung des Stripes ein Strom fliesst, weil der Pegel der Datenleitung höher als die Versorgungsspannung ist. Damit kann die erste LED des Stripes schon geschädigt sein. Laut Datenblatt steht da ja auch beim Dateneingang: Input Voltage: -0.5 ~VDD+0.5 Wird die Versorgungsspannung abgeschalten, sollte auch kein Highpegel an der Datenleitung anliegen. Ein Schottkydiodennetzwerk am Eingang könnte hier die Lösung sein.
Hallo zusammen Habe Riesen Probleme mit den ws2812b Strip. Habe 17 Stück mit einer Länge von je 14m im Einsatz. Ist eine Bandenbeleuchtung für eine Bowling bahn. Die Strips werden von beiden Seiten mit 5V eingespeist. Je 2 Strips Teilen sich ein 5V 300W Netzteil. Das Steuergerät besitzt ebenfalls ein eigenes 5V 25W Netzteil. Alle - Leiter sind miteinander verbunden. Das Kabel der Slave-Steuerungen zu den Strips sind zwischen 3m und 5m lang. Jeder Slave hat 4 Ausgänge, ist also für 2 Bahnen zuständig. Solange keine Motoren der Bowlingbahn laufen funktionieren alle Strips einwandfrei. Auch über mehrere Stunden. Es wird ein Bewegtes Farbenspiel erzeugt. Sobald die Motoren laufen kommen die Probleme. Etwa die Hälfte der Strips laufen ohne Probleme weiter. Vereinzelte Strips fangen an sich einzufrieren. Die Farben der LED's wechseln nicht mehr. Andere fangen an sporadisch kurz weiss aufzublinken. Wieder andere flimmern in verschiedensten Farben. Werden die Motoren abgestellt und die Trafos für die Stromversorgung der Strips kurz unterbrochen läuft alles wie es sollten. Sollte ein Strip beim einschalten nicht richtig funktionieren langt meisten das austauschen der ersten 50cm. Es sieht all es nach Problemen mit der ersten LED aus. / Das spricht dafür, dass über die Datenleitung zur Versorgung des Stripes / ein Strom fliesst, weil der Pegel der Datenleitung höher als die / Versorgungsspannung ist. Damit kann die erste LED des Stripes schon / geschädigt sein. / Laut Datenblatt steht da ja auch beim Dateneingang: / Input Voltage: -0.5 ~VDD+0.5 Muss die Netzteile nachmessen wie hoch die genaue Spannung ist, und nachjustieren. / Wird die Versorgungsspannung abgeschalten, sollte auch kein Highpegel an / der Datenleitung anliegen. / Ein Schottkydiodennetzwerk am Eingang könnte hier die Lösung sein. Kann mit kurz jemand helfen bezüglich Schottkydiodennetzwerk, blicke da jetzt nicht ganz durch. Bin momentan die Steuerungen unter die Bowlingbahn zu bauen wegen den Störungen durch die Motoren. Die Idee das Kabel der Datenleitung abzuschirmen war ein Reinfall. Kann den Schirm nur auf einer Seite auf Erde Legen. Der erfolgt war eine Strip der in allen Farben flimmerte. Als Einspeisung verwende ich 3 x 1mm2 Bin für jeden Typ dankbar.
Rene Gerteis schrieb: > Habe 17 Stück mit einer Länge von je 14m im Einsatz. Angenommen, es sind Stripes mit 30 LEDs pro Meter, würde die Stromaufnahme bei max. Helligkeit (alle Farben gleichzeitig an) ~25A betragen! Das ist sportlich für die relativ dünnen Leiterbahnen auf den Stripes. Möglicherweise hilft eine weitere Einspeisung in der Mitte.
Es sind 30Led/m. rund 100W 21A aufgeteilt auf 2 Einspeisungen. Das Problem scheint jedoch nicht an der Einspeisung zu liegen. Wenn ich die Einspeisung unten am Strip weglasse funktioniert der Strip immer noch, ausser das die Farben grün und blau immer schwächer werden. Komischer weise funktionieren 50% der Strip immer. Nur die Hälfte verhält sich falsch wenn die Motoren laufen.
Rene Gerteis schrieb: > Wenn ich die Einspeisung unten am Strip weglasse funktioniert der Strip > immer noch Hat nicht unbedingt was zu sagen. Die LEDs selbst leuchten so lange, bis Vcc unter die Flußspannung sinkt. Der integrierte Controller kommt bei zu kleiner Versorgungsspannung jedoch möglicherweise an die Grenzen und reagiert empfindlicher auf Störungen. Offensichtlich erzeugen die Motoren starke Störimpulse, die sich über die Netzstromkreise und durch die Netzteile hindurch bis zu den Stripes fortpflanzen. Als Abhilfe könnte man vielleicht ein LC-Filter zwischen Netzteil und Stripe schalten.
Ich kann die Problematik inzwischen bestätigen: Ich habe mir heute auch ein WS2812B pixel kaputtgeschossen, als ich unter Spannung eine Verbindung gelöst habe. Es erscheinen jetzt nur noch Zufällige Farben.
Hallo, erstmal Danke für die vielen Tipps weiter oben. Die gute Nachricht ist, dass meine LED-Strips alle in Ordnung sind, d.h. keine LED zieht einen nennenswerten Eingangsstrom am DI-Pin, alle vermessenen Puffer-Kondensatoren auf den Strips sind in Ordnung, usw...) Die schlechtere Nachricht ist, dass sich meine WS2812-LEDs nicht ganz so verhalten, wie es das Datenblatt beschreibt... Die LEDs sollen laut Datenblatt mit einer Bitdauer von 1250ns angesteuert werden, für ein '0'-Bit wird ein 350ns-High-Puls benötigt, für ein '1'-Bit ein 700ns-High-Puls. Alle Puls-Timings werden mit +/-150ns angegeben. Beim Vergleich von DI und DO einer zufällig mal funktionierenden LED fiel mir auf, dass mein Controller den '1'-High-Puls mit 625ns ausgibt, die LEDs selbst am DO aber mit 800ns Länge. Beide Werte liegen innerhalb der Toleranz. Schließe ich am DO dieser Einzel-LED einen ehemals flackernden Strip an, so funktioniert dieser nun. Nach der Änderung des Assembler-Codes gebe ich nun High-Pulse mit 750ns Länge aus, und alle LED-Strips funktionieren. Gehe ich auf 625ns Pulslänge zurück, habe ich wieder das typische Fehlerbild von (A) Alle LEDs funktionieren (B) Alle LEDs sind aus (C) Die erste ist aus oder flackert, die anderen leuchten korrekt. Das ganze Verhalten ist dann noch abhängig von der Temperatur und der Versorgungsspannung, zumindest als wichtigste Einflußgrößen. Merkwürdig find ich immer noch den Fall C, denn das bedeutet ja, dass der Reshaping-Signal-Teil funktioniert, da die weiteren LEDs ja vom DO die korrekten Bits geliefert bekommen, aber die LED ihren eigenen internen Datenstrom nicht erkennt. Diese Erkenntnis hat einige Nächte gedauert, ein Arduino und einige WS2812 mussten für Tests (oder Überspannung aufgrund Übermüdung ;-) ihr Leben lassen, aber vielleicht kann ja jemand das Ergebnis brauchen, bestenfalls auch reproduzieren. In diesem Sinne, Gute Nacht.
Habe mir mal LC-Filter für 5-12V Spannung bestellt. Werde das ganze Testen sobald diese eintreffen. Das zweite Problem ist sicherlich das die Datenleitung zur gleichen Zeit kein High Pegel haben darf wenn am Strip keine Versorgungsspannung anliegt. Wie erreiche ich das am einfachsten? Langt die Geschwindigkeit eines Relais des über seinen Kontakt die Datenleitung schaltet, bei anliegender Versorgungsspannung am Strip. Oder ist die Verzögerung beim Ausschalten zu gross. Oder gibt es eine einfachere Variante. Verstehe zwar was von Elektronik, bin aber kein Guru.
Hallo Rene, schalte doch einfach einen Serienwiderstand zwischen deinen Controller (sofern dieser keinen in der passenden Größe besitzt) und DI deiner ersten LED. 30 .. 300 Ohm werden von den Stripe-Herstellern empfohlen. Ich habe 330 Ohm genommen, damit würde im Extremfall bei 5V am Controller-Ausgang, VCC = 0V und 0.7V Spannungsabfall über der internen Diode der LED gegen VCC ein Strom von 13mA auftreten, den die Diode vermutlich (keine Angabe im DB ;-) einige Zeit verträgt. Mir ist seitdem keine LED mehr abgeraucht, auch bei versehentlichem Ziehen der Verbindungen auf dem Steckbrett. Um ganz sicher zu gehen, kannst du noch zusätzlich Schottky-Dioden direkt von DI nach VCC, und von GND nach DI schalten, die dann den höheren Stromfluß abkönnen. Je nach Leitungslänge (und Schirmung!) kann die Kapazität aber zu hoch werden für einen 330 Ohm Widerstand, da du dann einen RC-Filter baust. Dann hilft nur noch kleiner R, und dickere Dioden ;-). Ist auf jeden Fall schneller, robuster und billiger als Relais... Miss doch mal die Kapazität der (nicht-angeschlossenen) Datenleitung gegen GND, bei < 150pF sollten die 330 Ohm funktionieren. Ansonsten stell mal ein Scope-Bild von deinem DI-Eingang hier ein, am besten von einem '1'-Bit (längerer Puls, Endpegel besser erkennbar), mit ca. 100ns/DIV.
Danke für die schnelle Antwort. Habe leider im Moment keinen Scope zu Hand. Welche Schottky-Dioden würdest du einsetzen?
(Fast) irgendeine ;-) Sie muss nur den Strom aushalten, den dein Treiber zur Verfügung stellt, hängt somit auch vom Treiberwiderstand ab. Habe hier z.B. BAS16, BAS40, BAS70, BAT54, ... für kleinere Ströme, die können alle mehrere 100mA ab, und haben nur eine geringe Kapazität, wenige pF, sodass dein Signal nicht groß verfälscht wird. für höhere Ströme dann die ganz dicken MBRS130, MBRS360, usw., die sind aber m.E. hier nicht nötig. BTW.: Dass dein Strip in allen Farben flimmerte bei Verwendung der Schirmung, kann daran liegen, dass nun die Kapazität der Leitung zu groß war, sodass die Puls-Breite durch die Signal-Verrundung gerade an der Erkennungsschwelle lag. Eine Verbreiterung der Pulse per SW (siehe mein Beitrag vom 04.01.), wenn möglich, kann helfen, sodass die Schirmung trotzdem genutzt werden kann. Wenn die Schirmung nicht genutzt werden kann, dann kann auch ein kleiner Kondensator (im <100pF-Bereich) am DI-Pin helfen, Störungen der Motoren vom DI fernzuhalten. Aber ohne Messungen oder anderweitig gewonnene Infos (v.a. Leitungskapazität, Treiberwiderstand, Spannungspegel) und Scope-Bilder, aufgenommen direkt am DI-Pin (Signalform, Pulsbreite, Störungen v.a. in den Signalflanken), ist das nur ein Blick in die Glaskugel...
Hallo Tobias. Bin mir Grad ein neues Oszilloskop am organisieren. Was würdest du nehmen? Analog oder Digital? Die Kombinierten sind mir ein bisschen zu teuer. Was haktest du von den günstigen bei Ebay? So etwa um die 250 - 350 Euro. Oder sind die zu schwach. 30Mhz, 60Mhz oder 100Mhz Variante, oder ist unter 150Mhz nur Spielzeug. Das ich das ganze mal gelernt hab ist eine Ewigkeit her. Und dann nicht mehr gebraucht. Nun kümmere ich mich in einem Bowilgcenter um den Technischen Unterhalt und modernisiere das Ganze ein bisschen. Habe deshalb nun mit Arduino und Raspbarry Pi angefangen. Raspbarry Pi für Intranet Anbindung Tennis und Badminton Licht so wie Master für die Bowlingbahn Beleuchtung und Störungsmeldungen. Arduino Nano 1 Stück pro Bahn als Slave Lichtsteuerung und Sensoren Auswertung (Störungen). Verbindung per I2C Bus. Steuerung der Bandenlichter per Master Controller Online/Offline SD-Card und Netzwerk YM-H803TC und 5 Stück Slave YM-H801RA. Auf den Bahnen selber wird nur die Speisung der Transformer für die Strips per Relay gesteuert.
Wird jetzt ein wenig Off-Topic, aber einen leiste ich mir ;-): Nach meinen Erfahrungen ist Spielzeug noch ne nette Aussage für den Kram, habe selbst nen Welec(aka Wittig)-Scope zuhause, vor einiger Zeit für ca. 400-500€ gekauft. Das Ding ist der reinste Schrott, hakelige Einstellungen, manche Optionen sind gar nicht oder fehlerhaft implementiert, manchmal hängt sich die Anzeige auf und geht erst weiter, wenn man den Spannungspegel des Triggereingangs verdreht, usw. Dazu eine Updaterate fast im Sekundenbereich (zum Vergleich, ein aktuelles Agilent liegt bei ca. 100000...), hohes Rauschen auf den Eingängen, eine sehr merkwürdige SW zum Übertragen der Messdaten auf den PC, usw... Daher, wenn's für's Hobby sein soll, und man viel Zeit hat, und sich auf die o.g. Fehler und Einschränkungen einstellen kann, dann kann man so ein Ebay-Scope nehmen. Ansonsten, gerade bei häufigeren Messungen, würde ich nur ein Markengerät nehmen, z.B. das Agilent DSO1012A, liegt bei knapp 1000€, mit 2 Kanälen und 100MHz Bandbreite, bei dem Preis gibt's dann aber auch "nur" 400 Updates/s. Unter ein 100MHz-DSO würde ich nicht gehen, denn du willst ja anscheinend digitale Rechtecksignale bewerten, die 5-7 Oberwelle der Grundschwingung sollte also noch darstellbar sein.
Hab mich ein bisschen umgesehen. Glaube das http://www.zeitech.de/OWON-SDS8202-200-MHz-Oszilloskop sollte ausreichend sein. 200MHz und 1,7ns sollten reichen. Ohne das Signal zu kennen ist es ein sch..... Mann muss doch sehen wie das Signal verfälscht ist, und welche Auswirkung eine Massnahme hat. Sonnst kann ich es wirklich mit der Kristallkugel versuchen.
Ich habe versucht, das oben berichtete Problem zu reproduzieren. Fragestellung: Unter welchen Bedingungen leitet eine WS2812 LED das Datensignal korrekt weiter, zeigt aber selbst nicht die gewünschte Farbe. - Wenn die Vesorgungsspannung stabil ist, stimmen weitergeleitete und intern gebufferte Daten überein. Selbst durch marginales Timing lies sich hier kein Fehler provozieren. (siehe auch http://cpldcpu.wordpress.com/2014/01/14/light_ws2812-library-v2-0-part-i-understanding-the-ws2812/) Ich schließe Timingprobleme daher aus. - Wenn die LED mit einem Vorwiderstand betrieben wird, lassen sich Situationen erzeugen, in denen das "Data reshaping" funtioniert, die LED aber nur flackert. Wahrscheinlich gibt es hier einfach Probleme mit der Konstantstromquelle. Fazit: Eine instabile und schlecht entstörte Stromversorgung kann für Fehler auf Teilen oder auf dem ganzen Strip sorgen.
:
Bearbeitet durch User
*** Aaargghhhh *** Danke Tim, hätte ich dein Dokument eher gelesen, hätte ich mir viel Arbeit ersparen können. Ich habe meine LED-Strips als "WS2812-Strips" gekauft, es sind aber tatsächlich WS2812B-LEDs verbaut. Es sind definitiv 4-Pinner. Diese scheinen (mit einer gewissen Ungenauigkeit des internen Oszillators) bei einer Länge des High-Signals von 600ns zu bewerten, ob es ein '1'-Bit (High > 600ns) oder '0'-Bit sein soll (High < 600ns). Das schließe ich daraus, dass meine LEDs am DO ihr High-Signal mit 800ns für '1'-Bit und 400ns für '0'-Bit ausgeben (siehe Bild im Anhang, die Overshoots sind nicht wirklich da, ich habe nur für die Timing-Messung die Masse nicht optimal verbunden). Das passt ja auch zu deiner Messung, dass die Daten bei einem Puls von >625ns als '1' erkannt werden. Meine LEDs scheinen da etwas empfindlich zu sein, wenn ich den Puls mit 625ns-Länge generiere, geht es mal, mal nicht, abhängig vom LED-Exemplar, der Versorgungsspannung und der LED-Temperatur. Was ja auch OK ist, das Datenblatt sagt ja nun auch 900ns+/-150ns. Das optimale Timing für den '1'-High-Puls (passend für beide Typen WS2812 und WS2812B) mit einem 16MHz Prozessor wäre dann wohl ein High-Puls mit 750ns oder 812.5ns Länge. Bei mir ist es also kein Qualitätsproblem, eher ein "Ich habe meine Lieferung nicht auseinandergenommen, sondern dem Lieferanten vertraut"-Problem ;-)
Das SDS8204 ist eingetroffen. Habe mal das Signal beim Ausgang des Controllers gemessen. Bild 1 sieht soweit nicht schlecht aus. Dan mal das Signal am Strip. Bild 2 und 3. Ist ja fast ein Wunder, aber der Strip läuft. Wenn die Motoren zusätzlich laufen messe ich keine starken veränderungen. Der Strip gefriert in der Farbe, und nur die erste LED wechselt die Farben. Wie kriege ich das Signal wider einiger massen anständig hin?
Tobias Franke schrieb: > Das optimale Timing für den '1'-High-Puls (passend für beide Typen > WS2812 und WS2812B) mit einem 16MHz Prozessor wäre dann wohl ein > High-Puls mit 750ns oder 812.5ns Länge. Ich habe in der Lib jetzt 900ns genommen, da es nach oben keine wirkliche Grenze gibt. Damit sollten eigentlich alle LEDs funktionieren.
Rene Gerteis schrieb: > das Signal am Strip. Bild 2 und 3. Ist ja fast ein Wunder, aber der Hübsch, sieht auf den ersten Blick nach schönen Reflexionen aus. Wie lang ist die Leitung denn? Allerdings wäre ich mir noch nicht sicher, dass das wirklich das Problem ist. > Strip läuft. Wenn die Motoren zusätzlich laufen messe ich keine starken > veränderungen. Der Strip gefriert in der Farbe, und nur die erste LED > wechselt die Farben. Bist Du sicher, dass es nicht an der Stromversorgung liegt? Elko am Strip? > Wie kriege ich das Signal wider einiger massen anständig hin? Schon das hier probiert? Beitrag "Re: WS2812 und WS2812b Qualitätsprobleme!"
Hallo Tim Das Kabel ist teilweise ca. 5m Lang. Nicht geschirmt. Hatte mal Kabel geschirmt, mit dem Erfolg das die LED's geflimmert haben. Waren alle Drei Kabel in einem Geschirmten Kabel Einseitig aufgelegt auf Masse. Oder wäre es besser den DIN einzeln zu führen und zu schirmen? Da habe ich nicht mehr daran gedacht. Besorge mir die Teile und Teste es.
Einen Elko habe ich nicht am Strip. Die Spannungsquelle ist ein Mavell Schaltnetzteil mit Trimmer.
Hi, @Tim: 900ns Pulslänge ist zwar leicht außerhalb der Spezifikation, sollte aber gehen, bei noch längeren Pulsen könntest du je nach Exemplar Gefahr laufen, dass dann der Low-Puls nicht mehr korrekt erkannt wird. Aber bei 900 sehe ich da kein Problem. @Rene: Wie hast du bei den Scope-Bildern den Gnd-Anschluß durchgeführt? Mit der langen Gnd-Peitsche mit der Krokoklemme? Falls ja, wiederhole die Messungen bitte mal mit der kurzen Gnd-Feder, die jedem Tastkopf beiliegt. Bei den schnellen Anstiegszeiten wird das wichtig... Ansonsten tippe ich auch auf Reflektionen, setz doch mal einen Serienwiderstand (wie oben weiter beschrieben) direkt hinter deinen Controller, und miss dann mal am Strip. Am Controller ist die Anstiegszeit praktisch nicht zu erkennen, am Strip beträgt sie fast 200ns. War bei der Messung am Controller der Strip parallel angeschlossen? Dann deutet das auf eine massive Fehlanpassung hin. Aber mach erstmal die Messung mit dem Serien-R... Variiere solange, bis die Overshoots weg sind... Wie sieht denn die Vcc gegen Gnd am Strip aus? Bei mir war kein Elko nötig, die vielen 100nF auf dem Strip reichten, aber guck da auch mal mit dem Scope hin. DI einzeln zu führen und zu schirmen kann helfen, wenn die Störungen von Vcc oder Gnd einkoppeln, bei einer Fehlanpassung kann die erhöhte Last für den Treiber das Problem aber auch verschlimmern. Gruß, Tobias
:
Bearbeitet durch User
Tobias Franke schrieb: > @Tim: 900ns Pulslänge ist zwar leicht außerhalb der Spezifikation, > sollte aber gehen, bei noch längeren Pulsen könntest du je nach Exemplar > Gefahr laufen, dass dann der Low-Puls nicht mehr korrekt erkannt wird. Das kann eben nicht passieren, wie ich in dem Artikel oben dargestellt habe. Die Lib setzt symmetrisches Timing für die "0" und die "1" ein. Damit ist sichergestellt, dass Bandbreitenanforderung immer gleich ist. Tobias Franke schrieb: > Ansonsten tippe ich auch auf Reflektionen, setz doch mal einen > Serienwiderstand (wie oben weiter beschrieben) direkt hinter deinen > Controller, und miss dann mal am Strip. Hier im Wiki gibt es dazu auch einen schönen Artikel: http://www.mikrocontroller.net/articles/Wellenwiderstand -> Serienterminierung. Rene Gerteis schrieb: > Waren alle Drei Kabel in einem Geschirmten Kabel Einseitig aufgelegt auf > Masse. Oder wäre es besser den DIN einzeln zu führen und zu schirmen? Ja, wahrscheinlich ist es besser ein DiN und Masse-Paar einzeln zu führen. Du solltest die Leitungen verdrillen oder sonst irgendwie dafür sorgen, dass die Leitungseigenschaften konstant bleiben.
:
Bearbeitet durch User
Hallo Tobias Habe nun 330Ohm vorm Strip und zwei Schottky von DIN auf VCC und GND je in Sperrichtung. Das Signal sieht nun nicht schlecht auf. Das neue Problem ist nun ein Flirren bei Orange in dem letzten Meter (Total 14m pro Strip, auf beiden Seiten eingespeist). Werde nachher mal mit verschiedenen Widerstandswerten testen.
Rene Gerteis schrieb: > Problem ist nun ein Flirren bei Orange in dem letzten Meter (Total 14m > pro Strip, auf beiden Seiten eingespeist). Edit: Habe gerade gesehen, dass Du die Konfiguration oben beschrieben hast. Dass die Fehler nur bei einer bestimmten Farbe auftreten, würde ich aber trotzdem Problemen bei der Spannungsversorgung zuordnen. Rene Gerteis schrieb: > Habe nun 330Ohm vorm Strip und zwei Schottky von DIN auf VCC und GND je > in Sperrichtung. 330Ohm kann zu viel sein, siehe auch den Artikel von oben.
:
Bearbeitet durch User
Hab die Messung nochmals mit der Feder gemacht. Gleiches Bild. Wider Bahn 2. Bei Bahn 7 sieht das ganze wesentlich besser aus, trotzdem Probleme mit dem Strip. Hab das flirren am ende des Strip fast wegbekommen. Musst die Shottky Diode gegen 5V plus wegnehmen. Werde mal alle Problemstrips mit Shottky und 330Ohm bestücken, und nachfragen wie sich die Strips während dem Betrieb verhalten. Noch ein Bild 1 DIN mit 330Ohm und Shottky gegen GND, die minusströhme werden gegen GND abgeleitet. Bild 2 mit 2 Shottky Dioden und 330 Ohm, aber mit dem Flirren bei Orange am Ende des Strip.
Der Serienwiderstand muss direkt an den Controller, also VOR die Leitung zum Strip, nicht an den Strip, da hat er praktisch keine Wirkung. Die Overshoots sollten bei richtigem Widerstand auch ohne die Schottkys schon fast weg sein. Gerade nicht so wie auf Bild 1. Nur wenn per Serienterminierung das Signal nicht ausreichend gut übertragen werden kann, dann muß der Serienwiderstand so klein gemacht werden, dass die Signalflanken gerade nicht zu schlapp werden, und die übrig gebliebenen Overshoots werden dann von den Schottkys glattgebügelt. Wenn die Datenübertragung zur ersten LED dann gut funktioniert, also praktisch Rechtecksignale am DI ankommen, ohne Störungen vor allem in den Flanken, dann kann ein weiteres Flirren eigentlich nur noch von der Vcc, einer Gnd-Anhebung oder von der Programmierung herrühren. Bild 2 sieht eigentlich gut aus, warum da ein Flirren entsteht, und das weg ist, wenn die Schottkys gegen 5V entfernt werden, ist mir nicht klar. Gerade Orange wird ja durch Grün und Rot erzeugt, also den LEDs mit der geringsten Flußspannung. Oder wird noch Blau zugemischt, um die Helligkeit zu erhöhen? Das würde am ehesten flimmern, abhängig von absinkender Vcc und steigendem Gnd, wegen der Ströme der anderen LEDs. Wird das Flimmern stärker, wenn alle LEDs heller angesteuert werden, v.a. In Weiß?
Danke für die schnelle Antwort. Bahn 1 + 2 muss ich in dem Fall nochmals umbauen. Habe dort testweise den Controller unter die Bahn montiert, um keine parallelen Leitungen mit den Motorleitungen zu haben. Hatte den verdacht das sich die Störungen von den Motorkabeln Induzieren werden. Hatte aber nichts gebracht. Werde das ganze heute abändern. Das mit dem Flirren kann ich mir auch nicht erklären, wenn die Farbe gegen weiss geht habe ich kein Problem. Von Vcc sollte es nicht sein, da der Strip ja am ende nochmals eingespiesen wird. Bei Problemen in der mitte des Strips könnte ich es noch verstehen. Insgesamt sind es 17 Strips, wobei nur einer flirrt. Heute sind nur wenige Bahnen in betrieb. Das Wochenende wird dann zeigen ob die Massnahme erfolgreich war. Muss heute mal noch die Pindecks mit WS2812b bestücken. Für mehr Licht für ich dort 3 Strips auf einem Meter Parallel, auch DIN. Bei den Tests hat das wunderbar funktioniert. Wünsche allen ein erholsames Wochenende.
Die Widerstände beim Controller ergibt ganz andere Werte. 330ohm sind definitiv zu hoch. Ohne Shottky-Dioden sind 100ohm gerade richtig. Setze ich die zwei Shottky-Dioden ein darf ich keinen zusätzlichen Widerstand mehr einsetzten, sonnst flimmern die Strips. Bahn 1 mit 100ohm am Controller ohne Shottky, Bahn 2 ohne Widerstände mit zwei Shottky. Bahn 3 bis 10 Problemstrips mit 330ohm am Strip und Shottky gegen GND. Mal sehen was das Wochenende bringt. Die Strips mit den 330ohm am Strip und Shottky gegen GND sind gut gelaufen.
Ich drücke dir die Daumen. Die nun passende Serienterminierung würde ich der Schottky-Klemmung vorziehen, das entlastet auch den Controller-Treiber. Berichte mal, wie's gelaufen ist...
Das Wochenende sind nur noch bei 2 Bahnen das Licht stehen geblieben, so das sich nur die Farbe an der ersten LED wechselte. Alle anderen sind ohne Beanstandung gelaufen. Leider haben sich die Kollegen nicht die Mühe gemacht aufzuschreiben welche Strips das waren. Ich habe mal 100 Ohm Widerstände bestellt. Werde alle Bahnen damit ausrüsten. Auf dem Strip eins habe ich mit den 100 Ohm das Problem das der Strip am ende Flackert. Werde dort mal die 100Ohm entfernen. Der Strip lief ohne Widerstand ohne Probleme. Das nächste Wochenende muss dann nochmals zeigen wo die Probleme liegen. Über das Pindeck schreibe ich mal noch nichts. Etliche defekte Strips. Muss erst noch die Fehleranalyse machen. An Tobias Franke Du hast Geschrieben > Ich habe 330 Ohm genommen, damit würde im Extremfall bei 5V am > Controller-Ausgang, VCC = 0V und 0.7V Spannungsabfall über der internen > Diode der LED gegen VCC ein Strom von 13mA auftreten, den die Diode > vermutlich (keine Angabe im DB ;-) einige Zeit verträgt. Mir ist seitdem > keine LED mehr abgeraucht, auch bei versehentlichem Ziehen der > Verbindungen auf dem Steckbrett. Um ganz sicher zu gehen, kannst du noch > zusätzlich Schottky-Dioden direkt von DI nach VCC, und von GND nach DI > schalten, die dann den höheren Stromfluß abkönnen. Wenn ich das richtig verstehe sollte ich eigentlich jeden Strip mit Schottky Dioden bestücken, da es vorkommen kann das VCC und DIN nicht zur selben zeit Stromlos sind. Das Gleiche ebenfalls beim Pindeck. Wenn aus Technichesn Gründen eine Bahn abgeschaltet wird kann es vorkommen das DIN Spannung führt aber VCC nicht. Wo soll ich die Dioden einbauen? Beim Controller oder beim Strip?
Hmm, du hast da anscheinend etliche Problemstellen, die sich ähnlich äußern, aber m.E. nicht zusammen gehören (müssen). Die Schutzdioden machen direkt am Strip am meisten Sinn, dann ist der auch bei Kabelbruch, Stecker ziehen usw. geschützt, v.a. werden die Overshoots da geklemmt, wo sie sonst stören würden. Wenn bei 100Ohm Serienterminierung die erste LED korrekt funktioniert, der Strip aber am Ende flackert, dann kann es nicht an der Terminierung oder den Schutzdioden liegen. Evtl. ein Seiteneffekt, was weiß ich, dass z.B. der Treiber im Controller warm wird, weil er nicht für die Last der langen Leitung ausgelegt ist, sodass die später gesendeten Bits nicht mehr sauber übertragen werden... Wenn du das Fehlerbild hast, dass die erste LED funktioniert, alle anderen aber nicht mehr, dann kann es ebenso wenig an der Beschaltung des DI der ersten LED liegen. Ich würde dir dringend raten, mehr zu messen, und die Probleme nacheinander anzugehen. Das Signal an DI der ersten LED muss zuerst mal sauber sein, bezüglich Spannung und Timing, ohne Störungen und Overshoots. Hinweise, wie das zu erreichen ist, stehen hier ja schon mehrfach. Dann Vcc gegen Gnd kontrollieren, an mehreren Stellen auf dem Strip, nicht nur an den Einspeisepunkten, bei dynamischer Belastung. Das die nur 2-fache Einspeisung bei Strömen >20A ausreicht, kann ich immer noch nicht glauben, entweder bauen sich dort Spannungspitzen auf, die deine LED-Controller-Chips aus dem Takt bringen, oder kurze Einbrüche, die das gleiche bewirken können. Viel Erfolg.
Hallo, da es sich um sog. TOP-LEDS handelt, sind die Gehäuse zusammengesetzt. Wir haben bei TOP-LEDs in der Verarbeitung schon öfters Druckempfindlichkeiten erlebt. Liegt darin, dass eingeschlossene Feuchtigkeit beim Löten quasi das Gehäuse sprengt. Abhilfe: vor der Verabeitung bzw. vor dem Löten tempern!!! (ein paar Stunden bei 50-80°C in den Backofen legen) Dann sollte es klappen. Vermutlich wird das bei vielen Low-Cost Anbietern nicht gemacht, Darum dann solche Ausfälle
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.