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
Martin schrieb: > Nun steht im Datenblatt: Wessen Datenblatt? > Sensitivity: 280 LSB/°C > Temperature Offset: -13,200LSB (35°C) 13200/280 = 47 Das hat ja schon mal nix mit 35°C zu tun...
Klar, ITG3200 (Gyro, Datenblatt) wobei ich den ITG3205 benutze, bin einfach mal von den selben Werten ausgegangen
Aus dem Datenblatt des DS3205 > TEMP_OUT_H/L 16-bit temperature data (2’s complement format) Das können daher keine 50000 sein.
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
Martin schrieb: > Stimmt, aber 2er Kompelment wird ja nur durch die vordere 1 signalisiert. Nein. Lies mal was zum Thema Zahlendarstellung... Als Denkanstoß z.B. den Beitrag "Frage zu Struct"
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.