PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Taster



MrWhite
12.05.2010, 21:21
Hallo,

ich habe einen stinknormalen Taster in Printausführung, die Pins des Tasters sind ca. 5mm voneinander entfernt.

Habe den einen Pin vom Taster mit INT0 eines ATMega16 verbunden und den anderen Pin mit GND.

Der Interrupt funktioniert damit wunderbar.

Nur brauche ich den Taster gar nicht betätigen, es reicht wenn ich z.B. mit einem Finger auf ca. 1cm an den Taster herankomme, dann wird das ganze schon nach Masse gezogen. Ich habe das ganze mit Kupfer-Litze verlötet, auch darauf geachtet dass sich da nichts wickelt, also keine Spulen entstehen. Die Litze ist isoliert, nur ca. 2mm an den Taster-Pins sind unisoliert.

Was kann ich noch tun, um diesen Effekt zu unterbinden?

Snaper
12.05.2010, 21:42
Interner Pullup ist an? Denn sowas verursacht ja mal gerne das Taster zicken.

MrWhite
12.05.2010, 22:11
Wenn das beim ATMega 16 nicht der Default ist, dann nein.

Danke für den Hinweis, werde das ausprobieren.

syn_error
13.05.2010, 02:29
Wenn das beim ATMega 16 nicht der Default ist, dann nein.
datenblatt >Register Description for I/O Ports<

Jimmybot
17.07.2010, 20:30
habe ein ähnliches Problem:

ATmega8 und will einen Taster an PD0 benutzen.

Laut Datenblatt ist standart der Interne Pull-up eingeschaltet (Im SFIOR Register läst sich mit dem Bit PUD den internen Pull-up ausschalten, wenn PUD 1 ist. Beim Starten ist aber PUD 0, somit eigentlich Pull-up eingeschaltet).

Aber irgend wie behauptet mein Controller, dass der Taster immer gedrückt sei, also PD0 auf GND liegt.

Controller, Taster und LED sind auf ein Steckbrett auf gebaut und durch isolierte Cu-litzen verbunden.

Hat irgend jemand ne idee, woran es liegen könnte?
Einen externen Pull-up zu benutzen weiß ich und mache ich aber auch. Aber würde lieber den internen bevorzugen.

Wenn ich zuhause bin, gibt es C-Code und Schalztplan, falls erforderlich.

Jaecko
17.07.2010, 21:07
Lies die Bedeutung von PUD im Datenblatt nochmal.
Die Pullups des ATMega sind NICHT standardmässig aktiv. Die müssen manuell über das PORT-Register gesetzt werden.
PUD ist nur sozusagen ein "Not-Aus" für alle derzeit gesetzten Pull-Ups.

Siehe hierzu auch Table 20 auf S. 53.

Jimmybot
19.07.2010, 00:02
Ja da war der Fehler verstekt...

Danke für die Hilfe