Internet of Things: Sensoren zur Umweltanalyse

Internet of Things bedeutet für viele, die Umwelt zu vermessen und automatisiert zu reagieren. Die Sensorenauswahl ist riesig, weshalb wir einige weiter verbreitete Modelle zur Temperatur-, Luftfeuchte- und teils sogar Luftdruck-Messung ausprobiert haben.

In Pocket speichern vorlesen Druckansicht 7 Kommentare lesen
HDC1080-Sensor von TI spricht via I2C mit dem Mikroprozessor, hier einem ESP8266-WLAN-Board
Lesezeit: 9 Min.
Von
Inhaltsverzeichnis

Ein häufiges Einsatzszenario für Maker ist ein zentraler Raspberry Pi, der Daten von mobilen Sensoren in den Zimmern der Wohnung einsammelt und aufbereitet. Oftmals findet man daran angeschlossen Heimautomation, etwa zur Heizungsregelung.

Beim Herumspielen mit diversen unterschiedlichen Sensoren fiel auf, dass es deutliche Unterschiede in Genauigkeit und Reproduzierbarkeit der Ergebnisse sowie der Haltbarkeit der Module gibt. Da inzwischen auch Texas Instruments mit dem HDC1080 einen Temperatur- und Luftfeuchte-Sensor im Sortiment hat, den uns Watterott freundlicherweise zur Verfügung gestellt hat, wurde es Zeit für einen Vergleich der unterschiedlichen Modelle. Es sollte jedoch kein streng wissenschaftlicher Vergleichstest werden, sondern die Erfahrungen aus dem Umgang in der Praxis bündeln. Interessierte finden auf der Homepage von Robert Smith einen detaillierten Vergleich der Messgenauigkeiten.

Die am häufigsten eingesetzten Module umfassen die DHT-11, DHT-22, deren optimierte Version AM2320, sowie HTU-21 respektive Si7021 und seit nicht all zu langer Zeit den BME280 von Bosch. Die "Originalsensoren" von Sensirion kommen aufgrund ihres Preises eher selten im Bastelbereich zum Einsatz. Recht neu ist der HDC1080 von TI (PDF).

Make: IoT Special

In unserem Sonderheft zum Internet der Dinge haben wir weitere Projekte mit Umwelt-Sensoren gesammelt.

Die DHT-11-Sensoren haben nur eine Auflösung von 1°C respektive 1 Prozent Luftfeuchte, zudem einen stark eingeschränkten Nutzungsbereich von 20 bis 90 Prozent Luftfeuchte sowie 0 bis 50°C (siehe DHT-11-Datenblatt, PDF). Sie dienen vielen als Einstieg in die Welt der Temperatur- und Feuchtesensoren, sind aber praktisch nur stark eingeschränkt nutzbar. Etwas besser sieht es mit den DHT-22 sowie AM2320 aus, die weitgehend baugleich sind. Der AM2320 unterstützt nicht nur das OneWire-Protokoll, sondern auch I²C, wie bei den besseren Sensoren üblich. Die DHT-22 sind im vollen Bereich von 0 bis 100 Prozent Luftfeuchte sowie von -40 bis 80°C spezifiziert und lösen deutlich genauer auf (siehe DHT-22-Datenblatt, PDF).

Genau so teuer wie die DHT-22 sind die HTU-21- respektive Si7021-Module. Die beiden ICs sind baugleich, nur dass die Si7021-Versionen in der Regel ein Stück Teflon über den Sensor geklebt haben, das dampfdurchlässig ist, aber den Sensor vor anderen Umwelteinflüssen schützt. Auch diese Module haben einen weiteren Temperatur- und den vollen Luftfeuchtebereich spezifiziert (siehe Si7021-Datenblatt, PDF). Sie haben zudem eine signifikant niedrigere Stromaufnahme.

Vor rund zwei Jahren kam der Bosch-Sensor BME280 auf den Markt. Er kann nicht nur die Luftfeuchte und Temperatur sehr präzise messen, sondern liefert auch den Luftdruck zurück. Er kostet dafür etwas mehr als die erstgenannten Module. Er spricht SPI nebst I²C und ist laut Datenblatt (PDF) äußerst stromsparend.

Einen Überblick über unterschiedliche Verfahren liefert ein Aufsatz (PDF) im Journal of Sensors and Sensor Systems]. Bei den DHT/AM-Sensoren sowie bei den HTU-21/Si7021 nutzen die Hersteller kapazitative Sensoren. Der Feuchtigkeitssensor von Aosong alleine wird jedoch als feuchtigkeitsabhängiger Widerstand verkauft (siehe Aosong-Datenblatt, PDF). Bosch nennt das genutzte Verfahren gar nicht; auch Texas Instruments hält sich bedeckt. Bezeichnenderweise sind die größten Unterschiede zwischen den Sensoren bei der Güte der Feuchtigkeitsmessung festzustellen.

Bei der Temperaturmessung liefern alle Module in der Regel sehr genaue Ergebnisse. Sie entsprechen einer hochauflösenden Messung mit NTC10k-Widerstand. Die Abweichungen sind aber sehr gering, im direkten Vergleich lagen die von den einzelnen Modulen gelieferten Temperaturen nicht mehr als 1°C auseinander - für Raumtemperaturmessungen ein völlig akzeptables und ausreichendes Ergebnis.

Die HTU-21/Si7021 sowie der HDC1080 haben zusätzlich eine kleine Heizung an Bord. Wenn ein Sensor in den Latch-Up geht, also permanent falsche Werte anzeigt, kann man das Modul damit aufheizen und gegebenenfalls trocknen. Etwa kondensiertes Wasser verdampft, der Sensor kann wieder korrekt messen. Auch ein sich langsam akkumulierender Offset durch lange Zeit in hoher Luftfeuchte lässt sich damit korrigieren.

Diese Module liegen bei uns im Rahmen von wenigen einstelligen Prozenten abweichend bei Ergebnissen, die althergebrachte, voll analoge Anzeigeinstrumente messen. Bei den DHT-22/AM2320-Modulen waren bis zu zehn Prozent Abweichung drin; zudem ging jedes einzelne davon nach nur wenigen Tagen in genau so einen Latch-Up – die relative Luftfeuchte war tatsächlich meist über 70 Prozent, jedoch reagierten die Sensoren kaum noch auf Änderungen. Selbst bei Umgebungen mit weniger als 50 Prozent relativer Luftfeuchte spuckten diese Module dann Ergebnisse um die 80 Prozent aus.

In den Datenblättern stehen deshalb Anleitungen, wie man die Bausteine neu konditionieren kann, sodass die Messwerte wieder stimmen. Dies sollte eher selten nötig sein – und die kompakteren, neueren Module zeigen, dass es ohne Latch-Up geht beziehungsweise gegebenenfalls durch kurzes Aktivieren der eingebauten Heizung korrigierbar ist.

Eine Raumüberwachung mit Si7021-Sensor über 24 Stunden

(Bild: Dirk Knop)

So interessant die Vermessung der eigenen Umwelt ist, sollte sie keinen großen Stromverbrauch bedeuten. Einerseits hat man nicht überall Steckdosen zur Hand, andererseits ist Stromsparen ohnehin geboten. Auch hier trennt sich die Spreu vom Weizen.

Mobilen, akkugetriebenen Sensoren geht mit DHT-basierten Modulen deutlich schneller die Puste aus. Die DHT-22-Module verbraten rund 0,5 bis 1 mA im Durchschnitt, wenn man alle paar Sekunden misst. Die Datenblattwerte ließen sich in unseren Anwendungen nie erreichen. Die Bausteine können maximal alle zwei Sekunden eine Messung machen. Dazu kommt, dass aufgrund des langsamen Kommunikationsprotokolls für das Übertragen der Ergebnisse laut Datenblatt 5ms draufgehen, in denen auch der Mikroprozessor nicht schlafen kann. Etwa für mobile Sensoren auf Basis von ESP82xx-Modulen mit rund 80mA Verbrauch im Wachzustand ein schwach spürbarer Nachteil; bei weniger Grundlast wie bei hauptsächlich schlafenden Mikroprozessoren mit LCD alsAnzeige hingegen deutlicher Mehrverbrauch.

Die HTU-21/Si7021- sowie die Bosch-Module nehmen standardmäßig eine Messung vor, die bis etwa 100 Millisekunden dauert, und legen sich dann schlafen, bis die Ergebnisse abgeholt und ein neuer Messauftrag gestartet wird. Schon die Messung selbst benötigt bei diesen Modulen deutlich weniger Strom; die I²C-Datenübertragung ist ebenfalls deutlich schneller und meist unter einer Millisekunde abgeschlossen.

Auslöser für den Vergleich war der neue Sensor von TI, der HDC1080. Wie schlägt dieser sich im Vergleich? Der IC ist derzeit noch teurer als beispielsweise der BME280. Die Marketingabteilung des Datenblatts spricht von extremen Stromsparen. Im direkten Vergleich mit BME280 oder Si7021 bleibt davon aber nichts übrig, die Werte sind absolut vergleichbar und nicht immer besser als beim Wettbewerb. Der Temperaturbereich reicht nur bis -20°C anstatt bis -40°C. Der ADC löst mit 8- bis 14-Bit auf. Silicon Labs liefert dieselben Rahmendaten, Bosch hingegen 16 Bit, mit Filterung für Druck und Temperatur sogar bis zu 20 Bit Auflösung. Ob die so gewonnen Werte dann noch sinnvoll sind, hängt auch vom Einsatzzweck ab – Höhenmessung mittels Luftdruckänderung benötigt möglichst hoch aufgelöste Ergebnisse.

Bei den Eingangsspannungen ist der HDC1080 flexibel, er läuft von 2,7-5,5 Volt. Die DHT-Module benötigen 3,3-6 Volt . Der HTU-21/Si7021 ist für 1,9 bis 3,6 Volt spezifiziert, der BME280 von 1,7 bis 3,6 Volt – diese Module benötigen in 5V-Arduino-Umgebungen also einen Pegelwandler. Die meisten HTU-21/Si7021-Boards haben diesen aber bereits auf dem Modul verlötet, zusammen mit einem LDO, der die Eingangsspannung auf 3,3 Volt runterbricht – sie sind also trotzdem direkt am Arduino nutzbar. Der TI-Chip positioniert sich laut Datenblatt eher als Mee-too-Produkt, um den lebhaften Markt zur Klimaüberwachung in Kraftfahrzeugen und Gebäuden nicht allein dem Wettbewerb zu überlassen.

Die Programmierung des Sensors ist sehr einfach und die Umrechnung der Rückgabewerte in Temperatur und Luftfeuchte ähnlich simpel wie beim Wettbewerb. Einen schnell zusammengestrickten Code für NodeMCU-Firmware / LUA auf einem EP82xx stellen wir zum Download bereit. Der Sensor muss sich erst ein paar Stunden aklimatisieren, das ist allen Modulen gemein. Die Präzision ist wie erwartet auf dem Niveau der HTU-21/SI7021 und des BME280. Das Watterott-Platinchen hat eine Ausfräsung um den Sensor, wodurch dieser direkter auf die Umwelt reagiert, da nicht vorhandenes Platinenmaterial keine Feuchtigkeit speichert. Die anderen Platinen sind wesentlich kleiner, was denselben Effekt hat. Ein weiteres durchdachtes Detail ist eine Lötbrücke zur Aktivierung der I²C-Pullup- Widerstände. Bei mehreren Sensoren am I²C-Bus verhindert das erhöhten Stromverbrauch durch mehrere parallele Pullups.

Dieselbe Raumüberwachung mit HDC1080 - es sind keine signifikanten Unterschiede erkennbar

(Bild: Dirk Knop)

Auch nach mehreren Tagen Betrieb bei erhöhter Luftfeuchte über 60 Prozent liefert der HDC1080 stabile Ergebnisse. Ein stetig steigender Offset oder gar ein Latch-up wie bei DHT-22-Sensoren lässt sich nicht beobachten. Weitere Vorteile können wir jedoch nicht erkennen. Eine Umrüstung von HTU-21/Si7021 auf HDC1080 wäre rausgeschmissenes Geld: Der Sensor funktioniert gut und wie erwartet – aber die bisherigen, billigeren ICs tun das auch. (hch)