Forum: Mikrocontroller und Digitale Elektronik Arduino - Stromkreis überprüfen


von max (Gast)


Lesenswert?

Hallo :)


Ich würde gerne mit meinem Arduino überprüfen ob ein Stromkreis 
geschlossen oder offen ist. Also Spannung anliegt oder nicht.

Falls Spannung anliegt, soll eine LED leuchten wenn nicht dann soll 
diese aus sein.

Hier der Code:
1
int eingang =1;
2
int led =2;
3
4
void setup() {
5
6
  pinMode(eingang, INPUT);
7
  pinMode(led, OUTPUT);
8
9
}
10
11
void loop() {
12
  
13
  if (digitalRead(eingang)==HIGH) {
14
      digitalWrite(led, HIGH); 
15
  
16
  }
17
  
18
  else {
19
    digitalWrite(led, LOW);
20
  }
21
}

Habe die Massen auf den GND-Pin des Arduinos gesteckt und den Vcc auf 
Pin 2


Wo liegt der Fehler? :)
Danke für die Hilfe

von Lutz H. (luhe)


Lesenswert?

Mit was soll die Ausgangsspannung gemessen oder dargestellt werden?

Als erstes VCC vom Pin zwei abmachen, hoffentlich ist noch nichts 
kaputt.

Leuchtdiode mit 510 Ohm Vorwiderstand basteln.
Dieses Prüfgerät zwischen VCC und GND zum Leuchten bringen.

GND des Prüfgerätes gesteckt lassen und die andere Seite an Pin 2.

Dann Pin 2 immer leuchten lassen
void loop() {


      digitalWrite(led, HIGH);


}
dann Pin 2 immer aus
void loop() {

    digitalWrite(led, LOW);

}


dann das Programm testen

void loop() {

  if (digitalRead(eingang)==HIGH) {
      digitalWrite(led, HIGH);

  }

  else {
    digitalWrite(led, LOW);
  }
}

von Markus (Gast)


Lesenswert?

Vermutlich fehlt am Eingang noch ein Pull-Down Widerstand (10K) nach 
GND, damit im spannungslosen Zustand der Eingang LOW-Pegel erhält.

von Michael (Gast)


Lesenswert?

max schrieb:
> Habe die Massen auf den GND-Pin des Arduinos gesteckt und den Vcc auf
> Pin 2

Hoffentlich hat das den Pin 2 nicht gekillt. In deinem Programm steuerst 
du den Arduino Pin 2 als LED-Ausgang an. Wenn der Ausgang auf LOW 
schaltet, ist das ein Kurzschluss.

> Ich würde gerne mit meinem Arduino überprüfen ob ein Stromkreis
> geschlossen oder offen ist. Also Spannung anliegt oder nicht.

"Stromkreis geschlossen" und "Spannung anliegen" sind zwei völlig 
verschiedene Dinge. Eine Spannung kann auch anliegen, wenn der 
Stromkreis nicht geschlossen ist.

von max (Gast)


Lesenswert?

Michael schrieb:
> schaltet, ist das ein Kurzschluss.

Michael schrieb:
> max schrieb:
>> Habe die Massen auf den GND-Pin des Arduinos gesteckt und den Vcc auf
>> Pin 2
>
> Hoffentlich hat das den Pin 2 nicht gekillt. In deinem Programm steuerst
> du den Arduino Pin 2 als LED-Ausgang an. Wenn der Ausgang auf LOW
> schaltet, ist das ein Kurzschluss.
>
>> Ich würde gerne mit meinem Arduino überprüfen ob ein Stromkreis
>> geschlossen oder offen ist. Also Spannung anliegt oder nicht.
>
> "Stromkreis geschlossen" und "Spannung anliegen" sind zwei völlig
> verschiedene Dinge. Eine Spannung kann auch anliegen, wenn der
> Stromkreis nicht geschlossen ist.

Hallo,

ja ich weiß, ich habe mich verschrieben der Vcc Eingang ist natürlich 
auf 1.

Der PullDown-Widerstand hat auch keine Veränderung gebracht.


Ok, ich möchte einfach wenn ich z.B. den Stecker von der 5V Quelle 
ziehe, die LED ausgeht und wenn ich den Stecker wieder reinstecke die 
LED wieder leuchtet.

von Markus (Gast)


Lesenswert?

Nimm mal einen anderen Eingang anstelle des Pin1, Z.B. Pin 3
Und messe mal die Spannung am Eingangs-Pin.

von Markus (Gast)


Lesenswert?

Und ja, zur Sicherheit noch ein Widerstand z.B. 10K in Serie von der 
Spannungsquelle zum Eingangs-Ping. Bevor der Port grilliert wird...

von max (Gast)


Lesenswert?

Hab den Eingang jetzt auf Pin 4 gelegt aber es funktioniert trotzdem 
nicht. Die LED leuchtet auch, wenn der Draht welcher auf Pin 4 geht 
nicht angesteckt ist.

Bemerkenswert ist auch, wenn ich die USB-Verbindung zum Arduino trenne 
versorgt sich dieser aus dem Eingangsstrom des Pin 4 ist das normal?

von max (Gast)


Lesenswert?

Achja gemessene Spannung ist 5,2 Volt

von Frank (Gast)


Lesenswert?

Besser wäre es, wenn du die (fremde) Spannung bzw. den Strom 
potentialgetrennt misst.

Wenns nur darum geht, ob eine Spannung anliegt: Optokoppler (mit 
primärseitiger Schutzschaltung) oder gleich einen Stromsensor (denn 
meist fließt bei anliegender Spannung auch ein Strom):

http://www.watterott.com/de/ACS714-Stromsensor-Breakout-Board-5-to-5A

von Markus (Gast)


Lesenswert?

max schrieb:
> Hab den Eingang jetzt auf Pin 4 gelegt aber es funktioniert trotzdem
> nicht. Die LED leuchtet auch, wenn der Draht welcher auf Pin 4 geht
> nicht angesteckt ist.

Was für eine Spannung kannst du messen an Pin4, wenn dort nichts 
anghängt ist?

> Bemerkenswert ist auch, wenn ich die USB-Verbindung zum Arduino trenne
> versorgt sich dieser aus dem Eingangsstrom des Pin 4 ist das normal?

Nein, und wenn es so wäre, ist es äusserst ungesund

von Timm R. (Firma: privatfrickler.de) (treinisch)


Lesenswert?

Hallo,

wie wäre es mit einem Schaltplan?

vlg
 Timm

P.S. oder einem guten Foto?

: Bearbeitet durch User
von max (Gast)


Angehängte Dateien:

Lesenswert?

Markus schrieb:
>> Bemerkenswert ist auch, wenn ich die USB-Verbindung zum Arduino trenne
>> versorgt sich dieser aus dem Eingangsstrom des Pin 4 ist das normal?
>
> Nein, und wenn es so wäre, ist es äusserst ungesund

Ja das ist blöd, denn genau das passiert...

Habe einen Schaltplan angehängt.

von max (Gast)


Lesenswert?

Okey ich denke die ganze Sache hat sich erledigt. Der Arduino ist 
hinüber...

Wenn ich
1
int led =1;
2
3
void setup() {
4
5
  pinMode(led, OUTPUT);
6
7
}
8
9
void loop() {
10
 digitalWrite(led, HIGH);
11
 delay(1000);
12
 digitalWrite(led, LOW);
13
14
}

Versuche, geht bei jedem Pin den ich ansteuer von 1-13 die LED zwar an, 
doch nie wieder aus. :(

Nehme also mal an ich hab den Microcontroller irgendwie geschrottet.
So ein Scheiß.

Kann ich einfach den ATmega328 nachkaufen und ins jetzige Board stecken, 
oder denkt ihr der ganze Arduino hats hinter sich?

Danke für eure Hilfe

von spess53 (Gast)


Lesenswert?

Hi

>Versuche, geht bei jedem Pin den ich ansteuer von 1-13 die LED zwar an,
>doch nie wieder aus. :(

Dann mach mal nach

digitalWrite(led, LOW);

auch ein delay(1000);

rein.

MfG Spess

von max (Gast)


Lesenswert?

Okey Fail. Das ist jetzt peinlich.

Habe das Delay am Schluss vergessen die Ports funktionieren wunderbar.

von Markus (Gast)


Lesenswert?

Häng mal die Batterie ab von Pin1 und schliesse sie mit einem 10K 
Vorwiderstand an PIN4.
Hänge einen weiteren Widerstand (100K) von Pin 4 nach GND.

von max (Gast)


Lesenswert?

Ähm Okey ich denke es ist besser bei dem ganzen durcheinander und  dem 
Pin gewechsle diese zu ändern.


Also mein Eingang für die Stromquelle liegt nun auf 8 und der Ausgang 
für die LED auf 9.


Trifft diese Anweisung von vorher dann noch immer zu?

von Marcus W. (marcusaw)


Lesenswert?

NIE NIE NIEMALS ohne Vorwiderstand eine Spannung an die Inputs. Im 
dümmsten Fall ergibt das einen Kurzschluss und der µC stößt den 
magischen weißen Rauch, der ihn am Leben hält, aus. Wenn der Rauch 
rauskommt, hast du echt Arbeit, möglichst viel davon wieder 
reinzubekommen - meistens kauft man lieber gleich nen neuen ;)

von max (Gast)


Lesenswert?

Tatsächlich, nun klappt es.

Das mit den 100KOhm verstehe ich ja, das ist der PullDOwn Widerstand 
oder?


Aber wenn ich beim Vcc der Batterie 10KOhm in Serie schalte, warum kommt 
dann noch eine Spannung durch? Beim messen zeigt er mir an er hat 0.11 
Volt zu wenig für einen HIGH Pegel..

von max (Gast)


Lesenswert?

Die nächste Frag wäre dann, warum die LED noch leuchtet (jedoch 
schwächer)  wenn nur der Masse Pin abgesteckt ist..? Hängt dies damit 
zusammen dass die 5Volt aus der Steckdose kommen und somit die gleiche 
Masse wie der Arduino hat?

von Marcus W. (marcusaw)


Lesenswert?

Das liegt daran, dass es dem µC erstmal wurscht ist, woher und an 
welchem Punkt er seine Spannung bekommt. Solange eine Spannung an einem 
Eingang anliegt und eine Masse dieser Spannung vorhanden, hast du einen 
Stromkreis. Ob es ihm guttut (tut es garantiert nicht) ist eine andere 
Sache.

von Karl H. (kbuchegg)


Lesenswert?

max schrieb:

> Aber wenn ich beim Vcc der Batterie 10KOhm in Serie schalte, warum kommt
> dann noch eine Spannung durch?

Weil der Eingang des Ardunion so hochohmig ist, dass sich mit dem 10kOhm 
nur ein minimalistischer Spannungsteiler einstellt.
Sprich: da fliesst so wenig Strom, dass am 10kOhm Widerstand keine 
nennenswerte Spannung abfällt.

> Beim messen zeigt er mir an er hat 0.11
> Volt zu wenig für einen HIGH Pegel..

Das reicht noch lange für ein High.
Die Grenze für High-Low liegt viel tiefer.

von Karl H. (kbuchegg)


Lesenswert?

max schrieb:
> Die nächste Frag wäre dann, warum die LED noch leuchtet (jedoch
> schwächer)  wenn nur der Masse Pin abgesteckt ist..?

Weil dann an deinem 'Messpin' gar nichts angesteckt ist.
Damit hängt der in der Luft.
Es ist aber ein Trugschluss anzunehmen, dass ein Pin, an dem nichts 
hängt, automatisch 0 Potential hat! Das hat er nicht.
Tatsächlich ist der Eingang dann so hochohmig, dass er sich jedes 
dahergelaufene elektromagnetische Feld aus der UMgebung einfängt. Der 
Pin wirkt wie eine Antenne.

Und genau deshalb brauchst du an so einem Pin einen Pull-Down Widerstand 
(also einen Widerstand vom Pin nach GND), der dem Pin auch dann noch 
einen sauberen Pegel aufzwingt, wenn sonst nichts am Pin angeschlossen 
ist.

Glimmen tut die LED deshalb, weil der Pin ja kein definiertes Potnetial 
mehr hat, sondern sich alles einfängt, was da kreucht und fleucht. Zum 
Beispiel auch Wechselspannungen, von denen wir alle umgeben sind, und 
die zb im Falle des 230V Stromnetzes in deiner Wand, mit 50Hz zwischen 0 
und 1 wechseln. 50 Wechsel in der Sekunde sind für deine Augen zu 
schnell, da kommst du nicht mehr mit. Also siehst du das als glimmen.

von max (Gast)


Lesenswert?

Ah Okey verstanden.
Vielen Dank! :)

Beitrag #5763372 wurde von einem Moderator gelöscht.
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.