Wie sollte man einen BME280 Sensor vor den Unbilden des deutschen Wetters schuetzen?

  • Hallo Matsch1,

    ich betreibe den Sensor an einem RasPi, nicht an einem ESP. Der RasPi ist in der Hühnerhütte angebracht und dort für Licht und Hühnertür zuständig (Bilder siehe Link im Footer). Der Sensor ist dem Wetter ausgesetzt in einer eigenen Abzweigdose an der Aussenwand der Hühnerhütte, durch ein Kabel mit dem RasPi im inneren verbunden.

    Anfangs hatte ich eine Abzweigdose mit großen Löchern im unteren Bereich verwendet, Pink im nachfolgenden Bild markiert:

    Ich denke da ist genug Luft rein und raus und durchgesaust, so dass dort sich kaum Kondensat halten konnte. Für die Verbindung habe ich Wago-Klemmen genutzt.

    Nun also der 3. neue Sensor in einer größeren Verbindungsdose ohne große Löcher, wie zuvor beschrieben.

    Da kaum wärmende Elektronik in der Abzweigdose ist, könnte natürlich am empfindlichen Sensor, so wie Andreas es beschrieben hat, doch geringfügiges Kondensat die Feuchtemessung verfälschen und zum Defekt führen. Aber, da wo keine Eigenwärme ist, kann auch keine Eigenwärme die Temperaturmessung des BME280 verfälschen!

    Ob häufiger Betrieb des Sensors die Lösung ist?

    Es bleibt also spannend, die Eingangsfrage von framp: "Wie sollte man einen BME280 Sensor vor den Unbilden des deutschen Wetters schuetzen?" zu lösen

  • Wie sollte man einen BME280 Sensor vor den Unbilden des deutschen Wetters schuetzen?? Schau mal ob du hier fündig wirst!

  • Hallo framp,

    ich habe so ein verschraubtes Kunststoffgehäuse [Anzeige] IP65 verwendet, in das ich auf der Unterseite eine große Bohrung gemacht habe, die mit einem Edelstahlgewebe, Maschenweite 300µm, aus dem Filteranlagenbau (Teichfilter) von innen verschlossen ist. Die Luft kann also ungehindert eindringen, Wasser, Tierchen etc. jedoch nicht.

    Wichtig ist, dass die elektronischen Komponenten ständig beschäftigt sind. In meinem Fall 1x pro Sekunde eine komplette Messung. Läuft seit März 2019 durch, leichte Korrosion an Lötstellen ist erkennbar und in der Zeit ist einmal ein Sensor kaputt gegangen. In Deinem Fall darf natürlich weder direkter Regen noch Sonneneinstahlung d´rankommen.

    Gruß, Holger

    "Probleme kann man meist nicht mit derselben Denkweise lösen, durch die sie entstanden sind."

    Wetterstation Nievenheim

  • leichte Korrosion an Lötstellen ist erkennbar

    da hilft lötbarer Plastikspray, aber nicht sprühen wegen dem Sensor sondern in Dosendeckel einsprühen und aufpinseln.

    https://www.mikrocontroller.net/topic/182640

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Whow - vielen Dank fuer Eure so zahlreichen Vorstellungen Eurer Loesungen sowie Hinweise worauf zu achten ist :danke_ATDE: .

    Vergessen habe ich natuerlich auch den Schutz vor Kleintieren. Da der Ort sowohl Sonnen- wie auch regengeschuetzt unter dem Dachvorsprung ist spiele ich jetzt mit dem Gedanken den ESP incl Akku in einem Gehaeuse unterzubringen und die 4 Kabel fuer den Sensor nach aussen zu fuehren und mit Heisskleber den Durchlass abzudichten. Wie ich verstehe ich eine ausreichende Lueftung speziell fuer den Feuchtigkeitssensor notwendig. D.h. wenn wie bei mir keine Gefahr besteht dass Regen auf den Sensor kommt koennte ich ihn unten an einem geschlossenen Gehaeuse befestigen - ihn aber dem Wetter soweit direkt aussetzen. Es gab zwei Vorschlaege wie man den Sensor etwas schuetzen kann. So wie ich aus Euren Erfahrungen lese muss das wohl nicht unbedingt getan werden.

    Der Punkt mit dem Taupunkt der von Andreas angesprochen wurde ist interessant. Da der BME280 auch Luftdruck misst kann man den Taupunkt berechnen. Die Frage ist ob die erzeugte Waerme am Sensor beim Auslesen aussreicht um Feuchtigkeit zu eleminieren und wenn ja wie die Samplerate von dem Taupunkt abhaengt und wie man das berechnet. Ich habe vor alle Sekunde zu messen. Es wurde von jemandem berichtet dass das bei ihm bei der Samplerate keine Probleme macht. Ich denke ich werde Code schreiben der den Taupunkt berechnet und zusammen mit den Messwerten Temperatur, Humidity und Luftdruck sendet und speziell im Winter beobachten.

    Andreas Hast Du Erfahrungen wie man die Samplerate abhaengig von dem Taupunkt steuern sollte? Lohnt sich der Aufwand der Steuerung oder reicht es nicht einfach jede Sekunde mal zu samplen?

  • Hallo framp,

    ...

    Der Punkt mit dem Taupunkt der von Andreas angesprochen wurde ist interessant. Da der BME280 auch Luftdruck misst kann man den Taupunkt berechnen. Die Frage ist ob die erzeugte Waerme am Sensor beim Auslesen aussreicht um Feuchtigkeit zu eleminieren und wenn ja wie die Samplerate von dem Taupunkt abhaengt und wie man das berechnet. Ich habe vor alle Sekunde zu messen. Es wurde von jemandem berichtet dass das bei ihm bei der Samplerate keine Probleme macht. Ich denke ich werde Code schreiben der den Taupunkt berechnet und zusammen mit den Messwerten Temperatur, Humidity und Luftdruck sendet und speziell im Winter beobachten.

    Andreas Hast Du Erfahrungen wie man die Samplerate abhaengig von dem Taupunkt steuern sollte? Lohnt sich der Aufwand der Steuerung oder reicht es nicht einfach jede Sekunde mal zu samplen?

    In diesem Thread hatte ich mich ja mal ausgiebig mit dem Thema Luftfeuchtigkeit, Sättigungsdampfdruck, Taupunkt etc. beschäftigt und die Programmierung des BME280 hier ausgelagert.

    Mit den Möglichkeiten des BM280 habe ich natürlich auch ausgiebig herumexperimentiert.

    Ich habe praktisch keine Temperaturerhöhung in Abhängigkeit der Samplerate festgestellt.

    Wenn du den BME280 nur sporadisch ausliest und er ansonsten im SleepMode (0,1 µA) verbringt, dann fließt da so wenig Strom, dass da praktisch keine Wärmedifferenz zur Umgebung besteht.

    Wenn Du mit einer Frequenz von 1 Hz

    • H & T ==> 1,8 µA
    • p & T ==> 2,8 µA
    • H & p & T == 3,6 µA

    dann fließen die angegebenen Ströme (Datenblatt von Bosch). Da Du für die Ermittlung des Taupunkts alle 3 Messwerte brauchst, bietet es sich an, auch diese 3 Messwerte auszulesen.

    Die zu nutzende Samplerate hängt ganz sicher nicht vom Taupunkt ab. Kritisch ist aber die Differenz Temperatur - Taupunkt zu sehen. Mit den angegebenen Formeln (aus meinem Thread) kannst Du ausrechnen, wie groß die relative Luftfeuchtigkeit sein wird, wenn der Taupunkt unterschritten wird.

    Bei H > 100 %rF wird Feuchtigkeit kondensieren. Hier darf der BME280 nicht den Kältepol bilden - also hilft nur häufiges Auslesen.

    Bei H << 100 %rF und T > Taupunkt KANN Feuchtigkeit NICHT kondensieren. Hier ist die Samplerate belanglos. Hier reicht gelegentliches Messen.

    Das bedeutet aber auch, dass (außer bei winterlichem Klima) nachts die kritische Tageszeit darstellt, da nachts und frühmorgens (Morgentau, Frühtau) die Luftfeuchtigkeit bei H > 100 %rF überall mit T <= Taupunkt kondensiert, . Hier muss der Sensor bzw. der Aufbau mitsamt µController entsprechend warm gehalten werden - und sei es durch sinnloses Verheizen von elektrischer Leistung.

    Meine Empfehlung geht auch in die Richtung, nachts und nach einem Regenschauer im Abstand von 1 Sekunde zu messen. Das muss reichen. Mehr kannst Du eh nicht machen.

    Übrigens: Im Winter sehe ich es weniger kritisch. Da ist die relative Luftfeuchtigkeit draußen deutlich unter 30 %. Die Dampfsättigungskurve ist bei den tiefen Temperaturen sehr flach. Der Taupunkt ist deutlich unterhalb der Außentemperatur. Da kann auch nichts kondensieren - weil nichts in der Luft ist.

    Im Sommer hast Du nach einem Regenschauer H = 85 %rF, da liegt der Taupunkt um ca. 5 ° unter der aktuellen Lufttemperatur. Um diese Temperatur kühlt es sich dann nachts immer ab.

    Sinnvoll ist es schon, regelmäßig die Daten zu erfassen, den Taupunkt zu berechnen, um die Differenz zur aktuellen Temperatur zu kennen. Letztlich kannst Du nur mit diesen Daten die Häufigkeit einer drohenden Kondensation der Luftfeuchtigkeit ermitteln - und versuchen zu verhindern. Berücksichtige dabei aber auch die Messungenauigkeiten des Sensors (T => T-0.5, H => H+3.0, p => Temperaturabhängigkeit s. Datenblatt), falls Du diesen nicht "kalibrieren" kannst. Ich habe für diesen Zweck einen Blockkalibrator, um Temperatursensoren auf 0,1 °C genau einzustellen. Für die Luftfeuchtigkeit habe ich einen Datenlogger, der auf 0,1 %rF genau misst. Mit diesen beiden kalibrierten Messgeräten kann ich die Abweichung unbekannter nichtkalbrierter Sensoren recht präzise ermitteln.

    Für den Luftdruck kannst Du Dich anderweitig behelfen. Über den Luftdruck (der auf NN angegeben wird) kannst Du Deine aktuelle Höhenposition berechnen. Diese kennst Du bzw. kannst du vom lokalen Eichamt / Messamt erfahren oder auf topologischen Datensammlungen, die Dir bereit gestellt werden können, selbst interpolieren. Das habe ich letztes Jahr bei einem Kunden gemacht und lag um 0,5 m daneben. Das Messamt hat dann meine Werte nachgeprüft und bis auf den halben Meter bestätigt.

    Über die Höhendifferenz und Druckdifferenz gem. barometrischer Höhenformel hast Du dann die Abweichung des Drucksensors.

    Der Programmieraufwand dazu ist ja recht überschaubar. Der Erkenntnisgewinn ist groß.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (6. Mai 2021 um 22:29)

  • Du hast Dich offensichtlich sehr genau mit der Materie auseinandergesetzt. Vielen Dank fuer Deine detailierten Erlaeuterungen :thumbup:

    Wie ich es sehe ist man mit einer Samplerate von 1 Sekunde schon mal auf gutem Kurs und es ist die Frage ob sich weiterer Aufwand lohnt. Aber es reizt mich schon eine von T-Tp abhaengige adaptive Samplerate zu implementieren. Wie Du schon schreibst ist das wenn man mal verstanden hat wie man die Messwerte in eine Formel einbindet programmatisch ein Klacks. Zugegebenermassen habe ich mich bislang noch nicht mit der Berechnung des Taupunkts vermittels eines BME280 befasst - aber ich lerne durch Lesen immer gerne dazu :)

  • Meine Empfehlung ...im Abstand von 1 Sekunde zu messen. Das muss reichen. Mehr kannst Du eh nicht machen.

    Wie ich es sehe ist man mit einer Samplerate von 1 Sekunde schon mal auf gutem Kurs und es ist die Frage ob sich weiterer Aufwand lohnt.

    Verstehe ich es richtig, ihr seit der Meinung, die einfachste Möglichkeit wäre, den Sensor "warm" zu halten indem man ihn dauerhaft beschäftigt?

    Dies nur zu kritischen Taupunkt-Zeiten zu tun wäre zwar eine Einsparung von unnötigen Messungen und Strom, man könnte aber durchaus alle Sekunde (24/7) eine Messung machen, wenn man zu faul ist eine Taupunkt abhaengige adaptive Samplerate zu implementieren?

    Ich würde diesen Ansatz gerne bei meiner Konfiguration einstellen. Mein RasPi ist sowieso unterfordert und könnte gerne jede Sekunde messen.

    Mein RasPi misst per FHEM im Moment alle 20 Minuten. Dies kann ich auf 1 Sekunde einfach ändern, jedoch wird dann auch jede Sekunde ein Log-Eintrag generiert. Die Daten im Log-File schwellen dadurch unnötig an.

    Kann mir jemand einen FHEM-Tip geben, wie ich zwar jede Sekunde messen lassen kann, aber nur alle 20 Minuten ein Log-Eintrag generiere?

  • Hallo Bracew,

    Verstehe ich es richtig, ihr seit der Meinung, die einfachste Möglichkeit wäre, den Sensor "warm" zu halten indem man ihn dauerhaft beschäftigt?

    Dies nur zu kritischen Taupunkt-Zeiten zu tun wäre zwar eine Einsparung von unnötigen Messungen und Strom, man könnte aber durchaus alle Sekunde (24/7) eine Messung machen, wenn man zu faul ist eine Taupunkt abhaengige adaptive Samplerate zu implementieren?

    Nein, meiner Meinung reicht es aus, nur zu kritischen Zeitpunkten (z. B. aktuelle Temperatur - Taupunkt < 5 °C) dafür zu sorgen, dass der Sensor oder das Sensor-Modul nicht den Kältepol in der näheren Umgebung darstellt.

    Insbesondere bedarf es keiner häufigen Messung, wenn

    - im Tagesverlauf die Temperatur steigt UND es nicht regnet, weil die Differenz Temperatur - Taupunkt ebenfalls steigt

    Es bedarf also Messungen, um die Lage zu sondieren, um dann die richtigen Messintervalle festlegen. zu können.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • da hilft lötbarer Plastikspray, aber nicht sprühen wegen dem Sensor sondern in Dosendeckel einsprühen und aufpinseln.

    https://www.mikrocontroller.net/topic/182640

    Einfach den aufgelöteten Sensor mit isoband abkleben und dann sprühen.

    Das isoband aber erst vorsichtig Abziehen, wenn der Schutzlack trocken ist.

    Mein Sensor hängt einfach mit einem geschlossenen Gehäuse, dass aber nicht Wasserdicht ist, an einem Pfosten unterm Vordach meiner Gerätehütte.

    Da kommt kein Regen oder Feuchtigkeit hin, auch gibt es da keine direkte Sonneneinstrahlung.

    Der BME280 steckt mit einem Funkmodul und einem Arduino Mini Pro 328p auf einer extra dafür gemachten Platine.

    Es ist im Prinzip dieses Projekt hier, für meine Homematic/Raspberrymatic.

    Als Abweichung verwende ich einen etwas anderen Sketch, der außer Temperatur und Luftfeuchtigkeit, auch den Luftdruck anzeigt.

    Und das selbe Gehäuse wie im Artikel, nur die geschlossene Version ohne Lüftungsschlitze.

    Läuft schon gut 2 Jahre so, ohne Probleme.

    Selbst die 2 Batterien halten erstaunlich lange.

    Hier gibt es ein paar Bilder davon.

    Die Anzeige des Sensors selber, sieht dann in der Raspberrymatic so aus.

  • Falls es jemanden interessiert: Hier habe ich meinen C Code fuer Arduino hingestellt der den Taupunkt in Abhaengigkeit von Temperatur und relativer Luftfeuchte berechnet.

    Damit kann man z.B. so etwas wie im Bild unten dargestellt realisieren.

    Dieser Sensor basiert auf dem oben vorher gezeigtem Sensor, es ist die selber Platine, nur der Sketch ist ein anderer und 2 Widerstände für den I2C Bus sind dazu gekommen.

    Und am Arduino muss man mit einem Programmer andere Fuses setzen, was aber kein Hexenwerk ist, wie man sieht.

    Ich hatte da eine Sensorplatine als "Stromfresser" aussortiert, weil die alle 2 Wochen Neue Batterie brauchte.

    Die hatte 20mA Stromaufnahme, statt irgendwas mit 5-6µA.

    Da dachte ich, testest das mal Projekt, denn die 2 Widerstände mit 10k konnte ich auftreiben und einen STK500 kompatiblen Programmen hatte ich auch.

    So war das keine große Sache,

    Sieht dann so aus:

  • Ein kleiner Hinweis noch zu den BME280. Diese gibt es als 3V3 Version ohne LDO und als 5V Version mit LDO und Levelshifter.

    Möchte man die 5V Version an einem 3V3 RasPi oder ESP nutzen, muss man sie etwas modifizieren. Hierzu hat ein User aus dem HomeMatic-Forum ein Foto veröffentlicht, auf dem gut zu erkennen ist, was gemacht werden muss.

    1) LDO entfernen

    2) Lötbrücke setzen (dort wo das rote Kreuz ist), wodurch Eingang und Ausgang verbunden werden.

    So hat man den 5V BME280 auf 3V3 umgebaut.

  • Möchte man die 5V Version an einem 3V3 RasPi oder ESP nutzen, muss man sie etwas modifizieren

    neee muss man nicht man kann!

    nicht jedem liegt es an so kleinen Dingen rumzulöten, da hilft wirklich der klassische Pegelwandler mit MOSFET oder Modul

    https://www.ebay.de/itm/253050668603

    oder

    https://www.ebay.de/itm/252742078456

    oder

    https://upload.wikimedia.org/wikipedia/comm…_wikide.svg.png

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Oder man kauft gleich ie 3.3V Version. Siehe dazu auch die laengliche aber gute Diskussion zu BME und BMP sowie 5V und 3.3V hier. Beim Raspi ist das wohl nicht notwendig aber beim ESP der per Akku betrieben wird schon.

    Jürgen Böhm Meinst Du nicht dieser Thread waere was fuer Deine Forumsperlen? Ich finde hier stecken eine Menge Tipps und Tricks zu BME280 wie auch Gehaeusen fuer den Aussenbetrieb drin :shy:

  • Nein, meiner Meinung reicht es aus, nur zu kritischen Zeitpunkten (z. B. aktuelle Temperatur - Taupunkt < 5 °C) dafür zu sorgen, dass der Sensor oder das Sensor-Modul nicht den Kältepol in der näheren Umgebung darstellt.


    Insbesondere bedarf es keiner häufigen Messung, wenn

    - im Tagesverlauf die Temperatur steigt UND es nicht regnet, weil die Differenz Temperatur - Taupunkt ebenfalls steigt


    Es bedarf also Messungen, um die Lage zu sondieren, um dann die richtigen Messintervalle festlegen. zu können.

    Hast Du (oder jemand sonst) einen Tipp, wie ich diese Strategie in FHEM umsetzen kann?

  • Ich habe bei mir im Sensorcode einfach eine Abfrage drin ob die Differenz von T und TP < 5 ist und ändere dann den Deepsleep Timeout von 5 Minuten auf 1 Sekunde. Mit FHEME kannenne ich mich nicht aus. Kann an da den Sensorcode nicht anpassen?

  • Wenn man Strom sparen will, nimmt man gleich die 3.3V Version mit 6 Anschlüssen, wo man dann nur vier davon braucht.

    Warum man da aber einen Pegelwandler einsetzen soll, das erschließt sich mir nicht!

    Denn es ging um die Betriebsspannung, nicht um die Pegel.

    Die 5V Version hat bereits einen Levelshifter drauf, bei der 3.3V Version braucht man beim PI oder Arduino auch keinen Wandler.

    Der Chip auf den BME280 kann nur max. 3,6V vertragen, weshalb die 5V Version ja den LDO drauf hat.

    Die 5V Version geht von 1, nochwas Volt bis 5V, kann also auch direkt an 3.3V angeschlossen werden.

    Nur wenn man Strom sparen muss oder will UND das Gerät mit Batterie versorgt wird, nimmt man die 3.3V Version.

    Selbst wenn man einen Lion Akku einsetzt, geht die 3.3V Version nicht, denn die Akkuspannung mit 3.7 bis 4.1V ist für den 3.3V BME280 schon zu hoch.

    Da riskiert man einen defekt des Chip.

    Eine 5V Version auf nur 3.3V Version umlöten, das ist ein Gefrickel, wo man Lupe und Pinzette braucht, da die Drahtbrücke nur 2-3mm lang ist.

    Siehe z.B hier auf der Seite.

    Ich habe das einmal gemacht und möchte das wirklich nicht öfters machen müssen.

    Aber ich hatte leider keine 3.3V Version des BME280 mehr da, nur noch 2 5V Versionen, wovon ich dann eine umgelötet habe.

    Einmal editiert, zuletzt von Thomas H (8. Mai 2021 um 13:01)

  • Aber ich hatte leider keine 3.3V Version des BME280 mehr da, nur noch 2 5V Versionen, wovon ich dann eine umgelötet habe.

    soweit ich recherchiert habe sind echte 3,3V BME selten, die ich fand kamen immer mit dem LDO Regler vor und jeder LDO hat eine minimale drop out Spannung von mir bekannten 0,5V. Klar mit 3,3V versorgt kann es funktionieren ist aber im ungünsigsten Fall 3,3V -0,5V = 2,8V und kann auch schiefgehen.

    Wer also sicher gehen will und nicht rumlöten mag ist mit dem Pegelwandler besser bedient anstatt wieder Fehler in der software zu suchen wenn es an der Hardware schon klemmt. Ich kämpfe gerade wieder gegen Windmühlen und das finde ich recht ermüdend. :mad_GREEN::mad_GREEN::mad_GREEN::wallbash::wallbash::wallbash::@:@:@:danke_ATDE:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • soweit ich recherchiert habe sind echte 3,3V BME selten

    https://www.berrybase.de/sensoren-modul…-luftdruck?c=92

    Ist zwar im Moment nicht auf Lager, aber man kann sein Interesse bekunden in dem man sich eine Benachrichtigung schicken läßt

    wenn der Artikel wieder verfügbar ist.

    MfG

    Jürgen

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!