Temperatur aus Sensorbinärwert

Gast #2557703
Hi,

komischerweise bekomme ich den Sensorbinärwert nicht korrekt 
umgerechnet. Ich habe einen 16bit Temperaturwert ausgelesen (ungefähr 
bei 50000).

Nun steht im Datenblatt:

Range: -30 to 85 °C
Sensitivity: 280 LSB/°C
Temperature Offset: -13,200LSB (35°C)
Linearity: +-1°C

Nun wollte ich aus meinen 50000 den Temperaturwert berechnen.
Mein Ansatz:

Offset abziehen 50000-13200=36800
°C ausrechnne 36800/280=131,42°C
Nun negative Gradskala rausnehmen: 131,42-30=101,42 °C

Irgendwie steh ich auf dem Schlauf, wobei mir mein Sensorbinärwert auch 
als deutlich zu hoch vorkommt...

Achja, hier sind es 20°C

Gruß und Danke
Gast #2557743
Stimmt, aber 2er Kompelment wird ja nur durch die vordere 1 
signalisiert. Pack ich das in eine unsigned Variable habe ich einfach 
das doppelte.

Also 32000(sign) wird zu 65000 unsigned

Dreht man die Skala passt es ungefähr

(65536-50000)/280=55,48
Offset 35°abziehen => 20,48°C
#2557805
Ist doch nicht so schwer. Lineare Gleichung aufstellen, fehlende Werte 
berechnen, fettig.

T = m*x +n

Ein Messpunkt ist gegeben, -13200 bei 35°C, der Anstieg sind 280LSB/°C, 
muss für unsere Gleichung 1/x gerechnet werden, denn wir brauchen 
°C/LSB, fehlt noch der echte Offset.

35°C = 1/280 * (-13200) + n
   n = 35°C -(1/280*-13200)
   n = 82,14 °C

Wie bereits geschrieben sind die 50000 eher ein Zweierkomplement, also 
50000-65536 = -15536. Der Wert ist auch recht nah an dem 35°C Wert.

Eingesetzt ergibt das

T = 1/280*(-15536) + 82,14 = 26,65 °C

Klingt plausibel. Und damit man nicht mit den bösen Fließkommazahlen 
rechnen muss, nimmt man Festkommaarithmetik.

Et voilà!

MFG
Falk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.