BME280 Luftfeuchte stimmt nicht!

OP #4258843
Lesenswert?

Hallo

Hat jemand bereits Erfahrung mit dem Bosch Sensor BME280 gesammelt ? Im 
vergleich zu einer Wetterstation zeigt der Sensor bei der Luftfeuchte 
ca. 20% zuwenig an. Ist das Normal ?? Die Temperatur und Luftdruck 
stimmen perfekt. Meine Formel sollte eigentlich stimmen, habs nun schon 
x-mal kontrolliert und sollte mit dem Datenblatt übereinstimmen.

Hier mal mein Code, vielleicht hab ich wirklich was übersehen:



Function Humidity() As Dword
  Local Var1 As Long
  Local X As Long
  Local Y As Long
  Local Z As Long

  Var1 = T_fine - 76800

  X = Uh
  Shift X , Left , 14 , Signed
  Y = Dig_h4
  Shift Y , Left , 20 , Signed
  X = X - Y
  Y = Dig_h5 * Var1
  X = X - Y
  X = X + 16384
  Shift X , Right , 15 , Signed

  Y = Var1 * Dig_h6
  Shift Y , Right , 10 , Signed

  Z = Var1 * Dig_h3
  Shift Z , Right , 11 , Signed
  Z = Z + 32768

  Y = Y * Z
  Shift Y , Right , 10 , Signed
  Y = Y + 2097152
  Y = Y * Dig_h2
  Y = Y + 8192
  Shift Y , Right , 14 , Signed

  Var1 = X * Y

  X = Var1
  Shift X , Right , 15 , Signed
  X = X * X
  Shift X , Right , 7 , Signed
  X = X * Dig_h1
  Shift X , Right , 4 , Signed
  Var1 = Var1 - X

  If Var1 < 0 Then
    Var1 = 0
  End If

  If Var1 > 419430400 Then
    Var1 = 419430400
  End If

  Shift Var1 , Right , 12 , Signed
  Humidity = Var1 / 102.4
End Function
Gast #4261142
Lesenswert?

Hallo Michael,
den Sensor habe ich auch gerade ausprobiert, aber bei mir scheint alles 
richtig zu sein. Eine genaue Referenz habe ich natürlich nicht.
Das Programm habe ich für einen ATMEL in C geschrieben.
Bei deinem Programm könnte die letzte Zeile Humidity = Var1 / 102.4 
eventuell den Fehler verursacht haben.
Var1 liegt im Format 22.10 vor, also 22Bit Ganzzahl und 10 Bit 
Nachkommazahl. Ändere doch einfach mal in der letzten Zeile die Zahl 
102.4 in 1024 um, dann müsste das Ergebnis als Feuchte (Ganzzahl) in % 
erscheinen.
Die Nachkommastellen müssen extra berechnet werden.

Besten Gruß Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren