Near Veľká Svišťovka

Luftfeuchte-Messung mit dem RasPi Pico

1. Einleitung

In einem früheren Artikel stellte ich eine Wetterstation bestehend aus einem Raspberry Pi Einplatinencomputer, Sensoren und einer Flüssigkristallanzeige (LCD) vor.

Diese war in der Lage Temperatur, Luftdruck und Helligkeit zu bestimmen, nicht jedoch eine weitere wichtige Wettergröße: die Relative Feuchtigkeit (englisch Relative Humidity, abgekürzt RH) oder auch Luftfeuchtigkeit.

Da die Verfügbarkeit von Luftfeuchte-Sensoren aus dem Maker Umfeld nicht sonderlich groß und die Qualität dieser Teile etwas fragwürdig ist entschied ich mich jene Wetterstation nicht mit einem Teil von der Stange zu erweitern, sondern eine separate Elektronik mit schlichter optischer Anzeige und einem Industrie-Sensor zu entwickeln.

2. Projekt Luftfeuchte-Messung

2.1 Physikalische Größe Luftfeuchtigkeit

Die (intensive Messgröße) Relative Feuchtigkeit ist das einheitenlose und temperaturabhängige Verhältnis von zwei Dichten, nämlich den Dichten des Wasserdampfes in ungesättigter (ρD) und gesättigter (ρDS) Luft:

φ = ρDDS

Das ist die aus Wetterberichten bekannte Luftfeuchtigkeit, angegeben in einem Prozentwert von 0% – 100% (RH).

2.2 Bauteile und Komponenten

2.21 Übernahme von Hardware

Ich machte mir beim Design der optischen Anzeige die Erkenntnisse bzw. Hardware einer anderen Entwicklung zu Nutze, nämlich die der Bodenfeuchte-Messung.

Die Besonderheit sind dabei zwei Siebensegmentanzeigen mit einer Multiplex-Logik. Es wird jeweils nur ein Block durch einen Transistor aktiv geschaltet, und zwar in so schnellem Wechsel dass dies außerhalb der Wahrnehmung des menschlichen Auges geschieht und die Anzeige statisch wirkt.

Messung und Anzeige der Luftfeuchtigkeit, gemultiplexte Siebensegmentanzeigen auf PCB
Messung und Anzeige der Luftfeuchtigkeit, gemultiplexte Siebensegmentanzeigen auf PCB

Der unmittelbare Gewinn ist die Einsparung von Verbindungsleitungen und Bauteilen, hier die Einsparung eines CD4511BE (BCD-zu-Siebensegment Decoder) ICs und sieben 47 Ohm Widerständen, zum Preis von zwei Bipolartransistoren (z. B. BC337) und zwei 1 kOhm Widerständen (wie man vielleicht erkennt wäre eine Multiplex-Logik wirklich erst sinnvoll bei drei oder mehr Siebensegmentanzeigen).

2.22 Bauteile-Liste

Die Bauteile-Liste dieses Projekts beinhaltet ausschließlich der Ansteuerlogik für die Siebensegmentanzeigen:

  • Raspberry Pi Pico (RasPi Pico) – DatenblattRP2040 Datenblatt
  • Sensor HIH 4020-001 (siehe Abschnitt 2.3)
  • 1xWiderstand 100 kOhm
  • 2xWiderstand 10 kOhm
  • Punktrasterplatine (202 Kontakte) und Blankdraht
  • Buchsen- und Steckerleisten, Schaltlitze (0,14 mm² verwendet), Schrumpfschlauchstücke

2.3 Sensor HIH 4020-001

Der Luftfeuchte-Sensor HIH 4020-001 kostete Stand Mitte März 2022 gut 20 Euro, damit etwa das Vierfache des RasPi Pico Mikrocontrollers selbst.

Es handelt sich um einen integrierten Sensor auf Polymerbasis der eine gewisse Intelligenz aufweist und das Signal konditioniert. Er ist jedoch passiv und benötigt Energie von außen.

Im Datasheet finden sich alle wesentlichen Daten einschließlich einer wichtigen Umrechnungsformel welche für die Zusatzhardware wie für einen Verarbeitungs-Algorithmus eine Rolle spielen wird.

Es besteht ein linearer Zusammenhang zwischen RH und dem Sensor-Output Uout:

Uout (25°C) = USupply[V]*(0,0062*(RHSensor[%])+0,16)

In meinem Fall somit eine Ausgangsspannung im Bereich von (mit +5V VBUS vom Pico Pin 40):

Uout_max (25°C) = 5V*(0,0062*100+0,16) = 3,9V

Uout_min (25°C) = 5V*(0,0062*0+0,16) = 0,8V

Wie man sieht ist für einen verlässlichen Output Uout eine stabile Spannung USupply essentiell.

2.4 Schaltplan

Der Analog-Digital-Wandler (ADC) des RasPi Pico verarbeitet ein Maximum von 3,3V, folglich muss der Sensor-Output herabgesetzt werden.

Für solch eine Aufgabe bietet sich ein einfacher Spannungsteiler an.

UADC_max (25°C) = (3,9V*100)/120 = 3,25V

UADC_min (25°C) = (0,8V*100)/120 = 0,67V

Schaltplan des Spannungsteilers mit HIH 4020-001 Sensor
Schaltplan des Spannungsteilers mit HIH 4020-001 Sensor

Änderungen von Spannungswerten finden während der Messung vergleichsweise langsam statt, daher sind keine zusätzlichen Bauelemente erforderlich.

Der Pico ADC arbeitet nach dem Prinzip der sukzessiven Approximation. Dieses Wandlerprinzip ist zwar simpel, aber auch relativ langsam, was allerdings für den gegebenen Anwendungsfall keine Rolle spielt. Auch die 12-bit Auflösung ist vollkommen ausreichend.

2.5 Algorithmus (Verarbeitung und Ansteuerung)

Die weitere Verarbeitung erfolgt per Software.

Ein kompletter, lauffähiger Code inklusive Erläuterungen zur Multiplex-Logik und Mathematik (Offset sowie “Aufspreizung” des Messbereichs) findet sich in meinem RasPi Github-Repository.

3. Produktiver Test

Ergebnisse waren auf Anhieb sehr genau. Eine Feinjustierung der Mathematik, Temperaturkompensation sowie eine externe ADC-Referenzspannung könnten für ausgedehnte Messreihen noch zuverlässigere Ergebnisse liefern.

3.1 Messwerte vs. Referenzwerte

Gemessen: USupply = 4,99V

12.03.2022, 13:00h

Luftfeuchtigkeit Nürnberg Flughafen (Quelle: dwd.de): 23% RH

Messgerät-Anzeige (Standort 49°27′ N, 11°7′ O; Außenbereich): 22% RH

mit Temp. kompensation, s. Datenblatt (für 11°C): 1,031*22 = 23% RH

13.03.2022, 5:00h

Luftfeuchtigkeit Nürnberg Flughafen (Quelle: s.o.): 45% RH

Messgerät-Anzeige (Standort s.o.; Außenbereich): 44% RH

mit Temp. kompensation, s. Datenblatt (für -1°C): 1,06*44 = 47% RH

14.03.2022, 10:00h

Luftfeuchtigkeit Nürnberg Flughafen (Quelle: s.o.): 84% RH

Messgerät-Anzeige (Standort s.o.; Außenbereich): 81% RH

mit Temp. kompensation, s. Datenblatt (für 7°C): 1,04*81 = 84% RH

4. Erweiterungen und Ausblick

In diesem RasPi Pico Projekt war der Fokus wiederum auf einer Hardware- und Sensorkonfiguration in einem standalone System das nicht mit anderen Systemen kommuniziert.

Es liegt daher nahe zukünftige Projekte mit Funktionalität zu erweitern, denn auch der Pico kann wie ein Raspberry Pi grundsätzlich problemlos (in diesem Fall mit zusätzlicher Hardware) in einer IoT-Infrastruktur interagieren.

5. Weiterführende Informationen

5.1 Literatur

1. Grundlagen der Technischen Thermodynamik – Doering/Schedwill/Dehli, Teubner; ISBN 3-519-46503-5 (5. Auflage)

2. Elektronik Tabellen: Betriebs- und Automatisierungstechnik – Michael Dzieia, Westermann; ISBN 978-3142350165 (4. Auflage)

3. The Art of Electronics – Paul Horowitz/Winfield Hill, Cambridge University Press; ISBN 978-0-521-80926-9 (Third edition)

5.2 Online Ressourcen

hackaday.io Projekte des Autors (englisch)