Go Down

Topic: Was passiert bei falscher Pinbelegung? (Read 1 time) previous topic - next topic

Pantherinae

Huhu,

ich habe gerade auf Grund meiner Ausbildung zum Elektroniker für Betrierbstechnik mit der Microcontrollertechnik angefangen und habe da eine Frage zum Arduino Uno Board.

Was passiert wenn ich z.B. Pin 10 in der Programmierung als Ausgang definiere, aber ein Eingangssignal (z.B. von einem Taster) mit +5V an diesen Pin anlege.
Oder ich z.B. Pin 5 als Eingang definiere und einen Verbraucher (LED) mit der Anode an Pin 5 sowie der Kathode an GND anklemme?

Können möglicherweise Hardwareschäden auftreten?

MfG Pantherinae

kduin

Hallo.

In der Regel nicht.

Man kann das sogar beabsichtigt machen.

Beispiel: LED mit Anode an Pin 8, Kathode an Pin 9 (natürlich mit Widerstand an der LED!!)
Jetzt definiert man PIN 8 und PIN 9 als Outputs und setzt beide auf HIGH.
-> LED leuchtet nicht

Setzt du dann den Kathoden-Pin 9 auf LOW fließt strom. (Potentialausgleich)
-> LED leuchtet

Das nennt sich "sinking".

Udo Klein

Klar kann bei sowas der Controller beschädigt werden. Wenn Du einen Pin auf Output und Low setzt und gleichzeitig 5V anlegst, dann wir mit sehr hoher Wahrscheinlichkeit der maximal zulässige Strom überschritten. Der Erfolg ist dann ein mindestens ein defekter Ausgang :(

Wenn Du hingegen ein LED falsch anschliesst ohne Vorwiderstand, dann ist es eine interessante Frage was warum zuerst kaputt geht. Mit Vorwiderstand hingegen bleibt schlimmstenfalls die LED dunkel und sonst rührt sich nichts.

Wenn Du das Verhalten der verschiedenen Pins mal sehen willst, dann schau Dir mal meine Seite hier an: 
Code: [Select]
http://blog.blinkenlight.net/experiments/basic-sketches/

Gruß, Udo
Check out my experiments http://blog.blinkenlight.net

MaFu


Hallo.

In der Regel nicht.

Man kann das sogar beabsichtigt machen.

Beispiel: LED mit Anode an Pin 8, Kathode an Pin 9 (natürlich mit Widerstand an der LED!!)
Jetzt definiert man PIN 8 und PIN 9 als Outputs und setzt beide auf HIGH.
-> LED leuchtet nicht

Setzt du dann den Kathoden-Pin 9 auf LOW fließt strom. (Potentialausgleich)
-> LED leuchtet

Das nennt sich "sinking".


Eine sinnvolle Anwendung dafür wäre z.B. eine zweifarbige LED mit zwei Anschlusspins. Je nach Flussrichtung leuchtet eine der beiden Farben.
_______
Manfred

Pantherinae

Danke für eure Antworten.

Das heißt für das abwechselnde Leuchten einer Dual-LED könnte ich den Sketch folgendermaßen schreiben:
Die Led wäre dann zwischen Pin 8 und 9 verklemmt.

[font=Verdana]void setup()
{
  pinMode (8, OUTPUT);
  pinMode (9, OUTPUT);
}

void loop()
{
  digitalWrite (8, LOW);
  digitalWrite (9, HIGH);
  delay (200);
  digitalWrite (9, LOW);
  digitalWrite (8, HIGH);
  delay (200);
}[/font]


MfG Pantherinae

volvodani

Genauso sieht es aus. Im Grunde muss man halt nur aufpassen das kein zu hoher STrom fließt bzw eine zu hohe Spannung anliegt. Ich persöhnlich nutze wenn ich höhere Spannungen überwache als 5V trotz Vorteiler immer noch eine 5,1V Z-Diode  (Eingänge sind bis max 5,5V "belastbar"). Dann ist man noch sicherer.
So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

kduin


Klar kann bei sowas der Controller beschädigt werden. Wenn Du einen Pin auf Output und Low setzt und gleichzeitig 5V anlegst, dann wir mit sehr hoher Wahrscheinlichkeit der maximal zulässige Strom überschritten. Der Erfolg ist dann ein mindestens ein defekter Ausgang :(


max. 40 mA pro Port und 200mA für alle Ports zusammen

uwefed


Das heißt für das abwechselnde Leuchten einer Dual-LED könnte ich den Sketch folgendermaßen schreiben:
Die Led wäre dann zwischen Pin 8 und 9 verklemmt.

Ich hoffe Du schließt die LED mit Vorwiderstand in Reihe an.

PS den Kode hebt man mit der Taste mit der Rautentaste hervor.

Grüße Uwe

Schwarzfuss



Klar kann bei sowas der Controller beschädigt werden.

max. 40 mA pro Port und 200mA für alle Ports zusammen

Was denn nu?
Aus dem Datenblatt Atmega8/Atmega168:
"Stresses beyond those listed under "Absolute Maximum Ratings" may cause permanent damage to the device."
Klingt für mich nicht nach Kurzschlussfest!
Gruß Peter

uwefed

Nee, sind nicht kurzschlußfest.
Grüße Uwe

voithian

#10
Nov 20, 2011, 05:04 pm Last Edit: Nov 20, 2011, 05:13 pm by voithian Reason: 1



Klar kann bei sowas der Controller beschädigt werden.

max. 40 mA pro Port und 200mA für alle Ports zusammen

Was denn nu?
Aus dem Datenblatt Atmega8/Atmega168:
"Stresses beyond those listed under "Absolute Maximum Ratings" may cause permanent damage to the device."
Klingt für mich nicht nach Kurzschlussfest!

Ich denke kduin wollte freundlicherweise sagen, dass der max. Strom, der in einen Port hinein- oder herausfließen darf (Sink oder Source) laut Angaben im Datenblatt tunlichst auf 40 mA begrenzt werden sollte. Dass das Ding kurzschlussfest sein soll, kann ich aus seinen Angaben nicht deuten.

Wolfgang


Knauf

Ist es also generell Sinnvoll, bevor man eine neue Schaltung mit dem Arduino verbindet,
den BareMinimum - Sketch zu laden ?

voithian

Hallo Knauf,

was erhoffst du dir davon?

Der BareMinimum-Sketch tut garnichts (mal abgesehen davon, dass in init() für dich unsichtbar ein paar Timer konfiguriert werden)! Das kannst du  auch sehen, wenn du dir den Code anschaust: da stehen in setup() und loop() keine Befehle drin.

Es werden keine Pins auf Ein- oder Ausgang geschaltet, es wird kein Ausgang gesetzt oder zurückgesetzt, es werden keine internen Pull-Up-Widerstände aktiviert oder deaktiviert. Nix!

Im übrigen ist nach einem Reset des Mikrocontrollers (durch Resettaster, Einschalten der Versorgungsspannung, usw.) alles im ungefährlichen Zustand: die I/O-Pins sind im hochohmigen Zustand auf Eingang geschaltet. Da kannst du beliebig 0 Volt oder 5 Volt anlegen ohne etwas kaputt zu machen. Erst wenn dein Programm einen Pin auf "Ausgang" schaltet (z.B. mit pinMode() ) kann es gefährlich werden. Aber da rettet dich auch kein vorheriges Aufrufen des BareMinimum-Sketches oder eines sonstigen Programms.

Wolfgang


Udo Klein

Naja, was für den Controller gilt, gilt für den Arduino noch lange nicht. Siehe hier: http://blog.blinkenlight.net/experiments/basic-sketches/. Davon abgesehen ist alles auf "high Z" nicht notwendig "ungefährlich". Sowas hängt immer auch von der restlichen Schaltung ab. Man sollte so designen, daß diese Situation ungefährlich ist, aber von selber passiert sowas nicht.
Check out my experiments http://blog.blinkenlight.net

Schwarzfuss


Dass das Ding kurzschlussfest sein soll, kann ich aus seinen Angaben nicht deuten.

So interpretiert halt jeder für sich selbst eine Aneinanderreihung von Worten,
ich lese aus "Reply #6" das Anzweifeln von Udos Post,
und wollte eine Klarstellung erreichen, falls es jemand genauso deutet. 8)
Gruß Peter

Go Up