Pages: [1]   Go Down
Author Topic: arduino mega 2560 R3 - Pin 13, 20 und 21 immer high??  (Read 1275 times)
0 Members and 1 Guest are viewing this topic.
Germany
Offline Offline
Newbie
*
Karma: 1
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hallo,

habe seit heute ein arduino mega 2560 r3.
gleich beim ersten anstecken und bare minimum sketch aufspielen ist mir aufgefallen, dass die led an pin 13 dauerhaft leuchtet...

wenn ich dann allerdings eine echte led an pin 13 anschließe, leuchten diese und die auf dem board nicht mehr, so wie es ja sein sollte.

was könnte das sein?
bootloader vom 2560 habe ich schon mal neu geschrieben, keine veränderung.

habe mal alle 53 pins ausgelesen, pin 13, 20 und 21 werden immer high angezeigt.


vielen dank,
stefan
Logged

Germany
Offline Offline
Newbie
*
Karma: 1
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

habe gerade mit einem multimeter nachgemessen:

im bare minimum sketch, also ohne irgendwelche anweisungen, liegen zwischen GND und pin13 0,38V an... ?!?
die kleine led leuchtet dauerhaft.

edit: an allen pins liegen ca. 0,35V an...

edit2: wenn ich das board nur an einem 9V netzteil betreibe messe ich an allen digitalen pins 1,2V...


setze ich den pin auf LOW sind es 0V und auf HIGH dann 5V.
an pin 21 und 21 liegen immer knapp 5V an.

hilfe! =)
lg,
stefan
« Last Edit: January 28, 2013, 04:36:25 pm by tres » Logged

Germany
Offline Offline
Edison Member
*
Karma: 46
Posts: 2310
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Wie üblich gilt: Wer misst, misst Mist.
Arduino (Atmega) pins default to inputs, so they don't need to be explicitly declared as inputs with pinMode(). Pins configured as inputs are said to be in a high-impedance state.
Die Pins sind standardmäßig hochohmige Eingänge. Daran eine Spannung messen zu wollen ist irgendwie Banane...
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Germany
Offline Offline
Newbie
*
Karma: 1
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, messen macht keinen sinn, aber warum leutet die led an pin 13 dauerhaft?
ist das wohl normal, mein UNO machts ja auch nicht?
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21277
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

wenn ich dann allerdings eine echte led an pin 13 anschließe, leuchten diese und die auf dem board nicht mehr, so wie es ja sein sollte.
Nein, das sollte so nicht sein. Hast Du einen Vorwiderstand in Reihe zum LED geschaltet? Es sollten beide leuchten. Wenn Du das LEd ohne Vorwiderstand angeschlossen hast ist es möglich (auch wenn wenig wahrscheinlich) daß das Pin kaputtgegangen ist und dauerhaft auf H liegt.

Pin die nicht explizit als Ausgänge definiert wurden sind Eingänge. Diese sind hochohmig (größer als 1MOhm) Wenn Du nun mit einem noch hochohmigeren Meßgerät mißt, dann miß Du die Spannung die durch Leckströme gegeben ist. Schalte mal einen großen Widerstand (zB 100kOhm) zwischen den Pins auf Masse und miß die Spannung. Du wirst sehen sie wird 0V sein.

Quote
an pin 21 und 21 liegen immer knapp 5V an.
Du meinst 20 und 21. Da dran ist die I2C Schnittstelle und darum mit einer anderen Doppelfunktion (und darum interne Elektronik) als die anderen Pins. Dies kann ruhig dazu führen daß die Leckströme die Pins auf 5V ziehen und nicht auf 0,35V wie die anderen Pins.

Generell ist zu, sagen daß Digitale Multimeter mit ihrem hohen Eingangswiderstand zwar die zu messende Schaltung nicht belasten und dadurch stören, aber dadurch können Spannungen gemessen werden, die durch kleine Leckströme ( nicht 100%-es Sperren von MOSFET-Transistoren) an den Eingangsimpedanzen erzeugt werden. Wenn Du mit einem Drehspulmeßgerät mißt, dann mißt Du in diesen Fällen nichts weil dies eine kleineren Innenwiderstand haben.
Nicht umsonst habe ich in der Schule 2 Jahre lang Meßtechnik als Fach gehabt mit 4 Stunden in der Woche. Richtig messen ist eine Kunst und noch schwieriger ist es, alle (möglichen) Fehlerquellen zu erkennen und zu beseitigen bzw sich bewußt zu sein "wieviel" man falsch mißt.

Quote
habe seit heute ein arduino mega 2560 r3.
gleich beim ersten anstecken und bare minimum sketch aufspielen ist mir aufgefallen, dass die led an pin 13 dauerhaft leuchtet...
Das kann ich mir nicht erklären. Mit dem http://arduino.cc/en/Tutorial/blink sketch müßte das LED mit 0,1 Hz blinken ( 1s an und 1s aus) War das Led an pin 13 auch dauerhaft an bevor Du den ersten Sketch hinaufgeladen hast? Bist Du sicher daß Du nicht die Pin L mit PWR verwechselst?

grüße Uwe
« Last Edit: January 28, 2013, 05:07:42 pm by uwefed » Logged

Germany
Offline Offline
Edison Member
*
Karma: 46
Posts: 2310
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mit dem http://arduino.cc/en/Tutorial/blink sketch müßte das LED mit 0,1 Hz blinken ( 1s an und 1s aus)
Gehen italienische Uhren etwas anders? smiley-wink Ein Durchlauf dauert hierzulande 2 Sekunden, was eine Frequenz von 0,5 Hz ergibt.
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Germany
Offline Offline
Newbie
*
Karma: 1
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hallo uwe, danke für deien ausführliche antwort!!!

Quote
Nein, das sollte so nicht sein. Hast Du einen Vorwiderstand in Reihe zum LED geschaltet?
ja die angeschlossene LED hat einen vorwiderstand, das ist meine "testLED" da habe ich den widerstand fest ins beinchen gelötet.
was ich mit "sie leuchten nichtmehr, so wie es sein sollte" meinte, ist dass das unerklärliche dauerleuchten bei einem bare minimum sketch weg ist.
stelle ich pin 13 auf high leuchten beide und bei low keine.

das mit pin 20 und 21 habe ich verstanden, bin noch von den vielen pins des MEGA verwirrt =)
... und danke für die erklärung zum messen, da muss ich mich wohl auch mal genauer mit beschäftigen!

Code:
Das kann ich mir nicht erklären. Mit dem http://arduino.cc/en/Tutorial/blink sketch müßte das LED mit 0,1 Hz blinken...
das tut sie auch. die led und der pin 13 funktionieren so gesehen ganz normal. auch pwm geht.

als ich das board ausgepackt hatte und zum allerersten mal ans usbkabel gehängt hatte hat die led dauerhaft geblinkt, ich denke mal das ist factory default oder so.
dann habe ich den treiber in windows installiert und zuallererst "bare minimum sketch" drauf. und da hat sie dann kontinuierlich geleuchtet.
die led leuchtet auch nicht sehr hell. beim blink beispiel leuchtet sie viel heller.
ich meine schon die gelbe led direkt neben pin 13, mit dem L daneben.

danke für deine mühen smiley-wink


Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21277
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die LED L an Pin 13 ist in den R3 Versionen über als Spannungfolger geschaltenen Opertionsverstärker vom Pin ausgekoppelt. So ist weder ein Pulldown-Widerstand (Vorwiderstand mit LED) noch eine Belastung an Pin 13. Die Spannungsvolgerschaltung des OPAMP hat eine sehr hohen Eingangsimpedanz. Das gleiche wie bereits für das Meßgerät gesagte, gilt auch für diese Schaltung. Die LED könnte durch Störungen auch sehr schnell blinken (50Hz) wenn das Pin als Eingang geschaltet ist. wenn Du wieder einen 100kOhm Widerstand auf Masse schaltets hört dann das leuchten auf?

Grüße Uwe. 
Logged

Germany
Offline Offline
Newbie
*
Karma: 1
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi uwe,

pinMode nicht explizit gesetzt & pin 13 ohne 100k widerstand zu ground --> LED an

pinMode nicht explizit gesetzt & pin 13 mit 100k widerstand zu ground --> LED aus

pinMode(13, OUTPUT); & pin 13 ohne 100k widerstand zu ground --> LED aus

pinMode(13, INPUT); & digitalRead(13); gibt mir ein "1"


es reicht auch schon wenn ich mit meinem finger von unten an die lötstellen fasse, dann geht die led auch aus. ich bin dann quasi der widerstand.

aber woher könnte denn die störung kommen?
die frage ist ja eigentlich, ist das ein "defekt" und sollte ich das board zurückschicken, oder hat das "phantomleuchten" keine nennenswerten auswirkungen?

lg,
stefan

p.s.:
ich hatte im englischsprachigen teil des forums einen thread ausgemacht, bei dem das "problem" auch angesprochen,
aber nicht wirklich gelöst bzw, erklärt wurde: http://arduino.cc/forum/index.php/topic,136476.0.html

bei den verschiedenen leuten ist es mal der UNO deran 13 leuchtet, mal ein DUE oder ein MEGA... scheint also zufall zu sein.
ein poster hat einen "bootloader bug" vermutet?
ich habe leider nur den UNO und den MEGA zum testen.
« Last Edit: January 28, 2013, 06:59:11 pm by tres » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21277
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi uwe,

pinMode nicht explizit gesetzt & pin 13 ohne 100k widerstand zu ground --> LED an

pinMode nicht explizit gesetzt & pin 13 mit 100k widerstand zu ground --> LED aus
hab ich so erwartet.

Quote from: tres
pinMode(13, OUTPUT); & pin 13 ohne 100k widerstand zu ground --> LED aus
Du schließt den Ausgang auf masse kurz. So machst Du den Arduino kaputt.

Quote from: tres
pinMode(13, INPUT); & digitalRead(13); gibt mir ein "1"
Du liest zufällige Werte je anch vorhandenen elektromagnetischen Störungen. Diese Messung sagt ncihts aus, macht aber auch nichts kaputt.

Quote from: tres
es reicht auch schon wenn ich mit meinem finger von unten an die lötstellen fasse, dann geht die led auch aus. ich bin dann quasi der widerstand.

aber woher könnte denn die störung kommen?
die frage ist ja eigentlich, ist das ein "defekt" und sollte ich das board zurückschicken, oder hat das "phantomleuchten" keine nennenswerten auswirkungen?
Statische, elektromagnetische Störungen. ein Eingang darf bei digitalen Schaltungen nie unbeschaltet sein immer Auf Masse oder Versorgung Schalten. Bei SChaltungen mit Programmierbaren Ein/Ausgängen ist es besser dies nicht direkt zu tun sondern einen Widerstand von zB 10kOhm zu nehmen. Du kannst aber auch die internen Pullupwiderstände aktivieren.

Quote from: tres
p.s.:
ich hatte im englischsprachigen teil des forums einen thread ausgemacht, bei dem das "problem" auch angesprochen,
aber nicht wirklich gelöst bzw, erklärt wurde: http://arduino.cc/forum/index.php/topic,136476.0.html

bei den verschiedenen leuten ist es mal der UNO deran 13 leuchtet, mal ein DUE oder ein MEGA... scheint also zufall zu sein.
ein poster hat einen "bootloader bug" vermutet?
ich habe leider nur den UNO und den MEGA zum testen.

Die Reaktionen hängen von dem "Störlevel" ab. Du kannst in einer Umgebung sein wo ein unbeschaltener Eingang immer LOW erkannt wird, immer High oder abwechselnd und unvorhersehbar. Dies kann von eingeschaltenen oder auch nur am Netz hängenden Geräten, von Deiner Position im Zimmer und anderem schwer zu erkennbaren und deutbaren Einfüssen abhängen (Hochspannungsleitungen, Radiosender, Geräte beim Nachbarn, Händy ecc). Einen Einfluß haben auch die Längen der Leiterbahnen oder angeschlossenen Kabel. Diese wirken als Antenne.
Darum die wilden Spekulationen der thread-Schreiber.

Grüße Uwe
Logged

Germany
Offline Offline
Newbie
*
Karma: 1
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

danke uwe!

Quote from: tres
pinMode(13, OUTPUT); & pin 13 ohne 100k widerstand zu ground --> LED aus
Du schließt den Ausgang auf masse kurz. So machst Du den Arduino kaputt.
hab ich auch nicht gemacht, das liest sich nur so. ich meinte damit "pin 13 und gnd sind garnicht verbunden".

ok, dann gehe ich jetzt davon aus, dass das verhalten meiner pin 13 LED nichts wildes ist und nicht bedeutet dass das board kaputt ist.
so wie du sagst können die verschiedensten variablen dazu führen dass dieses verhalten aufritt...
genauso wie ein digitalRead(); an einem "offenen" pin willkürliche werte ausspucken kann/wird.

danke!
und da schließt sich übrigens der kreis, denn ich habe gerade gesehen mein allererster post hier im forum wurde auch von dir beantwortet.
da ging es um "komische werte" beim analogRead(); ... am offenen pin! smiley-red

viele grüße,
stefan
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21277
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also hast Du es mit den offenen Pins.   smiley-wink smiley-wink smiley-wink
Der einzige Grund warum man ein unbeschaltetes analoges Pin liest, ist eine zufällige Zahl zu erhalten, als Startwert für den Pseudozufallsgenerator des Arduino.
Grüße Uwe
Logged

Pages: [1]   Go Up
Jump to: