Forum: Mikrocontroller und Digitale Elektronik SHT1x Sensor Offset Korrektur


von Joachim B. (jojo84)


Angehängte Dateien:

Lesenswert?

Guten Morgen!

Ich hab die Tage auch etwas mit dem SHT-Sensor gearbeitet. Dabei ist mir 
aufgefallen, daß der Temperatur-Offset, der im Datenblatt steht, bei mir 
überhaupt gar nicht stimmt.
Da sich dieser Offset ja in Abhängigkeit der Versorgungsspannung ändert 
und ich das Teil eigentlich an nem Akku betreiben wollte, hab ich das 
Verhalten mal versucht näher unter die Lupe zu nehmen.
Dazu hab ich einfach bei (annähernd) gleichbleibender Temperatur die 
Versorgungsspannung geändert und die angezeigt Temperatur abgelesen.
Nach Eintragung der Punkte in ein Open-Office-Diagramm hab ich da ne 
Ausgleichskurve reingelegt, mir die Formel anzeigen lassen, und das dann 
so implementiert. Und ich kann sagen, daß ich damit wirklich 
zufriedenstellende Ergebnisse bekomme... Darum dachte ich, daß es 
vielleicht anderen mit ähnlichen Problemen helfen könnte.

Zum Diagramm: die Ausgleichskurve ist hier eine Gerade, weil das am 
bequemsten zu implementieren war. Polynome höherer Ordnung waren mir zu 
wild... ;) (siehe Anhang). Der Fehler beträgt hierbei ab oberen und 
unteren Ende der Kurve nicht etwa 21%, sondern 0,21°C.
Wo der Summand "4210" in Spalte C her kommt weiß ich gar nicht mehr so 
genau. Ich glaubde das war der Wert, bei dem ich eben mal den richtigen 
Temperaturwert bekam...
Zur Kommaanpassung im Programm wird die Temperatur mit dem Faktor 100 
und die Versorgungsspannung mit dem Faktor 1000 angegeben. 
Dementsprechend ist der Faktor 1000 auch in der Formel im Code wieder zu 
finden.
1
unsigned int d1 = (  ((133640L * voltage) / 1000) + 3622180L) / 1000;
2
(*pointer_temperature) = (*pointer_temperature) - d1;


Hoffe es Hilft wem :)

VG,
Jojo

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.