PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Eingangsspannungen



Lektor
30.04.2005, 19:59
Hallo,
ich habe ein Problem und wollte fragen, ob der Mega8 oder irgendein anderer MC sich ebenso verhält und wie man dieses problem beseitigt.
Die Eingänge sind extem empfindlich. Anstatt das sie erst bei einem Pegel über 4V schalten, schalten sie schon bei wenigen mV (z.B. Berührung mit dem Finger an Eingangspins). Das ist ziemlich ärgerlich und macht jedes simple Schalterprogramm nutzlos.
Was kann man dagegen tun.

Also am Eingang ist nichts angeschlossen. Eine einfache Berührung der Steckerkontakte reicht aus, damit die Eingänge schalten.
Fusebits sind glaube ich von Werk aus programmiert. Kann mir nicht erklären wie dieses Phänomen zu Stande kommt.
Bitte um Hilfe.

Manf
30.04.2005, 20:03
Das sind einfach hochohmige Eingänge.
Einen Pullup-Widerstand dran und das Problem ist gelöst.
Manfred

Lektor
30.04.2005, 20:10
sind denn die internen pull ups nicht aktiviert? und wenn nicht, wie kann ich sie aktivieren?

uwegw
30.04.2005, 20:19
und wenn nicht, wie kann ich sie aktivieren?
einfach im portX-register die entsprechenden bits setzen...

Lektor
30.04.2005, 20:25
.include "m8def.inc"
anfang:
;-------------------------------------------------
ldi R16,LOW(RAMEND) ;Initiallisiert Stackpointer
out SPL,R16
ldi R16,HIGH(RAMEND)
out SPH,R16
sei ;Global Interrupt Enable
;--------------------------------------------------
ldi r16,0xff
out DDRC,r16
ldi r16,0x00
out DDRD,r16
;--------------------------------------------------

abfrage:
in r16,PIND
; ldi r16,0x00
out PORTC,r16
rjmp abfrage


so sieht der Code aus. Beim Port C habe ich doch die entsprechenden Bits gesetzt. Oder fehlt da noch was?

uwegw
30.04.2005, 20:40
du müsstest bei der portkonfiguration noch die pullups von portD setzen:
ldi r16, 0xFF
out portd, r16

Lektor
30.04.2005, 21:02
danke, scheint zu klappen.

lekro
30.04.2005, 21:36
Anstatt das sie erst bei einem Pegel über 4V schalten, schalten sie schon bei wenigen mV (z.B. Berührung mit dem Finger an Eingangspins).btw, die Eingänge schalten natürlich nicht bei wenigen mV, sondern erst bei 2/3*VCC (um den Dreh, genau weiß ichs grad nicht).

Du scheinst nicht zu wissen, dass die statische Aufladung von Gegenständen für einen AVR enorm hohe Spannungen erreichen kann (locker über 1000V, wenn du mit Pantoffeln über PVC läufst). Klar, dass die Eingänge darauf sehr empfindlich reagieren.
Aber sei doch froh, dass der AVR nicht gleich kaputt gegangen ist. Andere Chips nehmen einem solche Spannungen viel schneller übel.