CO2-Sensor-Vergleich

Populäre CO2-Sensoren scheinen zur Zeit die Typen

  • SCD30 von der Sensirion AG
  • MH-Z19B von Zhengzhou Winsen Electronics Technology Co., Ltd
  • BME680 von Bosch
  • MICS-VZ-89TE von Amphenol SGX Sensortech

zu sein.

Der SCD30 und der MH-Z19B sind NDIR-Sensoren, die auf optoelektronischem Weg die Lichtabsorption von CO2-Molekülen im Infrarotbereich messen. Der Preis dieser Sensoren ist relativ hoch (Einzelpreis ca. 45,- für den SCD30; ca. 15,- für den MH-Z19B).

Der BME680 und der MICS-VZ-89TE sind MOX-Sensoren, die wesentlich preisgünstiger zu bekommen sind (Einzelpreis ca. 9,- für den BME680; ca. 14,- für den MICS-VZ89TE), aber nicht so direkt und selektiv messen wie NDIR-Sensoren. Der VZ-89TE hat einen Microcontroller an Bord, um aus den Messdaten eine „äquivalente CO2-Konzentration“ zu berechnen, während beim BME680 der Benutzer selber den erforderlichen Speicher und die Rechenleistung zur Verfügung stellen muss, um mit Hilfe der BSEC-Arduino-Library die gemessenen Daten in eine „äquivalente CO2-Konzentration“ umzurechnen.

Um diese 4 verschiedenen Sensoren zu vergleichen, habe ich sie an ein ESP32-PICO-D4-Board von Espressif angeschlossen. SCD30, VZ89TE und BME680 wurden über den I²C-Bus angeschlossen und der MH-Z19B über einen UART.

Der ESP32 frägt alle 30 Sekunden die Sensoren ab und schickt die Messwerte an einen MQTT-Broker, der auf meinem Raspberry-Pi läuft. Dort läuft auch ein Node-Red-Flow, der die Messwerte vom MQTT-Broker abholt und in einer CSV-Datei aufzeichnet.

Die räumliche Nähe der Sensoren, die Platzierung des Boards nahe einer Zimmerecke (=wenig Zugluft) und eine Entfernung von >1,5m zur nächsten CO2-Quelle (=Mensch) sollten dazu führen, dass alle 4 Sensoren einer ziemlich gleichen CO2-Konzentration ausgesetzt sind.

Und so sehen die über mehrere Tage gemessenen Sensordaten aus, jeweils im Vergleich zum SCD30:

Vergleich SCD30 mit MH-Z19B

Der MH-Z19B scheint im Wesentlichen sehr ähnliche Messdaten zu produzieren wie der SCD30. Allerdings scheint es Unterschiede bei der Offsetkorrektur beider Sensoren zu geben. Beide Sensoren liefen mit eingeschalteter automatischer Offsetkorrektur. Möglicherweise ändert sich das Verhalten, wenn die Sensoren noch weitere Tage laufen und Gelegenheit haben, sich im leeren Zimmer immer wieder auf einen neues CO2-Minimum zu referenzieren.

Vergleich SCD30 mit VZ-89TE

Der VZ-89TE scheint relativ oft nur einen voreingestellten Offsetwert auszugeben und reagiert häufig erst spät auf CO2-Konzentrationsanstiege.

Vergleich SCD30 mit BME680 und BSEC 1.4.8.0

Der BME680 scheint im Vergleich zum VZ-89TE früher auf gestiegene CO2-Konzentrationswerte zu reagieren. Der BME680 bzw. die BSEC-Bibliothek reagiert dann aber oft stark über und liefert häufig viel höhere Werte als der SCD30.

Um den Zusammenhang zwischen den Messwerten noch auf andere Weise darzustellen, habe ich Scatterplots zeichnen lassen. Jeder Punkt stellt dabei die simultanen Messwerte von 2 Sensoren dar. Die x-Koordinate des Punktes repräsentiert den Messwert des SCD30 und die y-Koordinate den Messwert des jeweiligen Vergleichssensors:

Scatterplots der Sensorpaare (SCD30, MH-Z19B), (SCD30, VZ89TE) und (SCD30, BME680)

Die beiden NDIR-Sensoren SCD30 und MH-Z19B (rote Punktwolke) zeigen ziemlich stark korrelierte Messwerte (Wenn die Werte der beiden Sensoren perfekt korreliert wären, dann würden alle Punkte auf der Winkelhalbierenden oder zumindest auf einer Gerade liegen). Man sieht allerdings in der unteren Hälfte des dargestellten Messbereichs mehrere nahezu parallel verschobenen Punktwolken, die auf einen unterschiedlichen Algorithmus für die zyklische Re-Kalibration hinweisen könnten.

Die grüne Punktwolke , die sich auch zum Großteil unterhalb der gedachten Winkelhalbierenden befindet, deutet auf eine relative geringe Korrelation mit den SCD30-Messwerten hin, die auch vom Wert her meistens deutlich unterhalb der SCD30-Messwerte liegen.

Der blaue Punktwolke des BME680 zeigt dagegen sehr viel häufiger auch große Werte, hat aber ebenfalls eine riesige Streuung um die Winkelhalbierende herum.

Die Frage, die man jetzt noch stellen könnte ist, ob die beiden MOX-Sensoren (VZ89TE und BME680), auch wenn sie relativ geringe Korrelationen mit den Messwerten der NDIR-Sensoren aufweisen, wegen der ähnlichen Funktionsweise zumindest untereinander eine höhere Korrelation ihrer Messwerte zeigen?

Scatterplot des Sensorpaars (BME680, VZ89TE)

Interessanterweise kann man in den Punktwolken einige Linien erkennen, die als Hinweis auf gewisse Korrelationen gedeutet werden können, aber alles in allem sind die Korrelationen ziemlich gering.

FAZIT:

Die beiden NDIR-Sensoren scheinen bei der CO2-Messung im Bereich von 400-2000 ppm deutliche Vorteile gegenüber MOX-Sensoren zu haben.
Den VZ89TE würde ich eher nicht als Indikator für richtiges Lüften verwenden.
Der BME680 ist etwas sensibler als der VZ89TE und wäre etwas besser geeignet, aber als zuverlässigen Indikator für ausreichenden Luftaustausch gemäß diesem Papier der BAUA würde ich dann doch eher den Messwerte eines SDC30 oder eines MH-Z19B trauen als denen eines MOX-Sensors.

Nachtrag:

Infineon und Sensirion haben jeweils CO2-Sensoren angekündigt, die auf dem photoakustischen Effekt beruhen (Infineon XENSIV PAS210, Sensirion SCD40). Der photoakustische Effekt beruht ja ebenso auf der wellenlängenabhängigen Absorption der Gasmoleküle wie die Transmissionsmessung bei den NDIR-Sensoren. Die PAS-Sensoren könnten deswegen genauso gut funktionieren wie die NDIR-Sensoren. Im Prinzip sogar besser, weil Anregung und Detektion von 2 verschiedenen physikalischen Größen passiert; es ergibt sich dadurch kein „Übersprechen“ von Sender und Empfänger.

Vermutlich werden dabei die Druckschwankungen in einem Probevolumen, das durch eine gepulste und gefilterte IR-Quelle (4,2 µm?) bestrahlt wird, mit Hilfe eines Mikrofons und eines Lock-In-Verstärkers gemessen. Eine Temperatur-, Druck- und Luftfeuchtigkeitskorrektur braucht es vermutlich auch dafür, und trotzdem scheinen die Sensoren ziemlich winzig zu werden (ca. 14x14x8 mm³ bzw. 10x10x7 mm³).

Leider gibt es diese Sensoren noch nicht zu kaufen und wenn es sie dann doch irgendwann gibt, ist die Corona-Krise vermutlich schon fast vorbei!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.