mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit AD Wandler AT90S4433


Autor: Hans Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, hab ein Problem mit dem AD-Wandler(joystick auswertung zur
Schrittmotorsteuerung in C):

Beim einlesen von Analogwerten an Port C bringt der AD-Wandler nur
teilweise brauchbare ergebnisse.
liegt an einem der pins ca. 0,1V(kleinster Widerstandswert Poti1) an &
an dem daneben liegenden ca 5V(größter Widerstandswert Poti2) an
lassen sich keine stimmigen werte aus den ADCH/ADCL Registern auslesen.


solang beide Spannungswerte sich nicht extrem unterscheiden, stimmen
die ausgelesenen  Werte... komisch?
jede joystickachse lässt sich seperat steuern und die Diagonale bei der
die Potis ähnliche Widerstandswerte haben (beide höchste o. niedrigste)
funktioniert einwandfrei.

1.Fall

1.Analog Eingang : 5V
2.Analog Eingang : 5V
=Digitalwert bei beiden stimmen(03FF)

2.Fall

1.Analog Eingang : 0V
2.Analog Eingang : 0V
=Digitalwert bei beiden stimmen (0000)

3.Fall

1.Analog Eingang : 5V
2.Analog Eingang : 0V
= 1.Digitalwert müsste 03FF sein ist aber viel kleiner (etwa 0210)
  2.Digitalwert müsste 0000 sein ist aber viel größer  (etwa 01E5)

4.Fall

1.Analog Eingang : 0V
2.Analog Eingang : 5V
= 1.Digitalwert müsste 0000 sein ist aber viel kleiner (etwa 01E5)
  2.Digitalwert müsste 03FF sein ist aber viel größer  (etwa 0210)

(Aref 5.0V)

Wär echt dankbar wenn mir jemand nen Tipp geben könnte

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn dir hier jemand einen Tipp geben soll wäre dein Code sicher
hilfreich.
Schon mal mit nur einer Spannung probiert, auch die Zwischenwerte?

Autor: Martin Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grundsätzliche Idee: zu kurze Wartezeit nach Kanalwechsel...

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke es liegt am Multiplexer, dieser sollte erst nach der erfolgten
Wandlung an Eingang 1 auf Eingang 2 umgeschaltet werden und umgekehrt.
Danach ist noch eine gewisse Zeit zu warten, damit sich der S/H
Kondensator im ADC entsprechend aufladen kann, bevor man wieder eine
Wandlung startet. Der A/D sollte für diesen Zweck nicht im
Free-Running-Mode betrieben werden, da dann erst recht mit
"Verwaschungen zu rechnen ist, besser ist die "one-shot" Wandlung
mittels des Start-Conversion-Bits. Also: schalten, warten, wandeln,
schalten, warten....

Autor: Hans Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen DANK!!!! für die Tipps!

es lag wohl an der Zeit zwischen dem einlesen. und an dem erwähnten S/H
Kondensator.
mittlerweile funktionieren beide achsen

mfg Hans Peter

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.