Ausreißer bei BME 280

Hallo zusammen,

ich habe folgendes Problem:
Ich nutze einen BME 280 für die Erfassung von Außen-Klima daten.
Allerdings habe ich immer mal wieder Ausreißer bei den Werten. Dies außreißer habe ich dann aber bei allen werten, Temeratur, Luftdruch und Feucht. Woran könnte das leigen?

Aktuell nutze ich folgende Einstellungen:

#include <BME280I2C.h>

BME280I2C::Settings settings(
  BME280::OSR_X4,
  BME280::OSR_X4,
  BME280::OSR_X4,
  BME280::Mode_Forced,
  //BME280::StandbyTime_1000ms,
  BME280::StandbyTime_250ms,
  BME280::Filter_4,
  BME280::SpiEnable_False,
  0x76 // I2C address. I2C specific.
);

am anfang hatte ich den Folter auf 1 und Standby zeit auf 1000ms das war aber noch schlechter. Mit diesen Einstellungen ist es etwas besser geworden.

Gruß
Christian

Hallo,

was heißt "Ausreißer" ?
Zeige mal einen Link deiner Library und den kompletten Sketch.

Hallo,

ich nutze die folgende Einstellung Ausreisser habe ich damit nicht. schau Dir mal das Beispiel BME280_modes aus der Lib an

// BME settings
BME280I2C::Settings settings(
  BME280::OSR_X1,
  BME280::OSR_X1,
  BME280::OSR_X1,
  BME280::Mode_Forced,
  BME280::StandbyTime_1000ms,
  BME280::Filter_Off,
  BME280::SpiEnable_False,
  0x77 // I2C address. I2C specific.
);
BME280I2C bme(settings);

Hallo,

da sich hier das Wetter nicht so schnell ändert messe ich nur all 5 Minuten.
Ausreißer sind mir noch nie aufgefallen, zu kurze Messabstände sind ohnehin wegen Eigenerwärmung des BME280 und (hier) des ESP32 und der Akkulaufzeit ungünstig.

Gruß aus Berlin
Michael

Hallo,
Ausreißer heist ich habe bei der Aktellen Temperaturlage mal 30°, 100° Feuchte oder 1200 hPa habe und bei der nächsten Messung ist alles wieder normal.
Ich habe versucht dies mit einer Plausibilitäsabfrage abzufangen, aber auch damit bin noch nicht zu 100% zufrieden.
Den Sensor frage ich alle 3 min ab. Die Stromversorung ist aktell kein Problem, da die Station vor meinem Fenster btrieben wird und der ESP an einem Netzteil hängt.

Code Hängt an

V9_1.ino (13.2 KB)

Würde so intuitiv Fehler in der Datenübertragung sehen.
Übliche Fragen bei I2C:
Welche Pullupwiderstände; Wie lange sind die Kabel. Welchen Level Shifter verwendest Du?
Welchen Wert hast Du für den IIR Filter eingesetzt? Was passiert wenn Du probeweise auf 16 stellst?

Grüße Uwe

Kabel hat ca 3,5m

Pull up habe ich 4,7K

Level Shifter aktuell keinen. Sollte ich denn einen Einsetzen?

BME hat 3,3V und ESP32 versorgt diesen mit 3,3V also sehe ich erst mal keine notwendigkeit. Oder doch?
Es hat ja auch Wochenlang im Testaufbau in der Wohnung ohne Probleme funktioniert.

ok ESP32 hatte ich überlesen.
Kabel sind schon etwas lang.
Versuchs mal mit 2,2kOhm.
Ansonsten mit 2 I2C Expandern wie zB P82B715.

Es hat ja auch Wochenlang im Testaufbau in der Wohnung ohne Probleme funktioniert.

Jetzt sitzt der Sensor im Kalten.

Grüße Uwe

Entweder der Sensor ist schon defekt, da er die Feuchte außerhalb nicht vertragen hat, oder die Spannung am Sensor ist das Problem. Es gibt Sensoren, die du mit 3,3V betreiben kannst. Aber auch welche, die 5Volt brauchen. Zeige doch mal den Link des Lieferanten.
Und die Kabellänge ist für I2C def. schon zu lang. Und für 3,3V auf der Datenleitung sind 3k3 als Pullup-Widerstand besser.

äh. der BME280 ist für 3,3V.
Grüße Uwe

uwefed:
äh. der BME280 ist für 3,3V.
Grüße Uwe

Ja, der BME selbst ja, aber das Modul (Breakout) gibt es auch für 5 Volt.

Wenn Du das Modul meinst, stimme ich Dir zu.

Grüße Uwe

uwefed:
Wenn Du das Modul meinst, stimme ich Dir zu.

Grüße Uwe

Genau....das Problem ist ja, es wird selten genau geschrieben, was gemeint ist.
Hier fehlen leider auch wichtige Informationen.

Dann warten wir auf unsere Erleuchtung durch den TO.
Uwe

Also hier ist der der Link zu dem BME den ich verwende.

das mit den Wiederständen werde ich am Wochenende mal versuchen, danke schon mal für den Tipp

Auf diesem Modul sind 10kOhm als Pullupwiderstände verbaut.

Uwe

Ich habe noch einen zusätzlichen 4,7K Parallel somit käme ich Rechnerrich auf 4.117K

chrisbie:
Ich habe noch einen zusätzlichen 4,7K Parallel somit käme ich Rechnerrich auf 4.117K

Wenn ich mir die völlig unzureichende Beschreibung ansehe, brauchst du einen Levelshifter für den I2C-Bus.
Hast du den eingebaut ?
Wenn nicht, mach das bitte dringend. Ohne den kann dir der Sensor kaputt gehen.
Dann kannst du auch die zusätzlichen Pullups weg lassen.

Ich werde das mit dem Levelshifter auf jeden fall mal versuchen, auch wenn ich das Aktuell noch noch nicht versteh.

Als Controler habe ich diesen:

Der halt als GPIOs 3,3 V
Der BME280 hat auch 3,3V

wo ist mein Fehler?

ich Betreibe als Testaufbau (allerdings mit kürzeren Kabeln) eine Sehr ähnlich Konstellation schon seit einem Jahr ohne Problem.
Da habe ich ein ESP8266 mit dem selben Sensor und selben Wiederständen. Nur ca. 15cm Kabel, und drinnen. aber macht das soviel unterschied?

aber macht das soviel unterschied?

Überschlagsrechnung:
3,5m/15cm = ca 24

Im gleichen Verhältnis nimmt die Kabelkapazität zu, und damit die Flankensteilheit/Grenzfrequenz ab. Dein 3,5m langer Bus hat also die ca 24fache Kapazität!

Hier findest du Links um die Auswirkungen berechnen zu können
Und auch Vorschläge, das Problem zu mildern.