Hallo, ein Bekannter und ich haben hier ein paar BME280-Breakout-Boards aus China. Wenn wir diesen glauben, sind wir in viel zu trockener und zu warmer Luft breits dem Tode nahe. Zum Glück stimmt der Luftdruck, sonst wäre es noch schlimmer... Alle Module zeigen ca. 2-3 Grad zuviel an, Eigenerwärmung sollte es eigentlich nicht sein, Unterschiede zwischen forced- und normal-Mode sind nicht erkennbar, bei einer Messung und 60s Pause sollte Eigenerwärmung keine Rolle spielen. rel. Feuchte ist generell ca. 12-15% zu niedrig, selbst wenn man die Verfälschung durch die falsche Temperatur berücksichtigt, sind es 10-12% zu wenig. Luftdruck passt bei allen dagegen gut. Hat jemand da schon mal Erfahrungen mit gesammelt? Eine wirkliche Referenz für Feuchte habe ich natürlich nicht. Es laufen hier aber seit über 6 Jahren mehrere Sensoren mit FOST02 (SHT11-Nachbau) von HopeRF, die sicher auch keine Ausgeburt an Genauigkeit sind. Da liegt aber die Abweichung untereinander bei 3-4% und die Werte sind realistisch. Ich glaube in einem Altbauzimmer eben eher Werte um die 50% als 30-35%. Mit einem DHT11 habe ich mal ähnliche Erfahrungen gemacht. Die Berechnungsformeln in den benutzten Bibliotheken für die BME280 sind 1:1 aus dem Datenblatt von Bosch übernommen, Rechenfehler den ESP8266 (Datentypen) können es auch nicht sein, ein Mega328 liefert mit den Bibliotheken die gleichen Werte. Vielleicht hat ja jemand die BME280 in Bemutzung oder ein Original von Bosch und man könnte mal die Kalibrierungswerte vergleichen, ob die völlig abweichend sind. Gruß aus Berlin Michael
Ich kenne zwar FOST02 nicht, aber ich kann dir versichern, dass DHT11 echte Schätzeisen sind. Daran würde ich die Genauigkeit von den BME280 nicht festmachen. lg, couka
Ich hab mittlerweile 10 BME280 mit verschiedenen Libraries und verschiedenen Arduinos untersucht: alle ca. 3°C zu hohe Temperaturwerte. Dementsprechend stimmen natürlich auch die im Sensor berechneten Feuchtewerte nicht. Luftdruckmessung ist o.k. Siehe auch diese Diskussion: http://homematic-forum.de/forum/viewtopic.php?f=31&t=27682&start=130#p294087
Hallo, ich habe einen BME280 inzwischen mit ESP8266 versehen und in Sensorgehäuse gepackt. Steht seit gut 2 Wochen auf dem Balkonboden. Nach gurt 2 Tagen hatte sich der BME280 offenbar akklimatisiert. Gemessen wird z.Z. alle 2 Minuten eine Messung, per MQTT rausgeschikct und wieder schalfen gelegt. Die Kombination mit der Luftbewegung scheint eine Rolle zu spielen. Temperatur +- 1 Grad zum Fost02, Feuchte jetzt stabil +- 3% zum Fost02. Luftdruck ist sowieso ok. Ich brauche auch keine sonderlich genauen Werte, ist nur Spielerei. Abweichungen von -20% und mehr bei der Feuchte zu meinen anderen Sensoren war aber eben sehr fragwürdig. Gruß aus Berlin Michael.
viele feuchtesensoren sind empfindlich ggü lösemitteldämpfen. Da reicht eventuell ausdünstung aus dem verpackungsmaterial, um den sensor zu vergiften. Oder ein kurzer waschgang der platine in lösemittel.
Rekonditionierung nach Datenblatt vorgenommen? Trocknen bei 120 °C und < 5% rH für 2 h Rehydrierung bei 70 °C und 75% rH für 6 h bzw. die Alternativen Trocknen bei 120 °C und < 5% rH für 2 h Rehydrierung bei 25 °C und 75% rH für 24 h oder Ohne Trocknen bei 25 °C und > 40% rH für min. 5 h Die 75% rH kann man sich problemlos zuhause basteln: Gesättigte Kochsalzlösung ergibt etwa 75% rH bei 25 °C Andere Kalibrierpunkte z.B. gesättigte Magnesiumchloridlösung ~33% rH oder Lithiumchlorid ~11% rH Übersicht rH vs. Temperatur einiger gesättigter Lösungen: http://www.omega.com/temperature/z/pdf/z103.pdf
Hallo, @Arc Net (arc): nein. Meine bedien BME280 sind auf China-Breakout-Boards. Egal, wie die Chinesen gelötet haben, die mehr als 25 Grad bei > 40% Feuchte hatten sie spätestens hier für mehr als 5 Stunden ohne daß sich die Feuchte-Werte der Realität angenähet hätten. Außerhalb der operating area dürften sie auch auf dem Weg zu mir kaum gewesen sein. Insofern bleibt es für mich zumindest etwas rätselhaft, weshalb der Sensor unbdingt "ins Frei" wollte. Die im Moment angezeigten 39% rel. Feuchte passen jedenfalls durchaus zur Realität und dem Wetter. ;) Gruß aus Berlin Michael
Arc N. schrieb: > Rekonditionierung nach Datenblatt vorgenommen? Hab ich alles schon gemacht, weil ich vermutete, daß beim Reflow-Löten des Moduls durch Temperatur oder Dämpfe eine Veränderung der Eichung möglicherweise erfolgt ist. Hat bezüglich der Temperaturwerte aber gar nichts gebracht. Kann es denn sein, daß in China vielleicht irgendwelche Fakes also Nicht-BOSCH-Sensoren verbaut werden?? Bei Google hab ich dazu bisher nichts gefunden. Offensichtlich finden sich alle irgendwie mit dem Phänomen ab :(
Eugen S. schrieb: > Offensichtlich finden sich alle irgendwie mit dem Phänomen ab :( Oder haben eine derartige Abweichung nicht. Mein BME280 aus China stimmt von den Werten recht gut mit Si7021 und DHT22 überein; selbst mit analogen Schätzeisen. Abweichung ist <1°C, Feuchte gegenüber verlässlichen Si7021 <5%.
Michael U. schrieb: > Eine wirkliche Referenz für Feuchte habe ich natürlich nicht. Was heißt "natürlich"? Setzt dir doch ein paar Kalibrierlösungen an, das ist nicht unbedingt sooh viel Aufwand. http://www.pharmpro.com/article/2012/10/saturated-salts-humidity-calibration-reference https://www.mikrocontroller.net/attachment/158775/salt_table_01.pdf https://shop.bb-sensors.com/out/media/Operation_manual_reference_cells.pdf L. Greenspan, NIST, 1976. Humidity Fixed Points of Binary Saturated Aqueous Solutions http://nvlpubs.nist.gov/nistpubs/jres/81A/jresv81An1p89_A1b.pdf
Hab auch einige BME280 im Einsatz, den ersten hatte ich vom Reichelt die anderen dann auch aus China. Ich habe die Teile aber abgelötet und auf eigene Sensorboards gesetzt. Die messen aber identisch wie der vom Reichelt, nur einen Luftdruckoffset konnte ich untereinander feststellen. Im Anhang mal ein Bild vom Funksensor auf dem Balkon, beschattet. Alle 2min eine Messung. Lauft nun schon seit 6 Monaten eigentlich problemlos.
:
Bearbeitet durch User
Mario G. schrieb: > Die messen aber identisch wie der vom Reichelt Identisch richtig oder identisch alle mit zu hoher Temperatur ??
Temperatur bei allen gleich, auf dem Balkon zeigt eher ein Flüssigkeitsthermometer zu viel an. Verglichen mit einer Uhr mit Temp Messung passt er. Also das die Sensoren zu viel anzeigen sollten ist mir noch nicht aufgefallen. Habe gerade nochmal nachgemessen, auf der Platine wo ein Sensor aufgelötet ist habe ich gemessen mit einem Testo 905-T2 28.3°C der Sensor auf diesem Board liefert mir 28.57°C
Also diese Tempabweichung habe ich mit einem Sensor von Reichelt nicht. Allerdings habe ich einen der 2 gekauften Sensoren beim löten wohl gegrillt. Der zeigte dann nur noch 750hPa an (aber Rest ging) und beim normal mode inkl Druck auslesen wurde der Sensor dann über 5 Grad wärmer. Also vllt verticken die Chinesen mal wieder Zeuch aus der Resterampe. Da die offizielle Bosch Lib von Github für Augenkrebs sorgt, habe ich hier mal eine eigene getippt: http://fritzler-avr.de/HP/Librarys/BME280_his.php
Ich hab mir mal einige BME280 ICs aus China bestellt. Das Kontaktieren durch "Anlöten" war nicht ganz einfach, hat aber doch geklappt. Ergebnis: Die gemessenen Werte des selbst gelöteten BME280 waren absolut realistisch und nicht wie beim fertigen Modul 2 bis 3°C überhöht.Mache ich direkt hintereinander eine Messung mit dem selbst gelöteten BME280 und mal mit dem fertigen BME280-Modul , dann zeigt das fertige Modul 2°C zuviel an. Ich vermute mittlerweile, daß die Module beim Reflow-Löten einfach zu heiß werden und dann einen bleibenden Offset haben. Habe jetzt mal verschiedene Module von verschiedenen Lieferanten bestellt, um die zu vergleichen. Ist schon irgendwie frustierend, ein vom Datenblatt tolles Modul zu haben, aber in der Realität doch enttäuschende Ergebnisse zu erhalten. Weitere Erfahrungen mit dem Modul erwünscht!
Ich bin froh hier im Forum ein paar Mitstreiter zu finden, die auch mit angeblichen BME280 Modulen und deren Messwerten zu tun haben. Naiv kaufte ich mir eines der angebotenen Breakout-Boards von einem deutschen Anbieter. Ich erhielt mit verschiedenen Mikrocontrollern auch plausible Ergebnisse über den I2C-Port angezeigt. Weil die ausgewerteten Temperaturen deutlich zu hoch waren, stolperte ich bei meiner Suche über diesen Forumseintrag. Alle gemessenen Werte sind bei meinem Board Schätzwerte. - Fairerweise möchte ich noch keinen Board-Hersteller nennen. - Das Board wurde ausdrücklich als BOSCH BME280 beworben. Als ich mir den Chip unter der Lupe ansah, war ich mir nicht mehr sicher ob es sich um einen original Bosch-Chip handelt. Das Bild weicht deutlich von einigen Abbildungen der typischen Distributoren und auch vom Bosch Datenblatt ab. Messungen mit einem I2C Baustein von Sensirion stimmen mit den Daten des nahe gelegenen Münchener Flughafens überein. - Doch der angebliche BME280 scheint nur einigermassen plausible Werte vorzugeben. Den Reconditioning-Vorgang habe ich bereits durchgeführt, doch ohne erkennbaren Erfolg. Bisher verschwendete ich drei Tage wertvoller Zeit mit dem Baustein und werde nun versuchen, mir ein Original bei den einschlägigen Quellen zu besorgen. - Glücklicherweise scheint ja die Software kompatibel zu sein und ich vermute mal das Pin-Layout ist ebenfalls identisch. Leider habe ich keine Mikrokamera für ein Bild. - Aber ich will mal versuchen etwas Brauchbares als Bildmaterial ins Forum zu stellen. Allen einen immer feuchten Lötschwamm! Euer Loetbrutzel
...kurzer Nachtrag: Ich telefonierte mit dem Board-Hersteller. Er glaubt nicht unbedingt an ein Plagiat. Nach seiner Meinung sind die 3D-Zeichnungen auf dem Datenblatt sowie die Darstellungen der Distributoren sind irreführend. Da muss ich ihm fairer Weise zustimmen. Ich suche den Fehler auch bei mir werde meinen Aufbau noch einmal komplett neu gestalten. Aktuell nutze ich den "Forced Mode" mit jeweils 1x Oversampling bei Temp und Pressure. - Das war auch die Vorgabe für Weather-Station-Mode mit 1/60s Datenauslesen laut Datenblatt. Lötspitze sauber halten! :)
Hallo, ich will mich nochmal kurz melden: der BME280 ist ja nun seit 3 Wochen auf dem Balkon einquartiert. Er ist ruhig gebleiben und macht seinen Job immernoch. Zumindest passen die Werte zu meinen anderen Sensoren mit für mich ausreichender Genauigkeit. Auf dem Bild sieht man am gestriegen Nachmittag gegen 16:00 Uhr das Gewitter hier mit Wolkenbruch. Der Verlauf passt gut zru Realität. Dunkel, Anstieg der Feuchte beim Regen, Abfall der Temperatur usw. Das Verhalten zwischen 07:00 und ca. 10:00 ist dem Standort geschuldet, zwar keine direkte Sonneneinstrahlung auf den Sensor, aber die Sonne scheint auf den Balkon. Auf http://www.roehres-home.de/fhem/fhem.png liegt alle 2 Minuten ein Bild meiner Anzeige, Balkon/Luftdruck (Höhenkorrektur stimmt nicht richtig) und Beleuchtung (BH1750) vom Balkon, die anderen Daten von meinen alten FOST02-Sensoren in den Innenräumen. Ich habe also im Moment für den Preis nichts zu meckern. Gruß aus Berlin Michael
:
Bearbeitet durch User
Hallo Michael, Respekt, Deine verschiedenen Graphen hast Du elegant umgesetzt. Der Luftdruck hätte beim Durchgang einer Gewitterfront recht deutlich springen müssen. Es könnte aber auch an einer unempfindlichen Skalierung des Graphen liegen. Hier sind Sprünge im Minuten oder 5 Minuten Takt meist stark unterschiedlich. Mein BME280-Modul zeigt speziell beim Luftdruck extrem von anderen Sensoren abweichende Werte an. Teilweise liegen die Werte gar ausserhalb der Spezifikation. Ein Aufbau mit Arduino oder Odroid ändert nichts am Ergebnis. Dennoch ein schöner Kombi-Sensor für die Bastelkiste. - Ich vermute mein Sensor ist defekt und werde bei nächster sich bietender Gelegenheit mal einen anderen BME280 im Vergleich testen. Loetbrutzelgruss
Mein Sensor war mal auf 750hpa festgenegelt und wurde wärmer wenn man den Luftdruck sehr oft und mit Oversampling ausglesen hat -> defekt das Teil.
Hallo, Peter F. schrieb: > Respekt, Deine verschiedenen Graphen hast Du elegant umgesetzt. damit der Respekt nicht zu groß wird: das richtet man prinzipiell in FHEM in wenigen Minuten ein. > Der Luftdruck hätte beim Durchgang einer Gewitterfront recht deutlich > springen müssen. Es könnte aber auch an einer unempfindlichen Skalierung > des Graphen liegen. Hier sind Sprünge im Minuten oder 5 Minuten Takt > meist stark unterschiedlich. Der Sensor schickt im Moment alle 2 Minuten, für die Diagramme eigentlich fast noch zuviel. Ist mehr Spielerei mit der Technik, keine Wetterbeobachtung in dem Sinne. > Mein BME280-Modul zeigt speziell beim Luftdruck extrem von anderen > Sensoren abweichende Werte an. Teilweise liegen die Werte gar ausserhalb > der Spezifikation. Ein Aufbau mit Arduino oder Odroid ändert nichts am > Ergebnis. Der BME280 und der BMP180 sind beim Luftdruck mit meinem alten HP03 dicht beeinander. Ich blicke auch nicht durch, was irgendwelche Webseiten für meine Gegend behaupten. Mal schint es normalisiert auf Meereshöhe zu sein, mal der örtlich gemessene Luftdruck. Eine saubere Höhenkorrektur habe ich bei mir auch nicht drin. > Dennoch ein schöner Kombi-Sensor für die Bastelkiste. - Ich vermute mein > Sensor ist defekt und werde bei nächster sich bietender Gelegenheit mal > einen anderen BME280 im Vergleich testen. Möglich ist sicher auch ein Defekt, bei den China-Sachen bestelle ich ohnehin bei den Preisen meist 2-3 Stück, schon falls ich einen sprenge. ;) Das passiert mir aber prinzipiell sowieso nur dann, wenn kein Ersatz greifbar ist und es ja unbedingt noch schnell fertig werden soll... Gruß aus Berlin Michael
Mw E. schrieb: > Mein Sensor war mal auf 750hpa festgenegelt und wurde wärmer wenn man > den Luftdruck sehr oft und mit Oversampling ausglesen hat -> defekt das > Teil. Danke für Deine Bestätigung: Gleiches bei mir. - Wiederholtes Auslesen verändert die Werte. Aber meine Bastelkiste ist da gnädig und beherbergt auch Sensoren zweifelhafter Daseinsberechtigung. =8)
Hallo Amiga, > damit der Respekt nicht zu groß wird: das richtet man prinzipiell in > FHEM in wenigen Minuten ein. > Danke für den Tipp, das werde ich bei Gelegenheit ausprobieren. > Der BME280 und der BMP180 sind beim Luftdruck mit meinem alten HP03 > dicht beeinander. Ich blicke auch nicht durch, was irgendwelche > Webseiten für meine Gegend behaupten. Nimm vielleicht den Wert vom nächsten Flughafen (DWD.Webseite). Die müssen für die Piloten mit verläßlichen Geräten messen. > Mal schint es normalisiert auf > Meereshöhe zu sein, mal der örtlich gemessene Luftdruck. Eine saubere > Höhenkorrektur habe ich bei mir auch nicht drin. Die Höhenkorrektur hatte ich auch erst im Sinn, doch für einen festen Bezugspunkt wie mein Fensterbrett hätte der Wert nur eine statische Korrekturfunktion. Also die Messwerte wären dann auch nicht genauer. > Möglich ist sicher auch ein Defekt, bei den China-Sachen bestelle ich > ohnehin bei den Preisen meist 2-3 Stück, schon falls ich einen sprenge. > ;) Immerhin funktionierte I2C bei meinem Chip. - Welche Library hast Du zusammen mit Deinem Sensor genutzt? Wenn ich mir die Vorgabe von Sensortech ansehe, kann an vielen Stellen bei der Umrechnung etwas schief gehen, wenn der Datentyp nicht stimmt. Bisher konnte ich keinen Fehler finden, hatte aber den Code der Library auch nur stichprobenartig verifiziert. > Das passiert mir aber prinzipiell sowieso nur dann, wenn kein Ersatz > greifbar ist und es ja unbedingt noch schnell fertig werden soll... Ja, genau so spielt das Bastlerleben 8) Grüße hoch nach Berlin aus dem sonnigen Süden
Mir ist grade noch ein Vergleich diverser "Wettersensoren" über den Weg gescrollt. Will ich mal nicht vorenthalten: http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html
Man findet ja (plattformübergreifend) viele Meldungen von Usern die mit dem BME280 eine zu hohe Temperatur messen. Vielleicht ist diese Fußnote im Datenblatt ja des Rätsels Lösung: Temperature measured by the internal temperature sensor. This temperature value depends on the PCB temperature, sensor element self-heating and ambient temperature and is typically above ambient temperature
Der Sensor ist dafür ausgelegt, dass er ne Weile schläft und dann sampelt. Dabei darf mans auch nicht mit dem Oversampling des Drucksensors übertreiben. Oder gar den Sensor im Dauerfeuer abfragen, dann witrd die Temperatur zu hoch. Das können auch 2°C oder mehr Temperatur unterschied sein dann. Bei mir wird er alle Sekunde abgefragt und nur 4x Oversampling des Drucksensors, dann wirds nicht zu warm.
Mw E. schrieb: > Bei mir wird er alle Sekunde abgefragt und nur 4x Oversampling des > Drucksensors, dann wirds nicht zu warm. Das ist bei mir sicher nicht der Fall, selbst mit 1x oversampling liegt der Sensor beim Raumtemperatur knapp 2°C zu hoch. Auch Forced mode / normal mode / sleep mode machen da keinen Unterschied. Abfrage erfolgt nur einmal alle 5 Minuten. Mein DHT22, BMP280 und die Wetterstation liegen alle dicht beeinander (<0,5°C) und nur der BME280 hat die starken Ausreißer nach oben. Du nutzt wahrscheinlich einen Arduino, oder? Ich jedenfalls den ESP822 mit nodemcu: https://github.com/nodemcu/nodemcu-firmware/blob/dev/app/modules/bme280.c
Sebastian R. schrieb: > Du nutzt wahrscheinlich einen Arduino, oder? Keine Beleidigungen bitte. Nutze den BME280 mit ner eigenen Lib mit einem AVR. Wird derzeit als kleine Wetterstation genutzt.
Auch meine BM280 zeigen ca. 3°C zuviel an (Orginal BOSCH und CHINA-Ware). Als Ref. dienen 3 LM35, der Sht11 und zwei Temp.-Messgeräte mit Thermofühler, die alle die gleiche Temp. anzeigen. Ich messe alle Sek. Wenn der BME280 mit einem Ventilator angeblasen wird, sinkt der Temp.-Wert auf den der anderen. Auch der rel. Feuchte Wert ist dann OK. VG
Ich sehe ähnliches Problem bei meinem BME280-USB boards... Die dinger "sehen" anscheinend die Temperatur vom FR4. Was lernen wir daraus? Temp-Sensoren die die Lufttemperatur messen sollen, sollten ähnlich verbaut werden wie Spannungsreferenzen. Also her mit der nächsten PCB Rev :) 73
Hi, ich habe auch "so eine Wetterstation" mit BME280 (China breakout) und ESP8266, gemessen wird alle 15min. Anfänglich hatte ich auch einen AM2321 parallel, aber die Temp. Werte passten - Toleranzintervalle berücksichtigt - sehr gut, somit habe ich den am2321 entfernt. Auch bei Luftdruck und -feuchte stimmen die Werte sehr gut mit einer offiziellen Station in ca. 2km Entfernung überein.
:
Bearbeitet durch User
Nicht ganz. Der Sensor misst sich selbst. Ich hab den hier auf Lochraster gefrickelt mit Fädeldraht. Der bekommt keine PCB Temperatur mit und auf dem PCB ist auch nichts was heizt. Umso öfter man den ausließt umso mehr Abweichung. Also dein PCB muss die Temperatur fernhalten wie bei Referenzen, aber auch ne Kupferfläche zur Kühlung vorsehen.
Interessante These. Ich dachte ich habe ein Problem mit meiner Groundplane... Wenn ich den Sensor per USB-Kabel anschließe passts, wenn am Laptop, dann nicht. Ich habe daraus geschlossen, dass ich über den stecker und die Groundplane mit die Wärme zum Sensor ziehe... Einen Fädeldraht Aufbau aber ich natürlich nicht probiert... 73
Hi zusammen, habe heute meinen BME280 (China Ware) über I2C an einen ES8266-12E angeschlossen. Der ganze Aufbau befindet sich auf einem Breadboard. Während der Luftdruck einen guten Wert liefert (im Vergleich zur nächsten Wetterstation, 1,5Km), ist die Temperatur um ganze 3 bis 3,5 Grad zu hoch. Als Referenz habe ich ein Quecksilberthermometer aus der Chemie, mit einer Genauigkeit von 0,5 Grad Celsius, dagegen gehalten. Etwas ratlos über den schlechten Messwert, bin ich auf der Suche nach Erklärung auf diesen Thread gestoßen. Zum einen bin ich beruhigt, dass mein BME280 China-Board kein Einzelfall ist, andererseits ist es schade, dass eine vergleichsweise einfache Messung, wie die der Temperatur so gnadenlos daneben liegt. Nach einigem hin und her habe ich den BME280 vom Breadboard entfernt und mit einem 1,5m langen abgeschirmten Kabel angeschlossen. Jetzt ist die Differenz deutlich besser geworden. Es besteht nur noch eine Abweichung von 0,9 Grad. Gemessen am Chemo-Thermometer mit 23,1 Grad, zeigt der BME280 jetzt 24,0 vorher 26,3. Eventuell stören die hohen Frequenzen des ESP8266 in direkter Nähe zum BME280. Abschirmung? Wäre super, wenn jemand mal den Versuch bei sich nachvollziehen könnte und hier berichtet.
Ich habe ach einige China BME280 verwenden, diese habe ich aber auf eine eigene Platine gelötet und keine zu hohen Temperaturen. Ich messe allerdings auch nur alle 2 Minuten. Vielleicht heizt der Spannungsregler auf der China Platine die ganze Platine auf. Je nach verwendeten Spannungsregler könnte das sich auch unterschiedlich auswirken.
Ich habe jetzt alle Beiträge gelesen. Die Temperatur ist beim BME 280 um ca. 3 Grad zu hoch. Jeder hat hier eine Meinung aber keiner eine Lösung! In diesem Forum ist das besonders ausgeprägt.
Hallo zusammen, ich habe auch einen BME280 mit Chinabreakout. Er zeigte ungefähr 2 Grad zuviel an. Da ich ihn direkt an einem ESP8266 betreibe mit 3.3V I2C, habe ich den Regler überbrückt. Nun ist er neben einem Laborquecksilber Themometer nur noch 0.8 Grad zuviel. Also erwärmt der Regler die Platine definitiv. Man kann mit dem LDO auch einen kleinen Rippel in den Daten sehen. Ohne ist der weg. Nun werde ich noch weiter testen und die übrigen 4 ausprobieren. Gruss Martin (Der ESP8266 ist mit dem Messagedienst Telegramm verbunden, kann Emails per SSL verschicken und schreibt mir die Daten in eine Mysql Datenbank von wo ich sie mit Highcharts visualisiere :-) Interessante Links die ev. schon genannt wurden: BME280 Absolute Temperature Accuracy https://www.kandrsmith.org/RJS/Misc/Hygrometers/absolutetemperature.html Wide range of Hygrometers: DHT22, AM2302, AM2320, AM2321, SHT71, HTU21D, Si7021, BME280 http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html
:
Bearbeitet durch User
Martin W. schrieb: > Hallo zusammen, ich habe auch einen BME280 mit Chinabreakout. Er zeigte > ungefähr 2 Grad zuviel an. > Da ich ihn direkt an einem ESP8266 betreibe mit 3.3V I2C, habe ich den > Regler überbrückt. Warum verwendest du überhaupt einen BME280 Breakout Board für 5V, wenn du den Sensor mit 3.3V betreiben möchtest. Sowohl die I2C-Pegelumsetzer als auch der LDO sind dann doch ziemlich nutzlos. http://www.ebay.com/itm/222496414823 Andreas FY schrieb: > Die Temperatur ist beim BME 280 um ca. 3 Grad zu hoch. Wie und womit verglichen. Hast du mal einen DS18B20 direkt mit Wärmeleitpaste an den Sensor angekoppelt und dann die Werte verglichen?
Das Problem hatte ich auch schon. Das Problem ist natürlich der Spannungsregler auf der Rückseite der Platine. Der Spannungsregler braucht auch so viel Strom, dass ich ihn schon alleine deshalb für ein Batteriebetriebenes Gerät entfernt habe. Wenn der Spannungsregler überbrückt wird hat er immer noch eine gewissen Eigenverbrauch. Deshalb Spannungsregler entfernen und mit externen 3,3 V versorgen. Es gibt auch Chinaboards ohne Spannungsregler und Pegelwandler. Gruß JensM
Ihr müsst einfach mal von euren 5V Arduinos, Shields und Breakouts wegkommen. 5V ist tot.
:
Bearbeitet durch User
@Wolfgang Die Betriebsspannung des Boards wurde angegeben mit 1.8-5V. Also dachte ich bin auf der sicheren Seite. Und kann bei Bedarf den Regler auch auslassen. Preislich ist's auch kein Unterschied. Also wo ist das Problem??? @JensM Habs falsch geschrieben, hab ihn ausgelötet und dann überbrückt @ Cyblord Ja gut wenn du das meinst und hier mitteilst, aber das ist hier nicht das Thema
:
Bearbeitet durch User
Cyblord -. schrieb: > Ihr müsst einfach mal von euren 5V Arduinos, Shields und Breakouts > wegkommen. 5V ist tot. Bei welcher Spannung lässt du denn die Atmega328 mit 16MHz laufen?
Eugen S. schrieb: > Ich hab mittlerweile 10 BME280 mit verschiedenen Libraries und > verschiedenen Arduinos untersucht: alle ca. 3°C zu hohe Temperaturwerte. Dir ist schon bewusst das dies kein Temperatursensor ist um die Umgebungstemperatur zu messen? Das ist der Temp-Sensor des Chips / Membrans um den Dew-Point zu berechnen. Der ist naturgemäß in einem Halbleiter unter Betrieb immer höher - das ist auch richtig so, und 3° kommt da gut hin wenn der BME in seiner Spezifikation läuft (Siehe DB).
Lukas schrieb: > Cyblord -. schrieb: >> Ihr müsst einfach mal von euren 5V Arduinos, Shields und Breakouts >> wegkommen. 5V ist tot. > > Bei welcher Spannung lässt du denn die Atmega328 mit 16MHz laufen? Gar nicht. Ich lasse STM32 bei 3,3V mit 48 bzw. 72 MHz laufen. (10 MHz beim Mega328 würden dir wahrscheinlich in den meisten Fällen reichen bei deinen Pups Aufgaben WENN du etwas Skill hättest).
Sorry hatte nicht gewusst das du Trollst, das ist ja jetzt klar, hahaha Zur Info, Arduinos und Atmega-Boards haben nichts mit deinen "Skills" zu tun, lustig.
DraconiX schrieb: > das dies kein Temperatursensor ist um die > Umgebungstemperatur zu messen Der ist auch nicht schlecht, dann lies mal Seite 3 des Datenblatts.
Lukas schrieb: > Sorry hatte nicht gewusst das du Trollst, das ist ja jetzt klar, hahaha Hättest du wohl gerne. Aber die Wahrheit tut halt weh. > Zur Info, Arduinos und Atmega-Boards haben nichts mit deinen "Skills" zu > tun, lustig. Es hat etwas mit DEINEN Skills zu tun, ob du den Mega tatsächlich immer mit 16 MHz laufen lassen musst. Meist muss man das nicht. Vor allem dann nicht wenn man deshalb auf 5V gehen muss. Das macht heute einfach Probleme. Praktisch alle modernen Peripheriebausteine und Sensoren laufen heute nur noch mit 3,3V. Der einzige Teil wo 5V gut ist, sind die ollen LCD Displays. WENN man die einsetzen will, macht man lieber dort eine Pegelwandlung.
:
Bearbeitet durch User
Wie dem auch sei, falls ich mal schlampig programmieren will werden ich wahrscheinlich auch Cyblord -. schrieb: > 48 bzw. 72 MHz brauchen.
Lukas schrieb: > DraconiX schrieb: >> das dies kein Temperatursensor ist um die >> Umgebungstemperatur zu messen > > Der ist auch nicht schlecht, dann lies mal Seite 3 des Datenblatts. Nein du bist Lustig, da steht genau das was ich meine: "The integrated temperature sensor has been optimized for lowest noise and highest resolution. Its output is used for temperature compensation of the pressure and humidity sensors and can also be used for estimation of the ambient temperature." Wenn du auf den Satz: "also be used for estimation of the ambient temperature." rumreiten magst, sehr gerne. Denn dieser Satz ist richtig, aber nicht so wie du denkst. Der Satz sagt das er "auch zur Bestimmung der Umgebungstemperatur" benutzt werde kann. Unter "optimal environment" kann man sich nämlich den zu erwarteten Verbrauch und einhergehenden Temp-Diff herrausrechnen. Er besagt aber nicht das er die reele Umgebungstemperatur wiedergibt. Genauso sieht es im übrigen auch mit den SHT Sensoren aus. Sei es die SHTx0/1/5 Reihe - egal. Wenn du dich ein bisschen mit der Materie: Luftfeuchte, reele Luftfeuchte, Temperatur und Taupunktberechnung auskennen würdest. Wüsstest du das dies auch Sinn macht.
Lukas schrieb: > Wie dem auch sei, falls ich mal schlampig programmieren will werden ich > wahrscheinlich auch > > Cyblord -. schrieb: >> 48 bzw. 72 MHz > > brauchen. Der Unterschied ist, meine Anwendungen erfordern das UND es wird nicht mit 5V Versorgung erkauft. Mit Megas und Tinys kann man so ziemlich alles mit 8 MHz machen. Aber bis DU mal dahin kommst, gehst noch etwas Wasser den Bach runter. Wenn überhaupt jemals. Vor allem bei deiner dummfrechen Beratungsresistenz die du hier an den Tag legst.
:
Bearbeitet durch User
Mit 3,3V und den neueren AVR gehen sogar locker 12,288MHz. Son Quarz hat man eh fast immer rumliegen.
DraconiX schrieb: > Der Satz sagt das er "auch zur Bestimmung der Umgebungstemperatur" > benutzt werde kann. Dann hol mal den Englischwörterbuch raus. > ... can also be used for estimation of the ambient temperature." "estimation" hat mehr was mit Schätzung zu tun.
Wolfgang schrieb: > DraconiX schrieb: >> Der Satz sagt das er "auch zur Bestimmung der Umgebungstemperatur" >> benutzt werde kann. > > Dann hol mal den Englischwörterbuch raus. > >> ... can also be used for estimation of the ambient temperature." > > "estimation" hat mehr was mit Schätzung zu tun. Meine Güte... es kann sowohl als auch Berechnung heißen. Ja, das sagt das Wörterbuch! Estimation kann im übrigen auch Veranschlagung, Ermessen und Meinung bedeuten. Die Aussage dahinter bleibt aber die gleiche, ob es nun Schätzung oder Berechnung oder was auch immer bedeuten mag: Der Temperatursensor spiegelt nicht die Raumtemperatur wieder, sondern die Sensor- / Membran-Temperatur.
Und daher gehts in dem Fred hier auch darum wie man diese doch einigermaßen nah an die Raumtemperatur bekommt. Auf 0,5°C genau wirds ja hier keiner brauchen.
DraconiX schrieb: > Der Temperatursensor spiegelt nicht die Raumtemperatur wieder, sondern > die Sensor- / Membran-Temperatur. Dann beschwere dich doch nicht, wenn der Sensor die Raumtemperatur nicht vernünftig zu fassen kriegt - der Hersteller nennt es eben "Abschätzung für die Umgebungstemperatur"
Wolfgang schrieb: > DraconiX schrieb: >> Der Temperatursensor spiegelt nicht die Raumtemperatur wieder, sondern >> die Sensor- / Membran-Temperatur. > Dann beschwere dich doch nicht, wenn der Sensor die Raumtemperatur nicht > vernünftig zu fassen kriegt - der Hersteller nennt es eben "Abschätzung > für die Umgebungstemperatur" Ich hab mich doch nicht beschwert - Lukas hat sich beschwert und verharrt auf den Standpunkt das er mit einem BME280 die Raumtemperatur messen kann und wundert sich das er einen anderen Wert bekommt als ein anderer Sensor. :-D Wenn ICH die Raumtemperatur messen will nehme ich ein dafür vorgesehenen Sensor und mach keine Klimmzüge über ein BME280 / SHT Chip-Sensor.
DraconiX schrieb: > Wenn ICH die Raumtemperatur messen will nehme ich ein dafür vorgesehenen > Sensor und mach keine Klimmzüge über ein BME280 / SHT Chip-Sensor. Welche denn z.B.? Die BME280 oder DHTs sind halt günstig und die DHTs werden in jedem Wetterstations-Tutorial benutzt. Also was nimmt man denn wenn man wirklich die Umgebungstemperatur haben möchte? Und, ja. Ich z.B. hätte es schon gern auf 0,1 Grad genau wenns geht - ob sinnvoll oder nicht ;-). Auch bei mir zeigt der BME ca. 2 Grad zu viel zu drei anderen Sensoren. (DS18B20, DHT22 und Billig-Digitalthermometer).
DraconiX schrieb: > Lukas hat sich beschwert und > verharrt auf den Standpunkt das er mit einem BME280 die Raumtemperatur > messen kann und wundert sich das er einen anderen Wert bekommt als ein > anderer Sensor. :-D Hab ich was verpasst? Woher hast du das was du behauptest?
Lukas schrieb: > Hab ich was verpasst? Woher hast du das was du behauptest? Stimmt, das war Eugen... Weil hier alles durcheinander geht :-D Sebastian B. schrieb: > Und, ja. Ich z.B. hätte es schon gern auf 0,1 Grad genau wenns geht - ob > sinnvoll oder nicht ;-). Auch bei mir zeigt der BME ca. 2 Grad zu viel > zu drei anderen Sensoren. (DS18B20, DHT22 und > Billig-Digitalthermometer). Ja weil der BME halt keine Umgebungstemperatur angibt, deshalb die +2°. Wenn du wirklich auf 0,1°C genau messen willst, dann schau dich mal bei TSic um, diese sind so genau kalibriert. Selbst DS18B20 und DS1621 sind "nur" auf 0,5°C genau. Hier gilt aber auch: Die Genauigkeit erkauft man sich halt mit dem Preis. ;-)
Hab grademal nachgesehen: Im SHT3x-D Datenblatt versprechense zumindest +-0.3° Genaugikeit (jaja typische...) https://cdn-shop.adafruit.com/product-files/2857/Sensirion_Humidity_SHT3x_Datasheet_digital-767294.pdf
Mw E. schrieb: > Hab grademal nachgesehen: > Im SHT3x-D Datenblatt versprechense zumindest +-0.3° Genaugikeit (jaja > typische...) > https://cdn-shop.adafruit.com/product-files/2857/S... Ich geb es gleich auf :-D Da gibt es schon sehr Beratungsresistente Leute - aus dem SHT DB zum Thema Temp-Sensor und Heater: "Please note: The temperature reading will display the temperature of the heated sensor element and not ambient temperature."
Mw E. schrieb: > Hät ich mal weiterlesen sollen und nicht nochn Bier aufmachen sollen... Ach Quark... Nen Bier geht immer. :-D Und da ist es wurscht ob +/-2° - Hauptsache schön kühl! :'D
Moin, Ich lese den BME280 im Sekundentakt aus, egal ob auf dem Breadboard im Büro bei 22°c oder auf der Terasse bei -2°C, nach ein paar Stunden hängt die Temperatur sprunghaft bei 37,XX°C. Ein erneutes initialisieren auf Zeitbasis hilft nicht, komischerweise ein Reset des Controllers (Mega16) schon, was ja im ersten Moment auf das Programm tippen ließe, ich sehe aber selbst bei minimal-Code nicht wie das passieren sollte.
Bei meinem BME280 ist die Temperaturabweichung ca. 1 Grad, die Luftfeuchtigkeit ist gegenüber meiner Netatmo Station 8% zu niedrig. Der BME280 ist an einem ESP32 angeschlossen und wird mit 5V versorgt. Abfrage alle 10 Minuten. Im Datenblatt von Bosch steht, dass der Sensor nur für eine Temperaturschätzung geeignet ist. Bestimmungsgemäß wird der Sensor zur Unterstützung von Fitness Apps oder als zusätzliche Information für GPS eingesetzt. Auf Seite 10 des Bosch Datenblattes steht unten, Fußnote 9, dass die Temperatur durch die Erwärmung des PCB üblicherweise über der Umgebungstemperatur liegt. Es ist also anzunehmen, dass häufiges abfragen den Temperaturwert stärker verändert. Der Sensor selbst hat eine bessere Genauigkeit, diese wird mit +/- 0,5 °C bei Raumtemperatur angegeben. Also kann man eigentlich die ermittelte Abweichung vom gemessenen Wert abziehen, je nach Abfragehäufigkeit. Der BME680 scheint für eine Wetterstation eher geeignet zu sein, da bekommt man wohl bessere Temperaturwerte und auch noch die Luftqualität als Information. Ich hoffe, das trägt zur Klarheit bei.....
Teilantwort 1 zur ursprünglichen Frage: Der Temperatursensor wird hier zur Kompensation von unvermeidlichen Linearitätsfehlern des Luftdruck- und des Feuchtesensors benutzt. Teilantwort 2: Zur einigermaßen korrekten Anzeige der rel. Feuchte und der Temperatur sollte so ein Sensor isoliert, also ohne Elektronik, von viel Luft umgeben und so eingebaut sein, daß sich an ihm keine Kondensationsfeuchtigkeit bilden kann. Das kann dieser kleine Komplettchip natürlich nicht leisten, und dafür ist er auch nicht gebaut. Teilantwort 3: Zur Feststellung eines Meßfehlers muß man entweder ein dafür geeignetes Kalibrierthermometer nehmen (ich habe dafür z. B. ein Greisinger GTH 175/MO) oder ein gutes Quecksilber-Laborthermometer aus dem Fachhandel. Teilantwort 4: Will man es genauer, sollte man so ein Laborthermometer an der gewünschten Meßstelle anbringen und seine Quecksilberanzeige auf der Skala optoelektronisch ablesen und mit dem Arduino die Werte in digitale Speicherform bringen. Dafür gibt es verschiedene Ansätze und es ist auch nicht ganz einfach, aber genauer geht es kaum. Teilantwort 5: Ein Go-Kart ist kein 700000-€-Porsche. Das sollte man nicht verwechseln, obwohl man sich nach dem Datenblatt auch in ein Go-Kart setzen und damit fahren kann. So long! Claus
Hallo, ich nutze den BME280 mit China Breakouts seit 2 Jahren für Außen- und Innenraummessung. Heute habe ich einen neuen Funksensor mit BME280 in Betrieb genommen, da war die Temperatur auch 3 Grad zu hoch. Nach 20 min. hat er sich eingeschwungen. Meine BME280 senden aller 10 min ein Signal die MCU schaltet dazu VCC über IO Pin, d. h. der BME280 hängt nicht dauerhaft an der Versorgungsspannung. Ich habe mit anderen Thermometern ca. 0,5 Grad Abweichung, reicht für meine Zwecke aber aus. Ich nutze Moteino/Arduino mit der Adafruit Library einige Sensoren laufen 2 Jahre durch ohne Probleme. https://github.com/adafruit/Adafruit_BME280_Library Gruß, René
René schrieb: > Heute habe ich einen neuen Funksensor mit BME280 in > Betrieb genommen, da war die Temperatur auch 3 Grad zu hoch. Was erwartest du? Der Temperatursensor im BME280 misst die Chip-Temperatur und dient lt. DS für die Temperaturkompensation von Druck und Feuchte. Wegen des Chip-Aufbaus eignet der sich nur für eine mehr oder weniger grobe Schätzung der Umgebungstempertur. Nur bei stationären Betriebsbedingungen hat man einen Chance, die Störeffekte wegzukalibrieren. (Datenblatt S.3 "The integrated temperature sensor has been optimized for lowest noise and highest resolution. Its output is used for temperature compensation of the pressure and humidity sensors and can also be used for estimation of the ambient temperature.")
Hallo zusammen, ich versuche nunmehr seit fast einem halben Jahr (mit Unterbrechungen natürlich) von diesem Sensor zuverlässige Messwerte für die relative Luftfeuchtigkeit zu erhalten. Ich habe dies bisher mit fünf verschiedenen Sensoren versucht – einige direkt aus China *) bestellt, andere aus Deutschland (letztere glichen den chinesischen Sensoren allerdings bis ins Detail, sodas sich davon ausgehe, dass diese ebenfalls aus chinesischer Herstellung stammen). Die gemessene Luftfeuchtigkeit war grundsätzlich 5-10 Prozentpunkte zu niedrig – egal welche der diversen verfügbaren Libraries ich genutzt habe. Zwei der verwendeten Sensoren lassen sich zwischenzeitlich nicht mehr ansprechen. Ich habe dann als letzten Versuch bei einem offiziellen Distributor von Sparcfun einen Sensor gekauft. Der Preis war in etwa vier bis fünfmal so hoch wie der Preis für die chinesischen Sensoren. Und siehe da – ich habe absolut zuverlässige Werte. Ich gehe davon aus, dass die chinesischen Sensoren entweder gefälscht waren oder ohne Rücksicht auf die im Datenblatt vorgesehenen Parameter für die Verarbeitung gelötet wurden. Ich hatte die Sensoren zuvor auch versuchsweise entsprechend Datenblatt rekonditioniert – dies hatte allerdings ebenfalls keinen Erfolg. Bei den meisten der diversen verfügbaren Libraries wird für die Berechnung floating point verwendet, anstatt der laut Datenblatt zu bevorzugende fixedpoint Berechnung. Darüber hinaus muss darauf geachtet werden, dass die Ergebnisse der fixedpoint Berechnung für die Luftfeuchtigkeit noch durch 1024 zu teilen ist (vergleiche Datenblatt). Selbst die Bosch eigene Library (vergleiche GitHub) vergisst dies bei der fixedpoint Berechnung. Dieses Erlebnis war mir in zweierlei Hinsicht eine Lehre. Es ist schön, dass billige Komponenten aus China verfügbar sind. So billig können diese Komponenten aber überhaupt nicht sein, dass ich noch einmal so viel Zeit für eine sinnlose Fehlersuche verschwende. Ebenso ist es gut, auf verschiedene Libraries zurückgreifen zu können. In der Zeit, die ich benötigt habe, die Unplausibilitäten zu klären hätte ich einen Treiber auch selbst programmieren können. VG Mark *) meint: aus nicht weiter verifizierbarer Quelle über die bekannten Handelsplattformen
Habe hier 10 China-BME280 und 10 ESP32 liegen. - Zuerst dachte ich, ich hätte mit zwei Sensoren (+3°C und -15%rH) dasselbe Problem. Bis ich die Sensoren mal durchgetauscht habe. Es liegt/lag seltsamerweise an den ESP-Boards (auf denen jedoch dasselbe Programm läuft/lief). Nach ein bisschen rumspielen - mit den I2C-Frequenzen -> 1MHz I2C-Frequenz - abschalten der Sleepmodes (delays) ->stabilere Spannungsversorgung? habe ich nur noch minimale Abweichungen (0.2°C und 2%rH). Also ich schiebe das ganz klar auf Interferenzen und Spannungsschwankungen. Jetzt muss ich halt mal gucken, ob ich mit einem externem Spannungswandler die Probleme auch bei aktiviertem Sleepmode etc. umgehen kann. Evtl. sind ja z.B. die BlueDot BME280 nicht mit dem Problem behaftet, da diese ja einen Spannungs- und Pegelwandler für 5V on Board dabei haben, aber die billigen Chinateile sind da ja komplett blank. - Und je nach Kabellänge und Umgebung kann man sich da jede Menge Dreck einfangen...
sebbi schrieb: > Und je nach Kabellänge und Umgebung kann man sich da jede Menge > Dreck einfangen... Schon die etliche Millisekunden langen, kräftigen Peaks in der Stromaufnahme des ESP32, die du mit einem Multimeter nicht siehst, können die bei ungeeigneter Verkabelung und/oder unzureichender Versorgung kräftig Dreck auf der Versorgung generieren. Guck dir die Versorgung mit dem Oszi an - direkt am Sensor. Alles andere ist Kaffeesatzleserei.
Ist zwar alles schon alt hier, aber falls jemand das selbe Problem hat: Ich habe bei einem BME280 (auf Breakout Board) welcher über I2C an einem ESP8266 hängt, festgestellt daß es bei Kabellänge von ca. 10cm zu folgendem Effekt kommt: Die ESP Controller erwärmen sich recht ordentlich auf deutlich über 30 Grad und heizen damit die komplette Platine mit auf (z.B. NodeMCU). Wenn man da seine Kabel angelötet hat, und die nicht gerade ultradünn sind, überträgt sich ein kleiner Teil der Wärme über die Kupferkabel, die ja auch noch (Wärme)isoliert sind, auf das Breakout board des BME280 und erwärmen dieses. Damit werden die Werte verfälscht, bei mir um +2 bis +3 Grad. Dazu kommt eine Luftfeuchte-Reduzierung um ca 2%. Das ganze hängt dann natürlich ab ob sich die Luft bewegt, je mehr Luftbewegung im Spiel ist desto geringer der Effekt. Draussen wahrscheinlich vernachlässigbar, drinnen inakzeptabel.
markus schrieb: > Draussen > wahrscheinlich vernachlässigbar, drinnen inakzeptabel. Im Freien sollte man nur aufpassen das er keine Direkte Sonneneinstrahlung abbekommt, sonst zeigt er relativ hohe werte an, Da ist eine DS18B20 Temperatur Sonde wesentlich unempfindlicher. Die "Abfragefrequenz" hat auch Auswirkungen, also nur alle 10 Sekunden oder noch langsamer neue Temperaturen holen.
markus schrieb: > festgestellt daß es bei Kabellänge von ca. 10cm zu Ja, die Erwärmung durch den ESP ist beträchtlich. Kann nach meinen Experimenten auch nur dazu raten, das zu berücksichtigen bzw. zu verhindern (längere, dünnere kabel, etc.). Thomas F. schrieb: > Die "Abfragefrequenz" hat auch Auswirkungen, also nur alle 10 Sekunden > oder noch langsamer neue Temperaturen holen. Hier liegen auch eine Menge Fallstricke. Für brauchbare Werte sollte maximal alle 60 Sekunden abgefragt werden. Weiterhin darauf achten, das gute Stück im forced mode zu betreiben. Selbst bei Berücksichtigung der Punkte ist der Sensor meiner Meinung nach immer noch Schrott, aber ohne auf oben genanntes zu achten kann man es gleich vergessen...
Wies aussieht hat Bosch selber bemerkt, dass der Temperatursensor sehr leicht eine zu hohe Temperatur anzeigt und im DB wird der Sensor nurnoch als "combined humidity and pressure sensor" bezeichnet.
Kapier eigentlich die Frage nicht. Du hast doch für das wenige Geld genau das bekommen, was du wolltestt. War doch eh billig.
Hier: 3 China-BME280. Temperatur: Bei Platinen mit AMS1117 (3.3V) drauf, die über Steckernetzteil gespeist werden, sind 2-3 Grad Temperaturabweichung 'normal'. Bei Nodes, die per Akku und ohne Regler gespeist werden, zeigen ein DS18B20 und der BME Temperaturen mit max. 0.2 Grad Abweichung. Definitiv ist die Platinenerwärmung die Ursache. Eigenerwärmung spielt bei einem Ausleseintervall von 60sec keine Rolle. Ein BMP085 liegt ebenfalls in dieser Streuung. (6 DS18B20 auf 6 verschiedenen Nodeplatinen zeigen Abweichungen von 0.1 Grad, da sind 0.2Grad Abweichung des BME verschmerzbar). Druck: Bei zwei der 3 BMEs sind die Relativ-Drücke bis 0.5mbar unterschiedlich, der dritte weicht bis 0.8mbar ab. Wobei einer von beiden im Kühlschrank steckt, und der andere in Raumluft mißt. Die Absolutdrücke (also die Werte ohne Höhen- und H2O-Dampfdruckkorrektur) variieren etwas stärker. Allerdings stimmen die Druckwerte nur bis auf 3mbar mit den Drücken meiner Umgebung (von wetter.com) überein. Ein BMP085 folgt den 2 erstgenannten. Luftfeuchte: Im Innenraum plausible Werte, aussen ist die Streuung (gegenüber wetter.com) wesentlich stärker. Ich bin absolut zufrieden mit den Dingern, die Luftfeuchte ist nicht absolut relevant für meine Zwecke. @Markymark >Selbst die Bosch eigene Library (vergleiche GitHub) vergisst dies bei der fixedpoint Berechnung. Danke für den Hinweis. Ich habe die Bosch-Library auf Integer-Arithmetik umgestrickt und bei Sättigung tatsächlich 102.4% Luftfeuchte erhalten. Dachte eigentlich, da müßte ich nochmal den Fehler suchen, aber das wäre sehr unwahrscheinlich, denn T und p sind korrekt. Da werde ich also bei der rH einfach nochmal durch 1024 teilen und gut ist ;)
Hallo zusammen, ich hätte in diesem Zusammenhang mal noch eine andere Frage. Und zwar hab ich einen ESP8266 mit einem BME280 und einen ESP8266 mit einem DHT22. Für beide Schaltungen hab ich einen LiFePo mit 1100mAh. Ich wollte den ESP nur einmal pro Stunde aufwachen lassen, kurz die Werte auslesen und über einen HTTP Request an eine API schicken. Funktioniert alles soweit, nur habe ich bei der Schaltung mit dem BME folgendes Problem. Solange die Schaltung am USB Port hängt funktioniert alles wie es soll. Sobald ich den Akku dran hänge, "hängt" sich der ESP auf. Bei der anderen Schaltung mit dem DHT22 und dem Akku läuft alles wie es soll. Der ESP wacht einmal in der Stunde auf, holt sich die Werte und schickt diese über WLAN an die API. Verdrahtung mehrmals gecheckt, BME ausgetauscht (Sind aber beide aus der gleichen China-Bestellung), Akku gewechselt - ich bin echt ratlos. Hat jemand noch einen heißen Tip für mich? Vielen Dank!
Wenn die Temperaturdifferenz (mit etwa 3°) bekannt ist, könnte man dem Microcontroller (bei mir als Newbee ein Arduino) diesen Offset mitgeben und (falls die rel. Luftfeuchte bei der falschen Temperatur stimmen würde) über den Umweg der absolute Feuchte die rel. Feuchte zur korrigierten Temperatur ebenfalls berechnen (siehe auch https://www.wetterochs.de/wetter/feuchte.html). Wäre das zielführend, oder ist die rel. Luftfeuchtigkeit des Sensors ebenso falsch wie die Temperatur? Dann könnte man den Sensor ja prinzipiell in die Tonne treten... Sind denn die BME680 wirklich genauer? Ich arbeite immer mit den bereits aufgelöteten und damit anschlussfertigen Sensoren auf den Miniplatinen, die Sensoren selbst mögen ansonsten ja genau sein, aber das hilft mir nichts. Bei meinem Aufbau sende ich alle 15 Sekunden einen Messwert an eine Webseite (neben den BME280-Daten noch die Helligkeit). Danke für Euer Feedback Frank
Eigentlich gehöre ich in diesem Forum nur zu dem Lesern. Aber in diesem Thread ist einiges am Erkenntnissen gesammelt, was diesen massiven Temperaturoffset des BME/P280 angeht, die ich bestätigen kann. Ich habe auch einige dieser Sensoren fertig auf Modulplatinen montiert. Einer der Sensoren schlug mit über +3°C gegenüber anderen Referenzen auch extrem aus der Reihe. Die Luftfeuchtewerte sind entsprechend zu gering. Es gibt also durchaus Exemplarstreuungen was die Störanfälligkeit angeht. Meine Feststellung: Die BME280-Chips mögen es gar nicht in der Nähe eines ESP mit aktivem WiFi betrieben zu werden. Es bringt dann auch nichts dem BME in passiven Phasen stromlos zu schalten. Bei Abfragen im Minutentakt und dem ESP im DeepSleep nähern sich alle Sensoren innerhalb der im Datenblatt angegebenen Toleranzbereiche an. Startet das WakeUp des ESP mit Aufbau der WiFi-Verbindung hat die Messung vermehrtes Rauschen und ab und an Spikes (meist nach unten). Der optimale Ablauf einer Messungs ergab sich für mich wie folgt:
1 | ESP.deepSleep(wake_time_ns, RF_DISABLED) |
2 | PowerOn BME via IO-Pin |
3 | Initialize BME280 |
4 | Force Measure |
5 | PowerOff BME280 |
6 | establish WiFi connection |
7 | Send measurement values |
8 | ESP.deepSleep(wake_time_ns, RF_DISABLED) |
Einziger Nachteil dieser Methode. Es muss nach dem deepSleep ein WiFi.begin() durchgeführt werden, wodurch der WiFi Verbindungsaufbau deutlich länger dauert. Mir ist es zumindest anders nicht gelungen nach dem RF_DISABLED wieder eine Verbindung herzustellen. Es ist in dieser Betriebsart dringend angeraten ein WiFi.persistent(false) aufzurufen. In dem angehängtem Bild ein Vergleich zu sehen (beide im ESP.deepSleep Loop): blau: Messung mit abgeschaltetem WiFi (vorher sehr störanfälliger BME-Chip) rot: Messung erst nach WiFi Verbindungsaufbau (erhöhtes Rauschen der Messwerte). Wenn man dem DeepSleep Mode nicht verwenden kann/will, weil der ESP noch andere Dinge tun soll, dann empfehle ich einen Abstand von min. 20cm zum aktiven ESP. P.S. Wen es interessiert: Da einige BME Biliotheken IMHO doch diverse Macken aufweisen, wollte ich für die Experimente den original Bosch Treiber verwenden. Ich habe eine simple ESP Wrapper Klasse dafür geschrieben: https://github.com/DonKracho/ESP8266-BME280_driver_wrapper
Ich habe 4Stk von diesen BME280 Platinchen und bei keinem kann ich eine Abweichung von diesen oft genannten 3° feststellen. Im Foto anbei(Display ist leider etwas unscharf) sind es 1014hPa, 20,5° und 40%RH.
@caargoo Welche Genauigkeitsklasse hat deine Wetterscheibe denn? Das muss schon mit anderen Sensoren verglichen werden deren Genaugkeit man kennt.
Laut Manual bei -20 bis 50° +/- 2° Von 990hPa bis 1030hPa +/- 5hPa Zwischen 45% und 75% +/- 6% Luftdruck hab ich bei amtlicher Wetterstation abgeglichen. Da es aber hauptsächlich um die Temperatur des BME geht hier noch 2 Vergleichsmessungen. Bei Bild 33 zeigt der BME 20,9° Bei Bild 33_1 zeigt der BME 18,7°
Hallo, auf diesen Thread bin ich rein zufällig gestossen. Da wir uns erst vor Kurzem recht ausführlich mit diesem Sensor beschäftigt haben, möchte ich mir ein paar Anmerkungen erlauben, die für den einen oder anderen eventuell hilfreich sein könnten. 1.) Spezifikation Man sollte das "Data Sheet BST-BME280-DS001-18 / V 1.9 / NOV 2020" richtig interpretieren, insbesondere die Angaben zur "Absolute Accuracy Tolerance": Typische Werte (1): Temperatur (7) 0 ... 65°C +/- 1.0 °C Feuchtigkeit 25°C, 20 ... 80% +/- 3 % rH Druck 300 ... 1100 +/- 1.0 hPa 0 ... 65°C (1) BST verzichtet auf die Angabe verbindlicher Grenzwerte, beschränkt sich auf mehr oder weniger unverbindliche typische Werte. Beachtenswert ist auch die Fußnote (7)Temperature measured by the internal temperature sensor. This temperature value depends on the PCB temperature, sensor element self-heating and ambient temperature and is typically above ambient temperature. Dieser Sensor misst also irgendeine Temperatur, mit einer Genauigkeit von 2°C, von der man nicht weiß, in welcher Relation zur Umgebungstemperatur sie steht, die jedoch in die Berechnung von Feuchte und Luftdruck einbezogen wird. Das Datenblatt sagt aber auch ganz eindeutig "The integrated temperature sensor... can also be used for estimation of the ambient temperature.", zu Deutsch "Abschätzung der Umgebungstemperatur", im Kapitel General Description. Der Messfehler ist nach unserer Erkenntnis allemal größer als sämtliche Genauigkeitsfehler, die aus diversen Störfaktoren oder Ungenauigkeiten aufgrund der Berechnungsmethode resultieren können. 2.) Für realitätsnahe und reproduzierbare Messergebnisse ist es äußerst ratsam, auf den Einsatz von Drittbibliotheken abseits des Linux-Kernels zu verzichten und für die Kommunikation mit dem Sensor die empfohlenen smbus- Funktionen zu verwenden. Auch den im Datenblatt enthaltenen Empfehlungen zum Auslesen der Register sollte man unbedingt gebührende Aufmerksamkeit schenken. 3.) Der im Datenblatt empfohlene Methode für Weather Monitoring sollte man ebenfalls folgen, um die Eigenerwärmung des Sensors gering zu halten. 4.) Weiters ist die Messtelle mit großer Sorgfalt auszuwählen. Der Sensor sollte in einer Entfernung von mindestens 8 cm oder mehr, seitlich oder unterhalb des Microcontrollers betrieben werden, keinesfalls darüber angebracht werden. Beim einem Vergleichstest mehrerer Breakoutbords (BME280 und BMP280) unterschiedlicher asiatischer Herkunft konnten wir feststellen, dass unter diesen Bedingungen die Messwerte durchgängig innerhalb der von BST spezifizierten typischen Bandbreite lagen. In der Serie werden wir jedoch den LM75A einsetzen, der für Temperaturmessung eine adäquate Präzision bei günstigeren Kosten bietet.
Hast Du mein Bild 33_1 angeschaut? 4 verschiedene Sensoren liegen innerhalb von 0,4Grad!
@caargoo: Bei unseren Versuchen, für welche wir die Testmuster auf einer 5 mm starken, 12 cm² großen Aluplatte montiert hatten, stellten wir merklich höhere Abweichungen fest. Möglicherweise stammen Ihree Sensoren aus derselben Serie und sind nicht bunt zusammengewürfelt wie unsere Testmuster? Zwischenzeitlich haben wir uns auch eingehend mit dem LYWSD03MMC von Xiaomi befasst. Der läßt sich mit geringem Aufwand über Bluetooth problemlos auslesen, kann daher beliebig und optimal platziert werden. Er liefert akkurate Werte für Temperatur und Luftfeuchte, ausserdem verfügt er über ein Gehäuse mit LCD- Anzeige. Und das Beste: Der Xiaomi Sensor ist auch nicht teurer als ein BME280.
Zum Thema Eigenerwärmung des BME280: Laut Datenblatt lässt sich der Sensor ziemlich sparsam betreiben, z.B. "3.6 μA @ 1 Hz humidity, pressure and temperature", macht bei 3.3 V etwa 12 µW. Gibt im Datenblatt zwar keine Angaben zum Wärmewiderstand aber mehr als 500 K/W werden es ziemlich sicher nicht sein und damit hätte man rechnerisch 0.006 K Eigenerwärmung, hat also keinen Einfluss auf die Messgenauigkeit. Wenn man einen halbwegs sparsamen Modus einstellt, sollte das also überhaupt kein Problem sein. Eigenerwärmung der Platine durch den Regler ist dagegen durchaus relevant, der AMS1117 braucht "typisch" 5 mA "Quiescent Current", macht bei 5 V also 25 mW, mit einem Wärmewiderstand von 120 K/W (könnte halbwegs realistisch sein für so eine kleine Platine) käme man rechnerisch auf die hier öfter genannten 3 Grad Abweichung. Den Reglerverlust kann man übrigens auch einfach messen mit einem Multimeter (nur VCC/GND anschließen, ohne I2C-Signal ist der Sensor nach dem power-up im sleep mode und braucht fast nichs). Daraus kann man dann ganz grob (mit einem geschätzten Wärmewiderstand) die Eigenerwärmung durch den Regler abschätzen.
Interessanter Thread, nicht mehr neu, aber immer noch aktuell. So manches hier beschriebene Problem hat auch mir die Zeit gestohlen. Zumindest zu den zu niedrigen Feuchtigkeitswerten des BME280 möchte ich diesen Hinweis weitergeben: FAE_CA1 Community Moderator 03-08-2021 05:19 PM Re: BME680 and BME280 too low humidity Hi, Thanks for your inquiry. Each BME280 and BME680 sensor is factory trimmed, calibrated and tested before delivery to the market. However, after soldering the offset of humidity may change due to the mechanical stress. The humidity difference of 6%RH ~ 8%RH compared to the reference is normal. You can do the compensation in your production line. Please see the attached "BST-BME280-AN006-02.pdf" for more information.
Wärste noch so freundlich die pdf hier anzuhängen? In Google gibts da nur 1 Link zu und die Datei scheint beschädigt zu sein. Wenn man dem Sensor jetzt aber garnicht mehr trauen kann (2 der 3 Funktionen weichen stark ab), dann doch lieber einen anderen Sensor nutzen.
Aus dieser Seite funktioniert der Download: https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/BME680-and-BME280-too-low-humidity/m-p/21794
Dieses Ding ist nichts weiter als ein nutzloses Gadget. Jedes billige analoge Thermo-/Hydrometer ist genauer.
Hallo, otto schrieb: > Dieses Ding ist nichts weiter als ein nutzloses Gadget. > Jedes billige analoge Thermo-/Hydrometer ist genauer. naja, wenn ich wissen will ob ein Netzteil die angegeben Spannung ausgibt brauche ich nicht zwingen 4 Stellen hinter dem Komma. Wenn ich wissen will wie drau0en das Wetter ist macht das mein BME280 seit gut 2 Jahren ausreichend zuverlässig. Der Fehler durch den Standort auf dem Balkonboden ist da ohnehin größer als seine Abweichung. Die Parameter haben sich dabei bisher seit der Aufstellung nicht erkennbar verändert. Mehrere China FOST02 sind hier innen seit über 10 Jahren in Betrieb, einer ist dabei irgendwann ausgefallen, die anderen 4 zeigen auch jetzt sinnvolle Werte an. Wenn ich auf meine alte analoge "Wetterstation" schaue, reicht es mir auch, daß es bei 23 Grad steht und der Luftdrick bei 1005mBar usw. Gruß aus Berlin Michael
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.