Ich werde meine Antwort stehlen, als ich diese Frage beim letzten Versuch von arduino SE beantwortet habe.
Das ist ein bisschen komplex. Grundsätzlich gibt es eine Reihe von einschränkenden Faktoren:
Die E / A-Leitungen vom Mikrocontroller (dh die analogen und digitalen Pins) haben sowohl eine Gesamtstrombegrenzung (z. B. Gesamtstrombegrenzung) als auch eine Begrenzung pro Pin:
Aus dem ATmega328P Datenblatt .
Je nachdem, wie Sie die Arduino "Pins" definieren, ist dies jedoch nicht die gesamte Geschichte.
Der 5V-Pin des Arduino ist nicht über den Mikrocontroller angeschlossen . Als solches kann es wesentlich mehr Energie liefern. Wenn Sie Ihren Arduino über USB mit Strom versorgen, begrenzt die USB-Schnittstelle Ihren Gesamtstromverbrauch auf 500 mA. Dies wird mit den Geräten auf dem Arduino-Board geteilt, sodass die verfügbare Leistung etwas geringer ist.
Wenn Sie ein externes Netzteil verwenden, sind Sie über den Gehäusestromversorgungsstecker durch den lokalen 5-V-Regler begrenzt, der für maximal 1 Ampere ausgelegt ist . Dies ist jedoch auch thermisch begrenzt , was bedeutet, dass sich der Regler aufheizt, wenn Sie Strom ziehen. Wenn es überhitzt, wird es vorübergehend heruntergefahren.
Der geregelte 3,3-V-Ausgang kann maximal 150 mA liefern, was die Grenze des 3,3-V-Reglers darstellt.
In Summe
- Das absolute Maximum für einen einzelnen E / A-Pin beträgt 40 mA ( dies ist das Maximum . Sie sollten eigentlich nie volle 40 mA von einem Pin abziehen. Grundsätzlich ist dies die Schwelle, bei der Atmel nicht mehr garantieren kann, dass der Chip nicht beschädigt wird. Sie sollten immer sicherstellen, dass Sie sicher unter dieser Stromgrenze sind. )
- Der Gesamtstrom aller IO-Pins zusammen beträgt max. 200 mA
- Der 5-V-Ausgangspin ist für ~ 400 mA bei USB und ~ 900 mA bei Verwendung eines externen Netzteils geeignet
- Die 900 mA sind für einen Adapter vorgesehen, der ~ 7V liefert. Mit zunehmender Adapterspannung steigt auch die Wärmemenge, mit der der Regler umgehen muss, sodass der maximale Strom mit zunehmender Spannung abnimmt. Dies nennt man thermische Begrenzung
- Der 3,3-V-Ausgang kann 150 mA liefern .
- Hinweis - Jegliche Stromaufnahme von der 3,3-V-Schiene muss über die 5-V-Schiene erfolgen . Wenn Sie also ein 100 mA - Gerät auf dem 3,3V - Ausgang haben, müssen Sie auch gegen den 5 V Summenstrom zählen.
Hinweis: Dies gilt nicht für den Arduino Due und es gibt wahrscheinlich einige Unterschiede für den Arduino Mega. Es ist wahrscheinlich allgemein für jeden Arduino zutreffend, der auf dem ATmega328-Mikrocontroller basiert.