Forum: Mikrocontroller und Digitale Elektronik Arduino und externe Spannungsversorgung


von Egonwalter M. (heiner1234)


Lesenswert?

Hallo

Ich habe ein Arduino Mega2560 Board und ein 128 x 64 Pixel Display (von 
Pollin, LCD TG12864B-05, siehe 
https://www.pollin.de/search?query=LCD+TG12864B-05); gemäß DB beträgt 
die Standartstromaufnahme
des Displays 330mA, maximal 660mA.

Das Arduino Mega2560 Board möchte ich per USB (Arduino am PC 
angeschlossen) versorgen , d.h. 5V, max 500mA.
Wenn ich nun außer dem Display noch mehr "Verbraucher" (LEDs, Potis, 
Buzzer, MCP23017, MCP23S17 etc) am
Arduino Board anschließe, erreiche ich sehr wahrscheinlich die max 
500mA, die das Arduino Board
maximal liefern kann (die LEDs haben eine Stromaufnahme von 2mA).

Meine Idee ist nun, eine externe 5V Versorgung für das Display 
anzuschließen und beide GND
(Arduino und externe 5V Versorgung) zu verbinden (nicht aber die 5V 
Plus).

Werde ich dann Probleme bekommen, wenn die Pins des Arduino das Display 
ansteuern? Die beiden
GNDs sind ja verbunden.

Vielen Dank

von Wolfgang (Gast)


Lesenswert?

Egonwalter M. schrieb:
> Werde ich dann Probleme bekommen, wenn die Pins des Arduino das Display
> ansteuern?

Das kommt auf die Einschaltreihenfolge an. Die Absolute Maximum Ratings 
in den Datenblättern für die Spannung an den IO-Pins gelten für die 
AKTUELLE Versorgungsspannung, d.h. du darfst nicht mit 5V an den IO-Pin 
eines nicht versorgten µCs

von Brain 2.0 (Gast)


Lesenswert?

Die Verbindung von GND ist wichtig dabei.
Wenn alles andere richtig verbunden ist, sollten keine Problem 
auftreten.

von Stefan F. (Gast)


Lesenswert?

Versorge die gesamte Schaltung mit dem 5V Netzteil - auch das Arduino 
Board. Dazu hat es den 5V Pin.

von MaWin (Gast)


Lesenswert?

Egonwalter M. schrieb:
> Werde ich dann Probleme bekommen, wenn die Pins des Arduino das Display
> ansteuern

Ja, wenn eine Versorgung ausfällt/noch nicht eingeschaltet ist, versucht 
es sich durch Eingangsschutzdioden parasitär über auf high geschaltete 
Eingänge zu versorgen und belastet dabei die Ausgangspins bis fast in 
den Kurzschlussstrom.

Man sollte also in jede Datenleitung zumindest einen 1k Widerstand 
setzen, besser aber in Software drauf achten, dass alle Ausgänge zur 
anderen Schaltung low sind so lange die keine Versorgungsspannung hat.

von Egonwalter M. (heiner1234)


Lesenswert?

Hallo!

Vielen Dank für Eure Antworten!

@von Stefan ⛄ F. (stefanus)10.05.2021 08:38
"Versorge die gesamte Schaltung mit dem 5V Netzteil - auch das Arduino
Board. Dazu hat es den 5V Pin."

Wenn ich das mache, kann ich den USB Anschluss nicht mehr nutzen und 
nehme mir dadurch die Möglichkeit, den 2560 zu programmieren und den 
UART0 zu nutzen.

@von MaWin (Gast)10.05.2021 09:19
Ja, in die Leitungen von / zum Display werde ich je einen 1kOhm 
Widerstand schalten.

Ich denke, ich werde es so lösen:
- keine Spannung am Display
- USB Spannungsversorgung am Arduino Board
- Arduino SW: initiell ALLE Datenleitungen zum Display als Eingang
- Display SW im Arduino noch nicht initialisiert, Arduino SW "läuft"
- externe 5V zum Display einschalten
- Arduino liest die 5V des Displays ein (AnalogIn oder DigitalIn)
- wenn Arduino erkennt, dass 5V am Display ok sind, wird das Display 
initialisert (Arduino SW gibt die Ausgänge zum Display frei)

um ganz sicher zu sein, könnte man ein Relais etc schalten:
- nur wenn der Arduino läuft, kann das Display per Relais Spannung 
erhalten..

müßte so funktionieren, denke ich ...

von Stefan F. (Gast)


Lesenswert?

Egonwalter M. schrieb:
> Wenn ich das mache, kann ich den USB Anschluss nicht mehr nutzen

Wieso nicht? Ich mache das andauernd, sogar mit den Boards, die keine 
Diode/Transistor zur Trennung dazwischen haben.

von Egonwalter M. (heiner1234)


Lesenswert?

Hallo Stefan

Stefan ⛄ F. schrieb:

> Wieso nicht? Ich mache das andauernd, sogar mit den Boards, die keine
> Diode/Transistor zur Trennung dazwischen haben.

Ich kann also problemlos die externen 5V auf den 5V PIN des Arduino 
geben (beide GNDs natürlich verbunden) und kann dennoch den 
USB-Anschluss am Arduino benutzen? Das war mir nicht klar...

Ich dachte, man soll den USB Anschluss nicht benutzen, wenn man extern 
5V auf den 5V PIN gibt ...

von Stefan F. (Gast)


Lesenswert?

Egonwalter M. schrieb:
> Ich kann also problemlos die externen 5V auf den 5V PIN des Arduino
> geben

Ja sicher doch!

Es gibt nur ein kleines Problem bei den schrottigen China Boards, die 
keine Diode/Transistor zur Trennung dazwischen haben und wenn zugleich 
dein PC ebenso billig konstruiert wurde. Und zwar: Wenn dein Netzteil 
eingeschaltet ist, dein PC aber nicht, dann verschmort das USB Kabel 
oder die Steckbuchsen - je nach dem was zuerst nachgibt. Weil dann 
nämlich dein Arduino Board den PC rückwärts mit Strom versorgt.

Aber keine Sorge, das betrifft nach meiner Erfahrung nur Billigmüll der 
in China konstruiert wurde. Alle originalen Arduino Boards und auch 
deren Nachbauten aus Asien, sind vernünftig aufgebaut.

von Egonwalter M. (heiner1234)


Lesenswert?

Stefan ⛄ F. schrieb:
> Egonwalter M. schrieb:
>> Ich kann also problemlos die externen 5V auf den 5V PIN des Arduino
>> geben
>
> Ja sicher doch!
>
> Es gibt nur ein kleines Problem bei den schrottigen China Boards, die
> keine Diode/Transistor zur Trennung dazwischen haben und wenn zugleich
> dein PC ebenso billig konstruiert wurde. Und zwar: Wenn dein Netzteil
> eingeschaltet ist, dein PC aber nicht, dann verschmort das USB Kabel
> oder die Steckbuchsen - je nach dem was zuerst nachgibt. Weil dann
> nämlich dein Arduino Board den PC rückwärts mit Strom versorgt.
>
> Aber keine Sorge, das betrifft nach meiner Erfahrung nur Billigmüll der
> in China konstruiert wurde. Alle originalen Arduino Boards und auch
> deren Nachbauten aus Asien, sind vernünftig aufgebaut.

Hallo

Hm, das ist mir doch etwas ... zu riskant.

Ich weiß weder, ob mein PC billig konstruiert ist, noch weiß ich, ob 
meine Arduino Boards "vernünftig aufgebaut sind" (von Joy-it ARD UNO 
R3DIP und ein Joy-it ARD Mega 2560, beide kompatibel, kein Original).
Machst Du es tatsächlich -  den Arduino mit dem 5V PIN UND der USB 
Spannungsversorgung zu versorgen, ohne die Spannungsversorgung im USB 
Kabel "totzulegen" (wie es u.a. im Netz empfohlen wird)??

Was passiert, wenn z.B die 5Volt Versorgung am 5V PIN 5,3Volt hat, der 
USB Anschluss aber 5,0V liefert?
Dann würde ich ja rückwärts in den USB Anschluss einspeisen 
(Rückwärtsspeisung hast Du ja oben beschrieben) oder ist meine Annahme 
falsch?

mfg

von Stefan F. (Gast)


Lesenswert?

Besorge dir doch einfach die Schaltpläne zu deinen Boards, dann siehst 
du on zwischen USB Buche und 5V Pin eine Diode/Transistor liegt.

> Was passiert, wenn z.B die 5Volt Versorgung am 5V PIN 5,3Volt hat,
> der USB Anschluss aber 5,0V liefert?
(und keine Diode/Transistor existiert)

Dann fließt ein Strom vom Arduino Board zum PC. Durch den 
Innenwiderstand des USB Kabel ist dieser aber auf ein praktikables Maß 
begrenzt.

Klar: Sauber ist das nicht. Aber es sind ja auch nur ganz wenige Boards 
betroffen. Wenn du keinen Schaltplan finden kannst, dass messe doch 
einfach nach. Du könntest ein 5V Netzteil anschließen, und dann an die 
USB Buchse eine LED mit Vorwiderstand. Wenn sie nicht leuchtet, ist 
alles gut.

Das (originale) Arduino Uno v3 Board und auch das Arduino Mega 2560 
haben beide die gleiche Schaltung, nämlich einen Transistor und eine 
Polyfuse Sicherung.

von Wolfgang (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Besorge dir doch einfach die Schaltpläne zu deinen Boards, dann siehst
> du on zwischen USB Buche und 5V Pin eine Diode/Transistor liegt.

Hier ein Beispiel, wie z.B. beim Uno USBVCC nur dann auf den Eingang des 
Spannungsreglers gelegt wird, wenn Vin unterhalb von 6.6V liegt.
https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf

von Egonwalter M. (heiner1234)


Lesenswert?

Hallo Stefan, hallo Wolfgang (Gast)

Vielen Dank für Eure Hilfe / Tipps!

Ich habe (natürlich) die Stromlaufpläne (SLP) vom UNO und vom MEGA 
(Originalpläne von Arduino), beide Geräte sind aber von Joy-it, und da 
habe ich bislang keine SLPs gefunden, ich hoffe aber, dass sie dem 
Original entsprechen, obwohl explizit darauf hingewiesen wird, dass sie 
"kompatibel, aber kein Original" sind.

Ich könnte bzw würde ja vom 5V PIN zu der Sicherung F1 messen (müßte ja 
eine Diode im Zeig sein), aber ich kann die F1 bzw den Pin 1 des USB 
Anschlusses auf den Boards nicht finden ...

Nachtrag - habe jetzt im Netz eine Beschreibung der PINs des USB Kabels 
gefunden (wer suchet, der findet!!)

: Bearbeitet durch User
von Schlaumaier (Gast)


Lesenswert?

Egonwalter M. schrieb:
> Ich weiß weder, ob mein PC billig konstruiert ist, noch weiß ich, ob
> meine Arduino Boards "vernünftig aufgebaut sind"

Das ist auch völlig Wurst.

Ein Arduino programmiert man IMMER mit einen AKTIVEN (Das sind die mit 
Netzteil) USB-Hub.

Was 1. für eine stabile Stromversorgung des Arduinos sorgt und 2. den PC 
schützt.

Wenn du den Arduino mit externen Strom testen und Programmieren willst 
würde ich einfach folgendes machen.

Kauf dir ein USB-Kabel. Schneide ihn durch. Nun schau auf die 
Pin-Belegung von USB und löte die Kabel wieder zusammen die NICHT für 
Strom zuständig sind. + und - kneifst du weit genug weg ab, und 
isolierst sie. Und schon ist das eine normale Serielle Verbindung. Zum 
Programmieren musst du dann halt den externen Strom extra anmachen.

Habe ich zwar noch nie so getestet sollte aber gehen.

von Egonwalter M. (heiner1234)


Lesenswert?

Hallo Schlaumeier

Ja, dieses Tipp (aufschneiden des Kabels etc) habe ich auch schon im 
Netz gesehen.

von Stefan F. (Gast)


Lesenswert?

Schlaumaier schrieb:
> Habe ich zwar noch nie so getestet sollte aber gehen.

Ich fürchte das geht so nicht, weil der UVCC Pin vom ATmega16U dann in 
der Luft hängt.

von Peter R. (pnu)


Lesenswert?

Der USB-Ansachluss ist durchaus geeignet, so etwas wie Sticks, externe 
Festplatten u.a. zu versorgen.

Aber aus ihm Experimentierschaltungen zu versorgen ist doch etwas 
riskant. Wenn da ein Defekt auf die USB Leitngen übergreift, kann ein 
recht großer Schaden im schönen PC oder gar laptop angerichtet werden.

Der obige Rat mit dem selbst versorgten, externen USB-Hub ist ganz 
angebracht.

Ansonsten: gemeinsame Masse bei USB und externer 5V-Versorgung. Plus vom 
USB getrennt vom Plus des externen Geschehens.
Die USB-Datenleitungen sind m.W. sowieso durch Widerstände geschützt, 
bzw. vertragen einen Kurzschluss nach Masse oder nach 5V hin.

von Manfred (Gast)


Lesenswert?

Au weiah, der Text reicht für den Pokal "Legastheniker der Woche" in 
Gold :-(

Schlaumaier schrieb:
> Ein Arduino programmiert man IMMER mit einen AKTIVEN (Das sind die mit
> Netzteil) USB-Hub.

Unfug, der PC kann den direkt speisen.

> Was 1. für eine stabile Stromversorgung des Arduinos sorgt und 2. den PC
> schützt.

Für den Schutz des PCs ist ein Hub unzureichend, wenn ich Bedenken habe, 
setze ich einen USB-Isolator ein. Dazu lässt sich im µC-net ein 
ausführlicher Thread finden: 
Beitrag "Re: Benötigt man für µC Boards (Arduino, Launchpad, Raspberry Pi) eine galvanische Trennung für USB?"

> Wenn du den Arduino mit externen Strom testen und Programmieren willst
> würde ich einfach folgendes machen.
>
> Kauf dir ein USB-Kabel. Schneide ihn durch. Nun schau auf die
> Pin-Belegung von USB und löte die Kabel wieder zusammen die NICHT für
> Strom zuständig sind. + und - kneifst du weit genug weg ab, und
> isolierst sie. Und schon ist das eine normale Serielle Verbindung. Zum
> Programmieren musst du dann halt den externen Strom extra anmachen

Auf sowas kommt nur ein Schlaumaier, die Masseverbindung sollte bleiben, 
sonst passieren andere undefinierbare Dinge.

von Schlaumaier (Gast)


Lesenswert?

Manfred schrieb:
> Unfug, der PC kann den direkt speisen.

Trottel.

Klar kann der das. Und wenn da mal Mist in der Schaltung ist, sind 
i.d.R. 2 USB-Ports Geschichte. Und mit viel Pech das Mainboard gleich 
mit.

Bei einen Aktiven Hub kommt der Stromkreis aus den Netzteil und wird 
NICHT zum PC durchgeschaltet.

Manfred schrieb:
> Auf sowas kommt nur ein Schlaumaier, die Masseverbindung sollte bleiben,
> sonst passieren andere undefinierbare Dinge.

Wieso. ???

Ich habe jahrelang serielle Daten übertragen OHNE das da irgendwelcher 
Strom floss. Also erkläre mir mal wieso ich für eine DATENleitung Strom 
brauche, wenn das Empfangene Gerät den selbst hat. ?!?!?!

Ich speise ganz normal + u. - von einer Externen Stromquelle in die 
Schaltung. Dann schicke ich NUR die DATEN über den USB-Bus. Weils 
bequemer ist. Ich könnte sie ja auch per Funk schicken. Ist um den 
Faktor 1000 aufwendiger aber machbar.

Außer der Tatsache das ich versuche die Firmware zu ändere über Funk 
habe ich das sogar schon einige Male gemacht. Thema : 433 Mhz 
Verbindung. Da fliegt auch kein Strom mit. Und das ist auch eine 
Serielle Verbindung.

Stefan ⛄ F. schrieb:
> Ich fürchte das geht so nicht, weil der UVCC Pin vom ATmega16U dann in
> der Luft hängt.

Das weiß ich nicht. Aber wenn der Strom braucht soll er ihn bekommen. 
Aber von der externen Quelle ;)

von Sebastian (Gast)


Lesenswert?

Schlaumaier schrieb:
> Ich speise ganz normal + u. - von einer Externen Stromquelle in die
> Schaltung. Dann schicke ich NUR die DATEN über den USB-Bus.

Ui ui. Nur die beiden differentiellen Datenleitungen, kein gemeinsames 
Massepotential? Das kann, muss aber nicht gut gehen. USB ist bei common 
mode eher etwas empfindlicher als z.B. Ethernet ...

LG, Sebastian

Beitrag #6686963 wurde vom Autor gelöscht.
von John L. (johnli)


Lesenswert?

> Kauf dir ein USB-Kabel. Schneide ihn durch. Nun schau auf die
> Pin-Belegung von USB und löte die Kabel wieder zusammen die NICHT für
> Strom zuständig sind. + und - kneifst du weit genug weg ab, und
> isolierst sie. Und schon ist das eine normale Serielle Verbindung. Zum
> Programmieren musst du dann halt den externen Strom extra anmachen.
>
> Habe ich zwar noch nie so getestet sollte aber gehen.

Ich denke, das ist eine tolle Antwort.

von Egonwalter M. (heiner1234)


Lesenswert?

Hallo

Kleines Update: - dieser Beitrag ist der zielführende:

Peter R. schrieb:
> Der USB-Ansachluss ist durchaus geeignet, so etwas wie Sticks, externe
> Festplatten u.a. zu versorgen.
>
> Aber aus ihm Experimentierschaltungen zu versorgen ist doch etwas
> riskant. Wenn da ein Defekt auf die USB Leitngen übergreift, kann ein
> recht großer Schaden im schönen PC oder gar laptop angerichtet werden.
>
> Der obige Rat mit dem selbst versorgten, externen USB-Hub ist ganz
> angebracht.
>
> Ansonsten: gemeinsame Masse bei USB und externer 5V-Versorgung. Plus vom
> USB getrennt vom Plus des externen Geschehens.
> Die USB-Datenleitungen sind m.W. sowieso durch Widerstände geschützt,
> bzw. vertragen einen Kurzschluss nach Masse oder nach 5V hin.

Ich habe ein USB Kabel entsprechend aufgetrennt und alle 4 Leitungen per 
Schalter wieder verbunden; wenn ich meine Schaltung mittels externem USB 
Hub verbinde, trenne ich die Plus Leitung per Schalter (nur GND, D+ und 
D- vom PC USB am Arduino zwecks Programmierung und Test USART), wenn ich 
nur vom PC den Arduino speisen will, schließe ich den Schalter. Voila.

@Stefan:
"Ich fürchte das geht so nicht, weil der UVCC Pin vom ATmega16U dann in
der Luft hängt." - das ist Unsinn, der UVCC Pin wird von 5V versorgt - 
auch externen!!

Vielen Dank an Peter R!!

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Egonwalter M. schrieb:
> wenn ich meine Schaltung mittels externem USB
> Hub verbinde, trenne ich die Plus Leitung per Schalter (nur GND, D+ und
> D- vom PC USB am Arduino zwecks Programmierung und Test USART), wenn ich
> nur vom PC den Arduino speisen will, schließe ich den Schalter. Voila.

Sehr schön, so ähnlich habe ich das vor 4 Jahren gebaut. Die Masse nicht 
zu verbinden, halte ich für gefährlich:
Beitrag "Re: Klone-ARDUINO und externe 5V-Versorgung"

( Beitrag "Re: Klone-ARDUINO und externe 5V-Versorgung" )

von Egonwalter M. (heiner1234)


Lesenswert?

Hallo

Wie hoch darf die maximale Ausgangsspannung des externen USB Ladegerätes 
sein, damit kein "magic smoke" erzeugt wird, wenn ich das Board mit 
dieses externen 5V am 5V Pin (und GND) versorge?

Ich habe mehrere USB Ladegeräte, deren Ausgangsspannung von 5,2V bis 
5,5V variieren; der USB Anschluss des PC liefert auch 5,2V.

Klar, dass ich primär das externe USB-Ladegerät nehme, das 5,2 liefert.
Dennoch - würde ich etwas am Board zerstören, wenn ich 5,5V am 5V Pin 
einspeise?

Beim USB Anschluss vom PC ist die +5V Leitung natürlich getrennt 
(s.Beitrag oben), wenn ich extern die 5V einspeise.

von Stefan F. (Gast)


Lesenswert?

5,5V ist so gerade eben noch OK.

Ich habe einen ATmega16 auch schon einmal ein paar Stunden mit 6V 
betrieben ohne dass es Probleme gab. Aber das möchte ich nicht weiter 
empfehlen.

von Egonwalter M. (heiner1234)


Lesenswert?

Hallo Stefan

Vielen Dank für die Antwort.

Hatte mir schon gedacht, dass die 5,5V das Maximum ist, wollte es aber 
nochmal bestätigt haben.

von Stefan F. (Gast)


Lesenswert?

Ich benutze auch gerne alte Handy-Netzteile, die liefern im Leerlauf oft 
weit mehr als 5V. Ich belaste sie dann zusätzlich mit einem 220Ω 
Widerstand (den ich ins Kabel einbaue) dann ist die Spannung in der 
Regel nur noch knapp über 5V.

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
Noch kein Account? Hier anmelden.