Code-Quickie / 3D-Druck: Feinstaub PM-Sensor für den Heizraum inkl. FHEM-Integration

Code-Quickie: Feinstaubsensor BB

Einleitung

Da ich in der Nähe zu Stuttgart wohne und arbeite spielt das Thema "Feinstaub" in meinem Alltag eine größere Rolle und so bin ich zwangsläufig auf das Projekt "luftdaten.info" aufmerksam geworden. Hierbei geht es darum sich mit günstigen Komponenten einen Feinstaubsensor selber zusammenzubauen um dann den Feinstaub in seiner Umgebung zu messen. Optional können dann auch die Werte der eigenen "Messstation" hochgeladen und mit der Allgemeinheit geteilt werden um so eine möglichst detaillierte Feinstaub-Karte zu erhalten.

Genau hier setzt auch mein Beitrag an. Ich verwende den Feinstaubsensor in meinem Heizraum mit den gleichen Komponenten und der gleichen Software wie im "luftdaten.info"-Projekt erweitert um einige für mich nützliche Funktionen.

Komponenten

Für die Komponenten meiner Variante des Feinstaubsensors kann man sich zuerst an der Einkaufsliste des "luftdaten-info"-Projekts orientieren.

Statt dem NodeMCU verwende ich einen WeMos D1 Mini mit dem gleichen ESP8266 Chip. Der neue WeMos D1 Mini Pro hat bei mir nicht funktioniert. Ich hätte lieber diesen verwendet, weil man hier eine externe Antenne für besseren WLAN-Empfang anschließen kann.

  • SDS011 Feinstaubsensor / PM-Sensor

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API

  • WeMos D1 Mini

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API

  • Dupont Kabel

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API

  • USB-Kabel mit offenem Ende

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API

  • PVC-Schlauch 6x9mm

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Zusätzlich verwende ich noch einen HM-LC-Sw1-PCB Homematic-Aktor um den Feinstaubsensor bei Bedarf, also nur wenn die Ölheizung oder der Holzvergaser läuft, einzuschalten. Den Aktor habe ich in diesem Betrag schon mal vorgestellt.



Zur Stromversorgung verwende ich ein 12V Meanwell-Hutschienennetzteil, an dem auch mehrere andere Geräte noch mit dranhängen sowie einen Step-Down-Converter um auf die benötigte 5V-Versorgungsspannung zu kommen. Wer nur den den Sensor betreiben möchte kann auch direkt zur 5V-Variante des Nezteils greifen oder ein normales USB-Steckernetzteil verwenden und sich den Step-Down-Converter sowie das USB-Kabel mit offenem Ende sparen.

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Achtung!
Dieses Netzteil wird direkt am 230V-Stromnetz angeschlossen. Bei Fehlern besteht Brandgefahr oder Gefahr eines elektrischen Schlages!

Um die Kabel zu verbinden verwende ich kleine Wago-Klemmen der 221-Serie

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Die restlichen Kabel, inbesondere für die Spannungsversorgung (rot/schwarz), sind aus einem Brandmeldekabel, welches ich eigentlich für die 1-wire-Verdrahtung verwendet habe, sich aber hier auch sehr gut eignet.

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Zur Anzeige der Sensordaten verwende ich ein einfaches 1602-Display

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Alles zusammen wird in ein Spelsberg Leergehäuse TK PC 2518-11-tm mit Hutschiende und M20 Kabelverschraubungen gepackt.

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


3D-Druck

Um alle Komponenten sauber in das Spelsberg-Gehäuse zu bekommen, habe ich mich entschieden eine Art Grundplatte zu konstruieren. Auf dieser können dann die einzelnen Komponenten passgenau verschraubt und verklebt werden.



Im 3D-Modell habe soweit möglich alle Originalmodelle eingebaut. Da wo ich keine Modelle gefunden habe, wurden einfach Platzhalter-Klötze eingebaut.




Der Halter für die Hutschiene rastet auf der einen Seite in eine normale 35mm Hutschiene ein und kann auf der anderen Seite die Grundplatte aufnehmen.




Da wir seit einiger Zeit den Creality CR-10 3D-Drucker besitzen (siehe 3D-Drucker Review) bot es sich natürlich an die Teile sofort auszudrucken und zu testen. Die 3D-Drucke wurde mit 0.3mm Schichtdichte und hoher Geschwindigkeit gedruckt und sehen deshalb etwas grob aus. Trotzdem ist die Passgenauigkeit und Festigkeit absolut in Ordnung. Das Material ist graues PETG.


Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Meine 3D-Modelle habe ich auf die Plattform "thingiverse" hochgeladen.

Dort stehen Sie kostenlos zur Verfügung.

Download 3D-Modelle
Link zu thingverse

Zusammenbau

Zuerst das Anschrauben an die Wand und Anbringen der Hutschienenhalter. Hutschiene und Kabelverschraubung wurden vormontiert.



Auch die Öffnung zum Druckausgleich wurde vorher herausgeschlagen und mit etwas Gitter abgedeckt sowie mit Heißkleber fixiert. Sollte doch zu viel Kleinvieh da durch gelangen, werde ich eine wasserdichte und luftdurchlässige Membran einbauen. Hinweis für die, die es brauchen: IP65 ist so natürlich nicht mehr gewährleistet.



Danach wird die Grundplatte auf Vorder- und Rückseite bestückt.






Der Homematic-Aktor, der WeMos Mini und die Wago-Klemmen wurden verklebt, der Rest verschraubt.

Zur Verschraubung kann ich Kunststofffurchende 3x8mm Schrauben empfehlen, welche sehr gut halten. Diese habe ich mir mittlerweile auch gekauft und verbaut. Auf allen Bildern sind aber noch weniger geeignete Holzschrauben zu sehen.

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Für alle Heißklebeaktionen verwende ich mittlerweile eine die Steinel Heißklebe-Pistole Gluematic 5000 samt passendem Heißkleber und feiner Düse

Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Bild des Amazon-Artikels
Bei Amazon.de kaufen
Affiliate Links / Bilder von der Amazon Product Advertising API


Für das Aufspielen der Software und die Verkabelung zwischen SDS011, WeMos Mini und Display kann die ausgezeichnete "Bauanleitung" auf "luftdaten.info" verwendet werden.

Zur Verlegung der Stromkabel siehe die Bilder. Hier ist zu erwähnen, das Sensor und Display direkt mit dem Ausgang des Step-Down-Converters verbunden sind und nicht die Versorgungsspannung aus dem WeMos beziehen. Die beiden Wago-Klemmen auf der Rückseite waren zuerst nicht geplant erleichtern aber später die Montage auf der Hutschiene und minimieren die Fummelei.

Jetzt kann die Grundplatte in das Gehäuse eingesetzt werden und mit dem Stromkabel verbunden werden. Der Ausgang des Sensors fluchtet genau mit dem Loch im Gehäuse. Die Kabelverschraubung muss allerdings nochmal kurz entfernt werden.



Wichtig: Alle Komponenten sind noch nicht mit dem Step-Down-Converter verbunden (siehe Wago-Klemmen und USB-Anschluss), da an ihm zuerst noch die korrekte Ausgangsspannung von ca. 5V eingestellt werden muss. Wer schon vorher alles anschließt und einschaltet gefährdet seine Bauteile, denn es liegen uneingestellt ca. 12V am Ausgang an (Eingangsspannung=Ausgangsspannung).

Nach Montage des Schlauchs und der Kabelverschraubung kann ein erster Funktionstest durchgeführt werden.



Fertig zusammengebaut und beschriftet

Feinstaubsensor einrichten

Das Einrichten ist des Sensors ist eigentlich selbsterklärend, deshalb im Folgenden wenig Text und mehr Bilder. Logisch aber trotzdem ergänzend noch der Hinweis, das ich meine Daten nicht zum "Projekt" hochlade, denn ich messe ja nur in meinem Heizraum und nicht draußen.

Die Übersichtsseite

Meine Einstellungen

Noch kurz warten bevor die erste Messung startet

Die ersten Messergebnisse

FHEM-Integration und Grafana

Die FHEM-Integration gestaltet sich einfach, denn es steht schon ein passendes Modul zur Verfügung.

Wie üblich sollte erst einmal die FHEM-Instanz auf den neuesten Stand gebracht werden.

In das Eingabefeld wird dazu der Befehl update eingegeben und anschließend mit shutdown restart neu gestartet.

Die Definition in FHEM inkl. Datenbankanbindung sieht dann so aus



Wichtig für mich noch folgender Code mit dem das Blockieren der FHEM-Instanz verhindert wird falls mal die IP-Adresse bzw. der Sensor nicht erreichbar sein sollte

Code
  1. define UG.Heizraum.PM.Sensor.1.presence PRESENCE lan-ping 192.168.178.38 120 600
  2. attr UG.Heizraum.PM.Sensor.1.presence devStateIcon present:general_an@green absent:general_aus@red
  3. attr UG.Heizraum.PM.Sensor.1.presence event-on-change-reading state,presence
  4. attr UG.Heizraum.PM.Sensor.1.presence group presence
  5. attr UG.Heizraum.PM.Sensor.1.presence room PM-Sensor
  6. define UG.Heizraum.PM.Sensor.1.presence.Schalter.doif DOIF ([UG.Heizraum.PM.Sensor.1.presence] eq "absent") (attr UG.Heizraum.PM.Sensor.1 disable 1;;save) DOELSEIF ([UG.Heizraum.PM.Sensor.1.presence] eq "present") (deleteattr UG.Heizraum.PM.Sensor.1 disable;;save)
  7. attr UG.Heizraum.PM.Sensor.1.presence.Schalter.doif group DOIF
  8. attr UG.Heizraum.PM.Sensor.1.presence.Schalter.doif room PM-Sensor

Die Definition des Homematic-Aktors samt Datenbankanbindung ist nichts neues und sieht wie folgt aus

Mit diesem Code wird der Sensor eingeschaltet, wenn der Holzvergaser eine Abgastemperatur von 80°C überschritten hat, was in der Regel nach wenigen Minuten passiert

Code
  1. define UG.Heizraum.PM.Sensor.1.Aktor.einschalten.Atmos.HV.DOIF DOIF ([Atmos_Holzvergaser.cD:Abgas] > 80) (set UG.Heizraum.PM.Sensor.1.Aktor on) DOELSE
  2. attr UG.Heizraum.PM.Sensor.1.Aktor.einschalten.Atmos.HV.DOIF room Heizung

Mit diesem Code wird der Sensor eingeschaltet, wenn die Buderus Ölheizung bzw. der Ölbrenner läuft

Code
  1. define UG.Heizraum.PM.Sensor.1.Aktor.einschalten.Buderus.KM271.DOIF DOIF ([UG.Heizraum.Buderus.Oelbrenner.Einschaltverhalten] == 1) (set UG.Heizraum.PM.Sensor.1.Aktor on) DOELSE
  2. attr UG.Heizraum.PM.Sensor.1.Aktor.einschalten.Buderus.KM271.DOIF room Heizung

Mit diesem Code wird der Sensor ausgeschaltet, wenn weder Holzvergaser noch Ölbrenner laufen

Code
  1. define UG.Heizraum.PM.Sensor.1.Aktor.ausschalten.DOIF DOIF ([Atmos_Holzvergaser.cD:O2] > 20.2 and [UG.Heizraum.Buderus.Oelbrenner.Einschaltverhalten] == 0) (set UG.Heizraum.PM.Sensor.1.Aktor off) DOELSE
  2. attr UG.Heizraum.PM.Sensor.1.Aktor.ausschalten.DOIF room Heizung

Im Artikel CODE-QUICKIE: HEIZUNG VISUALISIEREN MIT GRAFANA habe ich den Feinstaubsensor schon mal erwähnt. Die Visualisierung in Grafana hatte ich dort bereits vorgestellt und vorbereitet.

Fazit

Der Feinstaubssensor SDS011 ist eine schöne Ergänzung zu den anderen Sensoren im Heizraum. Mit ihm konnte ich z.B. feststellen, das die Feinstaubbelastung besoners beim Nachlegen von Brennholz sehr hoch ist, wenn auch nur kurz.



Generell ist die Feinstaubbelastung im Heizraum sehr niedrig, zum Teil sogar niedriger wie in den Wohnräumen, was ich so auch nicht erwartet hatte.

    Über den Autor

    Autor von worldoftech.de. Smart-Home-Verrückter.


    Nutzt Zuhause FHEM zusammen mit HomeMatic, JeeLink, 1-Wire, Flammtronik / Atmos HV, Buderus KM271, Philips HUE, Xiaomi Yeelight, Alexa, Sonos, FritzBox, Ubiquiti UniFi APs, APC UPS, APC PDU, IPMI. MariaDB, InfluxDB und Grafana zur Auswertung. Als Hardware-Untersatz kommen mehrere RaspberryPis und Supermicro Serverhardware zum Einsatz. Softwareseitig werden hauptsächlich Raspbian, Ubuntu, ESXi und Docker verwendet.

    Reinhard Team

    Kommentare