mikrocontroller.net

Forum: Projekte & Code ADC-Wert z.B. in Spannung umrechnen und dezimal ausgeben mittels Tabellen, auch Linearisieren


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

Bewertung
-1 lesenswert
nicht lesenswert
Im Anhang ein etwas anderer Weg, einen Wert z.B. vom ADC umzurechnen und 
auszugeben.

Die erste Tabelle ist z.B. für einen 10-Bit-ADC 1024 Words lang und 
beinhaltet -falls gewünscht- die Linearisierung und eine Vorumwandlung 
in Digits.
Aufbau z.B.: für 0..39999:
2 Bits 10000er
7 Bits   100er
7 Bits     1er

z.B. für 0..79998:
3 Bits 10000er
7 Bits   100er
6 Bits     1er (nur gerade Werte)

Auch Vorzeichen ist möglich.

Fullscale kann nach Belieben 3.2968, 3.3000, 4.9951, 5.0000 oder ein 
anderer Wert sein.

Die zweite Tabelle könnte durch Software ersetzt werden und beinhaltet 
die Umwandlung von 7bit nach 2 Digits.

Vorteile:
 - sehr schnelle Routine, nur ein paar Tabellenzugriffe.
 - Linearisierung möglich z.B. NTC -> Temperatur

Nachteil: rel. lange Tabelle im PROGMEM

Viel Spaß
Kommentare erwünscht!

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ eProfi (Gast)

>Kommentare erwünscht!

Naja, schon ganz nett, aber in den meisten Fällen wohl unnötig. Wenns um 
Geschwindigkeit geht, speichert man die rohen ADC-Daten und rechnet 
offline um. Und für eine User-Ausgabe breucht man keine superschnelle 
Tabelle, da reicht ein direkte, kompakte Umrechung. Wo also wäre die 
Anwendung?

MFG
Falk

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Falk,
danke für Deinen Beitrag,
mich hat halt die Doppel- oder sogar Dreifachfunktion (Linearisierung, 
Umrechnung (Skalierung) und BCD-Wandlung) der Tabelle gereizt.

Wollte nur mal zeigen, dass es auch anders (unkonventionell) geht.


Noch ein Nachtrag zum besseren Verständnis:
Aufbau z.B.: für 0..39999:
2 Bits 10000er
7 Bits  1000er und 100er
7 Bits    10er und   1er

Immerhin hat es bisher 101 Leute interessiert.

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.