Hallo zusammen, ich habe mir eine Tafel gebaut wo im Rücken der Tafel die LEDs sind. jedoch bekommen ich diese nicht ganz in Betrieb. Wenn ich den Arduino an einen einzeln langen 5m streifen hänge funktioniert es super. (Skript kann es nicht sein). Aber an meiner Konstruktion leuchten nur 28 LED von 160. Ich glaub ich habe da was falsch angeschlossen. Siehe Bild... Danke in Voraus! [MOD: Titel korrigiert]
:
Bearbeitet durch Moderator
Du hast sämtliche Pins der LED Streifen vollkommen durcheinander miteinander verknüpft. Dass da überhaupt was leuchten soll überrascht mich.
Die Versorgungsspannung sind 5V? Mit denen gehst Du am Arduino aber in Vin, der ist gedacht für höhere Spannungen Du musst direkt an den 5V-Pin Was macht der Raspberry im Plan? Letztendlich schleifst auch hier wieder 5V zum Arduino durch Mach das mal zum Test alles weg und schließe den Arduino richtig an
Die LED-Streifen in deinem Schaltbild sehen schonmal richtig verkabelt aus. Leuchten alle LEDs des ersten Streifens und danach bleibt es dunkel oder tritt der Fehler mitten im Streifen auf?
Du hast an Dataout (DO) Minus liegen und benutzt VDD als DO. Tausch mal ein bischen. Gruß Knut
:
Bearbeitet durch User
Hallo nochmal alle zusammen, danke für diese super vielen schnell Antworten... wie folgt. Der Raspberry dient um neue Skripte hochzuladen auf dem Arduino. Die Sache ist die, nicht alle LEDs lechten. Ich habe jeden Einzeln überprüft und es liegt 5V Spannung an. Es hört einfach mitten drin auf... Siehe Bild Ich glaube es liegt irgend etwas am Data kabel.
Dar K. schrieb: > Hallo nochmal alle zusammen, > > danke für diese super vielen schnell Antworten... > > wie folgt. Der Raspberry dient um neue Skripte hochzuladen auf dem > Arduino. > > Die Sache ist die, nicht alle LEDs lechten. Ich habe jeden Einzeln > überprüft und es liegt 5V Spannung an. Es hört einfach mitten drin > auf... Siehe Bild > > Ich glaube es liegt irgend etwas am Data kabel. Ich glaube es liegt daran, dass du den Arduino mit zu wenig Spannung versorgst. Am VIN müssen min. 7V anliegen das der ordentlich arbeiten kann.
Hallo M. H ich habe jetzt das Arduino mit einer eigene Stromversorgung angeschlossen. hat nichts gebracht. Aber als ich mal einen Jumper Kabel genommen habe und einfach mal den letzten LED über sprungen habe ist folgendes passiert wie auf den Bild. die nächsten paar sind aktiv geworden. Kann es sein das die LED defekt sind???
Dar K. schrieb: > Kann es sein das die LED defekt sind??? Kann sein, dass eine LED defekt ist, dann wird das DATA-Signal nicht weitergeleitet. Einfach die LED rausschneiden, eine andere einsetzen und nochmal testen. Kalli L. schrieb: > Du hast an Dataout (DO) Minus liegen und benutzt VDD als DO. Es ist doch offensichtlich, dass der TO sich hier in der Skizze verschrieben hat. Die Streifen haben DI/DO immer an derselben Stelle, also hier in der Mitte des Streifens.
Frank M. schrieb: > Dar K. schrieb: >> Kann es sein das die LED defekt sind??? > > Kann sein, dass eine LED defekt ist, dann wird das DATA-Signal nicht > weitergeleitet. Einfach die LED rausschneiden, eine andere einsetzen und > nochmal testen. Vor einem invasiven Eingriff würde ich erst noch an der nichtleuchtenden LED herumdrücken, eventuell ist es nur eine schlechte Lötstelle. Und falls das Problem bei mehreren Streifen auftritt, diese entsorgen und bessere kaufen. Dann hat der Verkäufer seinen Ausschuss an dich vertickt.
ich habe nun die zwei Defekte LED ausgebaut. Leider war noch einer und noch einer und noch einer defekt. Verdammt. 13 Stück sind defekt. Kann es sein das ich irgend was am Schaltplan was, falls gemacht? Ich glaube da ich die LEDs falsch verdrahtet, die sind nun alle kaputtgegangen. Wie sollte ich diese eigentlich richtig verdrahten??? Ein Schaltplan wäre nicht schlecht...
Corona V. schrieb: > Du hast sämtliche Pins der LED Streifen vollkommen durcheinander > miteinander verknüpft. Zeig bitte mal, wie du die Streifen verdrahten würdest
Bist du überhaupt sicher, dass die LEDs defekt sind? Könnte es nicht auch um ein Timingproblem handeln?
Vielleicht auch einfach nur ein Programmfehler. ?? Hast du im Script beim Initialisieren der Libs auch die Anzahl der LED's richtig angegeben. ??? Zeig mal den Ansteuerungscode. Wenn du nur 6 Initialisierst leuchten die anderen nicht nur die 6.
Nachtrag : Hier ist ein guter Code. https://starthardware.org/viele-leds-mit-arduino-steuern-ws2812/ #define PIN 6 #define NUMPIXELS 10 <- der hat 10 Led's auf der Leitung Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); Bei anderen Libs ist es das selbe.
> Bist du überhaupt sicher, dass die LEDs defekt sind? Könnte es nicht > auch um ein Timingproblem handeln? Yep. Wenn z.B die Taktfrequenz zu hoch ist dann kann es sein das nur die ersten 5-20 richtig leuchten und danach treten immer mehr Fehler auf. Olaf
Defekte LEDs von Anfang an würden mich wundern. Ich habe ein größeres Projekt mit mehr als 1000 dieser LEDs umgesetzt und hatte dabei keine defekten LEDs. Timingprobleme sind oftmals ein Problem. Was du tun kannst: Hänge doch, sofern verfügbar, einen weiteren Streifen VOR deine LEDs. Wenn sich die Fehler mitverschieben ist es ein Timing-Problem. Wenn sie so bleiben wie sie sind spricht das eher gegen die LEDs.
Ohne Code kann man nicht ausschließen ob es ein Hardware-/ oder Software-Problem ist. Dazu braucht man CODE + Die Anzahl der LEDS auf den Strip. Da reicht schon ein Tippfehler aus, um so Fehler zu produzieren.
A: schiebst du auch genug Daten durch ? B: es kann sein das am folgenden Streifen die erste LED defekt ist. Mit dem Ozzi prüfen ob auch am DO was raus kommt. Kaputt gehen sie wenn die Spannungsversorgung dumm gebaut ist und der Widerstand in der DI Leitung fehlt. Auch wenn man den Streifen auf der Rolle betreibt... Es ist auch eine schlechte Idee den Arduino aus den 5V für die Streifen zu speisen. Nicht das der µP an der Stelle immer einen Reset macht. Die Spannung an dem 5V Eingang sollte immer etwas niedriger sein. Damit die Diode auch zu macht wenn er von der anderen Seite versorgt wird. Andersherum hängt der Streifen an dem USB des RPIs -> Ohjee wenn die externe Versorgung fehlt. Mit richtig Glück schießt du dir den RPI. A: die Vin vom externen Netzteil trennen ! Masseverbindung ist ja nötig. B: dein Kondensator bringt an der der Stelle wenig, der war gedacht damit der Arduino nicht einen Reset auslöst. Mit A: unnötig. C: Sicherung zwischen ! KFZ Sicherung reichen.... sonst brennt die die Bude ab.
:
Bearbeitet durch User
> WS2812b leuten nur teilweise. Was habe ich falsch gemacht?
Nimm Glocken, die läuten richtig!
;)
Wenn immer die erste bzw. Letzte LED pro Segment defekt ist, kann es an einem korrigierten Verdrahtungsfehler liegen. Wenn man auf Data In, bzw. Output die Versorgung klemmt, geht zunächst nichts. Korrigiert man seinen Verdrahtungsfehler, dann kann der Eingang oder Ausgang schon zerschossen sein.
Noch was: Du hast zum Testen jeweils einen WS2812b überbrückt. Dabei werden zwei Ausgänge u. U. mit entgegengesetzter Polarität kurzgeschlossen. Könnte sein, dass die WS2812b das nicht schadlos verkraften.
Das ist der besagte Code:
1 | #include <Adafruit_NeoPixel.h> |
2 | |
3 | #define PIN 3
|
4 | #define NUM_LEDS 165
|
5 | |
6 | int i=0; |
7 | int n=1; |
8 | |
9 | Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800); |
10 | |
11 | void setup() { |
12 | // put your setup code here, to run once:
|
13 | strip.begin(); |
14 | }
|
15 | void loop() { |
16 | strip.setPixelColor(i++, strip.Color(200,200,200)); |
17 | strip.show(); |
18 | delay(10); |
19 | }
|
eine einfache Vorlage. Ich habe das gleiche Skript und Arduino an dem selben baugleichen anderen LED-Streifen anhängt und es funktioniert super. . -------------------- . +++ ABER +++ . Ich habe nun folgendes rausgefunden. Dort wo die LEDs leucht ist eine Spannung von 0,37V auf dem Data kabel. Auf dem Defekten betregt die Spannung 5V. ein paar LEDs ist nur noch rest von 0,08V Drauf. Das ist doch der Fehler oder???
Dar K. schrieb: > Das ist doch der Fehler oder??? Das ist zumindest ein Hinweis wo der Fehler liegen könnte. Spannung kann nicht kaputt gehen oder verschwinden, aber sie wird von defekten nicht bzw falsch erzeugt. oder das nachfolgende Bauteil ist defekt und schließt den vorherigen Ausgang kurz. Das sind allerdings digitale Signale mit hoher Frequenz, die kann man mit einem normalen Multimeter nicht gut prüfen. Besser wäre hier ein Oszilloskop.
Stefan ⛄ F. schrieb: > die kann man > mit einem normalen Multimeter nicht gut prüfen. Besser wäre hier ein > Oszilloskop. Ein Oszilloskop ist dazu notwendig! Alles andere ist schwer zu interpretieren. Dar K. schrieb: > Ich habe nun folgendes rausgefunden. Dort wo die LEDs leucht ist eine > Spannung von 0,37V auf dem Data kabel. Auf dem Defekten betregt die > Spannung 5V. ein paar LEDs ist nur noch rest von 0,08V Drauf. Wenn du mit einem Multimeter misst (s.o., ungeeignet), dann ist das, was es anzeigen sollte, etwa der halbe Pegel des Datensignals - ganz vorne, also etwa 2.5V ± 0.5V und etwas abhängig vom eingestellten Helligkeitswert. Je weiter hinten du in einer Kette misst, desto weniger wird es sein, denn jede LED nimmt sich die ersten 24Bit heraus und füllt sie mit 0V und gibt den Rest weiter. So wird entlang der Kette die mit dem Multimeter gemessene Spannung immer weniger. Die letzte in der Kette gibt nur noch Null aus - falls genau so viele LEDs angesteuert werden wie auch vorhanden sind. Dazu gibt es im Datenblatt ein schönes Bildchen. Um so mit dem Multimeter weiter zu kommen, sollte es sogar ein altes, analoges Instrument sein, das ausreichend träge ist. Mit DMMs kann es sein, dass alles mögliche Falsche angezeigt wird. Dass irgendwo auf der Datenleitung 5V gemessen werden, kann nur sein, wenn die Datenleitung an der Stelle einen Kurzschluss nach 5V hat. Logisch ist dann, dass danach nur noch annähernd 0V herauskommen. Im Anhang der zitierte Ausschnitt aus dem Datenblatt.
Also Timing ist bei diesen LEDs echt ein Problem. Ich habe grad so eine Funktion für unseren IO-Warrior28 implementiert (wird bald freigegeben…) und dabei echte Überraschungen erlebt, wie weit die LEDs beim Timing variieren können. Man muss ganz genau aufpassen welche Type wirkich verbaut ist, da gibt es viele Varianten und manchmal werden die als WS2812B verkauft, obwohl sie irgend was anderes sind. Ob man einen Timingfehler hat, sieht man am Besten, indem man immer wieder die selben Daten auf die LEDs schreibt. Stimmt was mit dem Timing nicht, dann flackern ein paar.
Das du eh mehrere Streifen hast, würde ich folgendes machen. Häng einfach Testweise die Streifen einzeln an den Arduino. Ändere dein Programm : #define NUM_LEDS 165 <- die in die Anzahl der Leds des Teilstreifen und dann los. Dann weißt du auch ohne Ozzi wenigsten in welchen Streifen das Schrottteil ist.
Danach baust du die Stück für Stück wieder zusammen und nach jeden Stück die selben Tests. Musst ja nur ein Wert im PRG. ändern. Wenn du nun ein Streifen anhängst der vorher funktioniert hat, und jetzt nicht weißt du das es kein Defektes Bauteil ist, sondern irgend ein Kontakt/Timing-Problem. Wäre jedenfalls mein Vorschlag.
Guido Körber schrieb: > Man muss ganz genau aufpassen welche Type wirkich verbaut ist, da gibt > es viele Varianten und manchmal werden die als WS2812B verkauft, obwohl > sie irgend was anderes sind. Da gibts mehrere Versionen von. Als mich das vor 1,5J interessiert hatte, war glaube ich die V4 aktuell. Und ja, da ändert sich auch was am Timing, aber soweit ich weis zum Besserem (toleranter...). PS: Ach, guge an, V5 is mit integriertem C :))) http://www.world-semi.com/Certifications/details-141-4.html
:
Bearbeitet durch User
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.