Hallo,
ich habe es mit meinem Arduino Uno geschafft einen LED Streifen
anzusteuern (144LEDs/Meter) wie ich es gerne hätte.
Nun habe ich mir eine Platine machen lassen wo die WS2812 jeweils ca.
2cm auseinander sind (also weiter auseinander als beim Streifen).
Das Problem ist, das von den 15 LEDs auf meinem Board nur die ersten 5
Leuchten und das nicht mal in der richtigen Farbe. Ichhabe an jeder LED
so nah wie möglich wie im Datenbaltt angegeben einen 0805 100nF
Kondensator angelötet.
Ich weis einfach nicht woran das liegt. Ich habe alles durchgemessen und
kann keinen Fehler feststellen.
Auf der Unterseite der Platine ist die Ground Fläche, vielleicht spielt
das eine Rolle?
Was könnte es denn da für Probleme geben?
Michael schrieb:> Auf der Unterseite der Platine ist die Ground Fläche, vielleicht spielt> das eine Rolle?
Durchaus möglich.
> Was könnte es denn da für Probleme geben?
Jeder Leiterzug (nur wenige Zehntelmillimeter über einer GND-Fläche) ist
ein Kondensator gegen GND-Potential, jeder Leiterzug für sich ist eine
Induktivität. Zusammen bildet das schicke LC-Kombinationen. Und sowas
ist ziemlich übel. Das kann nämlich leider so ziemlich alles mit dem
Nutzsignal anstellen, meistens Sachen, die man weder möchte und noch
braucht...
Ein sehr typisches Problem dürfte die Wirkung als Tiefpaß sein. Aber
auch ein parasitärer Schwingkreis ist immer mal wieder nett...
Michael schrieb:> Das Problem ist, das von den 15 LEDs auf meinem Board nur die ersten 5> Leuchten und das nicht mal in der richtigen Farbe. Ichhabe an jeder LED
Timing.
Quartz richtig ?
> Auf der Unterseite der Platine ist die Ground Fläche, vielleicht spielt> das eine Rolle?
Möglich, aber sehr, sehr unwahrscheinlich.
Hallo,
kannst du mal Layout und Schaltplan posten? Ich hatte mal ein ähnliches
Problem, bei mir war es eine Kombination aus grenzwertigem Signalpegel
an DI (WS2812B an 5V, Ansteuerung mit 3,3V µC) und schlechter
Leitungsführung (= Verdrahtung auf Steckbrett).
Ok,
konnte das Layout doch früher organisieren.
Das ist mein testboard. Später sind die LEDs ein wenig weiter
auseinander.
Es hat 2 verschiedene LEDs. Aussen standart LEDs und und richtung Mitte
sind die WS2812B
Die SOIC-8 sind LM7805 um die WS2812B mit 5V zu versorgen. Ich habe es
schon mit einer direkten 5V Quelle versucht, das hat keinen Unterschied
gemacht.
Die Data Leitung ist der Pin von meinem uc der die WS2812B steuern soll.
Interessant zu wissen ist vielleicht noch, das wenn ich 12V an die 12V
Leitung anlege, die LEDs ganz ganz kurz aufblitzen (sogar mehr als die 5
die später leuchten). Das passiert aber nur im ersten Moment wo ich es
anlege.
Ich habe schon über 200 der ws2812 (ohne b) verbaut. Bei mir kam es
mehrmals vor, dass ab einer led die nächsten nicht mehr wollten. Der
Fehler war immer eine nicht richtig gelötete Lötstelle (ich habe zu
schnell gearbeitet). Das flakern kann durch die nicht richtig
angeschlossenen Signalleitungen kommen die als Antenne wirkt
Michi schrieb:> Die Data Leitung ist der Pin von meinem uc der die WS2812B steuern soll.
Und wie lang ist diese Leitung? Ich hab mir eine 32x20 Matrix mit den
LEDs aufgebaut und dabei ist mir aufgefallen, dass die Leitungslänge der
Data-Leitung vor der ersten LED entscheidend für die Signalqualität ist!
Ich habe eigentlich alle Verbindungen mit dem Multimeter überprüft, aber
ich werde es nochmals machen.
Ich habe das ganze schon auf 2 Platinen aufgebaut und auf beiden genau
der gleiche effect. Das ware ja schon ein Zufall wenn ich beide Male
beim
Die Zuleitung des Steuersignals ist 10cm Lang.
Der Fehler passiert genau zwischen LED 5 und 6
also LED1 bis LED5 leuchten und ab LED6 ist nichts mehr
Vielleicht hast du die LED auch tot-gelötet. Die Bond-Drähte lösen sich
bei Handbestückung und zu langem Lötvorgang schon mal ab...
Hatte bei meinem Aufbau auch 2 oder gar 3 LEDs gekillt.
Dass die Farben nicht stimmen ist allerdings seltsam...insofern die
Software korrekt ist.
4toTakoe schrieb:> Vielleicht hast du die LED auch tot-gelötet. Die Bond-Drähte lösen sich> bei Handbestückung und zu langem Lötvorgang schon mal ab...
Also dann werde ich den Lötkolben noch weiter runter fahren.
Seltsam ist, das es bei 2 Platinen beides mal an der gleichen Stelle
passiert.
Ich versuche heut abend mal ein Video zu machen
Hast du mal alle Signale angeschaut mit dem Oszi (auch
Versorgungsspannung) und die Signale gegen das Datenblatt abgeglichen?
Leider sind die WS2812B schwer zu verarbeiten. In der Tat lösen sich die
Bonddrähte gerne beim Löten, aber auch im Betrieb wenn die thermische
Anbindung an großflächiges Kupfer nicht gut ist. Herausfinden kann man
das einfach indem man fest auf die LED drückt (auf den durchsichtigen
Teil). Als Vorstufe von "leitet garnicht mehr weiter / funktioniert
garnicht" gibt es wirre meist lila-bis-rosa Farben. Man muss natürlich
den Fehler einer toten LED meist bei der LED vorher suchen. Also nicht
durcheinander kommen. Auf alle mit dem Daumen mal feste drauf drücken.
Löte doch einmal über deiner 1. LED einen Kondensator über die Beine
drüber, also direkt dort dran, mir kommen die Traces am Kondensator lang
und zudem sehr dünn vor. Ich würde eher das Signal auf der anderen Seite
verlegen, da dies keine Leistung führen muss.
Die Stichleitung am Kondensator (3) ist sicher auch nicht der Hit.
Michi schrieb:> Seltsam ist, das es bei 2 Platinen beides mal an der gleichen Stelle> passiert.
Ja.
Da würde ich an deiner Stelle mal die LED Nr.5 auslöten und DI und DO
überbrücken, um zu sehen, was dann passiert.
Wenn danach die LED Nr.6 leuchtet, ist es Software.
Wenn nicht, hast du ein Hardware Problem.
OK ?
Also,
nachdem ich alles getestet habe was ihr geschrieben habt, keine neuen
Erkenntnisse.
Trotzdem recht herrz^lichen Dank dafür, habe wieder ein paar Sachen
dazugelernt, wie man Sachen testen kann.
Aber es funktioniert jetzt.
Das Problem war folgendes.
Auf der Platine hat es 6 LM7805 (SOIC8) die die 15LEDs mit 5V versorgen.
(immer 3 bzw 2 an einem)
Der Microcontroller hat einen eigenen LM7805 (SOIC8).
Schliesse ich nun LEDs und Microcontroller an einen LM7805 TO-220 an,
dann klappt alles problemlos.
Der LED Streifen hing natürlich immer an der Versorgung des uc.
Diese Info hätte ich euch vlt nicht vorenthalten sollen, aber ich dachte
einfach nicht das es wichtig ist.
Zumal ich die Spannung gemessen haben und die Spannung bei den LEDs lage
bei 4,98V und die des uC be 5,02V.
Jetzt muss ich wohl einen grossen TO220 oder D2PAK nutzen und dann
einfach 5V statt 12V zur Platine mit den LEDs legen.
Aber recht herrzlichen Dank nochmal an alle hier :-)
Leider ein wenig zu früh gefreut.
jetzt ist das Problem zwischen LED8 und LED9
da stoppt es einfach.
Lege ich das Signal an LED9 an den D_IN Pin an, dann gehen LED9 bis
LED15 wie gewünscht an.
Lege ich das Signal an LED1 an gehen nur LED1 bis LED8 an.
Ich habe die Verbindung zwischen LED8 D_Out und LED9 D_In gemessen. Hat
klar eine Verbindung.
An einem anderen LED Strang mit 15 LEDs und jeweils 6cm Kabel zwischen
den einzelnen LEDs, klappt es ohne Probleme.
Habe auch schon LED8 und LED9 ausgetauscht.
Leider ohne Erfolg.
Wie kann denn sowas sein?
Sollte es ein Timing Problem sein. Wieso klappt es denn dann auf dem
Streifen und nicht auf meinem Board?
Noch eine Info.
Messe ich die Spannung auf der mV Einstellung meines günstigen
Multimeters (nicht wirklich dafür geeignet) dann bekomme ich folgende
Werte für die Spannung.
zwischen D_Out von LED1 und GND: ca 10mV
zwischen D_Out von LED2 und GND: ca 10mV
zwischen D_Out von LED3 und GND: ca 10mV
zwischen D_Out von LED4 und GND: ca 10mV
zwischen D_Out von LED5 und GND: ca 10mV
zwischen D_Out von LED6 und GND: ca 10mV
zwischen D_Out von LED7 und GND: ca 10mV
zwischen D_Out von LED8 und GND: ca 100mV
bei LED8 sind es auf einmal 100mV.
Das ist ja schon auffälig, aber ich kann nichts feststellen.
Michael schrieb:> Ich habe die Verbindung zwischen LED8 D_Out und LED9 D_In gemessen. Hat> klar eine Verbindung.> Habe auch schon LED8 und LED9 ausgetauscht.> Leider ohne Erfolg.> Messe ich die Spannung auf der mV Einstellung meines günstigen> Multimeters (nicht wirklich dafür geeignet) dann bekomme ich folgende> Werte für die Spannung.
Ich habe es dir schon mal gesagt, aber du magst es offenbar
kompliziert...
LED8 auslöten, DI und DO überbrücken, sehen was passiert.
das habe ich gemacht gehabt, habe nur vergessen es zu schreiben.
dann sind nur 7 LEDs an.
also müsste es ein Hardware Problem sein wenn ich deinen Post richtig
verstehe.
Auf was muss ich da achten?
habe eigentlich alle Verbindungen überprüft. Auch kurzschlüsse gegen GND
habe ich getestet.
Michi schrieb:> also müsste es ein Hardware Problem sein wenn ich deinen Post richtig> verstehe.>> Auf was muss ich da achten?
LEDx leuchtet, LEDx+1 leuchtet nicht.
LEDx ausgelötet, DI und DO überbrückt.
a) LEDx+1 leuchtet: Software (oder LEDx).
b) LEDx+1 leuchtet nicht: Hardware (oder LEDx+1).
Wenn die Verbindung zwischen LEDx_DO und LEDx+1_DI OK ist (und laut
deiner Aussage ist), bleibt nur noch die schlechte Masseverbindung
zwischen LEDx (Gruppe 1) und LEDx+1 (Gruppe 2) als Ursache.
Also, GND von allen 3 oder 4 Gruppen verbinden, Vcc zur Sicherheit
nochmal überprüfen, probieren.
Danke Danke Danke für diese genaue Anleitung.
Und jetzt Weiss ich es effektiv.
Es ist ein Problem beim löten gewesen.
Ich habe jetzt mal den Lötkolben ganz runter gedreht und dann hat es
perfekt geklappt.
Also die WS2812B sind ja echt sehr Temperaturempfindlich,
aber jetzt klappt es :-)
Danke nochmals
Das Problem ist nicht WS2812-spezifisch, sondern betrifft sehr viele
moderne Leds. Interessant ist bei Dir, daß anscheinend nicht nur die Led
selber betroffen ist, sondern auch der integrierte Controller. Ansonsten
würde das DOUT-Signal ja weitergegeben werden und andere Leds nach dem
fail wären nicht betroffen.
Viele Grüße, Stefan
Michi schrieb:> Ich habe jetzt mal den Lötkolben ganz runter gedreht und dann hat es> perfekt geklappt.
Hallo,
bei welcher Temperatur hast du denn vorher, und bei welcher jetzt
gelötet? Ich habe bald eine Lötorgie mit 120 WS2812B vor mir, da wäre
das ganz gut zu wissen wenn ich hinterher nicht jede x-te wieder
tauschen will.
Viele Grüße
Daniel
Michi schrieb:> Also dann werde ich den Lötkolben noch weiter runter fahren.Michi schrieb:> Ich habe jetzt mal den Lötkolben ganz runter gedreht und dann hat es> perfekt geklappt.
Mannomann, mit wieviel hast du den angefangen ? ;-)
Marc Vesely schrieb:> Michi schrieb:>> Also dann werde ich den Lötkolben noch weiter runter fahren.>> Michi schrieb:>> Ich habe jetzt mal den Lötkolben ganz runter gedreht und dann hat es>> perfekt geklappt.>> Mannomann, mit wieviel hast du den angefangen ? ;-)
ganz normal bei 475 - 650 Grad, so genau gehts ja bei dem Lötkolben im
Anhang auch nicht :D