HB-UNI-Sen-IAQ - Luftgütemessung mit BME680

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

stan23
Beiträge: 1016
Registriert: 13.12.2016, 21:14
System: Alternative CCU (RaspberryMatic etc.)
Wohnort: Altmühltal
Hat sich bedankt: 154 Mal
Danksagung erhalten: 94 Mal
Kontaktdaten:

Re: HB-UNI-Sen-IAQ - Luftgütemessung mit BME680

Beitrag von stan23 » 27.04.2020, 15:07

FUEL4EP hat geschrieben:
27.04.2020, 13:43
die Integerzahl 16777216 zu verwenden.
0x01000000 wäre lesbarer :)
Viele Grüße
Marco

RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)

HMSteve
Beiträge: 81
Registriert: 20.08.2019, 06:23
Danksagung erhalten: 8 Mal

Re: HB-UNI-Sen-IAQ - Luftgütemessung mit BME680

Beitrag von HMSteve » 28.04.2020, 08:32

FUEL4EP hat geschrieben:
27.04.2020, 13:57
14 Kelvin Temperatursturz am Morgen führen nur noch zu einer Druckveränderung von ca. 0.6 hPa. Das ist meiner Meinung nach völlig OK.

Was meinst Du?
Hallo Ewald,

ich halte das immer noch fuer um einen Faktor von mind. 3 zu viel (siehe Datenblatt), zumal ich mit der von mir zusammenkopierten Version keine Effekte in dieser Groessenordnung beobachten kann (der dunkelblaue Referenzsensor haengt in der unbeheizten Werkstatt, Testobjekt im Arbeitszimmer, echter Paralleltest mit einem device geht ja mangels Speicher im 328p noch nicht). Der eine Peak beim Testobjekt am 26. gegen 20:00 koinzidiert mit Rumgebastel an diesem.

Hast Du an den Codebloecken fuer temp und pressure noch etwas geaendert ggue meiner Version?

Viele Gruesse,
Stephan
Dateianhänge
pressure2.JPG

FUEL4EP
Beiträge: 77
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 10 Mal
Danksagung erhalten: 7 Mal

Re: HB-UNI-Sen-IAQ - Luftgütemessung mit BME680

Beitrag von FUEL4EP » 28.04.2020, 09:28

Hallo Stephan,

danke für Deine Rückmeldung und Kommentare.

Statt eines Referenzsensors, schlage ich vor, zuerst mal Luftdruck gegen Temperatur zu messen. Um einen Temperatursturz zu erreichen, einfach mal mindestens 30 Minuten früh morgens quer lüften.

Im Bosch Datenblatt ist die Temperaturabhängigkeit des Luftdrucks mit <= +- 1.3Pa/K spezifiziert. Das gilt nur im Temperaturbereich 25 deg C bis 40 deg C. Meine Messung ging runter bis auf 9 deg C, war also außerhalb des Temperaturbereichs für die spezifizierte Temperaturabhängigkeit. Meine Messung von gestern zeigte ca. -4.6Pa/K.

Hier nochmals mein Code ohne Debugcode:
ClosedCube_BME680.cpp
(12.15 KiB) 7-mal heruntergeladen
Für die Druck- und Temperaturberechnung setzte ich den Vorschlag von TomMajor um. Zusätzlich sind alle Integer Arithmetiken des Bosch Datenblatts V1.3 implementiert worden.

Hier die Codedifferenzen:
ClosedCube_BME680.cpp.txt
(12.77 KiB) 10-mal heruntergeladen
Errechnen beide Deiner Drucksensoren den Luftdruck über NN?
Grüße

Ewald

BerndR
Beiträge: 9
Registriert: 05.04.2020, 18:15
Hat sich bedankt: 1 Mal

Re: HB-UNI-Sen-IAQ - Luftgütemessung mit BME680

Beitrag von BerndR » 28.04.2020, 21:54

Hallo,

Ich habe die letzten Updates auf meinen Sensoren aufgespielt und der Luftdruck sieht nun gut aus.

Seltsame Phänomene beobachte ich aber bei der Luftqualität: Mit zunehmenden Alter der verwendeten BME680-Module sinkt der Gaswiderstand bei sauberer Luft. Bei dem ältesten Modul sind es nur noch etwa 4kOhm. Gemessen habe ich das mit dem Sketch bme680tphg aus der ClosedCube (letzter Stand von heute). Damit es mit dem Sketch HB-UNI-Sen-IAQ vergleichbar ist habe ich die selbe Initialisierung vorgenommen:

Code: Alles auswählen

bme680.setGasOn(310, 300); // 310 degree Celsius and 300 milliseconds 
Auch habe ich ein Problem im HB-UNI-Sen-IAQ beobachtet. Bei dem älteren BME680 Modul bricht die Luftqualität nach wenigen Messungen ein. Ein Reset behebt das Problem für wieder einige Messungen. Ich habe nun ein frisches Modul an den Start gebracht, da ist das noch nicht zu beobachten was evtl. an der Einstellung für GAS_UPPER_LIMIT liegen könnte - der Wert ist vielleicht noch nicht genug gefallen (mangels Alterung, siehe oben).

Ideen? Ich bin erstmal Ratlos.

Viele Grüße
Bernd

FUEL4EP
Beiträge: 77
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 10 Mal
Danksagung erhalten: 7 Mal

Re: HB-UNI-Sen-IAQ - Luftgütemessung mit BME680

Beitrag von FUEL4EP » 28.04.2020, 22:35

Hallo Bernd,

einer derartigen Alterungsprozess konnte ich bisher nicht beobachten. Mein erster BME680, inzwischen 3 Jahre alt, zeigt immer noch Widerstandswerte bis 170kOhm auf bei einem Messintervall von 4 Minuten. Grundsätzlich hängt der Gaswiderstandswert neben der Zieltemperatur und der Heizzeit auch entscheidend vom Messintervall ab, d.h. ob wir jede Sekunde oder alle 4 Minuten eine Gasmessung machen. Je öfter wir messsen, desto höher ist der mittlere Gaswiderstand. Hier der Widerstandsverlauf meines ca. 3 Jahre alten BME680 Sensors in den letzten 8 Tagen, Messintervall ist 4 Minuten:

BME680_resistance_history.png

Im Frühjahr sind die maximalen Widerstandswerte wegen Pollen (meine Mutmaßung) geringer. Das sind 100% Luftgüte auch draußen nicht zu erreichen.

Einen maximalen Widerstandswert von 4 kOhm würde ich als Defekt kennzeichnen.

Ist Dein Sensor ein China Clone? Da ist immer alles möglich. Clone mit Fehlern halt.

Wie hast Du den Sensor bisher beheizt? Ein zu starkes Heizen kann den Sensor zerstören oder schneller altern lassen.
Grüße

Ewald

HMSteve
Beiträge: 81
Registriert: 20.08.2019, 06:23
Danksagung erhalten: 8 Mal

Re: HB-UNI-Sen-IAQ - Luftgütemessung mit BME680

Beitrag von HMSteve » 28.04.2020, 23:16

FUEL4EP hat geschrieben:
28.04.2020, 09:28
... Meine Messung von gestern zeigte ca. -4.6Pa/K.
Hallo Ewald,

das liess mir keine Ruhe, also habe ich meinen Sensor, noch mit meiner Lib-Version, im Backofen und Tiefkuehler traktiert. Ich kann Dein Ergebniss leider annaehernd bestaetigen: Ich sehe etwa -3 pa/K. Da ist das "typisch" im Datenblatt wohl wirklich eher "optimistisch".
Die Differenz der Luftdruecke von traktierten Testobjekt und weitgehend konstant temperierten Referenzsensor ist ueber der Temperatur abgetragen. Das sieht sogar nahezu linear aus, keine Ahnung, warum Bosch das nicht mit kompensiert.
Ohne Korrektur der tatsaechlichen Luftdruckaenderungen am RefSensor ueber die Stunden der Zeitreihengewinnung macht das m.E. weniger Sinn, das Berliner Wetter aendert sich gerade, deshalb gleich so.

Viele Gruesse,
Stephan
Dateianhänge
pressure3.JPG

FUEL4EP
Beiträge: 77
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 10 Mal
Danksagung erhalten: 7 Mal

Re: HB-UNI-Sen-IAQ - Luftgütemessung mit BME680

Beitrag von FUEL4EP » 29.04.2020, 00:00

Hallo Stephan,

mein Respekt für Deine aufwändige und aussagekräftige Messreihe der Temperaturabhängigkeit!

Das Bosch Datenblatt V1.3 spezifiziert die Temperaturabhängigkeit nur zwischen 25 deg C und 40 deg C:
BME680_pressure_specifications.png
Unterhalb von 25 Grad Celsius oder oberhalb von 40 Grad Celsius ist die Temperaturabhängigkeit nicht spezifiziert!
Wenn wir nun Deine Messreihe auf den Temperaturbereich von 25..40 Grad Celsius beschränken, liegt m.E. die gemessene Temperaturabhängigkeit innerhalb der Spezifikation von <= +-1.3Pa/K. Wo ist hier Dein Problem?

Wozu brauchst Du die temperaturunabhängige, hoch genaue Luftdruckmessung denn?
Bei den Anforderungen musst Du meines Erachtens zu einem hochpreisigen Profisensor wechseln.
Grüße

Ewald

HMSteve
Beiträge: 81
Registriert: 20.08.2019, 06:23
Danksagung erhalten: 8 Mal

Re: HB-UNI-Sen-IAQ - Luftgütemessung mit BME680

Beitrag von HMSteve » 29.04.2020, 07:12

Hallo Ewald,

Fuer den Praxisgebrauch als Wettersensor genuegt die Genauigkeit natuerlich (meine Anwendung), auch als Hoehensensor fuer Freizeitnutzung waere sie voellig ausreichend. Mir ging es nach all den Problemen mit der Temp-Kompensation per Software nur darum, das Verhalten zu verstehen und weitere Probleme weitgehend auszuschliessen, was wir m.E. erreicht haben.

Ich akzeptiere den Sensor nun als durchaus praxistauglichen PTH-Sensor, VOC moechte ich noch weiter anschauen, wenn ich irgendwann meine Platine mal fertig habe und den SGP30 echt parallel laufen lassen kann.

Viele Gruesse,
Stephan
Zuletzt geändert von HMSteve am 29.04.2020, 10:09, insgesamt 1-mal geändert.

FUEL4EP
Beiträge: 77
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 10 Mal
Danksagung erhalten: 7 Mal

Re: HB-UNI-Sen-IAQ - Luftgütemessung mit BME680

Beitrag von FUEL4EP » 29.04.2020, 09:22

Hallo Stephan,

prima, dann hat sich unser Aufwand gelohnt. Dein kritisches Hinterfragen hat wesentlich dazu beigetragen, dass der Closed Cube Code gemeinsam wesentlich verbessert wurde. Ich hoffe, wir haben damit die letzten Bugs gefunden und behoben.

Ich werde einen neuen Pull Request für die Closed Cube Bibliothek machen.
Grüße

Ewald

FUEL4EP
Beiträge: 77
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 10 Mal
Danksagung erhalten: 7 Mal

Re: HB-UNI-Sen-IAQ - Luftgütemessung mit BME680

Beitrag von FUEL4EP » 29.04.2020, 10:26

Hi Jérôme,

der neue Pull Request für die Closed Cube Bibliothek

https://github.com/closedcube/ClosedCub ... no/pull/22

ist gemacht. Die geänderten Dateien sind unter

https://github.com/FUEL4EP/ClosedCube_B ... r_formulas

abrufbar.

Darf ich Dich bitten, meinen Pull Request

https://github.com/jp112sdl/HB-UNI-Sen-IAQ/pull/4

zu reviewen und zu mergen?

Danke!
Grüße

Ewald

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“