Ansteuerung eines Feuchtesensors vom Typ SHTxx (mit PIC-Mikrocontroller, Elektronik)


zurück zu Elektronik, Homepage


4. Linearisierung und Temperaturkompensation

Ein Nachteil des Sensors ist, dass sowohl die Temperatur als auch die Feuchtigkeit eine nichtlineare Kennlinie besitzen. Dazu kommt, dass die Feuchtigkeit von der Temperatur abhängt und daher kompensiert werden muss. Doch glücklicherweise lassen sich sowohl die Nichtlinearität als auch die Kompensation mit den folgenden Formeln korrigieren:

Bei 14- bzw. 12-Bit-Auflösung:
Linearisierung der Temperatur bei 14-Bit-Auflöung:
Temp(lin) = 0.01 + 0.018 * Sensorwert (Temp)

Linearisierung der Feuchtigkeit bei 12-Bit-Auflöung:
Feuchte(lin) = -4 + 0.0405*Sensorwert(Feuchte) - 0.0000028 * Sensorwert(Feuchte)²

Temperatur-Kompensation der Feuchtigkeit bei 12-Bit-Auflöung:
Feuchte(komp)=(Temp(lin)-25)*(0.01+0.00008*Sensorwert(Feuchte))+Feuchte(lin)

Bei 12- bzw. 8-Bit-Auflösung:
Linearisierung der Temperatur bei 12-Bit-Auflöung:
Temp(lin) = 0.04 + 0.072 * Sensorwert (Temp)

Linearisierung der Feuchtigkeit bei 8-Bit-Auflöung:
Feuchte(lin) = -4 + 0.648*Sensorwert(Feuchte) - 0.00072 * Sensorwert(Feuchte)²

Temperatur-Kompensation der Feuchtigkeit bei 8-Bit-Auflöung:
Feuchte(komp)=(Temp(lin)-25)*(0.01+0.00128*Sensorwert(Feuchte))+Feuchte(lin)

Anmerkung:
Die Feuchtigkeit kann im 8-Bit-Mode auch mit guter Näherung "einfacher" ermittelt werden. Der Fehler beträgt dabei max. +/- 0.8%:

Sensorwert(Feuchte) zwischen 0 und 127:
Feuchte(lin) = (143 * Sensorwert(Feuchte) 512) / 256

Sensorwert(Feuchte) zwischen 128 und 255:
Feuchte(lin) = (111 * Sensorwert(Feuchte) + 2893) / 256

nach oben

5. CRC-8 Checksumme-Berechnung

Die CRC-8-Checksumme wird bei meinen Anwendungen nicht benötigt!

nach oben


zurück zu Elektronik, Homepage

Autor: Buchgeher Stefan
Erstellt: 14. Dezember 2004
Letzte Änderung: 23. Februar 2011