ADC-Daten umrechnen

Gast #2058
Habe aber eine nächste Schwierigkeit.

Beim ADC liegen die Werte zwischen 0 und 1023 bei 10 bit, aber ich 
möchte sie gerne z.B. in Werte zwischen 0 und 5V umrechnen.

Wie mache ich das am besten.
Versuche es derzeit den Messwert mit einem Faktor zu multiplizieren z.B. 
bei 8bit
5/255=196 (ohne beachtung der Nullstellen) jedoch entstehen so grosse 
Rundungsfehler.

Wenn ich mit einem genauern Faktor Rechnen möchte,dann muss ich wieder 
16bit miteinander multiplizieren usw.

Gibt es einen anderen genaueren oder besseren Weg auf den ich gerade 
nicht draufkomme?

Vielen Dank im Voraus
Gast
Recht simpel kann man es nache wie in einem RE: vor einigen tagen 
beschrieben:

AVR mit etwas mehr wie 5 V betreiben z.B. durch Diode 1N4148 in 
Durchlassrichtung in Reihe mit dem Massepin des 7805. Der liefert jetzt 
etwa 5,7 V stabilisiert.
Referenzeingang des ADC auf 5,12 V einstellen.
Bei 5V Messspannung liefert der ADC jetzt den Wert 1000.
Diesen lesen und mit einem Rechtsshift (LSR) durch 2 teilen. Jetzt ist 
das Ergebnis 500 und entspricht 5,00V. Rundungsverlust (LSR) von 0,001V 
ist weit geringer wie die interne Toleranz des ADC. Somit meist mehr wie 
hinreichend.

Wer es ganz genau haben möchte, auf 5 Nachkommastellen, kommt um 
Binärmultiplikation nicht rum. Uref/1024*Umess .
Dabei ist es jedoch unerheblich ob man 8,16 oder 32 Bit-Routinen 
verwendet. 8 und 16 Bit unterscheiden sich, ähnlich wie in meinem in der 
Codesammlung befindlichen Beitrag "Teilen binaer", nur durch einen 
zusätzlichen Befehl LSL. bei 32 Bit kämen 2 weitere hinzu.
Der Beitrag "Malnehmen binaer" folgt in kürze.

Lothar
Gast
Hallo Tommy,

diese Frage habe ich am 7.2.02 ins Forum gestellt und habe daraufhin 
tolle Tips erhalten.

1. Der AD-Wandler verarbeitet Spannungen von 0-5Volt. D.h. Werte bei 
einer 10-bit-Auflösung   von 0-1023. Jetzt kannst Du durch Anpassen von 
Vref (ca 5,11V) oder so wie ich es mache, durch Anpassen der 
Versorgungs-
spannung des MC (VCC und Vref sind verbunden) erreichen, daß die zu
messende Spannung (0-5V) genau die Werte 0-1000 ergibt.

2. Damit kannst Du durch Division mit 2 die Werte 0-500 errechnen und 
durch Setzen des Dezimalpunktes auf dem LCD die Spannung von 0,00 bis 
5,00 V ausgeben. Vorher muß natürlich die Binärzahl in Dezimalzahlen 
umgerechnet werden.
Ein entsprechendes komplettes Programm findest Du im Anhang

mfg Helmut
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 24 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.