Überwachung der Kohlendioxid-Konzentration

Beim Atmen wandeln Menschen und Tiere eingeatmeten Sauerstoff und im Körper gespeicherten Kohlenstoff in Kohlendioxid um. Daher hat die ausgeatmete Luft eine höhere CO2-Konzentration als die eingeatmete. Das ist ein ganz normaler biologischer Prozess. Im Freien ist das völlig unkritisch, da Pflanzen genau das Gegenteil tun und die CO2-Konzentration damit stabil bleibt (wir vergessen hier mal die Erhöhung der CO2-Konzentration durch das Verbrennen fossiler Brennstoffe).
In geschlossenen Räumen kann sich die CO2-Konzentration allerdings schon deutlich erhöhen. Gerade modernere Gebäude ohne Lüftungssystem sind da recht problematisch. Daher ist es hier keine schlechte Idee, die CO2-Konzentration zu messen um ggf. stärker zu lüften.

Im Freien liegt die CO2-Konzentration in der Regel zwischen 250 und 350 ppm (parts per million – CO2 Anteil pro 1 Million), in Innenräumen kann die Konzentration recht schnell auf mehrere tausend PPM steigen (1000 ppm entsprechen dann 0.1% CO2 Anteil). In diesem englischsprachigen Dokument kann man gut sehen, dass CO2-Konzentrationen über 1000ppm zu Müdigkeit, schlechter Konzentration, erhöhtem Puls und anderen unerwünschten Nebenwirkungen führen kann.

Eine einfache Methode zur Messung von CO2 sind sogenannte An easy method to monitor CO2 levels are nichtdispersive Infrarotsensoren. Um diese an einem PC or Raspberry Pi zu nutzen, ist es am einfachsten, einen Sensor mit einer seriellen Schnittstelle zu wählen. Der MH-Z19 ist dafür eine gute Wahl. Er ist recht günstig, bietet eine serielle Schnittstelle und läuft mit einer Betriebsspannung von 3.3V. Damit kann er direkt an einen Raspberry Pi angeschlossen werden bzw. mit einem einfachen Konverter auch an PC oder Mac.

Schaut man von unten auf den Sensor, so sieht man die folgenden Anschlüsse:

hmz19-pinout

Der Pinabstand beträgt 2.54mm, damit kann man ganz einfach entsprechende Header anlöten:

co2sensor_pins

Nun lässt sich der Sensor einfach mit Kabeln mit z.B. an einen Raspberry Pi anstecken::

co2sensor_cables

Verbinden mit dem Raspberry Pi

Der Sensor kann direkt an einige Pins des 40-poligen GPIO-Anschlusses angesteckt werden:

Funktion Pin MH-Z19 Pin RPI
VCC 6 1
GND 7 6
RX 2 8
TX 3 10

Anschluss an PC und Mac

Um den Sensor an PC oder Mac anzuschliessen, wird zusätzlich ein kleiner USB/seriell Adapter benötigt:

usbser1

Für diese Konverter gibt es keine standardisierten Anschlüsse. Daher muss man hier schauen, wie der Konverter belegt ist. Dann verbindet man den Sensor wie folgt: VCC auf 3.3V, TX auf RX, RX auf TX und GND auf GND.

Software

Der Sensor ist recht einfach mit einem eigenen Programm auszulesen. Allerdings geht es auch komplett ohne Programmierung. Am einfachsten geht das mit Home Assistant, denn hierfür haben wir bereits ein Modul entwickelt. Dieses muss nur in der Konfiguration aktiviert werden:

sensor 3:
  platform: mhz19
  serial_device: /dev/serial0

Wer selst etwas programmieren will, kann z.B unsere pmsensor Bibliothek nutzen, die diesen Sensor auch direkt unterstützt.

Anschluss eines Feinstaubsensors an PC oder Mac

Ein einem früheren Artikel haben wir Feinstaubsensoren vorgestellt. Viele dieser Sensoren kommen mit einem kleinen 8-poligen Anschluss. Mit etwas Glück findet man sogar ein englischsprachiges Datenblatt. Es könnte aber sein, dass es nur ein Chinesisches gibt, wie z.B. dieses hier:

pmsensor-cover

Glücklicherweise haben die Pins englischsprachige Bezeichnungen.

datasheet

Das ist eigentlich schon alles, was wir brauchen, um dieses Gerät mit dem PC zu verbinden. Die Betriebsspannung ist 5V, die I/O-Pins nutzen 3.3V- Das passt perfekt für die meisten Anwendungen. Weiterhin gibt es eine serielle Schnittstelle (RX/TX) und einen SET und einen RESET Eingang.

Jetzt brauchen wir nur noch einen USB/Seriell Adapter. Diese Schaltungen gibt es in den verschiedensten Varianten. Sie sehen z.B. so aus:

usbser1 usbser2

usbser3

Beim Kauf sollte man darauf achten, dass der Adapter sowohl 5V als auch 3.3V bereitstellen kann. Für dieses Projekt brauchen wir zwar nur 5V, aber es kann später hilfreich sein, wenn auch gleich noch 3.3V zur Verfügung stehen. Weiterhin sollte der Adapter einen DTR-Ausgang haben (den werden wir nutzen, um den Sensor ein- und auszuschalten).

Jetzt verbinden wir das ganze wie folgt:

 VCC pin 1  5V
 GND pin 2 GND
 TX pin 4  RX
 RESET  pin 6  DTR

Achtung: Die Pinnummern beziehen sich auf oben gezeigten Sensor. Die Anschlussbelegung ist nicht bei allen Sensoren gleich und sollte daher umbedingt geprüft und an den genutzten Sensor angepasst werden.

Warum ist RX nicht verbunden? Alle derartigen Sensoren, die ich bisher gesehen haben, geben lediglich Daten aus. Das heisst, dass RX-Signal wird nicht genutzt. Daher muss es auch nicht verbunden werden. Wer will kann auch RX anschliessen.

Letztendlich sollte es etwa so aussehen:

dust-sensor-interface

Das ist schon alles was getan werden muss, um den Sensor mit dem PC oder Mac zu verbinden. Nun können die Daten ausgelesen werden. Wie das geht, zeige ich in einem weiteren Artikel.

Messen der Luftqualität

Fragt man, was wichtig für den Wohnkomfort ist, erwähnt fast jeder als erstes die Zimmertemperatur. Ein weiterer wichtiger Faktor ist jedoch auch die Luftqualität. Jeder weiss, dass nach dem Kochen die Luftqualität nicht immer so gut ist, wie man sie sich wünscht. Neben dem Kochen gibt es aber auch viele andere Gründe für Teilchen, die in der Raumlauf schweben.  Diese werden als Feinstaub bezeichnet. Die aktuelle Definition des Feinstaubs geht zurück auf den im Jahre 1987 eingeführten „National Air Quality“-Standard for Particulate Matter (kurz als PM-Standard bezeichnet) der US-amerikanischen Umweltschutzbehörde EPA (Environmental Protection Agency).

Meist misst man heute den PM2.5 Werte. Diese berücksichtigen Partikel mit Grössen bis maximal 2.5µm. Diese können bei empfindlichen Personen zu einem erhöhten Gesundheitsrisiko führen. Generell ist der Mensch immer solchen Partikel ausgesetzt. Die WTO betrachtet allerdings Werte >50µg/m3 als problematisch.

Kaum jemand weiss wohl, wie hoch die Feinstaubbelastung in der eigenen Wohnung ist. Allerdings ist es mittlerweile nicht mehr teuer, solche Messungen vorzunehmen. Korrekt kalibrierte Sensoren sind immer noch sehr teuer, aber einfache Sensoren können bereits helfen, potentielle Feinstaubquellen zu erkennen.

Diese Sensoren sind intern etwa so aufgebaut:

dust-sensor

Eine Lichtquelle beleuchtet einen Luftstrom. In der Luft enthaltene Feinstaubpartikel reflektieren das Licht. Ein optischer Empfänger misst diese Reflektionen. Das sieht recht einfach aus – oder? Ist es auch! Die billigsten Sensoren sind für weniger als 20€ zu bekommen. Diese günstigen Sensoren nutzen üblicherweise LEDs als Lichtquelle. Laser-basierte Sensoren sind zwar teurer, können jedoch auch noch kleinere Staubpartikel erkennen.

Hier ist ein Beispiel eines Laser-basierten Sensors:

P7180912-web

Der Ventilator erzeugt einen kontinuierlichen Luftstrom durch das Gerät. Schaut man das Gerät von innen an, sieht man den Luftkanal und den eigentlich Feinstaubsensor.

P7180899-web

Der optische Sensor sieht so aus:


Was ist sonst noch drin?

Der Rest ist unspektakulär: ein kleiner Mikrocontroller und wenige externe Bauteile.

Besonders praktisch sind diese teureren Sensoren, da der Mikrocontroller bereits die ganze Arbeit erledigt. Über eine serielle Schnittstelle gibt er direkt die PM1.0, PM2.5 and PM10 Werte aus.

Mit einem einfachen USB/Seriell-Wandler kann man diese Daten nun direkt am PC auslesen. Wie dieser Adapter anschlossen werden muss wird hier gezeigt.

Links: