Forum: Mikrocontroller und Digitale Elektronik ATMega16 verstehe ADC nicht


von Johannes (Gast)


Lesenswert?

Hallo,

ich verwende meinen ATMega16 um zwei Spannungswerte von einem Joystick
(ADC0 und ADC1) einzulesen. Wenn der Joystick dran ist, funktioniert
alles gut, wenn der Joystick nicht angeschlossen ist werden Werte
verschieden von Null(oder von mir aus fast Null) eingelesen...
Eigentlich erwarte ich bei einem nicht angeschlossenen Pin dass die
eingelesene Spannnung Null ist.

hier die ADC Initialisierung:

{
ADCSRA |= (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);

ADCSRA |= (1<<ADEN);

ADMUX |= (1<<REFS0);
ADMUX &= ~(1<<REFS1);
}

Stichwort Pull-up: Ich habs auch schon mit DDRA = 0x00 und PORTA=0,
probiert, aber es aendert nix. Wenn man den ADWandler wie oben
konfiguriert müsste er ja selber wissen, dass seine Pins inputs sind.

warum frag ich? ich will feststellen ob das Joystick angeschlossen ist
oder nicht.

Danke für Tipps!
mg,
Johannes

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

ein offener Eingang ist im Prinzip eine Antenne und die empfängt die
umgebenden Mobiltelefone, UKW-Sender und WLAN-Stationen. Du brauchst
extern einen kleinen PullDown (100k) mit dem du deinen Eingang an Masse
legst. Wenn der Widerstand die normale Messung nicht beeinflussen soll
musst du ihn abschaltbar machen oder den verursachten Fehler
rausrechnen.

Matthias

von Rahul (Gast)


Lesenswert?

Joysticks müssten eigentlich relativ niederohmig sein (unterer/mittlerer
Kiloohmbereich; messen...), dann würde der Pulldown mit 100k nicht
wirklich ins Gewicht fallen...

von Johannes (Gast)


Lesenswert?

danke für den Tipp; ich werds gleich mal ausprobieren.

mg,
Johannes

von Johannes (Gast)


Lesenswert?

Hab das Problem folgendermassen geloest:

Ich hab einen weiteren Pin verwendet und einen externen pull-up (10k)
drangelegt. Den Stecker des Juysticks hab ich so erweitert, dass er GND
mit diesem Pin kurzschliesst. Wenn also das Joystick dran ist hab ich
sicher 0V, ansonsten sicher 5 Volt am Pin und das laesst sich einfach
und eindeutig feststellen.

Und die Messung wird sicher nicht beeinflusst.

und das schoenste daran: es funktioniert :)

mg,
Johannes

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.