www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega16 verstehe ADC nicht


Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rahul (Gast)
Datum:

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

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für den Tipp; ich werds gleich mal ausprobieren.

mg,
Johannes

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.