mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega644 und AD Wandlung - Verständnisfrage


Autor: mcnanuk (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

ich habe eine Verständnisfrage zum ADWandler auf meinem STK500 mit 
Atmega644.

Ich habe einen Drucksensor angehängt, den ich via PortA mit 5V versorge. 
Als Analogen Output liefert der Sensor mir einen Wert von 85mV.

So nun habe ich diesen in den 10-Bit AD Wandler geschickt und Ihn im MUX 
Modus 9... Diffenential Mode. Dieser Modus verstärkt mein Signal 10x.

ADMUX |= (1<<REFS1) | (1<<REFS0); interne Referenzspannung, also 2,56 V.

Der angezeigte Wert schwankt nun zwischen 167 und 170. Er ändert sich 
auch wenn ich am Volumengefäß sauge, oder mehr Druck aufbaue... also der 
Drucksensor sollte funktionieren. Eine Analoge überprüfung habe ich da 
schon mit dem Voltmeter gemacht.

Wenn ich nun zum AD Wert den Spannungswert berechne mit:

170 * 2,56/1024 = 0,425 V ((Erwartet hätte ich 0,850V, wegen 10x 
Verstärkung)

Das ist aber exakt die Hälfte, von dem was ich erwartet hätte.
Wo kann denn hier mein Fehler liegen?

Ich denke irgendwas stimmt mit der Referenzspannung nicht, da wenn ich 
hier 5V in die Formel einsetze, es stimmen würde.

Meine C Datei habe ich angehängt. Relevant ist hier die Methode uint16_t 
ReadChannel(uint8_t mux)

Und vielleicht kann mir einer den Frequenzvorteiler erklären. Den 
versteh ich nicht. Vielleicht liegt auch hier der Hund begraben..

Danke vielmals

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Ergebnis ist schon richtig, es hat nichts mit der Frequenz zu tun. 
Da Du differentiell misst, geht Dein Messbereich von -2,56V bis +2,56V 
für 1024 Schritte.  ein Schritt ist also doppelt so groß als Du es in 
Deiner Berechnung angenommen hast.

Autor: mcnanuk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich danke für diese Antwort.
Für alle, die eventuell auch dieses Problem haben, und nicht verstehen 
warum es so ist.

In dem Datenblatt S 246 21.8 ADC Conversion Result

Dort wird beschrieben wie der Differential Mode funktioniert :)
Da hab ich wohl den Wald vor lauter Bäumen nicht gesehen. Aber ich lerne 
ja noch :)

Autor: T. C. (tripplex)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>geht Dein Messbereich von -2,56V bis +2,56V
>für 1024 Schritte.

Das ist nicht richtig.
Der Eingangspannungsbereich ändert sich durch eine Differentiellen
Messung nicht. Der Unterschied ist das diese nicht mehr gegen AGND
bezogen ist.

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pascal L. schrieb:
>>geht Dein Messbereich von -2,56V bis +2,56V
>>für 1024 Schritte.
>
> Das ist nicht richtig.

Ach komm, schau in's Datenblatt. Statt von 0 bis Vref geht der 
(Differenz-)Bereich von -Vref bis +Vref.

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.