Offline
Newbie
Karma: 0
Posts: 3
|
 |
« on: November 19, 2011, 08:17:00 am » |
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
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 1
Posts: 260
|
 |
« Reply #1 on: November 19, 2011, 10:21:54 am » |
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".
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3196
20 LEDs are enough
|
 |
« Reply #2 on: November 19, 2011, 10:40:36 am » |
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: http://blog.blinkenlight.net/experiments/basic-sketches/ Gruß, Udo
|
|
|
|
|
Logged
|
|
|
|
|
Munich/Germany
Offline
God Member
Karma: 8
Posts: 561
|
 |
« Reply #3 on: November 19, 2011, 10:48:15 am » |
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.
|
|
|
|
|
Logged
|
_______ Manfred
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 3
|
 |
« Reply #4 on: November 19, 2011, 11:18:46 am » |
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.
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); }
MfG Pantherinae
|
|
|
|
|
Logged
|
|
|
|
|
AREA COLOGNE
Offline
God Member
Karma: 12
Posts: 808
I am 1 of 10 who understands binary
|
 |
« Reply #5 on: November 19, 2011, 12:32:58 pm » |
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.
|
|
|
|
|
Logged
|
Eine Glatze ist wohl die AUSGEFALLENste Frisur von allen.
|
|
|
|
Offline
Sr. Member
Karma: 1
Posts: 260
|
 |
« Reply #6 on: November 19, 2011, 12:54:26 pm » |
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
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
BZ (I)
Online
Brattain Member
Karma: 162
Posts: 15739
+39 349 2158303
|
 |
« Reply #7 on: November 19, 2011, 05:09:12 pm » |
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
|
|
|
|
|
Logged
|
|
|
|
|
MK (D)
Offline
Full Member
Karma: 8
Posts: 170
Arduino rocks
|
 |
« Reply #8 on: November 20, 2011, 06:21:17 am » |
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!
|
|
|
|
|
Logged
|
Gruß Peter
|
|
|
|
Forum Moderator
BZ (I)
Online
Brattain Member
Karma: 162
Posts: 15739
+39 349 2158303
|
 |
« Reply #9 on: November 20, 2011, 06:41:21 am » |
Nee, sind nicht kurzschlußfest. Grüße Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Neuss
Offline
Full Member
Karma: 0
Posts: 195
|
 |
« Reply #10 on: November 20, 2011, 11:04:58 am » |
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
|
|
|
|
« Last Edit: November 20, 2011, 11:13:58 am by voithian »
|
Logged
|
|
|
|
|
Berlin/Germany
Offline
Newbie
Karma: 0
Posts: 15
|
 |
« Reply #11 on: November 20, 2011, 11:13:01 am » |
Ist es also generell Sinnvoll, bevor man eine neue Schaltung mit dem Arduino verbindet, den BareMinimum - Sketch zu laden ?
|
|
|
|
|
Logged
|
|
|
|
|
Neuss
Offline
Full Member
Karma: 0
Posts: 195
|
 |
« Reply #12 on: November 20, 2011, 12:20:16 pm » |
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
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3196
20 LEDs are enough
|
 |
« Reply #13 on: November 20, 2011, 12:27:26 pm » |
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.
|
|
|
|
|
Logged
|
|
|
|
|
MK (D)
Offline
Full Member
Karma: 8
Posts: 170
Arduino rocks
|
 |
« Reply #14 on: November 20, 2011, 12:36:54 pm » |
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. 
|
|
|
|
|
Logged
|
Gruß Peter
|
|
|
|
|