Forum: Mikrocontroller und Digitale Elektronik BME280 Temperatur mittels Koeffizienten


von Tobias P. (tobiaspi)


Lesenswert?

Hallo Allerseits,
derzeit beschäftigt mich der kleine Temperatursensor BME280 von Bosch 
und ich bekomm die Krise!

Beim auslesen der Temperatur aus den Register bekomme ich ~23,2° heraus, 
was der Raumtemperature entspricht. Möchte ich nun jedoch die Daten mit 
Hilfe der von Bosch vorgesehenen Koeffizienten berechnen erhöht sich die 
Temperatur bereits auf 27,4° und bleibt konstant auch nach Erhöhung der 
RawTemperatur auf 32°.

Beim Auslesen der Koeffizienten erhalte ich ähnliche Werte wie jemand 
aus einem Betrag von 2015:
dig_T1 = 28327
dig_T2 = 26422
dig_T3 = 50

Wenn ich diese Werte in einer von Bosch veröffentlichen Excel-tabelle 
angebe soll meine Temperatur sogar -135° im Raum gerade sein.
(https://community.bosch-sensortec.com/varuj77995/attachments/varuj77995/bst_community-mems-forum/649/1/sample_calculation_BME280.xlsx)



Leider gibt es zu diesen Werten auch keine weiteren Infos im Datenblatt 
oder ähnlichen zufinden. Wofür stehn diese?
Wenn ich mir die Formel genauer anguck erhält man

Temperatur:((((RT-T1)*T2)+(RT-T1)²*T3)*5+128)

mit RT: RawTemperature also aus den Registern der 23,2°
    T1,T2,T3 jeweilige Koeffizienten

Entspricht dabei der Term ((RT-T1)*T2) dem Offset Fehler(T1)und dem Gain 
Error(T2) und der Term (RT-T1)²*T3) dem Nichtlinearitätsfehlern?

Gibt es jemand der sich mit dem Sensor bereits genauer beschäftigt hat 
und könnte mir bei meinen Problemen weiterhelfen?

: Bearbeitet durch User
von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Such mal hier im Forum nach BME280 und du wirst lesen, dass die 
Temperatur immer zu hoch ist.
Ich selbst nutze den auch und hab daher noch einen LM75 an den I2C 
gehangen.

Ansonsten hatte ich mit Kopierpaste des Codes aus dem DB keine Probleme.

von wurster (Gast)


Lesenswert?

Hast du mal die offizielle BME280 Bibliothek mit den Parametern eines 
Examples verwendet? Die ist mit zwei, drei Kniffen sofort integriert.

Damit kannst du Schritt für Schritt Debugausgaben in die Formel 
einbauen.

Kommen Nieten bei der Temperatur heraus: Kaputter Sensor, Defekte I2C 
bzw. SPI und/oder Sleep-Routine.

von wurster (Gast)


Lesenswert?

Mw E. schrieb:
> Such mal hier im Forum nach BME280 und du wirst lesen, dass die
> Temperatur immer zu hoch ist.

Wie bei nahezu allen Temperatursensoren:

Man isst die PCB bzw. Membrantemperatur und NICHT die 
Umgebungstemperatur.

Selbst dann, müsste man eine Kalibrierung bezüglich der 
Absoluttemperatur durchführen. Eisbad ist da die billigste Variante.

von Klaus R. (klara)


Lesenswert?

Tobias P. schrieb:
> Beim auslesen der Temperatur aus den Register bekomme ich ~23,2° heraus,
> was der Raumtemperature entspricht.

Bei solch tiefen Temperaturen sollte man den Sensor vor der Messung 
stromlos abkühlen lassen.
mfg klaus

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
Noch kein Account? Hier anmelden.