ich sitze hier gerade vor einer Sache, die ich nicht begreifen kann.
Ich habe an Pin D13 drei WS2812B LEDs. Lichtspielerei, was man halt so macht
Mein Problem ist, dass die LEDs nur funktionieren, wenn der Mega 2560 an USB angeschlossen wird.
Ob 12V per Buchse oder 12V in VIN, die LEDs bleiben Dunkel. Nehme ich die externe Stromversorgung ab und stecke den 2560 an den PC, wird es hell.
Die 5V für die drei LEDs nehme ich mir aus dem Arduino PIN 5V. Die liegen auch an den LEDs an.
Egal welche Stromversorgung ich nehme.
Übrigens, stecke ich die LEDs zum Beispiel auf D6, dann funktioniert es mit jeglicher Stromquelle.
Also schließe ich daraus, dass D13 nur Daten liefert wenn der Arduino per USB am Rechner hängt.
Die Schlußfolgerung ist falsch.
Es könnte ein Lastproblem sein.
Womit wir bei Deiner Eingangsfrage sind.
Die Antwort findet sich im Schaltbild Koordinaten A/B 4/5
Anschluß WS2812B: 5V an das 5V Pin des Arduino; GND an GND des Arduino; Data auf Pin D13.
Anzahl WS2812B 3 Stück
Schlußfolgerungen:
Orginal Arduino MEGA2560 R3
Am pin D13 ist eine LED die mit einem Operationsverstärker (IC7A) entkoppelt wird und somit das Pin nicht belastet. Nachbau: Weiß nichts genaues; LED könnte auch direkt an D13 hängen wie es beim 2009 bzw MEGA (1280) der Fall war. Da könnte das Pin überlastet sein.
Überlastung:
Der Spannungsstabilisator auf dem Arduino (und auf dem Nachbau wird es nicht sehr anders sein) kann bei 12 V Eingangsspannung nur ca 100 bis 150 mA liefern kann da er ansonsten zu heiß wird, und selbständig abschaltet.
Ein WS2812b verbraucht bis zu 60 mA (weiß volle Helligkeit). 3 davon sind wir bei 180mA.
Konklusion:
Der Mega ist bei 3 WS2812B in Netzteilbetrieb überlastet.
Das ist ein generelles Problem und nicht von Pin 13 abhängig.
Ich weiß nicht wieso Pin 13 nicht funktionieren sollte.
Vom Pin 13 ist aber generell abzuraten da dieses beim Einschalten vom Bootloader angesteuert wird und somit beim Einschalten einige (unbeabsichtliche und schwer zu unterdrückende ) Impulse liefert.
Fragen
Sind meine Annahmen richtig?
Hat ein Test mit nur einer WS2812 etwas begracht?
Welches MEGA 2560 Modell hast Du denn genau?
ich fasse mal in einer Antwort zusammen, ohne jetzt jeden Beitrag zu kommentieren.
Erstmal vielen Dank, Problem ist gelöst.
Grundlegend, es ist ein Mega 2560 V3.
Es liegt doch tatsächlich daran, dass der PIN D13 ungeeignet ist, da es wirklich ein Lastproblem ist.
Mit allen anderen PINs funktioniert es. Ob mit einer oder drei LEDs, USB oder externe Spannung.
Das stimmt, wenn man sich aber einmal den Link von my_xy_projekt ansieht, dann erkennt man, das PB7 eine weitere Funktion hat.
Dies lässt dann den Schluss zu, dass D13 ä, zumindest für mein Vorhaben, ungeeignet ist.
Und darum geht es doch hier.
Um mein Vorhaben und nicht darum, ob der PIN generell ungeeignet ist.
und auch nicht was passiert, wenn Du 1e statt 3 WS2812 anschließt.
Der zappelt aber gleich egal womit der Arduino versorgt wird.
Das will ich nicht bestreiten.
Nur daß ich keinen Grund finde, wieso mit Pin D13 im Netzteilbetrieb es nicht funktioniert , mit den anderen digitalen Pins aber schon.
Der Spannunsstabilisator wird immer überlastet egal welches Arduino Pin zur Datenübertragung verwendet wird.
Was ich Dich bitte:
Aufbau so wie es nicht funktioniert. Dann Resettaster auf dem MEGA mal kurz drücken. Wie sieht's dann aus?
Ich bezog mich auf Netzteilbetrieb mit 12V Versorgungsspannung und 3 WS2812B mit allen LED voll ausgesteuert = 180mA.
Die 3mA für das L-LED beunruhigen micht nicht.