Intelligente Kellerlüftung

Erstellt am 13.05.2012

Mein Problem

Das Problem kennt sicher fast jeder, mit einem Keller. Das Ding wird feucht und das insbesondere im Sommer. Der Grund ist eigentlich ganz einleuchtend, dennoch ist man verleitet, das Problem noch zu verschlimmern, indem man kräftig lüftet. Euch ist sicher bekannt, dass in warmer Luft wesentlich mehr Wasser gespeichert werden kann, als in kalter Luft. Im Keller ist es immer etwas kühler, da die Wärme durch die Außenwände direkt in den etwa 8°C kalten Boden geleitet wird. Die Warme, feuchte Luft von draußen gelangt in den Keller, kühlt ab und das Wasser kondensiert an den Wänden aus. Das ideale Biotop für allerlei Pilze, Schimmel und Algen. Dagegen kann man entweder einen kräftigen Luftentfeuchter in Stellung bringen, der das Wasser anstatt an den Wänden in sich sammelt - aber auch den Nachteil hat, unmengen Strom zu verbrauchen. Oder man lüftet nur dann, wenn in der Luft so wenig Wasser ist, dass diese nicht auskondensiert. Diesen Zustand findet man im Sommer insbesondere in den frühen Morgenstunden, wenn die Luft etwas abgekühlt ist und das Wasser z.B. schon am Gras kondensiert ist. Jetzt wollt ihr aber sicher nicht um halb vier in der Früh aufstehen um das Kellerfenster zu öffnen und dann um 6:00 Uhr nochmal, um es wieder zu schließen. Genau das wollte ich auch nicht und damit kommen wir zu...

...meiner Lösung

Eine intelligente Kellerlüftung, die nur dann Lüftet, wenn der Keller dadurch nicht noch feuchter wird. Dazu misst sie die aktuelle Temperatur und die relative Luftfeuchtigkeit. Daraus kann dann der sog. Taupunkt berechnet werden - also die Temperatur ab der das in der Luft enthaltene Wasser auskondensiert. Ist der Taupunkt niedriger als die an der Wand gemessenen Temperatur, wird der Keller in Intervallen gelüftet. Das ist deshalb wichtig, weil die neu in den Keller gekommene Luft ebenfalls eine gewisse Zeit benötigt, um die dortige Temperatur und damit auch Feuchtigkeit aufzunehmen. Die Lüftung arbeitet mit zwei Klappen und zwei Lüftern, die sowohl neue Luft in den Keller blasen, als auch die abgestandene Luft nach draußen befördern. Die Klappen verschließen die Lüfteröffnungen für die Zeit in denen die Lüfter sich nicht drehen und vorallem in der Zeit, in der die Außenluft ein zu hohe Luftfeuchtigkeit hat.
Das Gerät ist einfach anstatt des Kellerfensters eingesetzt - es wird also die vorhandene Öffnung ins freie genutzt. Gesteuert wird die Konstruktion von einem Atmega8, der die Temperatursensoren und den Luftfeuchtigkeitssensor ausließt. Die Sensordaten können über die serielle Schnittstelle abgerufen werden. Dies erledigt mein Homeserver und stellt sie auf einem Webinterface als Graphen dar. Dort werden auch die Lüfterdrehzahlen und der Status der Klappen angezeigt. Per Klick kann man so auch manuell lüften, z.B. wenn der auch für den Filmgenuss genutzte Keller durch viele weitere am Filmvergnügen partizipierende Gäste etwas stickig geworden ist.

Anmerkung: Aufgrund des großen Intresses für meine Lüftung noch ein paar Worte: Derzeit ist das ganze noch nicht als Stand-Alone-Lösung verwirklicht, sondern die Steuerbefehle kommen vom Server auf dem auch das Webinterface läuft. Ich experimentiere noch etwas mit den Lüftungsintervallen und auch den Verhältnissen zwischen Taupunkt und Kellertemperatur, um das optimale Lüftungsergebnis zu erhalten.
Bei guten Konditionen kann ich durchaus 4% Luftfeuchtigkeit pro Tag aus dem Keller lüften, sodass ich selbst in diesem nassen Sommer bei unter 40% Luftfeuchtigkeit bin - teilweise sogar nahe 30%.

Ich habe vor die Platine nochmal zu überarbeiten, sodass der Pegelwandler direkt auf der Platine sitzt und evtl. auch noch für den Temperatursensor eine Verstärkerschaltung und Konstantstromquelle direkt auf die Platine zu setzen. Aber das kann noch ein Weilchen dauern.

Die Steuerplatine

Um die Sensordaten einzulesen und die Lüfter und Klappen anzusteuern habe ich eine kleine Platine entwickelt, auf der der Prozessor sitzt, sowie die Transistoren, um die Lüfter anzusteuern und eine H-Brücke, um die Klappenmotoren in zwei Richtungen bewegen zu können. Die Lüfterdrehzahlen werden über einen Multiplexer an den Counter-Eingang T0 des Atmega8 geleitet. Der Multiplexer ist als CMOS-Baustein ausgelegt und übernimmt somit gleich die Wandlung der 12V-Pegel der Lüftersignale auf 5V-Pegel für den Mikrocontroller. Auf der Platine befindet sich außerdem noch der Pegelwandler für die serielle Verbindung, sowie ein NAND-Gatter, welches für die Richtungspins der H-Brücke als Inverter und für eine LED verwendet wird. Einen Wannenstecker für den ISP-Programmer sowie ein paar Pfostenleisten für die Sensoren sind ebenfalls von der Partie.
Insgesamt kommt die Platine auf 200 Pins, weshalb ich mich für eine professionelle Fertigung als zwei-Lagige Platine entschiden habe. Das per Hand auf Lochraster zu löten ist natürlich möglich; aber ich wollte zum einen einmal für zukünftige Projekte ausprobieren, wie eine Platinenfertigung einer eigenen Platine aussieht und zum andern war ich auch einfach zu faul dafür.
Hier mal ein paar Bilder der fertigen Platine, sowie eine 3D-Ansicht, die ich über diverse Plugins, wie EAGLEUP erstellt habe.

Fertige Platine Ansicht oben Fertige Platine Ansicht unten
Platine in 3D-Ansicht

Die Stromversorgung ist über einen simplen Ringkerntrafo und zwei LM317 Spannungsregler realisiert, die auf 5V und 12V eingestellt sind. Über den 12V Regler könnte man aber auch die Lüfterdrehzahl beeinflussen, wenn man diese z.B. nicht auf voller Geschwindigkeit betreiben möchte.

Das Gehäuse

Um die Komponenten anstelle des Kellerfensters einzubauen, habe ich ein Gehäuse aus Siebdruckplatten gebaut. Das ist eine Sonderform der bekannten Multiplexplatte, die vorallem da verwendet wird, wo eine gewisse Witterungsbeständigkeit wichtig ist. Sie ist mit Phenolharz beschichtet und damit beständig gegen Feuchtigkeit. Im Baumarkt kann man sie sich bereits zuschneiden lassen. Das Gehäuse besteht aus einer großen Platte, die genau in den Fensterrahmen passt und daran mit ein paar Schrauben befestigt wird. Hinten dran ist ein etwas kleinerer Kasten mit drei Abteilen. Eines für die Elektronik, die anderen beiden für die beiden Luftein- bzw. auslässe. An dem Gehäuse sind die Klappen und Lüfter befestigt, sowie DIN-Stecker für die Sensoren. Als Lüfter kommen handelsübliche 120cm-PC-Lüfter zum Einsatz, deren Tacho-Signal über einen 10k-Widerstand auf die Versorgungsspannung gezogen wird. Der Multiplexer übernimmt, wie oben schon angesprochen die Pegelwandlung auf 5V. Die Klappen sind derzeit sehr windige Plastikteile, die einfach durch einen Getriebemotor betätigt werden. Einzig das weiße Blech ist sehr schön - das Plastik werde ich aber nochmal ersetzen, da die Klappen nicht besonders dicht sind. Hier ebenfalls ein paar Bilder des ganzen.

Gehäuse von außen Gehäuse von innen

Außerdem habe ich hier noch ein kleines Video von einem Testprogramm, das ich aufgespielt hatte, um zu schauen, ob die Hardware funktioniert. Es öffnet und schließt die Klappen, schaltet die Lüfter ein und aus und ließt den Feuchtigkeitssensor aus:


Video Download

Fertig eingesetzt in den Rahmen vom Kellerfenster sieht das Ganze dann wie folgt aus. Es wird einfach über ein paar Schrauben mit großen Beilagscheiben mit dem Rahmen verspannt.

Lüftung im Fensterrahmen Kellerschacht und Lüftung

Die Sensoren

Die Temperatursensoren werden über eine Konstantstromquelle aus zwei Transistoren, wie schon bei meinem Lampen Mod betrieben und die Spannung aus diesem Spannungsteiler an den ADC des Atmega8 geführt. Ich verwende gewöhnliche 1k-NTC-Widerstände. Da die Messung nicht auf das mK genau sein muss, habe ich auf eine Drei- bzw. Vierleitermessleitung verzichtet sondern schließe den Sensor einfach mit zwei Kabeln an. Da ich das Kabel nicht tausche, sondern fest angelötet habe, ergibt diese Messung ohnehin nur einen Offsetfehler, den man herausrechnen kann. Zur Kalibrierung habe ich vorerst eine Zweipunktkalibrierung bei 0,01°C (Wassertrippelpunkt) und 20°C mit einem PT-100 Referenzthermometer durchgeführt. In diesem Bereich ist der NTC annähernd linear und ab 0°C möchte ich ohnehin nicht mehr lüften - im Winter gibt es ja eh kaum Probleme mit Feuchtigkeit.
Als Feuchtigkeitssensor kommt das HH10D-Modul zum Einsatz, der seine Luftfeuchtigkeit als Frequenz ausgibt. Diese lese ich über den Counter T1 des Mikrocontrollers ein und verrechne sie mit den Kalibrierungsdaten, die in einem I2C-EEPROM auf dem Modul gespeichert sind. Eine genaue Anleitung zu diesem Modul findet ihr ebenfalls auf meiner Seite.

Temperatursensor Luftfeuchtigkeitssensor

Das Webinterface

Eine ansprechende Darstellung der gemessenen Daten bildet schließlich ein Webinterface. Hier werden mit etwas jquery und weiteren JS-Codeschnipseln die Temperatur und Luftfeuchtigkeit als Bargraphen, und die Lüfterdrehzahlen als Zeigerinstrumente dargestellt. Über vier Buttons lassen sich die Klappen und Lüfter manuell bedienen. Auf einer weiteren Seite werden Temperatur und Luftfeuchtigkeit als 24h-Diagramm dargestellt und zehn-minütlich aktualisiert. Alle Instrumente und Graphen werden per Ajax-Requests und json aktualisiert ohne, dass der Browser die Seite komplett neu laden muss. Über die Einstellungen kann konfiguriert werden, wie lange die Lüftungsintervalle andauern sollen, welche Differenz zum Taupunkt dafür bestehen muss usw. Im Hintergrund des WebIF läuft ein kleines PHP-Script in einer Dauerschleife in einer Screen-Session welches sich um das Auslesen der Daten und das übergeben der Befehle über die serielle Schnittstelle kümmert. Hier habe ich quasi einen asynchronen Prozess gewählt, sodass mehrere Instanzen des WebIF auf verschiedenen Browsern angezeigt werden können, ohne, dass diese gegenseitig die serielle Schnittstelle blockieren.

Übersichtsseite des Webinterface Sensorgraphen

Seitenanfang