Feuchtigkeitskorrektur für SDS011 Feinstaubsensoren


Hinweis: Dieser Artikel wurde mit KI-Unterstützung erstellt.

Warum ist eine Korrektur notwendig?

Der SDS011 Feinstaubsensor arbeitet nach dem Lichtstreuungsprinzip:

  • Ein Laser beleuchtet Partikel in der Luft
  • Größere Partikel streuen mehr Licht
  • Der Sensor berechnet die Partikelmasse basierend auf der Lichtstreuung

Das Problem bei hoher Luftfeuchtigkeit

Bei hoher Luftfeuchtigkeit (über 70%) treten folgende Effekte auf:

  1. Hygroskopische Partikel (wie Salz oder Ammoniumnitrat) nehmen Wasser auf
  2. Die Partikel schwellen an und erhalten einen größeren optischen Durchmesser
  3. Der Sensor überschätzt die Partikelmasse massiv (bis zu 400 Prozent)
  4. Die gemessenen Werte sind nicht vergleichbar mit gravimetrischen Referenzmessungen

Die angewandte Korrektur: HackAir-Formel

Mathematische Formel

PM_korrigiert = PM_roh / (1 + a × h^b)

Dabei gilt:

  • h = relative Luftfeuchtigkeit (0-1, also 0.75 entspricht 75%)
  • PM2.5: a = 0.488, b = 8.60
  • PM10: a = 0.816, b = 5.83

Herkunft der Formel

Die Formel wurde vom HackAir-Projekt in Polen entwickelt und mit tausenden SDS011-Sensoren validiert. Sie ist der anerkannte Standard in der luftdaten.info Community.


Korrekturfaktoren nach Luftfeuchtigkeit

Relative Feuchtigkeit PM2.5 Faktor PM2.5 Reduktion PM10 Faktor PM10 Reduktion Bewertung
50% 1.00 0% 1.00 0% Gut
60% 1.01 1% 1.01 1% Gut
70% 1.09 8% 1.12 11% Warnung
75% 1.26 21% 1.36 27% Warnung
80% 2.47 60% 2.17 54% Kritisch
85% 9.94 90% 5.49 82% Kritisch
90% 129 99% 32.7 97% Extrem
95% 14893 99.99% 1650 99.9% Extrem

Interpretation der Qualitätsstufen

Unter 70% RH (Gut)
Keine Korrektur nötig. Der Sensor arbeitet im Spezifikationsbereich.

70-85% RH (Warnung)
Moderate Korrektur wird angewendet. Die Werte sind nach der Korrektur zuverlässig.

85-90% RH (Kritisch)
Starke Korrektur erforderlich. Die Werte sollten mit Vorsicht interpretiert werden.

Über 90% RH (Extrem)
Extreme Korrektur notwendig. Die Werte sind sehr unsicher und sollten eventuell verworfen werden.


Implementation im Monitoring-System

Automatische Korrektur im Datensammler

Der airrohr_collector wendet die Korrektur automatisch an, bevor die Daten in der Datenbank gespeichert werden:

# Beispiel: Vor dem Speichern
pm25_raw = 20.0       # Vom Sensor gemessen
humidity = 80%        # Vom BME280 Sensor

# Korrektur wird angewendet
pm25_corrected = 8.1  # In Datenbank gespeichert

# Log-Ausgabe
"Humidity correction applied (80.0% RH): PM2.5 20.00→8.10"

Speicherung korrigierter Werte

Wichtig: In der Datenbank werden ausschließlich die korrigierten Werte gespeichert.

  • Dashboard zeigt korrigierte Werte
  • Reports verwenden korrigierte Werte
  • Rohdaten werden nicht gespeichert (bewusste Design-Entscheidung)

Vorteil: Alle nachgelagerten Analysen arbeiten automatisch mit verlässlichen Daten.

Warnstufen in den Logdateien

Das System gibt unterschiedliche Warnungen aus, je nach Luftfeuchtigkeit:

  • Unter 70% RH: Keine Meldung
  • 70-85% RH: “Humidity correction applied…”
  • 85-90% RH: “Humidity correction applied (CRITICAL)…”
  • Über 90% RH: “Humidity correction applied (EXTREME)…”

Praxisbeispiele

Szenario 1: Normaler Wintertag

Ausgangsdaten:

  • PM2.5: 15 Mikrogramm pro Kubikmeter
  • Luftfeuchtigkeit: 55%

Ergebnis:

  • PM2.5 korrigiert: 15 Mikrogramm pro Kubikmeter (keine Änderung)
  • Status: GUT
  • Keine Warnung im Log

Szenario 2: Morgen nach einer Regennacht

Ausgangsdaten:

  • PM2.5: 25 Mikrogramm pro Kubikmeter
  • Luftfeuchtigkeit: 78%

Ergebnis:

  • PM2.5 korrigiert: 16.8 Mikrogramm pro Kubikmeter (Reduktion um 33%)
  • Status: WARNUNG
  • Log: “Humidity correction applied (78% RH)”

Szenario 3: Dichter Nebel

Ausgangsdaten:

  • PM2.5: 50 Mikrogramm pro Kubikmeter
  • Luftfeuchtigkeit: 88%

Ergebnis:

  • PM2.5 korrigiert: 3.1 Mikrogramm pro Kubikmeter (Reduktion um 94%)
  • Status: KRITISCH
  • Log: “Humidity correction applied (CRITICAL: 88% RH)”

Interpretation von Szenario 3: Der Sensor detektiert viele Nebeltröpfchen und meldet hohe Werte. Nach der Korrektur zeigt sich, dass die tatsächliche Feinstaubbelastung sehr niedrig ist.


Wissenschaftliche Grundlagen

Validierte Studien

LUBW-Bericht (2017)
Die Landesanstalt für Umwelt Baden-Württemberg validierte den SDS011 gegen das Grimm OPC 1.109 Referenzgerät. Fazit: Eine universelle Korrekturformel ist schwierig, aber die HackAir-Methode zeigt gute Ergebnisse.

HackAir-Projekt (Polen)
Empirische Formel basierend auf Daten von tausenden Sensoren. Die Implementation ist Open Source verfügbar.

RIVM-Studie (Niederlande)
Das niederländische Institut für Gesundheit entwickelte alternative regionale Korrekturfaktoren und bestätigte die Notwendigkeit der Feuchtigkeitskorrektur.

Duisburg-Studie (2023)
Vergleich zwischen Sensoren mit und ohne Aerosol-Trockner. Ergebnis: Getrocknete Luft führt zu deutlich besserer Korrelation mit Referenzmessungen.

Wissenschaftlicher Konsens

Die Forschung zeigt einheitlich:

  • Korrektur bei Luftfeuchtigkeit über 70% ist notwendig
  • Die HackAir-Formel ist ein akzeptierter Standard
  • Aerosol-Trockner wären ideal, sind aber teuer und komplex
  • Absolutwerte bleiben ungenau (±30%), aber Trends sind zuverlässig

Häufig gestellte Fragen

Warum werden die Rohdaten nicht gespeichert?

Die Datenbank speichert nur korrigierte Werte, um die Struktur einfach zu halten. Korrigierte Werte sind für wissenschaftliche Analysen relevanter. Wenn Rohdaten gewünscht sind, müssten zusätzliche Spalten pm25_raw und pm10_raw ergänzt werden.

Kann die Korrektur deaktiviert werden?

Ja. Im airrohr_collector können die Zeilen mit HumidityCorrection.correct_*() auskommentiert werden. Dann werden die Rohdaten direkt gespeichert.

Warum ist die Korrektur bei über 85% RH so aggressiv?

Die starke Korrektur ist wissenschaftlich validiert. Bei hoher Feuchtigkeit überschätzt der Sensor extrem. Die Formel basiert auf empirischen Messungen mit Referenzgeräten. Es ist besser, zu viel zu korrigieren als falsche Werte zu verwenden.

Sind die korrigierten Werte 100% genau?

Nein. Der SDS011 bleibt ein Low-Cost-Sensor mit typischen Messfehlern von ±30%. Jedoch:

  • Trends sind zuverlässig (Verkehrsmuster, Wochenend-Effekte)
  • Relative Vergleiche funktionieren gut
  • Absolute Werte sind Näherungswerte

Was ist mit Temperaturschwankungen?

Die Temperatur hat deutlich weniger Einfluss als die Luftfeuchtigkeit. Luftfeuchtigkeit ist der dominierende Faktor. Standardisierte Temperaturkorrekturen existieren nicht.


Zusammenfassung

Automatischer Ablauf

  1. Der Collector sammelt Daten vom Sensor
  2. Automatische Feuchtigkeitskorrektur wird bei Luftfeuchtigkeit über 70% angewendet
  3. Korrigierte Werte werden in der Datenbank gespeichert
  4. Warnungen erscheinen im Log bei hoher Feuchtigkeit
  5. Dashboard und Reports zeigen verlässliche Daten

Vorteile des Systems

  • Genauere Messungen bei ungünstigem Wetter
  • Vergleichbare Werte über verschiedene Wetterlagen
  • Wissenschaftlich validierte Methodik
  • Vollautomatischer Betrieb ohne manuelle Eingriffe

Die Feuchtigkeitskorrektur verbessert die Datenqualität erheblich und ermöglicht verlässliche Langzeitanalysen der Luftqualität, unabhängig von den Wetterbedingungen.


Technische Details

Die vollständige Implementation ist als Python-Modul verfügbar. Das Korrekturmodul kann auch unabhängig vom Hauptsystem genutzt werden und bietet eine einfache API für die Integration in andere Projekte.

Für weitere Informationen zur wissenschaftlichen Grundlage empfiehlt sich die Lektüre der zitierten Studien sowie der Dokumentation des luftdaten.info Projekts.