Hallo!
Als nächstes Projekt habe ich mir eine kleine Wetterstation angelacht.
Als Sensor kommt der BME280 zum Einsatz, welcher Temperatur,
Luftfeuchtigkeit und Luftdruck misst. Verarbeitet werden die Daten mit
einem Arduino Mega, angezeigt mit einem 320x480 Pixel display.
Die neuen Werte werden alle 6 Minuten eingelesen und dann graphisch
dargestellt, indem die gesamten Kurven um 1 Pixel nach links wandern.
Auf diese Weise erfasse ich die Werte der letzten 1.5 Tage. Die Software
ist soweit fertig und kommt auch mit dem millis-Überlauf nach rund 50
Tagen zurecht. Wenn der Sensor eingetroffen ist, gehts hier weiter... ;)
Ich finde es immer furchtbar wenn man den Aufwand betreibt und dann
einen nicht dafür gemachten, und deshalb viel zu ungenauen Temp/Hum
Sensor benutzt. Für den Luftdruck sind die Dinger super, benutze ich
dafür auch gerne.
Aber für den Rest käme ich nie auf die Idee das als Messwerte anzusehen.
Der eingebaute Temperaturschätzer ist nur zur Druckkorrektur gedacht.
Nimm etwas genaueres, damit macht das Gerät viel mehr Spaß.
Sensirion und TI sind gute Adressen.
Der BME280 ist doch gar nicht sooo schlecht:
Key parameters for humidity sensor
Accuracy tolerance: ±3 % relative humidity
Hysteresis: ±1% relative humidity
ich weiss echt nicht, warum manche Leute nur zum Motzen hier
vorbeischauen.
Genauer als die 10€ Baumarkt Fensterthermometer oder 30€ Wetterstationen
sind die BME280 allemal und auch deutlich zuverlässiger als diverse
DHTxx die sonst so propagiert werden; bei dem Preis konkurrenzlos.
Und vermutlich dient der "Temperaturschätzer" eher zur Korrektur der
rel. Feuchte als dem Druck ...
Sorry, das war kein Motzen, sondern nur ein gut gemeinter Tip.
Es gibt einige Beiträge wo Hilfestellung gesucht wird, weil der BME280
um mehrere Grad daneben liegt. Meine übrigens auch.
Jeder kann den gerne dafür benutzen, ich habs eben gerne genauer.
und wofür soll das bei einer Wetterstation gut sein, wo die meisten
nicht einmal wissen, welche Temperatur sie messen? Wozu brauche ich die
Temperatur einer Lufströmung auf 0,01° genau wenn ich nicht einmal weiß
woher sie kommt?
Die wenigsten haben einen Standort / Aufbau wo sie auch nur annähernd
eine als "Lufttemperatur" ausgewiesenen Messwert behaupten können.
Mir geht es wie bei den meisten meiner Projekte um die prinzipielle
Umsetzung und weniger um ein Ultrapräzisions-Messgerät. Natürlich
sollten die Werte schon einigermaßen stimmen, aber allzu hoch lege ich
die Latte dann auch wieder nicht.
Habe die Software noch ein wenig angepasst, ist aber soweit fertig.
Jetzt warte ich nur noch auf den Sensor.
Den BMP085 Luftdrucksensor und den DHT22 für die Luftfeuchtigkeit habe
ich schon in einen meiner Arduino-Aufbauten in Verwendung. Da waren die
erhaltenen Werte nachvollziehbar. Bezüglich BME280 lasse ich mich
einfach überraschen...
Mal ein paar Bemerkungen oder auch Fragen.
Ist die Skale für den Luftdruck fest oder ändert die sich passend zum
gemessenden Wert?
Ich würde die Feuchte nicht mit LF bezeichnen, auch einmal
ausgeschrieben "Celsius" und andererseits "mbar" finde ich etwas
unschön.
Ansonsten gefällt es mir.
Achso, wie ist den der Stromverbrauch?
Hier noch die Formel zur Berechnung der absoluten Luftfeuchte:
https://www.wetterochs.de/wetter/feuchte.html
Bei mir ist ein BME280 mit ESP8266 und Micropython... gespeichert wird
in Mysql, angezeigt in Grafana.
Die Skala adaptiere ich nicht. Dies aus dem Grund, dass ich mit einem
Blick bereits abschätzen kann, ob der Messwert hoch, mittel oder niedrig
ist. Zudem ist die Programmierung einfacher.
Ad Celsius: wie kann ich ° ausgeben?
Fred F. schrieb:> Ich würde die Feuchte nicht mit LF bezeichnen
Üblich wären r.H. oder r.F. für die relative Feuchte (relative Humidity
bzw. relative Feuchte) oder für die absolute Feuchte g/m³.
Christoph E. schrieb:> Ad Celsius: wie kann ich ° ausgeben?
Hängt davon ab welche Display Lib und Font du verwendest. Bei Adafruit
GFX ist zumindest im Standardfont 0xF7 (Dez 247) das °-Symbol. Ansonsten
musst du halt ein drawCircle machen
Hallo!
Ich habe das Grad-Celsius-Zeichen nun einfach mit einem Kreis gelöst...
Ein erster Testlauf über die letzten 1.5 Tage (von 17 Uhr 22.5.2019 bis
9 Uhr 24.5.2019) ist nun erfolgt und die Wetterstation hat weitestgehend
ihre Funktionsfähigkeit unter Beweis gestellt.
Eine Veränderung ist noch ausständig und zwar die Anpassung der
Luftdruckskala. Da werde ich den Ausschnitt noch so weit wie möglich
(kenne im Moment noch nicht die Spanne)anpassen. Im Moment geht ja die
Skala von 940 bis 1000 mbar, was aber zu weit ist.
Wenn ich das Video fertiggestellt habe, verlinke ich es hier noch.
Christoph E. schrieb:> Im Moment geht ja die> Skala von 940 bis 1000 mbar, was aber zu weit ist.
Im Gegenteil, ist zu wenig. Üblich sind Werte von 920...1080 oder auch
750...1150. Hängt auch von der Höhe deines Wohnortes ab.
Fred F. schrieb:> Hängt auch von der Höhe deines Wohnortes ab.
Darum rechnet man bei Wetterstationen eigentlich auch NN um
Bei mir decken sich die Werte mit der nächstgelegenen Wetterstation
ziemlich gut.
Der Luftruck, auf Meereshöhe relativiert, bewegt sich so im Bereich von
970 bis 1050hPa, wobei das schon schöne Extreme sind.
Davon meist zwischen 980 bis 1040hPa. Wir hatten vor paar Wochen an die
1040hPa, was schon selten ist (Größenordnung 1 mal im Jahr)
thomas_m
Fred F. schrieb:> Im Gegenteil, ist zu wenig. Üblich sind Werte von 920...1080 oder auch> 750...1150. Hängt auch von der Höhe deines Wohnortes ab.
Für viele Anwendungen interessiert nicht der örtliche Luftdruck, sondern
der auf Meereshöhe korrigierte Wert. Nur so wird der Druck vergleichbar
mit anderer Wettermeldungen bzw. -lagedaten
Christoph E. schrieb:> Ich habe nochmals die Luftdruckskala etwas angepasst. Jetzt muss ich nur> noch im Langzeittest herausfinden, ob die Wertebereiche ausreichen...
Da kannst du genauso gut alte Wetterdaten heranziehen.
In Deutschland liegen die beobachteten Extrema bei 1060,8 bzw. 954,4
hPa.
Damit die Werte rein passen, müsstest du deine Skalierung um fast einen
Faktor 5 ändern. Die Atmosphärengezeiten würden damit so gut wie
unsichtbar.
Guten Tag,
ich habe die Wetterstation mit Arduino MEGA und BME280 sowie dem 3.2"
TFT-LCD display (480x320) von Christoph E. aufgebaut und die WS
funktioniert soweit ohne Probleme !
Zwei Fragen:
1. Die relative Feuchteskala geht nur bis 80 %RH … der Sensor kann aber
ohne Probleme über 95 %RH messen … was in der Nacht ohne weiteres sein
kann !
2. Nicht alle Wetterstationen sind auf Meereshöhe !
Meine WS ist auf 625 m ü. M. Der normale Jahresverlauf des
Barometerdrucks an meinem Standort ist im Bereich zwischen 930 und 960
hPa !
Ich habe ein Problem mit dem Anpassen der Feuchte- und der
Barometerskala !
Frage an Christoph: Ist es möglich, die Arduino Programmzeilen
anzugeben, wo man diese beiden Skalen ändern kann … und eventuell die
gemessenen Werte entsprechend anpassen kann, sodass RH% und hPa korrekt
und sauber angezeigt werden können !
Vielen Dank, bruno_83 zum voraus
Hallo Bruno!
Freut mich zu hören, dass du meine Wetterstation ausprobiert hast. Klick
einmal auf den instructables link. Dort habe ich (auf englisch) erklärt,
wie man einfach die Textzeilen für eine andere Skala anpassen muss.
Falls es trotzdem Probleme gibt, kannst du dich ja hier nochmals melden
;-)
Hallo Christoph,
vielen Dank für Deinen "reply" zu meinen Fragen !
Ich habe die Wetterstation nach Deiner Anleitung bei "Instructables"
erstellt. Hat auf Anhieb funktioniert ... ! Erlaube mir zuerst eine
Bemerkung als Meteo- "Wetterstations- Professional"
(MeteoSchweiz/SwissMetNet): Deine Arduino Wetterstation mit dem BME280
Sensor für PTU ist eine ganz gute "Tiny- Wetterstation" für den
täglichen Gebrauch mit "Outdoor- Messung" ! Die Messwerte sind gut genug
... ebenso gut, wie die meisten "Hobby- Wetterstationen" im Markt ...
und die Präsentation der Meteo- Daten mit dem TFT- Display gefällt mir
ganz gut ... super ... !
Nun nochmals zu meinen Fragen: Das mit den Anpassungsgleichungen habe
ich für den Barometerdrouk von Anfang an angewendet ... kein Problem!
Aber meine Frage war die Anpassung der Skala für den Druck (930- 960
mbar) anstelle von (955 - 985 mbar) und auch für die relative Feuchte (
100 %RH) ... wo kann ich im Deinem Arduino- Sketch diese Parameter
anpassen ... das habe ich nicht "getscheckt" ... ! Vielen Dank für Deine
Hilfe ... !
Christoph E. schrieb:> Wenn jemand für mich stimmen> kann/möchte, würde ich mich sehr darüber freuen...
ist wohl ein scherz oder reichlich naive ..., das project und die sw
code quality ist eher grundschule in der ersten woche!
ich sag nur magic numbers and redundancy ... du solltest eher weiter
üben.
mt
bruno_83 schrieb:> und auch für die relative Feuchte (> 100 %RH) ... wo kann ich im Deinem Arduino- Sketch diese Parameter> anpassen
... wenn du das schon nicht hinbekommst, dann wohl doch eher talentfrei
und briefmarken sammeln passt vielleicht besser zum talent?!
mt
myGLCD.printNumI(20,60,285);
myGLCD.printNumI(30,60,240);
myGLCD.printNumI(40,60,195);
myGLCD.printNumI(50,60,150);
myGLCD.printNumI(60,60,105);
myGLCD.printNumI(70,60,60);
myGLCD.printNumI(80,60,15);
Hab mein MQTT Module auf Basis des BME280 + ESP8285 jetzt auch mal bei
Elecrow fertigen lassen. Inkl. LiPo Charger, ~ 20µA Ruhestrom im
Deepsleep. Wacht alle paar Minuten auf und sendet via MQTT die
Sensordaten + Akkuspannung via MQTT an meinen InfluxDB + Grafana.
Habe 60 Platinen, also wer Interesse hat.
Auf der Rückseite ist noch ein µSD Slot. Habe ich aber noch nicht in
betrieb genommen
Hi Christoph,
ich hab's hingekriegt ... ich hätte das ganze Listing besser lesen
sollen ! Aber 98 - 100 %RH ist bei dieser Wetterlage (Hitzetage) doch
eher normal in der Nacht ... wenn beim Absinken der Temperatur in der
Nacht der Taupunkt erreicht wird ... dann gibt's Tau auf den Wiesen ...
ein Zeichen von 100 %RH ... oder nicht ! Die WS hat so gesehen richtig
funktioniert ... nur die RH%- Skala war etwas daneben !
Deshalb meine Frage ... wie kann ich 20 - 100 %RH anzeigen ... der
BME280- Sensor schafft das ! Aber eigentlich wollte ich ja vor allem mit
dem 3.2" TFT-Display etwas üben ... !
Vielen Dank für die Hilfe,
bruno_83
P.S.: Danke für das Kompliment: "talentfrei und Briefmarken sammeln" ...
!
Zurückhaltung ist auch ein Talent ... !
Hallo Bruno!
Ja genau, wenn es tau gibt müsste die relative Luftfeuchtigkeit 100%
betragen.
Das Problem mit der neuen Skala ist folgendes: ich habe für alle 3
messgrößen 6 Abschnitte ausgewählt, damit es beim ablesen übersichtlich
bleibt. Wenn du das so beibehalten möchtest und mit der Skala für die
Luftfeuchtigkeit bis auf 100 Prozent gegen möchtest, musst du erst bei
40% Luftfeuchtigkeit beginnen. Ansonsten musst du mehr als 6 Abschnitte
wählen. Dann würde ich rechts aber auch diese neue Skala mit mehr
Abschnitten andeuten, denn sonst hat man große Probleme beim ablesen des
aktuellen Werts...
Hi Christoph,
vielen Dank für Deine Anmerkungen ! Ich habe diese Skala- Änderung
bereits gestern angebracht ... nachdem ich die "Erleuchtung" hatte, wo
und wie Du die Skala im Sketch programmiert hast ... uh-uh ! Auch die
Anpassung der Barometerskala (... der QFE ist halt eben Stationshöhe-
abhängig ... der QNH oder die Reduktion des Barometerdruck's auf
Meereshöhe wäre dies nicht ... ) hat funktioniert!
Für den normalen Hobby- Gebrauch ist der BME280- Sensor genügend
genau,was die Parameter T und RH% betrifft. Der einzige Nachteil ist,
dass der Sensor für die Temperaturmessung etwas "bulky" ist, er sollte
wenn möglich von Strahlung mit einem einfachen Strahlungsschutz
abgeschirmt werden, dann sind T- und RH- die Messungen für den
alltäglichen Küchenfenster- Gebrauch doch ganz angemessen gut !
Hallo Christoph,
> denn sonst hat man große Probleme beim ablesen des aktuellen Werts...
Das ist aber ein grundsätzliches Problem bei der Ermittlung eines
Messwertes aus einem Diagramm. Wäre es nicht besser den aktuellen Wert
zusätzlich als Zahl anzeigen zu lassen? Die Grafik wäre dann für den
zeitlichen Verlauf der Messwerte zuständig.
rhf
Hallo bruno_83,
> Der einzige Nachteil ist, dass der Sensor für die Temperaturmessung> etwas "bulky" ist...
Der in den BMx-Sensoren eingebaute Temperatursensor ist nicht für eine
Umgebungstemperaturmessung gedacht. Er ermittelt eigentlich die interne
Temperatur des Sensors um damit z.B. die Temperaturabhängigkeit bei der
Luftdruckmessung zu kompensieren.
rhf
@bruno_83
<Kritik>
Dein " !" nervt sowas von...
Magst Du dich nicht auch (wie die meisten hier im Forum) an die üblichen
Notationen halten?
Ich hab ja nix gegen Buchstabendreher im Wort oder breite Finger beim
Tippen, aber dein einself-plenking finde ich total daneben.
</Kritik>
Gruß
äxl
An die Anzeige der aktuellen Werte habe ich natürlich auch schon
gedacht. Müsste dann die erste display-Zeile abändern. Aber danke für
den Tipp, Roland.
Bzgl. Ablesen: Naja, jetzt habe ich rechts und links die gleiche
Skalenrasterung mit jeweils 6 Strichen. Deshalb lassen sich die beiden
links beschrifteten Skalen auch leicht nach rechts transformieren, dort
wo die aktuellsten Messwerte sich befinden. Bei unterschiedlicher
Rasterung (z.B. für die relative Luftfeuchtigkeit 8 statt 6 Intervalle)
ginge dies deutlich schwerer bis gar nicht...
P.S.: Die Bewertungskultur hier auf mikrocontroller.net ist schon sehr
speziell. Wenigstens können sich dadurch Leute, die sich am liebsten
täglich in den Hintern beißen könnten, ordentlich ausleben. Durch diese
Äußerung erwarte ich mir zumindest 2 Negativpunkte ;-)
Hallo Christoph,
> P.S.: Die Bewertungskultur hier auf mikrocontroller.net ist schon sehr> speziell. Wenigstens können sich dadurch Leute, die sich am liebsten> täglich in den Hintern beißen könnten, ordentlich ausleben. Durch diese> Äußerung erwarte ich mir zumindest 2 Negativpunkte ;-)
Dein Fehler im Umgang mit der Bewertungsfunktion besteht darin, sie
überhaupt zu beachten.
rhf
äxl schrieb:> @bruno_83> <Kritik>> Dein " !" nervt sowas von...
Andererseits nervt deine umwerfende Nettigkeit (schönen Gruß an deine
Eltern wegen Erziehung und so) gar niemanden.
Bitte... halt doch einfach deine Füsschen still oder gehe gleich raus
spielen.
Und das nächste mal pass bitte besser auf was du ißt, denn musst du
vielleicht nicht nochmal alles vollkotzen.
Michael schrieb:> Was für ein arrogantes A...l...hApollo M. schrieb:> bruno_83 schrieb:>> und auch für die relative Feuchte (>> 100 %RH) ... wo kann ich im Deinem Arduino- Sketch diese Parameter>> anpassen>> ... wenn du das schon nicht hinbekommst, dann wohl doch eher talentfrei> und briefmarken sammeln passt vielleicht besser zum talent?!>> mt>> myGLCD.printNumI(20,60,285);> myGLCD.printNumI(30,60,240);> myGLCD.printNumI(40,60,195);> myGLCD.printNumI(50,60,150);> myGLCD.printNumI(60,60,105);> myGLCD.printNumI(70,60,60);> myGLCD.printNumI(80,60,15);
Was sind Sie denn für ein arrogantes A..l..h