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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.