Temperatur aus Sensorbinärwert

Gast #2557703
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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

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.

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.