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

Benutzeravatar
chianti2000
Beiträge: 132
Registriert: 12.08.2017, 17:15
System: CCU
Wohnort: Leipzig
Hat sich bedankt: 49 Mal
Danksagung erhalten: 13 Mal

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

Beitrag von chianti2000 » 03.06.2020, 16:58

jp112sdl hat geschrieben:
03.06.2020, 15:13
chianti2000 hat geschrieben:
03.06.2020, 13:57
Eventuell lässt sich dann auch die Wetterstation WEA noch erweitern.
Also das Telegramm im Wetterkanal ist bis auf's letzte Byte voll.-
Wenn dann müsstest du einen weiteren Kanal einbauen
Jerome danke für deinen Hinweis. War bisher der Meinung es liegt am Speicher,
den man ja mit dem 1284P im Verhältnis zum 328P jetzt „reichliche „ hätte.
VG Gerd

HMSteve
Beiträge: 537
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

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

Beitrag von HMSteve » 03.06.2020, 22:59

chianti2000 hat geschrieben:
03.06.2020, 13:57
Sieht gut aus.
Bist du schon dazu gekommen die Platine anzupassen?
Hätte großes Interesse an der Platine und dem Schaltplan.
Kann mir vorstellen, dass man das Layout auch für andere Anwendungen
mit mehr Leistungsanforderungen an die MCU einsetzen kann.
Eventuell lässt sich dann auch die Wetterstation WEA noch erweitern.
Ja, denke auch, der 1284p ist eine gute Ausgangsbasis fuer weitere Basteleien ohne Speicherplatzsorgen.
Habe meinen o.g. Fehler mal rasch behoben und Schalt- und Bestueckungsplan sowie Gerberfiles hier angehaengt. Gerberfiles *muessten* so direkt von JLCPCB zu fertigen sein, habe diese Version allerdings noch nicht fertigen lassen und kann somit nicht fuer Fehlerfreitheit garantieren. Wuerde mich aber ueber Feedback freuen, wenn jemand die Version bestellt und testet.

Teileliste hab ich leider nicht, den Low-ESR-Elko gibts bspw. bei Reichelt als T494D100U10, die Speicherdrossel ist eine Murata LQH43CN100K03L, Rest ist eindeutig bzw. Standard 805.

Viele Gruesse,
Stephan
Dateianhänge
Top_AskSinPP_1284Board_v1p2.pdf
(26.52 KiB) 86-mal heruntergeladen
Schematic_AskSinPP_1284Board_v1p2.pdf
(75.63 KiB) 64-mal heruntergeladen
Place_AskSinPP_1284Board_v1p2.pdf
(513.27 KiB) 63-mal heruntergeladen
Gerber_AskSinPP_1284Board_v1p2.zip
(121.37 KiB) 63-mal heruntergeladen
Bottom_AskSinPP_1284Board_v1p2.pdf
(26.56 KiB) 65-mal heruntergeladen

Benutzeravatar
chianti2000
Beiträge: 132
Registriert: 12.08.2017, 17:15
System: CCU
Wohnort: Leipzig
Hat sich bedankt: 49 Mal
Danksagung erhalten: 13 Mal

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

Beitrag von chianti2000 » 06.08.2020, 13:15

Hallo Stephan,

habe jetzt meine Platine V1.2 aufgebaut und sie funktioniert soweit. Nachdem ich einen defekten SGP30 getauscht habe
laufen auch die Messwerte ein. Die Werte vom BME680 sind nicht ganz schlüssig im Vergleich zum SGP30. Liegen immer sehr hoch in Richtung schlechte Luftqualität. Werde ich mal beobachten. Hilfreich wäre, wenn man hier noch die Ausgabe des eCO2-Wertes vom SGP 30 mitschneiden könnte.
Gibt es die Möglichkeit das du den Sketch für den SGP30 um die Ausgabe des Wertes von eCO2 erweiterst und einstellst.
Hab da leider zu wenig Ahnung und will nicht wild darin herum editieren.
Grüße Gerd
VG Gerd

Benutzeravatar
FUEL4EP
Beiträge: 584
Registriert: 01.11.2017, 17:26
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 76 Mal
Danksagung erhalten: 77 Mal
Kontaktdaten:

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

Beitrag von FUEL4EP » 06.08.2020, 13:58

Hallo Gerd,
chianti2000 hat geschrieben:
06.08.2020, 13:15
Hallo Stephan,

habe jetzt meine Platine V1.2 aufgebaut und sie funktioniert soweit. Nachdem ich einen defekten SGP30 getauscht habe
laufen auch die Messwerte ein. Die Werte vom BME680 sind nicht ganz schlüssig im Vergleich zum SGP30. Liegen immer sehr hoch in Richtung schlechte Luftqualität. Werde ich mal beobachten. Hilfreich wäre, wenn man hier noch die Ausgabe des eCO2-Wertes vom SGP 30 mitschneiden könnte.
Gibt es die Möglichkeit das du den Sketch für den SGP30 um die Ausgabe des Wertes von eCO2 erweiterst und einstellst.
Hab da leider zu wenig Ahnung und will nicht wild darin herum editieren.
Grüße Gerd
hast Du Deinen BME680 Sensor, wie unter

viewtopic.php?f=76&t=49422&start=50#p559575

beschrieben, kalibriert? Die Frage ist ja immer, was bedeutet eine Luftqualität von 100%?

Meine Erfahrung mit nun zwei BME680 basierenden VOC Sensoren ist:

1. Jeder BME680 Sensor hat eine andere Charakteristik und bedarf einer individuellen Kalibrierung.
2. Jeder BME680 Sensor reagiert unterschiedlich auf VOC.
3. Selbst zwischen zwei BME680 Sensoren gibt es zum Teil wegen 2. selbst nach Kalibrierung größere Abweichungen.
4. Saubere Außenluft als 100% Referenz ist nicht immer gegeben (zumindest bei mir zuhause). Die beste Luftqualität draußen messe ich nur bei starkem Wind.
Bei Windstille ist die gemessene Luftqualität in der Regel schlechter.
5. Zur Analyse lasse ich mir zur Zeit den unverarbeiteten Rohwert des BME680 Gaswiderstands als 'Temperatur' ausgeben mit folgender temporären Code Änderung in 'sens_BME680.h':

Code: Alles auswählen

     //test
      _temperature = (int16_t) (gas / 200);

      //_temperature = (int16_t)(temp * 10);
      //end test
      _pressureNN  = (uint16_t)(EquivalentSeaLevelPressure(float(height), temp, pres)*10.0); 
      _humidity    = (uint8_t)hum;
Die ausgegebene Temperatur muss dann mit 2000 multipliziert werden, um den Rohgaswiderstand zu erhalten.
Damit kann man dann nach einigen Tagen Aufzeichnung auch den oberen Kalibrierwert

Code: Alles auswählen

#define GAS_UPPER_LIMIT 125000.0  // Initial setting for good air quality upper limit; will automatically adjusted when sensor is put to outdoor for few hours                
bestimmen.

6. Gemessene Luftgüten sind nur als grobe Indikatoren zu betrachten. Eine exakte Quantifizierung wie bei Temperaturmessungen ist mit 'Billigsensoren' wie BME680 oder auch SGP30 nicht möglich. Die Variabilität selbst zwischen baugleichen Sensoren ist zu groß. Die Sensorcharakteristik hängt stark von dem initialen Einbrennen ab.

Ich werde bald hier über die Unterschiede zweier BME680 basierenden Luftgütesensoren berichten.
Zuletzt geändert von FUEL4EP am 07.09.2020, 19:57, insgesamt 1-mal geändert.
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

Benutzeravatar
FUEL4EP
Beiträge: 584
Registriert: 01.11.2017, 17:26
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 76 Mal
Danksagung erhalten: 77 Mal
Kontaktdaten:

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

Beitrag von FUEL4EP » 06.08.2020, 14:49

Hier ein aktuelles Beispiel der Varianz des Gasrohwiderstände (also ohne jegliche interne Umrechnung, 1 Grad Celsius übersetzt sich in ein Gaswiderstand von 2000 Ohm) zweier BME680 Sensoren:

BME680_raw_gas_resistance_variance_1.png
Bis 14:20 Uhr waren beide Sensoren nebeneinander im Wohnzimmer. Danach wurden beide Sensoren wieder direkt nebeneinander nach draußen auf die Fensterbank gelegt. Some Bosch Magic :o Der Luftgütesensor 1 sagt, die Luftgüte wird besser, der Luftgütesensor 2 sagt, die Luftgüte wird schlechter! Offensichtlich reagieren die beiden Sensoren unterschiedlich auf draußen vorhandene VOC.
Zuletzt geändert von FUEL4EP am 26.08.2020, 22:10, insgesamt 1-mal geändert.
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

HMSteve
Beiträge: 537
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

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

Beitrag von HMSteve » 06.08.2020, 23:00

chianti2000 hat geschrieben:
06.08.2020, 13:15
Hallo Stephan,

habe jetzt meine Platine V1.2 aufgebaut und sie funktioniert soweit. Nachdem ich einen defekten SGP30 getauscht habe
laufen auch die Messwerte ein. Die Werte vom BME680 sind nicht ganz schlüssig im Vergleich zum SGP30. Liegen immer sehr hoch in Richtung schlechte Luftqualität. Werde ich mal beobachten. Hilfreich wäre, wenn man hier noch die Ausgabe des eCO2-Wertes vom SGP 30 mitschneiden könnte.
Gibt es die Möglichkeit das du den Sketch für den SGP30 um die Ausgabe des Wertes von eCO2 erweiterst und einstellst.
Hab da leider zu wenig Ahnung und will nicht wild darin herum editieren.
Grüße Gerd
Hallo Gerd,

grundsaetzlich kann ich das bei Gelegenheit machen, habe jedoch eigentlich die Befassung mit dem SGP30 wg des Stromverbrauchs aufgegeben und mir ein Breakout-Board fuer den SGPC3 gemacht. Der gibt gar kein eCO2 aus. Ich bin auch skeptisch, dass dieser mit noch mehr Annahmen behaftete Wert einen Erkenntnisgewinn liefert - was erwartest Du genau davon?
Bei Interesse lade ich das Breakout-Board mal hoch, Handloetung mit Mikroskop oder Lupenbrille.

Zum Sensorvergleich habe ich noch keine finale Meinung, aber der BME680 ist a) sehr traege durch die Filterung und landet b) sehr schnell in der “Saettigung” (100% IAQ), waehrend der SGP noch Dynamik zeigt. Dessen Reaktion auf Lueften des Raumes etc sieht auch soweit plausibel aus, nur die absolute Werte finde ich sehr hoch und bin unsicher, ob das nicht auf Flussmittelpastenreste zurueckzufuehren ist, da muss ich nochmal schauen.

Viele Gruesse,
Stephan

Benutzeravatar
chianti2000
Beiträge: 132
Registriert: 12.08.2017, 17:15
System: CCU
Wohnort: Leipzig
Hat sich bedankt: 49 Mal
Danksagung erhalten: 13 Mal

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

Beitrag von chianti2000 » 07.08.2020, 12:59

Hallo Ewald und Stephan,

vielen Dank für die Rückmeldung und Anregungen zur weiteren Verfahrensweise.
FUEL4EP hat geschrieben:
06.08.2020, 13:58
Hallo Gerd,

hast Du Deinen BME680 Sensor, wie unter

viewtopic.php?f=76&t=49422&start=50#p559575

beschrieben, kalibriert? Die Frage ist ja immer, was bedeutet eine Luftqualität von 100%?
Die Kalibrierung werde ich noch nachholen, will den Sensor erstmal ein paar Tage "altern" lassen.
Meine Erfahrung mit nun zwei BME680 basierenden VOC Sensoren ist:

1. Jeder BME680 Sensor hat eine andere Charakteristik und bedarf einer individuellen Kalibrierung.
2. Jeder BME680 Sensor reagiert unterschiedlich auf VOC.
3. Selbst zwischen zwei BME680 Sensoren gibt es zum Teil wegen 2. selbst nach Kalibrierung größere Abweichungen.
4. Saubere Außenluft als 100% Referenz ist nicht immer gegeben (zumindest bei mir zuhause).Die beste Luftqualität draußen messe ich nur bei starkem Wind. Bei Windstille ist die gemessene Luftqualität in der Regel schlechter.
Da es mir um die Tendenz und nicht um den absoluten Wert geht, würde es mir reichen "bewegte" Außenluft als "gute Luftqualität", quasi als Nullpunkt zu definieren. Alles was schlechter ist als Außenluft, ist dann entsprechend zu wichten.
6. Gemessene Luftgüten sind nur als grobe Indikatoren zu betrachten. Eine exakte Quantifizierung wie bei Temperaturmessungen ist mit 'Billigsensoren' wie BME680 oder auch SGP30 nicht möglich. Die Variabilität selbst zwischen baugleichen Sensoren ist zu groß. Die Sensorcharakteristik hängt stark von dem initialen Einbrennen ab.
Das eine genaue Messung mit den "Billigsensoren" nicht möglich ist, ist glaube ich allen klar. Dafür sind sie ja auch nicht gedacht. Aber die Tendenz und Reaktion auf Einflüsse der Luftqualität sollte stimmen und plausibel sein und hier bin ich nach meinen Beobachtungen vom SGP30 mehr überzeugt als von BME680. Eventuell kann man ja auch einen Bewertungs-Faktor in den Sketch oder Besser in die WebUI einbinden, mit dem man anhand eines Referenzsensors die gemessenen Wertekurve quasi verschieben (mit einem Offset versehen) kann, um in die Nähe von aussagefähigen Tendenzen der Luftqualität zu kommen. Bedingt natürlich fast lineare Zusammenhänge der Messkurve.
HMSteve hat geschrieben:
06.08.2020, 23:00
Hallo Gerd,

grundsaetzlich kann ich das bei Gelegenheit machen, habe jedoch eigentlich die Befassung mit dem SGP30 wg des Stromverbrauchs aufgegeben und mir ein Breakout-Board fuer den SGPC3 gemacht. Der gibt gar kein eCO2 aus. Ich bin auch skeptisch, dass dieser mit noch mehr Annahmen behaftete Wert einen Erkenntnisgewinn liefert - was erwartest Du genau davon?
Bei Interesse lade ich das Breakout-Board mal hoch, Handloetung mit Mikroskop oder Lupenbrille.
Der SGP30 gibt den eCO2-Wert ja schon im seriellen Monitor des Arduino IDE aus. Würde ihn gerne mitschreiben und auswerten. Es kann natürlich sein, das er parallel zum TVOC-Wert läuft, da aus diesem berechnet wird. Aber als Anhaltspunkt für den CO2-Wert denke ich, ist das gar nicht schlecht.
Eine Alternative ist dann nur eine echte CO2-Messung z.B. mit MHZ19B. Hab den Stromverbrauch des SGP30 noch nicht getestet. Ich denke aber das hier auch die Häufigkeit der Messung stark mitspielt. Bin auf Deine neuen Erkenntnisse mit dem SGP3 gespannt, da auch nach meinen bisherigen Beobachtungen die Dynamik und Tendenz der Messwerte bei Weitem besser als beim BME680 sind.

In diesem Sinne, lasst uns weiter "Forschen"
Grüße von Gerd
VG Gerd

HMSteve
Beiträge: 537
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

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

Beitrag von HMSteve » 10.08.2020, 14:59

Hallo Gerd,

habe einen Datenpunkt fuer eCO2 eingefuegt: https://github.com/HMSteve/HB-UNI-Sen-IAQ-Test.

Ausserdem habe ich die Version mit SGPC3 veroeffentlicht, um eine batteriebetriebene Alternative zum BME680 zu testen: https://github.com/HMSteve/HB-UNI-Sen-IAQ-Test-2. Dort ist auch mein dafuer noetiges Breakout-Board verlinkt.

Ich wuerde uebrigens den als eCO2 bezeichneten Wert nicht wirklich mit der CO2-Konzentration in Verbindung bringen. Das erste misst VOCs, egal, aus welcher Quelle und egal, ob CO2 im Namen vorkommt, das zweite kann tatsaechlich die Praesenz von atmenden Wesen in einem Raum anzeigen, da die CO2-Konzentration steigt. Aber das waere ein weiteres Projekt, wenn mal viiieeel Zeit ist :lol:

Viele Gruesse,
Stephan

Benutzeravatar
FUEL4EP
Beiträge: 584
Registriert: 01.11.2017, 17:26
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 76 Mal
Danksagung erhalten: 77 Mal
Kontaktdaten:

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

Beitrag von FUEL4EP » 10.08.2020, 15:47

Hallo Gerd, hallo Stephan,

einen echten NDIR CO2 Sensor gibt es (fast) schon:

viewtopic.php?f=76&t=60067

Mein dort beschriebenes Problem mit der Akkuladeschaltung ist gelöst. Einen einfachen Solarlader baue ich diese Woche noch dazu.

Zu tun ist dann hauptsächlich die Dokumentation und Release auf Github ..
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

Benutzeravatar
chianti2000
Beiträge: 132
Registriert: 12.08.2017, 17:15
System: CCU
Wohnort: Leipzig
Hat sich bedankt: 49 Mal
Danksagung erhalten: 13 Mal

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

Beitrag von chianti2000 » 10.08.2020, 15:59

Hallo Ewald,
Interessante Arbeit. Ich lese schon eine Weile mit. Wenn der Sensor nur nicht so teuer wäre. :(
Wenn Du reproduzierbare Werte erhältst, ist er jedoch eine Überlegung wert. Bei ca. 19 mA Stromverbrauch des SCD30
Ist eventuell auch der MHZ 19 einen Versuch wert, der ebenfalls bei ca. 18 mA liegt und eine kostengünstigere Alternative ( ca. 12-14 € bei Ali) wäre. Eventuell kann man ihn alternativ zum SCD30 in deinem Sketch einbinden und wählen. Die webUI sollte ja identisch sein. Noch besser wäre als Zusatz der SGP 30 oder SGPC 3 für den TVOC -Wert, SDC30 bzw. MHZ 19 für die CO2-Messung und SHT 31 bzw. SHT21 für Raumtemperatur und Feuchte. Das wäre dann ein „all in One“ Sensor für indoor.
Für Leute, welche mit gut löten können sind die Unisensorplatine 2.20 von Tom und das AskSinPP_1284_Board von Stephan eine gute Basis für diesen Indoor— Luftqualitätssensor.

VG Gerd
Zuletzt geändert von chianti2000 am 10.08.2020, 16:22, insgesamt 1-mal geändert.
VG Gerd

Antworten

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