INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
BME280 Problem
16.12.2019, 11:03
Beitrag #9
RE: BME280 Problem
Hallo,

(16.12.2019 10:07)Harry schrieb:  Ich habe mehrere BME280 und bis jetzt noch keine Probleme damit. Einen habe ich glaube erlegt als ich ihn mit 4 vollen Akkus betrieben habe. Ich gehe sonst immer sicherheitshalber kurz auf entladen wenn ich 4x1,2V Akku als 5V Ersatz benutzen möchte. Jetzt ein Jahr später scheint er wieder zu funktionieren. Ist aber keiner von denen wo ich gerade meine Versuche mache.

(15.12.2019 18:54)amithlon schrieb:  Allerdings sind da ähnliiche Sensoren mit dem Meßprinzip auch nicht anders.

Ich hatte zuvor ein DHT11 und DHT22, die waren bedeutend schlechter.

Harry

na gut, mißhandelt habe ich die noch nicht. Wink
Ich heb im Moment nur 2x BME280 real im Einsatz, stehen beide wenige cm auseinander auf dem Balkonboden im 1. Stock.
Der alte ist seit über einem Jahr in Betrieb und sagt jetzt gerade wieder 100%, der aktuelle sagt 77%, die scheinen realistisch.
Der seit 10 Jahren in Betrieb befindliche FOST02 (China-Nachbau vom SHT1x) steht auch boch danaben, der hat aber wohl beim letzten Batteriewechsel den Überblich verloren: 18%.
Kann aber auch ein Fehler meiner damals selbstgeklöppelten AVR-ASM-Software sein...

Bei DHT11 und auch DH22 stimme ich Dir zu, der DHT22 kommt dabei etwas besser bei mir weg.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.12.2019, 11:58 (Dieser Beitrag wurde zuletzt bearbeitet: 16.12.2019 12:04 von Retian.)
Beitrag #10
RE: BME280 Problem
Hallo Harry,
Zitat:erst einmal Danke für deine Webseite, schön gemacht.
Es freut mich, wenn sie dir gefällt.
Zitat:Ich habe die BME280 Platine mit den 4Pins und betreibe ihn mit 5V.
Mit welcher IDE Version hast du getestet?
Du meinst, die Günstigen aus Fernost. Ja, solche habe ich auch im Einsatz.
Ich verwende derzeit noch 1.6.1x - Versionen.
Zitat:Wenn ich es richtig verstanden habe, so sind hinter dem Aufruf "Weathermonitoring" diese Parameter hinterlegt und er müsste automatisch in den Stromsparmodus gehen.
SLEEP_MODE
P_OVERSAMPLING_x1
T_OVERSAMPLING_x1
H_OVERSAMPLING_x1
FILTER_COEFF_0
STANDBY_TIME_xxxx (Standby time im Forced Mode ohne Bedeutung)
Richtig!
Zitat:Ich habe "BME.setWeatherMonitoring();" und "BME.setHumiditySensing();" getestet und er reagiert auch darauf. Beim ersten zeigt er mir alle Werte an, beim zweiten nur Temperatur und Luftfeuchte.
Ja, so ist das gedacht (nicht von mir, sondern vom Hersteller)
Zitat:Kann man die Register mit den eingestellten Werten des BME280 auslesen, damit ich bei beiden die gespeicherten Voreinstellungen auslesen kann?
Ja, mit den Library-Funktionen
readControlReg(void),
byte readConfigReg(void) und
readHumidityControlReg(void)
kannst du die Register auslesen. Die Bedeutung der einzelnen Bits findest du im Datenblatt oder auch hier:
https://arduino-projekte.webnode.at/mein.../register/
Zitat:Was ich auch noch nicht so ganz verstanden habe ist wie das mit den "keywords" funktioniert.
Die Keywords in der gleichnamigen Datei sind nur für die graphische Hervorhebung der Wörter in der IDE erforderlich, für sonst nichts.
Zitat:Bei "BME.reset();" bekomme ich eine Fehlermeldung obwohl "reset" genauso wie "setWeatherMonitoring" in den keywords steht.
Das ist ein Fehler von mir.
In meiner Beschreibung der Funktionen der Library ist die Reset-Funktion noch enthalten, obwohl ich sie in der Library eigentlich als "private" deklariert habe, weil ich sie nur intern in der Library verwende.
Also entweder muss ich sie als "public" deklarieren, dann kann sie auch vom Benutzer der Library verwendet werden, oder ich lösche sie in der Beschreibung. Das muss ich mir noch überlegen.
Viele Grüße
Retian
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.12.2019, 13:48
Beitrag #11
RE: BME280 Problem
(16.12.2019 11:58)Retian schrieb:  Ja, mit den Library-Funktionen
readControlReg(void),
byte readConfigReg(void) und
readHumidityControlReg(void)

Ich habe jetzt nur die Ausgabe geändert. Ist das richtig?

Code:
//Testprogramm 1 für Luftdrucksensor BME280
//Code fuer Arduino
//Author Retian
//Version 1.1


//Prototypen:
void leseMesswerte(void);
void ausgabeMesswerte(void);


#include <MyBME280.h>


//Hier auswählen zwischen I2C- und SPI-Schnittstelle

//Mit I2C-Schnittstelle:

#define BME280_I2cAdd 0x76 //I2C-Adresse
MyBME280 BME(BME280_I2cAdd);

//Mit SPI-Schnittstelle:

//#define cs 10 //CS-Pin für SPI-Schnittstelle
//MyBME280 BME(cs, BME280_SPI);


unsigned long zeit;

float luftTemp, luftDruck, redLuftDruck, luftFeuchte;
int hoehe = 460; //Messort 460 m ueber dem Meer

// byte readConfigReg(void);

void setup() {
  Serial.begin(115200);
  if (BME.isReady())
  {
    Serial.println("BME280 ok");
    // BME.setWeatherMonitoring(); //Setze Parameter für Wetterueberwachung
    BME.setHumiditySensing();
    // BME.reset();
    BME.init();
    //Beim Initialisieren des Parametersatzes für Wetterueberwachung (Forced-Mode)
    //wird bereits eine Messung vom Sensor durchgeführt und als Rohwerte gespeichert
    leseMesswerte();
    ausgabeMesswerte();
  }
  else
  {
    Serial.println("BME280 Fehler");
    while (1); //hier geht es im Fehlerfall nicht weiter
  }
  zeit = millis();
}


void loop() {
  if (millis() > zeit + 60000) //Messung alle 60 Sekunden
  {
    BME.startSingleMeas();
    leseMesswerte();
    ausgabeMesswerte();
    zeit = millis();
  }
}


void leseMesswerte()
{
  luftTemp = BME.readTemp();
  luftDruck = BME.readPress();
  redLuftDruck = BME.readReducedPress(hoehe);
  luftFeuchte = BME.readHumidity();
}


void ausgabeMesswerte()
{
  Serial.print("Lufttemperatur  : ");
  Serial.print(luftTemp);
  Serial.println(" Grad C");
  Serial.print("LuftDruck       : ");
  Serial.print(luftDruck);
  Serial.println(" hPa");
  Serial.print("Red. LuftDruck  : ");
  Serial.print(redLuftDruck);
  Serial.println(" hPa");
  Serial.print("Luftfeuchtigkeit: ");
  Serial.print(luftFeuchte);
  Serial.println(" %");
  Serial.println();

  Serial.print("Control Register: ");
  Serial.println(BME.readControlReg());
  Serial.print("Config Register: ");
  Serial.println(BME.readConfigReg());
  Serial.print("Humidity Control Register: ");
  Serial.println(BME.readHumidityControlReg());
  Serial.println();
}

Bekomme aber bei beide BME280 die gleichen Werte zurück: 32, 160, 1.

Serial.println(BME.readControlReg(), BIN); // hat nicht funktioniert.

Demnach haben beide die gleichen Voreinstellungen.

Viele Grüße
Harry

Wenn etwas nicht funktioniert -> Kondensator hinzufügenSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.12.2019, 16:12
Beitrag #12
RE: BME280 Problem
Auslesen scheint zu funktionieren. Ändere ich die Parameter, so ändert sich auch der Wert.

---
BME.setHumiditySensing(); = 32 = 00100000

Temeratur-Oversampling
001 = Oversampling x1

Druck-Oversampling
000 = Oversampling x0 (aus)

Modus
00 = sleep mode

---

BME.setWeatherMonitoring(); = 36 = 00100100

Temeratur-Oversampling
001 = Oversampling x1

Druck-Oversampling
001 = Oversampling x1

Modus
00 = sleep mode
---

Ich war fest davon überzeugt, dass es an den Voreingestellten Register liegt. Nachdem die Werte bei allen BME280 gleich sind fällt mir jetzt nichts mehr ein.

Viele Grüße

Wenn etwas nicht funktioniert -> Kondensator hinzufügenSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.12.2019, 16:40
Beitrag #13
RE: BME280 Problem
Hallo Harry,
das ist wirklich komisch und mir fällt momentan dazu nichts ein, was falsch sein könnte.
Und wie gesagt, mit dem gleichen Sketch messe ich bei meinem Sensor im Sleep-Mode einen Strom von ca. 8 uA.
lg
Retian
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.12.2019, 14:28
Beitrag #14
RE: BME280 Problem
Hi,

da ich auch gerade mit BME280s vom freundlichen Chinesen herumprobiere, und auch einige Erfahrungsberichte im Netz gelesen habe, habe ich einen begründeten Verdacht, was die höher gemessenen Temperaturen betrifft.
Ich habe jeweils welche für 5V und welche für 3,3V gekauft, jeweils gleiches PCB, nur einmal mit Spannungsregler 5V-3,3V und Levelshifter, und einmal ohne zwei Letztgenannten. Testen konnte ich bis jetzt nur die 5V Version, die bei mir auch etwas zuviel Temperatur, und etwas weniger Luftfeuchtigkeit anzeigt. Ich habe mehrfach den simplen Versuch gemacht, den Sensor (Arduino) sofort nach dem bestromen zu messen, und dann im 30s Takt zuzuschauen, wie die Temp hochläuft, und die Luftfeuchtigkeit langsam sinkt. Nach 5min "abkühlen" war beides wieder annähernd bei den erst gemessenen Ausgangswerten. Ergo, das PCP samt Sensor erwärmt sich!
Bestrome ich den Sensor erst kurz vor der Messung (alle 60s), ergeben sich Resultate, die sich zwischen 2 Thermometern und 3 DS18B20 einreihen.

Gruß André
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.12.2019, 14:41
Beitrag #15
RE: BME280 Problem
Der BME misst ja auch nicht die Umgebungstemperatur, sondern die interne Temperatur zum Abgleich der Feuchtigkeitsmessung.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.12.2019, 14:52
Beitrag #16
RE: BME280 Problem
Hi Tommy,

naja, eigentlich noch schlimmer, er misst die Temperatur des PCP wo er drauf gepappt ist.
Ich habe eine recht fundamentierte Abhandlung im Netz gelesen, wonach die BME280 mehr oder weniger in der im Datenblatt angegebenen Range
bleiben, und die 1-3 Grad zuviel nicht bestätigt wurden (3.3V).
Und wenn auf dem PCB dann auch noch ein Spannungsregler drauf ist, dann würden mich die gemessen 550µA auch nicht wirklich wundern.
Leider kann ich meine 3,3V BMEs derzeit noch nicht testen.

Gruß André
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Problem mit der Verteilung von Lasten Vapalus 5 683 25.09.2020 08:26
Letzter Beitrag: Vapalus
  MKR FOX1200-Board und RTC - Problem Herby007 13 4.680 27.04.2020 00:04
Letzter Beitrag: GuaAck
  Problem mit APA106 (WS2812B):flickern der letzten LEDs Holzauge 6 1.482 28.03.2020 13:15
Letzter Beitrag: Holzauge
  Problem mit itr8307 Acki1985 21 3.548 24.03.2020 11:03
Letzter Beitrag: db91595
  Arduino Nano + W5500 Server Problem Plammi 8 3.121 23.11.2019 19:40
Letzter Beitrag: ardu_arne
  Problem mit RS232-Shield bei Betrieb mit externer Spannungsversorgung riggs 3 1.321 15.11.2019 17:33
Letzter Beitrag: hotsystems
  Arduino Problem mit I2C Bus pds14 27 8.816 30.09.2019 12:44
Letzter Beitrag: Chopp
  DHT22 BME280 vergleich Harry 15 12.860 20.09.2019 01:20
Letzter Beitrag: Mirkan
  TCA9548A-Problem mit gefundener Adresse 0x0 alpenpower 10 4.276 26.08.2019 12:41
Letzter Beitrag: alpenpower
  Problem mit Stromsensor-Modul INA219 Retian 1 2.016 12.07.2019 20:21
Letzter Beitrag: Retian

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste