Digitalpin Eingang mit USB Lader 5V 500 - 1000ma beaufschlagen?

Eine Stromstärke kann man in einen Pin nicht "reinpumpen". Wird der Pin als Eingang definiert, so ist er selbst hochohmig. Der Strom stellt sich über diesen Widerstand und über die angelegte Spannung ein. Fazit: Dem Eingang passiert in der Theorie nichts. Ganz anders sieht es aus, wenn die Spannung über 5V liegt, Da müssen andere Maßnahmen getroffen werden, um den Eingang zu schützen.

wieviel ma verträgt so ein eingang?

Falsche Frage :wink:

Wenn's tatsächlich ein Eingang ist, werden ca. 0 mA fliessen.

Mit

pinmode(pin, OUTPUT);
digitalWrite(pin, LOW);

machst du ihn aber sicher kaputt.

Ich will damit abfragen ob an einer leitung spannung anliegt.
also masse verbinden und +5v an einen pin.

Zur Sicherheit 1k von deinem 5V Signal zum Pin und 10k zwischen Pin und GND (PullDown)
Dann hast du bei richtiger Beschaltung als Eingang immer noch sicher HIGH und es fliessen 0.5 mA
Du kannst das Signal auch ganz abziehen und siehst dann LOW.

Mit oben genanntem mutwillig falschen Sketch fliesst 5mA in den Arduino, was dieser locker wegsteckt.

ok, ich habs evtl etwas wirr erklärt.
ich will damit abragen ob eine pumpe oder ventilator läuft (also spannung anliegt) oder nicht.
ich dachte mir das geht am einfachsten mit einem usb lader fürs handy.
die sollten genau 5v bringen und halt 500 - 1000ma.
ich wusste nicht wie hochohmig so ein pin als eingang konfiguriert ist, deshalb meine frage ob die stromstärke zuviel sein wird.

aber ich denke michael_x und sth77 haben meine frage schon beantwortet.
wenn der steckerlader 100v - 220v dann sicher 5v bringt und der pin als eingang konfiguriert ist sollte nichts passieren.
sind die pins standard als ausgang oder eingang konfiguriert?

aber ich glaube die lösung mit den 2 widerständen ist das sicherste.

danke euch.

ich dachte mir das geht am einfachsten mit einem usb lader fürs handy.

Ja. Heutzutage fragen die Leute ja eher, gibts da keine iPhone App für ? ( Spannungsprüfer 220V )
Aber die Dinger schwirren eh rum, warum also nicht.
Die Frage ist nur, wie lange siehst du noch die 5V, nachdem die 220 V schon weg sind, bzw. stört das ?

Ich will auch keinen verleiten, was anderes als GS geprüfte Geräte in eine Steckdose zu stecken, ansonsten wäre dies auch eine Antwort.

deine andere lösung habe ich auch gesehen, aber ich dachte einfacher gehts mit nem lader.
ob die 5v noch 2min länger anliegen stört mich nicht, ich will nur sehen ob grad mit pellet, öl oder solar geheizt wird.

beziehen sich die 40ma nicht auf den output?

@Dimivo,
ein Netzteil mit 5V/1A sagt ja nichts weiter aus, als das das Netzteil 1A Strom liefern kann.
Welcher Strom letztendlich fließt hängt von der Last (dem Lastwiderstand) ab, die dran hängt.

In dem Anwendungsfall hier ist es viel wichtiger die Spannung von 5V zu verifizieren!
Ich habe hier etliche "angebliche" 5V-Steckernetzteile rumliegen, die im Leerlauf locker 7-8V Ausgangsspannung haben und erst bei (entsprechend hoher) Belastung auf ca. 5V einbrechen.

Grüßle Bernd

Burnsi:
beziehen sich die 40ma nicht auf den output?

Ja, beziehen sich auf den max Ausgangsstrom eines Pins. Der Ausgangsstrom ist aber noch weiter limiiert: 200mA Gesamtstrom für alle Ausgänge und 100 bzw 150mA für einen Port (8 Pins).
Ich hab noch nicht verstanden wie Du das Netzteil benutzt um zu

sehen ob grad mit pellet, öl oder solar geheizt wird

Grüße Uwe

Dimivo:
@BerndJM: Soweit ist mir klar, dass der Strom abhängig vom Verbraucher ist. Die Frage wäre wirklich, ob am Eingang des Arduino 1A ohne Schaden zulässig wären, oder ob da die 40mA wirklich die Grenzen sind.

Die Grenzen sind:
40mA max je Pin als Ausgang
200mA als Summe aller LOW bzw HIGH Pins (fließt über Versorgungspannungspin bzw Massepin des ATmega)
100mA für Port
150mA für Port wegen interner Verbindung Versotrgungspannung/masse zu den Ports.

Siehe http://www.atmel.com/Images/doc8161.pdf
Seite 313 Tabelle 28.1

DC Current per I/O Pin ............................................... 40.0 mA
DC Current VCC and GND Pins................................ 200.0 mA

und Seite 314 Fußnote 3 und 4 von Tabelle 28.2

  1. Although each I/O port can sink more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
    ATmega48PA/88PA/168PA/328P:
    1] The sum of all IOL, for ports C0 - C5, ADC7, ADC6 should not exceed 100 mA.
    2] The sum of all IOL, for ports B0 - B5, D5 - D7, XTAL1, XTAL2 should not exceed 100 mA.
    3] The sum of all IOL, for ports D0 - D4, RESET should not exceed 100 mA.
    If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test condition.
  2. Although each I/O port can source more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
    ATmega48PA/88PA/168PA/328P:
    1] The sum of all IOH, for ports C0 - C5, D0- D4, ADC7, RESET should not exceed 150 mA.
    2] The sum of all IOH, for ports B0 - B5, D5 - D7, ADC6, XTAL1, XTAL2 should not exceed 150 mA.
    If IIOH exceeds the test condition, VOH may exceed the related specification. Pins are not guaranteed to source current greater than the listed test condition.

und

B (digital pin 8 to 13)
C (analog input pins)
D (digital pins 0 to 7)

Der Strom der in einen Eingang fließt hängt von der angelegten Spannung und vom Innenwiderstand des Eingangs ab. Arduino hat einen Eingangswiderstand von über 5MOhm, das heißt es fließen weniger als 1µA (1 millionstel Ampere).
Es ist egal wieviel Strom das Netzteil oder die Batterie liefern kann. es fleißt immer nur ein sehr kleiner Strom.
Es ist sicher nicht sinnvoll ein zu großes Netzteil zu nehmen (zB ein PC Netzteil mit 500W) da diese entsprechend teuer sind und auch verhältnismäßig viel Leerlaufstrom verbrauchen.

Grüße Uwe

uwefed:

Burnsi:
beziehen sich die 40ma nicht auf den output?

Ja, beziehen sich auf den max Ausgangsstrom eines Pins. Der Ausgangsstrom ist aber noch weiter limiiert: 200mA Gesamtstrom für alle Ausgänge und 100 bzw 150mA für einen Port (8 Pins).
Ich hab noch nicht verstanden wie Du das Netzteil benutzt um zu

sehen ob grad mit pellet, öl oder solar geheizt wird

Grüße Uwe

ich habe mir das so gedacht.
die 3 heizungen schalten sich durch ihre steuerungen ein und aus.
bei jeder heizung läuft eine andere umwälzpumpe wenn sie heizt.
diese pumpen laufen ja mit 220v, also kann ich auf dieses kabel auch einen usb lader mit anstecken.
der usb lader liefert mir dann die 5v auf einen pin und schaltet ihn high.
dadurch weiss ich welche heizung wie lange gelaufen ist und kann evtl meine zeiten optimieren.

Wenn der Pin sicher ein Eingang bleibt, ist der Strom kein Thema.
Uwe's Einwand des Stromverbrauchs eines offen betriebenen USB Laders ist vermutlich auch nicht so gravierend, im Vergleich zum Stromverbrauch von Pumpe / Ventilator, die ja eigentlich "überwacht" werden.
Aber Bernd's Einwand:

In dem Anwendungsfall hier ist es viel wichtiger die Spannung von 5V zu verifizieren!
Ich habe hier etliche "angebliche" 5V-Steckernetzteile rumliegen, die im Leerlauf locker 7-8V Ausgangsspannung haben und erst bei (entsprechend hoher) Belastung auf ca. 5V einbrechen.

ist sehr wichtig: Der Arduino mag keine Eingangsspannung über 5.5 V, egal wie wenig Strom fließt.

Eine 4.7V Zenerdiode ( zusätzlich zu den schon beschriebenen Widerständen ) wäre in diesem Fall erforderlich.

dann wäre es einfacher wenn ich gleich ein 3v netzteil nehme.
dann habe ich etwas puffer.

Bei Reichelt gibt es "ECO-friendly Steckernetzteil" für 5,- bis 10,- Euro. Die liefern die Korrekt Ausgangsspannung haben einen guten Wirkungsgrad und verbrauchen im Standby weniger als 0,5 Watt. Vieleicht solltest du einfach sowas zur Spannungsversorgung verwenden.

http://www.reichelt.de/Universalnetzteile/2/index.html?;ACTION=2;LA=2;GROUPID=4945;SID=11UKUCjX8AAAIAADFjKvg00f68707e5b3434350c591a35f92083d

Burnsi:
dann wäre es einfacher wenn ich gleich ein 3v netzteil nehme.
dann habe ich etwas puffer.

Arduino siehr Spannungen von 3,0V bis 5,5V als HIGH (bei Spannungsversorgung mit 5,0V) Wenn dein 3V Netzteil nicht genau 3V hat kann es sein daß Arduino nicht HIGH sieht.
Grüße Uwe

Diese günstigen USB-Netzteile kann man ruhig nehmen, ich würde aber eine andere Schutzschaltung präferieren. Das hatten wir erst kürzlich einen Thread, hier wurde ein Optokoppler vorgeschlagen. Damit haben wir die zu überwachende Netzspannung schon mal galvanisch vom Arduino getrennt.

michael_x:
Wenn der Pin sicher ein Eingang bleibt, ist der Strom kein Thema.
Uwe's Einwand des Stromverbrauchs eines offen betriebenen USB Laders ist vermutlich auch nicht so gravierend, im Vergleich zum Stromverbrauch von Pumpe / Ventilator, die ja eigentlich "überwacht" werden.
Aber Bernd's Einwand:

In dem Anwendungsfall hier ist es viel wichtiger die Spannung von 5V zu verifizieren!
Ich habe hier etliche "angebliche" 5V-Steckernetzteile rumliegen, die im Leerlauf locker 7-8V Ausgangsspannung haben und erst bei (entsprechend hoher) Belastung auf ca. 5V einbrechen.

ist sehr wichtig: Der Arduino mag keine Eingangsspannung über 5.5 V, egal wie wenig Strom fließt.

Eine 4.7V Zenerdiode ( zusätzlich zu den schon beschriebenen Widerständen ) wäre in diesem Fall erforderlich.

Wo kein Strom, da keine Spannung. Wenn du eine Leerlaufspannung von mehr als VCC+0.7V oder so anlegst, fließt Strom durch die ESD-Dioden (und die parasitären Substratdioden der MOSFETs), welche den Pin beschädigen können wenn der Strom zu hoch ist. Daher kommt die Gefahr der Eingangsspannungen. Ist dieser Strom jedoch durch einen Widerstand beschränkt, sorgen die Dioden auch dafür, dass die Spannung am Pin wieder sinkt. Es muss nur sicher gestellt werden, dass das nicht bei zu großem Strom passiert, da das wieder auf die Dioden geht. Daher ist eine Schutzschaltung sinnvoll. Ausreichend dimensionierte Widerstände sollten reichen, aber eine Z-Diode schadet nicht.
Weiterhin könnte man auch einen Spannungsteiler verwenden. Hierbei sollte aber sichergestellt sein, dass der Pegel bei aktivem Netzteil deutlich über VIH liegt. Zwar verhindert ein Schmitt-Trigger, dass nennenswert statische Verluste auftreten, aber ich denke du hättest trotzdem gerne einen stabilen Pegel. Ansonsten gäbe es noch den ADC oder den Komparator.

Diese Aussage kann ich nicht teilen. Spannung (Potentialunterschied) kann vorhanden sein ohne daß Strom fließt. Strom fließt aber immer zwischen 2 verschiedenen Potentialen (Dichte der freien Ladungen in einem Leiter).

[quote author=Fat D]
Weiterhin könnte man auch einen Spannungsteiler verwenden. Hierbei sollte aber sichergestellt sein, dass der Pegel bei aktivem Netzteil deutlich über VIH liegt. Zwar verhindert ein Schmitt-Trigger, dass nennenswert statische Verluste auftreten, aber ich denke du hättest trotzdem gerne einen stabilen Pegel. Ansonsten gäbe es noch den ADC oder den Komparator. [/quote]

Die Engänge des Arduino haben keine Schmitttrigger-Funktion.

Ich tendiere für die Vorwiderstand-Zdioden-Lösung oder bei gewollter galvanischer Trennung (wegen Potentialunterschied auf Erdungsleiter und geerdeter Masse der Sekundärseite des Netzteils) für einen Optokoppler. EingangsLED mit Vorwiderstand an Netzteil; Ausgangstransistor zwischen Eingang und Masse und Pullup-Widerstand aktivieren.

Grüße Uwe

uwefed:

[quote author=Fat D link=topic=132411.msg997607#msg997607 date=1353005646]
...
Wo kein Strom, da keine Spannung. ...

Diese Aussage kann ich nicht teilen. Spannung (Potentialunterschied) kann vorhanden sein ohne daß Strom fließt. Strom fließt aber immer zwischen 2 verschiedenen Potentialen (Dichte der freien Ladungen in einem Leiter).[/quote]
In Ordnung, ich präzisiere: Bei endlichem Widerstand. Und die Inputs haben soetwas, besonders wenn die Dioden leitfähig werden.

uwefed:

[quote author=Fat D]
Weiterhin könnte man auch einen Spannungsteiler verwenden. Hierbei sollte aber sichergestellt sein, dass der Pegel bei aktivem Netzteil deutlich über VIH liegt. Zwar verhindert ein Schmitt-Trigger, dass nennenswert statische Verluste auftreten, aber ich denke du hättest trotzdem gerne einen stabilen Pegel. Ansonsten gäbe es noch den ADC oder den Komparator.

Die Engänge des Arduino haben keine Schmitttrigger-Funktion.
[/quote]
Atmega328P-Datenblatt Abbildung 13-2 (Seite 76) unten. In Abschnitt 13.2.5 noch mal seperat erwähnt. Gut, es ist kein präzise spezifizierter oder einstellbarer Schmitt-Trigger, aber es sollte gut genug sein, um statische Verluste zu minimieren. Dynamische allerdings könnten durch Rauschen weiterhin entstehen, je nach Hysterese mehr oder weniger.

Hallo, um drei Pumpen zu überprüfen, ob sie laufen oder nicht - so ein TamTam ?
Ein paar Bauteile für ein paar Cent, zeigt bei den Pumpen durch eine LED an, ob sie angeschaltet sind oder nicht und der Ausgang der Schaltung kann mit dem Arduino weiter verarbeitet werden.

Gruß Gerd

Unknown (7.05 KB)

Ja, die Vorgabe war, es sollte einfach sein.
Und was ist einfacher, als ein rumfliegendes 220VStecker -> USB5V Teil mit der Pumpe zusammen in eine Steckdose zu stecken.
Soweit die einfache Ansatz.

Sich dafür extra so ein Teil anzuschaffen ist natürlich nur für Leute, die prinzipiell die Finger von 230V AC lassen, wozu ich keinen überreden möchte.

In reply #6 hab ich schon vorsichtig einen Link auf einen ähnlichen Vorschlag wie du gemacht.

230 V AC P --- 68k ----+---+

|   |  
                      _   v       C  --- PIN mit Pullup  
                      ^   -  => |
                      |   |       E  --- GND
230 V AC N --- 68k ----+---+
                           opto


Ich hoffe, du kannst den OptoKoppler und eine Diode in meiner "Grafik" erkennen 
Diese Diode kann auch eine LED sein, dann siehst du gleich, ob das 230V Signal an oder aus ist.
Opto und Diode begrenzen gegenseitig das VR.

Die zwei Widerstände machen es weniger gefährlich, P und N zu vertauschen.

Man braucht sogar 2 Dioden weniger, weil die LED genausogut die Gegenrichtung zum Optokoppler bilden kann.
3 Dioden (V33, V31, V40) hintereinander bringen weder in Sperr-Richtung noch in Durchlass-Richtung einen Vorteil.
Hauptsache der Optokoppler und die LED kriegen in Sperr-Richtung nicht die ganzen 325Vpeak ab, aber da können sie sich ja gegenseitig helfen.

Wenn auf der Sekundär-Seite des Optokopplers nichts dranhängt ( ausser dem Pullup Widerstand am OpenCollektor Ausgang ), reichen auch kleinere Ströme als deine 8 mA durch den 44k Widerstand, nach meiner Erfahrung. Und ob der Arduino ein geglättetes Dauersignal oder 50 Hz Pulse kriegt, ist eigentlich egal. (Bei Pulsen weiss man schon nach 21 msec, dass da was aus ist)

Kleiner Nachtrag: 2*68k liefern einen recht kleinen Strom, der bei mir aber reicht. Bei kleineren Widerständen unbedingt die Verlustleistung beachten, oder evtl. auf mehr Standard 1/4W Widerstände verteilen. Danke, Uwe.