Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Ein kostengünstiger Luftfeuchtigkeitsfühler inklusive Temperaturmessung kann mit etwas Lötgeschick selbst gebaut werden. Hierbei verwendet man den 1-Wire-Chip "DS2438 Battery Smart Monitor", der eigentlich dafür gedacht ist in Handys z. B. die Akkuleistung zu überwachen. Aber der Chip kann an einem seiner Eingänge auch eine Spannung überwachen. Das macht man sich zu Nutze, indem man an diesem Eingang einen Luftfeuchtigkeitssensor anschließt, der in Abhängigkeit der gemessenen Luftfeuchtigkeit seinen Widerstand ändert und somit auch die Spannung am Eingang des Chips verändert. Über eine Formel kann man dann sehr einfach die tatsächliche Luftfeuchtigkeit ausrechnen.

Anwendungsbeispiele

  • Automatische Aktivierung der Ablüfter im Bad beim Duschen
  • Automatische Aktivierung der Dunstabzugshaube in der Küche beim Kochen
  • Regelung der WRL (Wohnraumlüftungsanlage) nach Luftfeuchtigkeit (hier wohl besser: CO2-Sensor nehmen)

Einkaufsliste

  • 1-Wire Chip DS2438 Battery Smart Monitor, ca. 5 EUR
  • Honeywell HIH-4000-02 Feuchtefühler, ca. 25 EUR, erhältlich bei den meisten Elektronikversandhändlern
  • SOIC 8 Platine zum Auflöten des Chips, 0,60 EUR, da etwas schwerer zu finden hier ein Link zu einem Fachhändler: Embedded Channel

Datenblätter:

Datenblatt 1-Wire Chip DS2438 Battery Smart Monitor
Datenblatt Honeywell HIH-4000-02 Feuchtefühler

Zusammenbau:

Beschreibung und Bilder sind der folgenden frei zugänglichen Anleitung entnommen: https://docs.google.com/viewer?url=http://bit.ly/JvRe70&pli=1

Der DS2438 wird auf die SOIC Platine gelötet, damit der sehr kleine Sensor vernünftig verbaut werden kann. Wir nehmen die Platine mit dem eckigen Lötanschluss nach unten (gelber Draht) und den DS mit dem eingestanzten Punkt nach oben rechts. Die Beinchen des DS werden nun auf das Platinenraster gelötet. Möchte man auch Feuchte messen, kann man den Feuchtesensor an die jeweiligen Anschlüsse der SOIC Platine anlöten (siehe Schaltplan).

Nun werden drei Drähte (weiss, gelb, schwarz) von hinten an die entsprechenden Anschlüsse der SOIC Platine gelötet. Als Draht nutze ich 0,75 er Buskabel. Zur Sicherheit sollten nun die Anschlüsse nochmals auf Durchgang geprüft werden. Der Feuchtesensor wird mit der offenen Seite in Richtung dem eingestanzten Punkt des Sensors platziert und an den Anschlüssen 1,4 und 5 festgelötet. Dazu können natürlich auch die Lötaugen der Platine genutzt werden.

Die drei farbigen Drähte entsprechen den Farben am Loxone 1-Wire Modul :

Achtung die Anschlüsse der SOIC Platine sind ggf. um 90° verdreht. Der Schaltplan oben zeigt die Anschlüsse des DS2438 und nicht die der SOIC Platine. Am besten die Platine vorher einmal auf Durchgang prüfen, um zu ermitteln, welches Lötauge auf welchem Anschluss sitzt.

Fertig aufgebaute Platine:

 

Ergänzung: Hier paar Bilder von meinen Lötarbeiten und der Unterbringung in einem Gira 2-fach Rahmen

ANSCHLUSS UND PROGRAMMIERUNG

Der Sensor wird ganz normal an den 1-Wire-Bus angeschlossen. Wichtig ist, dass er eine 5V-Versorgungspannung, die der 1-Wire-Bus ja auch mitbringt, benötigt. Anschließend wird er über die Suchfunktion im Loxone Miniserver eingerichtet.

Man hat dann folgende Werte aus dem Sensor zur Verfügung:

  • Temperatur
  • Spannung der Versorgung (5V)
  • Spannung am Ausgang des Sensors

Aus diesen 3 Werten lässt sich dann über folgende Formel (aus dem Datenblatt des Sensors) die Relative Luftfeuchtigkeit berechnen:

 

Zur Berechnung verwendet man den Loxone Formelbaustein. Die entsprechende Formel, die dort eingetragen werden muss, sieht so aus:

(((VAD/VDD)-0,16)/0,0062)/(1,0546-(0,00216*Temp))

VAD liegt am Eingang I1

VDD am Eingang I2

und die Temperatur des DS auf I3

 

Test mit einem Billig-Feuchtigkeitsmesser einer kleinen Wetterstation:

Installation im Haus

Generell muss der Sensor gut von der (feuchten) Luft umströmt sein, damit er gut und vor allem schnell misst. In normalen Räumen kann man ihn z. B. in einer Leerdose unterhalb der Taster/Schalter platzieren und dann auch gleich eine Temperaturmessung für die Heizungssteuerung. Dazu kann man sich einen Blinddeckel seines Schalterprogramms besorgen und entsprechende Lüftungsbohrungen mit einem Dremel dort hineinbohren (Bild: ganz unten).

Bei hohen Luftfeuchtigkeiten (z. B. beim Duschen) funktioniert diese Messung einwandfrei. Bei eher niedrigen Luftfeuchtigkeiten (Kochen) allerdings nicht, Hier sollte der Sensor direkt z. B. oberhalb des Herdes platziert werden.

 

 

32 Kommentare

    1. Siehe Datenblatt! HIH-4000-003 ist nur eine andere Bauform.

  1. NicoS sagt:

    Hallo

    Kann man denn als Feuchtigkeitssensor als kostengünstigere Alternative auch den sy-hs-230 benutzen der bei der universelle 1-wire-Platine verwendet wurde?

    Danke

    Grüße

  2. Tolle Lösung! Vielen Dank!

    Eine Frage noch zur Genauigkeit der Temperaturmessung...
    Es heißt ja grundsätzlich, wer misst, misst Mist. Aber reichen die +-2°C im alltäglichen Betrieb aus, oder
    wäre man eher besser beraten, noch einen 18B20 mit draufzupacken?

    Lg
    Andi

     

    1. Hallo Andreas,

      die Temperaturkompensationsformel der HIH4000-Serie lautet:

      RH ... Relative Humidity

      TrueRH = (Sensor RH)/(1.0546 – 0.00216T)

      Beispiel 1: Der HIH-Sensor liefert 70% Feuchtigkeit bei einer Realtemperatur von 25°C

      Liefert der Temperatursensor 25 Grad, erhältst du 69,96% echte Luftfeuchtigkeit --> Richtiger Wert.

      Liefert der Temperatursensor 23 Grad, erhältst du 69,66% echte Luftfeuchtigkeit.

      Liefert der Temperatursensor 27 Grad, erhältst du 70,26% echte Luftfeuchtigkeit.

       

      Beispiel 2: Der HIH-Sensor liefert 45% Feuchtigkeit bei einer Realtemperatur von 15°C

      Liefert der Temperatursensor 15 Grad, erhältst du 44,02% echte Luftfeuchtigkeit --> Richtiger Wert

      Liefert der Temperatursensor 13 Grad, erhältst du 43,84% echte Luftfeuchtigkeit.

      Liefert der Temperatursensor 17 Grad, erhältst du 44,21% echte Luftfeuchtigkeit.

       

      Wie du siehst, zwei Grad Ungenauigkeit kann man eigentlich vernachlässigen.

       

       lg, Christian

  3. Hallo Christian!

    Vielen Dank für Deine umfangreichen Ausführungen. (Lächeln)
    Was mich jedoch interessieren würde, ob ich diese Temperatur auch sinnvoll als Raumtemperaturanzeige, bzw. -regelung
    einsetzen kann, oder besser noch einen 18B20 huckepack mit draufsetze.

    Lg
    Andi

    1. Zur Raumtemperaturmessung schadet der 18D20 sicher nicht. 

      Andererseits liefert der DS2438 die Werte in Schritten von 0.03125°C (jedoch mit einer Toleranz von 2°C). Wenn du die genaue Temperatur WISSEN willst, brauchst du einen 18B20. Wenn du die Temperatur nach Gefühl einstellst ("mir ist es zu kalt/zu warm"), reicht der DS2438 aus. Es ist ja nicht so, dass der Sensor um +/-2°C herumspringt, sondern einfach der Wert nicht exakt ist (entweder immer zu hoch oder immer zu niedrig). Da die Platine in einer UP-Dose verbaut ist, musst du generell damit rechnen, dass (mit beiden Sensoren) die Temperatur nicht exakt stimmt, bzw. der Raumtemperatur nachläuft. Also wenn's für dich ein erträglicher Aufwand ist, würde ich den 18B20 jedenfalls schon zusätzlich einsetzen.

  4. q421 sagt:

    Der Link zum Google Doc steht funktioniert nicht mehr. Oder steht in diesem Doc eigentlich das, was man hier lesen kann? (Lächeln)

    1. Ja, steht exakt das, was du hier lesen kannst. Hier sind allerdings noch einige Dinge zusätzlich erläutert. Der Link ist anscheinend tot, aber als Quelle hier trotzdem genannt.

  5. Vit sagt:

    es gibt verschiedene DS2438 Sensoren, welchen ich nehnen würde spielt keine Rolle oder?

     

    DS2438Z+ DS2438 8-Pin SOIC

    DS2438Z+T&R DS2438 DS2438Z+ on Tape-and-Reel

    DS2438AZ+ DS2438A 8-Pin SOIC

    DS2438AZ+T&R DS2438A DS2438AZ+ on Tape-and-Reel

    DS2438Z DS2438 8-Pin SOIC

    DS2438Z/T&R DS2438 DS2438Z on Tape-and-Reel

    DS2438AZ DS2438A 8-Pin SOIC

    DS2438AZ/T&R DS2438A DS2438AZ on Tape-and-Reel

  6. Volker Helms sagt:

    Hallo,

    ich habe auch versucht den Feuchtefüher nachzubauen. Momentaner Stand ist, dass ich alles angeschlossen habe und die 5V anliegen, der HIH eine Spannung zurückgibt und am 1Wire Data Anschluss 4,69V anliegen. Allerdings kommen keine Daten. Hier mal ein kleines Bild - vielleicht habe ich ja etwas falsch gemacht:

    1. (weiß) liegt das Signal vom HIH an. Geht an den PIN unten rechts.

    2. (rot) liegt 5V an und geht an den PIN oben rechts

    3. (grün) liegt 1Wire Data an und geht an den PIN oben links

    4. (schwarz) liegt an GND an und geht an den PIN unten links

    Vielleicht hat ja jemand eine Idee? Was mir aufgefallen ist, ich habe wohl einen DS2438Z+ statt einen DS2438. Wenn ich es richtig verstanden habe, sollte das aber egal sein, oder?

    1. Hi,

      ich habe exakt das gleiche Problem hast du eine Lösung gefunden?

      Ich konnte zwar den Sensor finden aber ich bekomme leider keine Werte. Ich habe die Schaltung schon mehrmals geprüft und kann keine Fehler finden.

  7. Bouni sagt:

    Hi Volker,

    Das du einen DS2438Z+ hast ist nicht weiter schlimm, einen DS2438 ohne Z gibts ohnehin nicht und das + steht nur für Bleifrei. Funktionalität sollte die gleiche sein.

    Was hast du soanst alles an 1-wire Geräten am Bus?

  8. Ich habe anscheinend das gleiche Problem wie der Volker.

    Ich habe derzeit einen Testaufbau mit den HIH-4000-002 (DS2438Z+) und einen DS18B20 (Temperaturfühler) der auch funktioniert.

    Meine Platine habe ich nach diesen Plan gelötet:

    Das ist mein Aufbau:

     DQ ... rot, GND ... gelb, VDD ... schwarz

    Der HIH-4000-002 wurde so wie oben auf den Bild  am DS2438 angelötet (GND → 1, OUT → 4, VDD → 5).

    Kabel: DQ ... rot → 8, GND ... gelb → 1, VDD ... schwarz → 5

    Im Loxone Konfigurator konnte ich den Sensor mit der Seriennummer einbinden:

    Jedoch bekomme ich leider keine Werte bzw. habe ich immer nur 0.00V.

    Ich würde mich über eure Hilfe sehr freuen.

     

     

  9. Ich habe heute eine zweite Schaltung aufgebaut und das gleiche Problem.

    Aber heute habe ich einmal nachgemessen und auf der Platine kommen die 5V an.

    Dann habe ich noch gemessen zwischen HIH-4000-002 OUT und GND und da bekomme ich 2,89V. Daher gehe ich davon aus dass die Schaltung richtig gelötet ist.

    Hat jemand eine Idee?

  10. Hallo Gerhard
    Versuche einen AD Wandler zwischen den ds2438 Eingang und den Sensor. Möglicherweise unterstützt loxone den ad wandler im ds2428 nicht (muss vom busmaster
    initialisiert werden).

    Schönen tag

    1. Hi, obwohl ich zum Problem nichts beitragen kann, ist zumindest deine Antwort ganz verkehrt. Der DS2438 wird unterstützt, sonst gäbe es nicht dieses Howto. Der DS2438 ist ein AD-Wandler, da braucht man keinen zusätzlichen.

      1. Hi,

        was mir komisch vorkommt, ist dass bei der Suche "Unbekannter Chip" steht. Ist das normal?

        1. Axel Blümer sagt:

          Hallo!

          Ich weiß nicht genau, was die Loxone da für eine Adresse anzeigt, aber das erste Byte der Adresse ist der Famiy-Code.

          Der ist bei einem DS18B20 Hex 28

          Bei einem DS2438 Hex 26

          Die angezeigt Adresse stammt offensichtlich nicht von einem DS2438

          Tauchen immer wieder andere Adressen auf, wenn Du neu suchst? Es könnten Datenfehler sein? Pull-Up Widerstand / Leitungsverlegung?

          Mehr fällt mir da im Moment auch nicht ein.

           

          Viele Grüße,

          Axel

        2. Lass mich mal raten du hast den Chip in China bestellt? Ich hab dasselbe Problem dass sich der DS2438 mit Family Code A6 statt 26 (wie es eigentlich korrekt wäre für einen DS2438) meldet. Diese Chips werden dann natürlich von Loxone leider nicht erkannt.

          Einfach mal nach 'DS2438 A6' googeln, aber ich fürcht das wird nichts bringen und du wirst die mit Loxone wahrscheinlich nicht zum laufen bringen...

          Edit: Nachdem ich jetzt den ganzen Thread gelesen hab siehts für mich ja so aus wie wenn er von Loxone doch erkannt wird, aber keine Werte liefert. Dann werde ich meinen A6 Chip in den nächsten Tagen doch mal testen. Werd mich nochmal melden sobald ich weiß ob meiner Daten zurück liefert oder nicht (ich weiss, dass meiner prinzipiell funktioniert weil mit einem Arduino hab ich ihn bereits erfolgreich ausgelesen)

        3. Hi,

          ich lass das hier nochmal kurz aufleben. Habt ihr mittlerweile mit dem Chip doch noch was anfangen können oder war die Lösung tatsächlich einen "echten" DS2438 zu verwenden?

          Hab das gleiche Problem. Und wenn ich Ihn manuell neu anlege mit seiner Seriennummer hilft es auch nicht. Es werden  überall Werte 0 ausgegeben. Verdrahtung vom 1 Wire soweit ok, er wird ja erkannt; und vom HIH4000 kommen auch die ca. 2,7V bei ca 50% Luftfeuchtigkeit aus dem Ausgang an. Das geht dann entsprechend auf den VAD.

          1. Mit den China-Chips hab ichs auf der Loxone leider nicht geschafft Werte zu erhalten. Ich hab mir dann auf Farnell die DS2438 nochmal bestellt und mit denen hat es dann problemlos funktioniert


  11. Axel Blümer sagt:

    Hallo zusammen!

    Wenn ich mich recht erinnere, wird mit gesetztem Bit7 im FamilyCode eine "customized" Version markiert, die sich im Inhalt des ROM von der Standard-Version unterscheidet.

    Würde man das Bit7 ausmaskieren,würde das passen, aber da hat man bei Loxone keinen Zugriff. Die Funktion von diesem Bauteil ist völlig identisch.

    Alles würde funktionieren, aber es ist halt nicht der FamilyCode, der von Loxone freigegeben wurde.

    Also, Standard Version an Loxone und die vorhandenen DS2438 in Arduino Projekten verbauen.

     

    Viele Grüße, Axel

  12. Hallo zusammen,

    Ich habe soeben den Feuchtesensor nachgebaut und eingebunden in die Loxone.
    Die Werte von AI1—3 sind fast die gleichen wie hier abgebildet doch leider klappt das einbinden der Formel bei mir leider nicht.
    Ich bekomme nach dem Eingeben der Formel folgende Fehlermeldung: (((VAD/VDD)-0,16)/0,0062)/(1,0546-(0,00216*Temp)) Fehler an Position3!
    Kann mir jemand sagen was dies bedeutet?

    Danke

    Gruß Christian

    1. Lösung: im Netz soeben gefunden! Text:———>

      Das ist im Wiki-Artikel noch falsch angegeben. Du musst die Variablen VAD, VDD und Temp noch durch die Eingänge des Formelbausteins ersetzen, an die Du die entsprechenden Sensoren angeschlossen hast. Also z. B.

      (((I1/I2) - 0.16) / 0.0062)/(1.0546 - (0.00216 * I3))

  13. Ich habe mir den WIREGATE C-Serie 527-1 Außentemperaturfühler und Luftfeuchtefühler für außen geholt. Der hat den Honeywell HIH-4031 an einem DS2438 verbaut. 

    Laut Datenblatt des HIH-4031 sollte die Formel identisch sein mit der oben genannten.

    Aktuell zeigt bei mit der Sensor 103% Luftfeuchtigkeit an: (((3,89/4,79)-0,16)/0,0062)/(1,0546-(0,00216*17,8))

    Im FHEM Forum gibts ne alternative Formel zum HIH-4031, die aber das gleiche Ergebnis ausgibt: 

    (161.29 * VAD / VDD - 25.8065)/(1.0546 - 0.00216 * T)


    Hat jemand Erfahrung mit Luftfeuchtemessung außen? Ist das evtl. normal, wenn der sensor wirklich tropfnass ist?


    Danke und Grüße

    Tobi

  14. Wald Schrat sagt:


    Hallo,

    habe die Schaltung nachgebaut und betreibe diese außen unter dem Dach probeweise neben einem Loxone Air Feuchtemesser.

    Die Werte sind bei normaler Luftfeuchtigkeit ziemlich identisch, momentan ist hohe Luftfeuchtigkeit und es regnet, der Loxone zeigt 98% Feuchte an und der Eigenbau 132%!

    Hat jemand eine Idee warum es zu solchen Werten kommt?

    Von Liveview erhalte ich folgende Werte.

    VAD=4,96

    VDD=4,98

    T=16,9




  15. Eigentlich müsste es ins Forum; ich fasse hier daher nur kurz meine Ergebnisse zusammen; hilft vielleicht dem ein oder anderen:

    DS2438: zwingend als original bestellen, aliexpress Chips werden nicht erkannt. (Hab jetzt einen von maxim integrated von Conrad)

    H4000: der geht auch von Aliexpress https://www.aliexpress.com/item/1pcs-lot-HIH-4000-HIH4000-SIP-HIH-4000-003/32837529755.html?spm=a2g0s.9042311.0.0.3af94c4dp0hSbx

    Allerdings: Ich musste um ca. 0,6V korrigieren! Hier lohnen evtl. 10€ mehr für das Original auszugeben. Der Fehler mit der Korrektur könnte aber auch wo anders her kommen.

    Auffälligkeiten: Der maxim integrated DS2438 weicht bei mir um 7!! ° ab. Der HIH4000 weicht um 0,6V ab. Jemand vielleicht noch eine Idee warum? Zumindest der DS2438 darf nicht eine so starke Toleranz haben. 

    Dazu muss ich sagen, dass ich in meiner Dose im OG keine 5V für den 1Wire/HIH4000 hatte (nur 1Wire parasitär) und mir die 5V Spannungsversorgung über einen 7805 von den 24V abgezapft hab. Da aber stabile saubere 5,08V anliegen kann das daher doch auch nicht kommen... Dürfte doch sogar zur Stabilität des 1 Wire Busses beitragen?


  16. Hi Community,

    bin neu hier und verfolge gespannt diesen Thread.

    Ich habe in jedem Zimmer hinter den Lichtschaltern den im Anhang abgebildeten DS18B20 verbaut bekommen - scheint Loxone "original" zu sein.

    Ich habe mir jetzt den Honeywell Feuchte-Sensor 1 St. HIH4010-004 bestellt.

    Nur bin noch nicht ganz dahintergekommen, daher meine Frage: brauche ich dann den DS2438 überhaupt noch? Temp. kommt ja via DS18B20 und Feuchte dann via HIH4010, oder liege ich da falsch.

    Würde den HIH4010 an den Pins des DS18B20 folgendermaßen anlöten:

    VE- am HIH4010: GND (5) am DS18B20

    VE+ am HIH4010: VDD (3) am DS18B20

    OUT am HIH4010: DQ (4) am DS18B20

    EDIT: ich habe aber eben bemerkt, dass mein Aufbau ja "nur" parasitär ist und mir doch glatt die 5V Versorgung fehlen werden oder???


    Bitte um euren Support bzw. Rückmeldungen.

    Danke, LG
    Roman




    1. Der DS18B20 ist ein Temperatur-Fühler, kein Spannungsmesser! Der HIH ist kein 1-Wire-Gerät, sondern liefert eine Ausgangsspannung, die du messen musst. Um den Ds2438 kommst du nicht herum.

      1. Danke für deine Antwort - habe jetzt alle teile erhalten (auch den DS2438 (Lächeln)) , mein Thema ist immer noch die %V Anspeisung - habe vorhin gemessen und zwischen DQ / GND hab ich 5V.

        Kann ich die jetzt nutzen für die Einspeisung des DS2438 für VDD (Pin 5)?

        was mache ich dann mit dem Pin Nr. 8 (DQ) ?


        Danke für eure Hilfestellung

        1. Den DQ vom 1 wire als Betriebsspannung zu nutzen ("Paristärer Betrieb") hat bei mir in dieser Kombination nicht funktioniert. Du musst dir die 5V Betriebsspannung vermutlich wo anders zwacken.

          Pin 8 DQ vom DS2438 mit DQ vom 1 wire verbinden

          Im Prinzip wandelt der DS2438 über den VAD Eingang die analoge anliegende Spannung in ein 1 Wire Signal um. (Vereinfacht dargestellt)

          Du musst dann nur noch hingehen und die Spannung in Feuchtigkeit per Formel umrechnen.