NEWS
Welchen Luftgütesensor
-
Laut https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280_DS001-11.pdf ist beim Abgleichpunkt 25°C ein Fehler von +/- 0,5K zugelassen, ansonsten +/-1K. 0,8K sind zwar bei 2 gleich angesteuerten Sensoren möglich, aber wahrscheinlich überlagert da noch ein anderer Effekt. Bei meinen eingesperrten Sensoren war die Differenz max. ca. 0,3K.
Schon die Temperaturschichtung im Zimmer macht mehr und wenn die Sensoren gar in Geräten eingebaut sind, wird es ganz schwierig.
Wenn man einen genaueren Vergleich machen möchte, muß alles in eine isolierte Kiste und ein Lüfter mit rein. Bei meinen Experimenten habe ich den Lüfter durch viel Zeit ersetzt, weil ich auch Effekte durch Eigenerwärmung sehen wollte. Die werden bei einem Lüfter verfälscht, weil der Luftstrom ja auch kühlt.
Bei der Feuchte lä´ßt Bosch +/-3%rH zu. Der SHT31 ist mit +/-2% spezifiziert. Ich vergleiche lieber die absolute Feuchte, weil das für meine Anwendung (Schimmelschutz etc.) wichtiger ist.
Beim Druck muß man genau hinschauen und am Besten die "Rohwerte" vergleichen. Oft werden diese Werte mit der Geodätischen Höhe verrechnet um auf den Vergleichsdruck bei NN (Meereshöhe) zu kommen. Dafür gibt es verschiedene Formeln und ich verwende die vom DWD. Für diese Berechnung bräuchte man eigentlich das Höhenprofil von T und H. Da man da nicht hat, gibt es mathematische Regressionsformeln, die aus Messungen abgeleitet wurden. So weit ich das verfolgt habe, weichen die weit verbreiteten US-Formeln von den DWD Formeln ab.
Ganz übel sind aus meiner Sicht Gassensoren. Offen gestanden habe ich mich vor >25 Jahren damit ernsthaft beschäftigt. Damals aber doch intensiver. Im industriellen Betrieb ist schon mal die Probenahme mit möglichst wenig Verfälschung eine Kunst.
Die Sensoren selbst litten generell an üblen Querempfindlichkeiten, die zumindest damals auch durch Sensor-Arrays nicht aus der Welt geschafft werden konnten.
Bosch hat seit geraumer Zeit einen BME680 angekündigt, vielleicht löst der das. Gesehen habe ich den aber noch nicht.
Zumindest früher war das so: Wenn man genauer messen möchte, braucht man ordentliche Analysegeräte. Und dann war schon wichtig, was genau man messen möchte - Formaldehy, CO, CO2, Cl2, NH3 etc. Am einfachsten und angepasstesten war noch der klassische Taguchi "Gasdetektor für brennbare Gase". Alles was brennt wird detektiert. Kalorimeter mit vorgewärmten Katalysator. Perfekt für diese eine Aufgabe. Aber was ist "Luftgüte" und was mißt ein "Luftgütesensor". Das erinnert mich an den "Chefsalat" beim Italiener - was halt gerade da ist. Und was den Geruch betrifft: Damals endete ein Olfaktometer mit einer Öffnung für eine Nase. Keine Ahnung, ob das mittlerweile objektiver und technisierter geht.
In meiner Hausautomatisierung habe ich noch keinen praktischen Grund für einen solchen Sensor gesehen. Da wären Systeme für einen schnelleren und besseren Luftaustausch hilfreicher. Und wahrscheinlich endet das dann bei einer anderen Innenausstattung. Sorry für die destruktiven Worte, aber mich haben die Luftgütesensoren noch nicht "gepackt".
Das zeitweise "Müffeln" im Keller habe ich mit Luftentfeuchtern, den BME280-Sensoren innen und aussen und einer Lüftungsempfehlung per Display und dem motorischen HM-Indikator weitgehend in den Griff bekommen - ganz ohne Luftgütesensor.
-
Hallo klassisch,
Zu deinem 1. Block:
Auch ich rechne lieber mit dem Feuchtegehalt, auch das Lüftungsscript von Paul53 et al. geht natürlich davon aus, auch die geodätische Höhe zur korrekten Berechnung des Taupunktes ist darin berücksichtigt.
Was die Lage der drei Sensoren während des Vergleichs angeht, so habe ich natürlich kein Dewar genommen sondern rael Life, mit minimalem räumlichen Abstand. Habe jetzt die Lage nochmal verändert, nachdem nicht auszuschließen war, dass der "Gast"-Sensor im Bereich der Luft, die aus der Vitrine mit meinen Minicomputern kam.
und der zweite Punkt:
@klassisch:Aber was ist "Luftgüte" und was mißt ein "Luftgütesensor" `
diese Luftgütesensoren werden gerne als billiger Ersatz für den doch sehr teuren echten CO2-Sensor genommen um dann (wie jetzt beim IAQ) auf ein CO2-Äquivalent umgerechnet.Auch dieses sollte/kann zur Lüftungsempfehlung mit berücksichtigt werden.
Im Moment sieht es so aus:
IAQ:
Nach dem Lüften bis kurz vor 08:30 hatte ich schon Hoffnung, dass jetzt alles gut ist. Vor allem nachdem warum auch immer um etwa 09:20 die Kurven von CO2 und tvoC zusammenrutschten. Aber nach dem nächsten Lüften um etwa 10:45 war das wieder vorbei
BME280:
Nach verschioeben der Sensoren um etwa 10:45 passen beide BME-Temperaturen sehr gut zusammen. auch die rF ist besser vergleichbar. (Wie es mit dem wahren Wert aussieht - ????
In Eugens Wiffi ist ja der BME280 in der von dir vorgeschlagenen Bauform verbaut.
Nachdem ihr mich jetzt soweit habt, dass ich mich auch noch mit Arduinos beginne zu beschäftigen, kommt die Frage: Wie kann ich den 4 poligen BME an den 6 Poligen Anschgluss anklemmen und wie muss ich den Sketch verändern, dass andere Bibliotheken benutzt werden?
Jetzt bin ich der Dumme :oops:
Gruß
Rainer
-
Jetzt bin ich der Dumme :oops: `
Nie und nimmer!
@Homoran:In Eugens Wiffi ist ja der BME280 in der von dir vorgeschlagenen Bauform verbaut.
Nachdem ihr mich jetzt soweit habt, dass ich mich auch noch mit Arduinos beginne zu beschäftigen, kommt die Frage: Wie kann ich den 4 poligen BME an den 6 Poligen Anschgluss anklemmen und wie muss ich den Sketch verändern, dass andere Bibliotheken benutzt werden? `
Also mit den klassischen Arduinos habe ich auch noch nie etwas gemacht. Ich nutze ja die kleinen WeMos mit WLAN.Damit lese ich über I2C Bus aus, also SCL und SDA anschliessen, sowie die Versorgung an den 3.3V Pin des WeMos (macht der mit einem Linearregler aus 5V) Ich löte parallel zur Versorgung gerne noch einen CerCo von 10µF oder einen Tantal. Weil ich den Sensor an einem 20 bis 30cm langen Kabel habe und nicht in der Büchse (billiger AP-Verteiler), in dem der WeMos steckt. Die wird mir zu warm. Als mechanischen Schutz um die Sensoren herum verwende ich gerne "Teeier" aus China.
https://homematic-forum.de/forum/viewtopic.php?p=308449#p308449 habe ich einiges dazu geschrieben, auch zur Ansteuerung und die Übertragung an den HM CUxD ist auch mit dabei. Zugegeben ist der Sketch mittlerweile recht umfangreich und leider nicht sehr übersichtlich (die neueste Version noch gar nicht veröffentlicht weil noch unaufgeräumter und mit Relaiskanal und Radar-Regensensor angefüllt). Aber er kann alternativ auch den SHT31 und hat die Datenstruktur, daß man den auch parallel betreiben könnte. Die meisten Dinge sind in der Laufzeit konfigurierbar, was den Betrieb mehrere Sensoren mit identischem Programm sehr einfach ermöglicht und deren Wartung vereinfacht. Das Anlernen ans WLAN geschieht mit WPS, was derzeit aber bei den allerneuesten WeMos Pro V1.2 nicht mehr zu funktionieren scheint, wohl aber mit den normalen D1 Mini.
@PrinzEisenherz1 hat aber in seiner Wetterstation den BME auch berücksichtigt und eine schöne modulare Programmierung sowie eine Ausleitung direkt an ioBroker. Vielleicht ist Dir das angenehmer. Bei wenigen Sesnoren sicher einfacher. Wenn Du aber ein ganzes Heer planst, müßte man hier noch die Konfigurierbarkeit ergänzen.
-
Testo klingt schon mal gut. Aber welcher Fühler ist da dran? `
Ein PT100 mit Genauigkeit 1/10 Klasse B. Also es wird nicht an dem geeichten Gerät liegen das ist sicher. Ich werde mir mal die von dir empfohlenen BME280 Bestellen.Zum Thema Luftgüte: Ich finde die Anwendung schon für sinnvoll. Es wird die Summe verschiedener organischer Verbindungen in der Luft gemessen. Was das genau ist interessiert mich nicht, ich muss nur wissen, dass sich die Luft im Verhältnis zu "frischer" Außenluft verändert hat. Dazu reicht es mir nicht nur den CO2 Wert oder andere einzelne Verbindungen zu messen. Deshalb ist für mich der CO2 Wert den der iAQ ermittelt auch nicht wirklich interessant. über den Wert der TVOCs entscheide ich, ob gelüftet werden sollte.
@ Rainer
Das 4 polige BME280 Modul ist kompatibel zu dem 6 poligen. Hier sind nur zusätzlich die Schnittstellen für SPI Kommunikation vorhanden. Diese sind auf der Raumsensor Platine von mir aber auch nicht verwendet. Du musst nur darauf achten, dass die Pinbelegung passt. 2 Pins auf der Platine bleiben dann halt frei.
Was Bosch da mit ihrem BME680 treibt frage ich mich auch schon länger. Wäre schön alles in einem zu haben, aber irgendwie werden die damit scheinbar nicht fertig…
-
Das 4 polige BME280 Modul ist kompatibel zu dem 6 poligen. Hier sind nur zusätzlich die Schnittstellen für SPI Kommunikation vorhanden `
Danke, aber bevor ich den tausche: mir ist gerade etwas anderes aufgefallen.klassisch hatte geschrieben, dass es auch an der lib liegen kann.
@klassisch:Mit der populären Adafruit Lib zeigt der BM280 aber 0.5K mehr als als mit einer geeigneten Lib. `
Auch hier habe ich wieder keine Ahnung, habe mir mal die Arduino IDE angesehen und festgestellt, dass anscheinend nicht die Adafruit Library sondern eine Library von Jan Wasserbauer verwendet wird.in dem von klassisch verlinkten Post beschreibt er, dass er die Lib MOD_1022 benutzt hat.
@[url=https://homematic-forum.de/forum/viewtopic.php?f=31&t=29321&start=1370:~~klassisch"]~~In der alternativ verwendeten Lib ("MOD_1022") sind die Parameter einstellbar `
Jetzt kommt meine Anfängerfrage:
im sketch steht
#include <bme280boschwrapper.h></bme280boschwrapper.h>
ist das die zu ladende/verwendende Bibliothek?
Wenn ja, wo finde ich die Bezeichnung dieser libs.
Gruß
Rainer
-
Ich glaube nicht dass dadurch die 3-4K Unterschied zustande kommen. Ich habe übrigens in meinem ursprünglichen Code den ich wieder gefunden habe gar keine library verwendet sondern die benötigten Funktionen direkt im Hauptcode hinterlegt. Aber nach aufspielen hatte sich nichts verändert. Auch Anpassen der settings für den BME280 so wie es von Bosch für Innenräume empfohlen ist brachte keine entscheidende Änderung.
Ich kann gerne heute Abend mit der library die klassisch verwendet nochmal probieren und ich wollte auch evtl.nochmal den original Treiber von Bosch verwenden aber im Endeffekt denke ich eher das was mit den Sensoren nicht stimmt.
Ich habe mir jetzt einen bestellt der Baugleich ist zu dem empfohlen. Der ist zwar etwas teurer aber ich will jetzt nicht 4 Wochen warten bis der Mal eintrifft.
Gruß Maik
Gesendet von meinem SM-G925F mit Tapatalk
-
Ja, Rainer, hinter include steht der Name der lib.
Es gibt 2 Methoden eine lib zu importieren. Die die Du oben zeigst und die ich erst mal gar nicht gefunden hatte, weil ich vorher auf die andere Methode aufgelaufen war: -> Sketch -> Bibliothek einbinden -> .ZIP Bibliothek einbinden
Ich hatte die Bibliothek als ZIP bei Github runtergeladen https://github.com/embeddedadventures/BME280
und das Zipfile wie oben beschrieben importiert.
Dann
#include <wire.h>// required by BME280 library #include</wire.h>
-
Danke,
habe das jetzt auch gemacht (die heisst jetzt bei mit BME280-master ), aber nach einbinden hieß sie <bme280_mod-1022.h>Beim upload kommt jetzt ein Fehler:
'BmeBoschwrapper' does not name a type
und markiert ist die zweite Zeile:
// BME280 initialisieren Bme280BoschWrapper bme280(true); unsigned long syncTime;
ändere ich den Bme280BoschWrapper in BME280_MOD-1022
kommt der Error:
'BME280_MOD' does not name a type
das -1022 scheint er zu ignorieren.
muss ich das noch irgendwie escapen?
Gruß
Rainer</bme280_mod-1022.h>
-
1/10 B ist +/-0,0425K und der Testo 950 bringt nochmals max +/-0,1K dazu. also grob +/- 0,125. Recht genau gegen die Spec des BME280.
Mein PT1000 war 1/3 B aber halt ein Dünnfilmteil; klein und mit kleiner Masse, so daß er im "langsamen" Dewar dynamisch nicht allzuweit weit war vom BME280.
Und die Adafruit-Lib hat bei mir auch nur ca. 0.5K verändert. Das aber wirklich reproduzierbar bei mehreren Sensoren.
3K bis 4K sind deutlich zu viel. Und wenn Du den BME "manuell" angesteuert hast und die Bosch-Paramester für Wettler/Klima (forced) verwendet hast, dann wird eine andere Lib auch nichts bringen. Adafruit läßt frei laufen, wenn ich mich recht erinnere und das macht das Teil warm, ebenso wie exzessive Filterung, die man bei genauer Druckauswertung verwendet.
Dort https://github.com/vodnik12/JWA_BME280 hat jemand die Original Bosch lib in einen Wrapper für Arduino gesteckt.
Wie gesagt, habe auch keine Erklärung für Eure Abweichungen, bei meinem Messungen hat das besser gepaßt. Und 3 bis 4 K wären da nicht unentdeckt geblieben. Und auch jetzt im Langzeitbetrieb pendeln die BME280 und HM Aussenfühler immer umeianander herum. Da hängt zum Teil am anderen Anbringungsort und zum Teil an der Trägheit des HM-Sensors.
Aber bei Zweifeln oder zweifelhaften Lieferanten steht noch der SHT31 zur Wahl. Der ist völlig unproblematisch anzusprechen und praktisch gleich teuer.
-
(die heisst jetzt bei mit BME280-master ), aber nach einbinden hieß sie ` Das hat irgendwas mit git zu tun, die Dinger heißen erst mal alle Master. Habe irgendwo gelesen, daß man das Master entfernen solle, was ich auch immer mache. Sowohl beim zip als auch IM zip.
-
Nee so einfach ist das nicht. Der ganze Code muss dafür angepasst werden, da wo die Aufrufe sind
Gesendet von meinem SM-G925F mit Tapatalk
-
'BmeBoschwrapper' does not name a type ```` `
Das kenne ich nicht. Wo steht bei Dir BmeBoschwrapper ? Im Sketch? Dann ist das ein anderes Sketch. Und wenn dort die Bosch-Lib schon eingebunden ist, dann sieht das gut aus. müssen nur noch die Parameter passen.
-
aber das ist die einzige Stelle.
- ich will ja Learnen beim Doing.
Gruß
Rainer
-
Zu den Parametern:
Bei mir im Sketch steht:
/*********** BME280 setup *********** */ /* excerpt from Bosch datasheet chapter 3.5.1 Weather monitoring Table 7: Settings and performance for weather monitoring Suggested settings for weather monitoring Sensor mode forced mode, 1 sample / minute Oversampling settings pressure *1, temperature *1, humidity *1 IIR filter settings filter off Performance for suggested settings Current consumption 0.16 μA RMS Noise 3.3 Pa / 30 cm, 0.07 %RH Data output rate 1/60 Hz * ** End excerpt from Bosch datasheet chapter 3.5.1 Weather monitoring **/ byte chipID = 0; // for BME280 Cip IF chipID = BME280.readChipId(); #ifdef FSDEBUG DBG_OUTPUT_PORT.print (F("BME280 Chip Id (0x): ")); DBG_OUTPUT_PORT.println (chipID, HEX); #endif // FSDEBUG // need to read the NVM compensation parameters BME280.readCompensationParams(); // Need to turn on 1x oversampling, default is os_skipped, which means it doesn't measure anything BME280.writeOversamplingPressure(os1x); // 1x over sampling (ie, just one sample) BME280.writeOversamplingTemperature(os1x); // 1x over sampling (ie, just one sample) BME280.writeOversamplingHumidity(os1x); // 1x over sampling (ie, just one sample) measuringTime = (int) (0.5 + (1.25 + (2.3 * 1) + (2.3 * 1 + 0.575) + (2.3 * 1 + 0.575))); // measuringTime is unsigned long /* in forced mode with oversampling=1 in all 3 values the max measuring time should be < 22.8ms in forced mode with all oversamplings to x16 (max value) the measring time should be <112,8 for other oversampling settings refer Bosch datasheet chapter 9.1 Measurement time measuringTime = 1.25+(2.3*temp_os) + (2.3*humid_os + 0.575) + (2.3*press_os + 0.575) */ // init a forced sample. After taking the measurement the chip goes back to sleep BME280.writeMode(smForced);
Das mag bei Dir etwas anders heißen, wenn Du den BoschWrapper verwendest.
-
Danke klassisch,
dann bin ich tatsächlich leider raus
das ist (noch) zu hoch für mich.
Danke nochmals
Rainer
-
aber das ist die einzige Stelle.
- ich will ja Learnen beim Doing. `
Wahrscheinlich ist Dein Sketch für diese Lib ausgelegt und an dieser Stelle wird diese Lib instanziert.
Du hast jetzt 2 Möglichkeiten: Die Lib (mit dem Boschwrapper) mit Stupf und Stiel aus Deinem Sketch reissen und durch die andere (die auch ich verwende) ersetzen oder sie drinlassen und die Stellen aufsuchen, wo die Parameter eingestellt werden.
Drinlassen könnte einfacher sein. Und wenn da wirklich die Original-Bosch-Lib drinsteckt, dann solte das auch möglich sein. Parameter stehen ja oben.
- ich will ja Learnen beim Doing. `
-
Könnte sein, daß wir der Sache näher kommen.
Verwendest Du diese Lib von Jan Wasserbauer:
https://github.com/vodnik12/JWA_BME280/ … /README.md
?
-
Na, mach mir nur Mut.
Wahrscheinlich ist Dein Sketch `
Der Sketch ist von Maik, und für mich ist das der erste Sketch überhaupt den ich mir mal ansehehttp://forum.iobroker.net/viewtopic.php … 100#p78500
und die Stellen aufsuchen, wo die Parameter eingestellt werden. `
Yeah :shock:Mache ich jetzt - erst mal im Notepad++
Vielleicht wird ja doch noch mal was aus mir
Gruß
Rainer
-
Verwendest Du diese Lib von Jan Wasserbauer:
https://github.com/vodnik12/JWA_BME280/ … /README.md
? `
Ja!
Gruß
Rainer
-
Dann schauen wir mal in seinem git, ob wir die Stelle sehen, wo die Parameter gesetzt werden. Er hat ja auch vom Temperaturunterschied gesprochen aber nicht in welche Richtung….