Der Plan
Wer kennt das nicht. Da richtet man sich seine neue Wohnung ein, oder gestaltet was um und muss immer Rücksicht auf diese ollen Heizkörper nehmen. Baut man den Heizkörper zu, kann der das Zimmer nicht mehr richtig aufheizen. Die Probleme:
-
-
Andererseits mit Konvektion, d.h. warme Luft steigt nach oben, von unten muss kalte Luft nachströmen.
Verengt man diese Luftwege, funktioniert der Heizkörper nur noch eingeschränkt. Abhilfe kann man schaffen, wenn dem Heizkörper die Luft zwangszugeführt wird, z.B. mit einfachen Ventilatoren. Damit wird effektiv die Heizleistung des Heizkörpers erhöht. Und somit kann man die Verluste, die durch unsere Möbel entstanden sind, wieder ausgleichen.
Die Steuerung der Lüfter sollte auch über den Heizkörperthermostat erfolgen. Leider haben die üblichen Thermostatventile keine ext. Anschlüsse, aber man kann einfach die Temperatur des Heizkörpers in der Nähe des Ventiles messen. Öffnet das Ventil zum Heizen, steigt die Temperatur des Heizkörpers. Diese Temperaturänderung kann man messen. Jetzt kann man zur Unterstützung die Ventilatoren einschalten. Ist der Raum warm genug, wird das Ventil den Heizkörper wieder herunterregeln. Auch dieses kann man wiederum an der Temperatur ablesen und die Lüfter wieder stoppen.
Bei Niedrigtemperaturheizungen könnte es mit diesem Vorgehen Probleme geben, da die Temperaturdifferenz gering ist. Das ist im Einzelfall dann zu prüfen und die Schwelltemperatur entsprechend anzupassen. Natürlich sollten die Lüfter sehr leise laufen.
Hardware
Teileliste
Für einen kleinen Doppelplatten-Heizkörper im Bad benötigt man:
-
zwei 12V Gehäuselüfter, 80x80mm, leise, z.B. Artic F8 (https://www.amazon.de/gp/product/B002KTVFPI)
-
einen AVR Mikrocrontroller (https://www.az-delivery.de/products/nano-v3-mit-ch340-arduino-kompatibel)
-
DS18B20 Temperaturmesser (https://www.az-delivery.de/products/5ersetds18b20) , evtl. direkt mit Kabel. (https://www.az-delivery.de/products/2er-set-ds18b20-mit-3m-kabel)
-
BS 170, N-Kanal MOSFET
-
Widerstand 4k7 (Pullup für den DS)
-
Widerstand 100k (Pulldown für's Gate vom BS)
-
Netzteil mit 12V, min. 500mA (https://www.amazon.de/Netzadapter-Netzstecker-Transformator-Festplatte-Wasserpumpe/dp/B00RV80YZU)
-
Einbau DC Buchse, z.B. Lumberg 5,5x2,5mm passend zu dem Netzteil
-
1m 20x20mm Aluminium Winkel Profil
Schaltungsbeschreibung
Der DS18B20 ist ein 1Wire Temperatursensor. Beschaltet wird er in unserem Fall mit allen 3 Pins. Also Masse an Pin 1, +5V (vom Mikrocontroller) an Pin 3 und der Busanschluss (Pin 2) wird mit dem Pin 2 vom Mikrocontroller verbunden. Zusätzlich braucht man noch einen Pullup Widerstand auf der Busleitung von 4k7 Ohm gegen +5V.
Als zweiten Bestandteil wird noch ein Treiber für die Lüfter benötigt. Dazu kann man natürlich auch ein Relaismodul (wie z.B.: https://www.az-delivery.de/collections/sensoren/products/relais-modul) verwenden. Da die Lüfter, die ich hier verwende, aber nur einen geringen Stromverbrauch haben, jeder Lüfter braucht ca. 150mA, reicht auch eine einfache MOSFET Schaltung mit einem BS 170 aus. Dieser kann, laut Datenblatt, bei einer DS Spannung von 5V ca. 300mA schalten. Das reicht genau für die beiden Lüfter. Damit der BS 170 nicht aus Versehen beim Entfernen des Mikrocontrollers schaltet und die Lüfter damit loslaufen, spendiert man dem Gate noch einen 100k Widerstand gegen Masse. Das Gate wird angeschlossen an D10 des Mikrocontrollers.
Plan
Für die Insider ( ;-) ) unter euch, hier einmal ein richtiger Schaltplan.
und einmal ein Plan für den Aufbau auf einem Breadboard / Breadboardplatine.
Falls ihr mehr als 2 Lüfter betreiben wollt, könnt ihr die BS170 Stufe auch gerne pro Lüfter aufbauen.
Mechanik
Zunächst baut man einen Rahmen für die Lüfter und dem Mikrocontroller aus Aluprofilen. Damit der Rahmen nicht übersteht, sollte dieser etwas schmaler als die untere Tiefe des Heizkörpers sein. Auch müssen die Lüfter noch gut einschraubbar sein. Eventuell müssen Sie auch ein etwas breiteres Aluprofil kaufen, damit die Lüfter noch in den Rahmen eingeschraubt werden können. Falls der Rahmen zu weit in die Lüfterflügel ragt, kann man aus dem Alu auch etwas ausschneiden. Das Flügelrad sollte weitestgehend frei sein, sonst gibt es Luftgeräusche. Achten Sie bei der Montage der Lüfter darauf, dass die Lüfter mit der richtigen Seite nach oben montiert werden. Die Lüfter müssen die Luft von unten ansaugen und nach oben drücken. Hier von der Unterseite aus gesehen:
Für einen solchen kleinen Rahmen, 35x8cm, reicht 1m 20x20mm Alu Winkel Profil aus. Zunächst schneidet man 2 Stücke a 35cm ab. Dann platziert man die Lüfter und markiert sich die Befestigungslöcher für die Lüfter. Nach dem Bohren kann man nun die Lüfter an die Aluleisten festschrauben. Lassen Sie etwas Abstand zu den Seiten, damit dort, wie auf dem Foto, noch Platz für die Elektronik ist. Jetzt kann man die Seitenteile abmessen, abschneiden und anbringen. Ich habe die Seitenteile einfach mit 4 Popnieten vernietet. Auf der Seite, wo die Elektronik hinkommt, muss man nun noch ein 8mm Loch für die DC Buchse bohren.
Schaltung
Für den Mikrocontroller können Sie sich mit einem 3D Drucker ein kleines Gehäuse drucken. Hier befindet sich ein Beispiel: https://www.tinkercad.com/things/lkais5ID0VJ. Oder man baut das Board in ein kleines Kunststoffgehäuse ein, das dann am Rahmen befestigt wird.
Für den Anschluss des DS18B20 brauchen Sie ca. 1m 3 adrige Leitung. (Oder Sie besorgen sich direkt DS18B20 Fühler mit Kabel) Das Kabel mit dem DS18B20 (am besten komplett in Schrumpfschlauch eingeschrumpft) befestigt man mit guten Wärmekontakt in der Nähe des Ventiles an einer Heizkörperplatte.
Den ganzen Rahmen muss man jetzt noch von unten unter dem Heizkörper befestigen. Entweder man baut sich Stelzen, auf denen der Rahmen dann steht, oder man befestigt das ganze mit langen Klettbändern. Eine weitere Alternative wären starke Magnete, die man an den Rahmen klebt und mit diesen dann den Rahmen unter dem Heizkörper befestigt. Damit nichts rappelt, kann man noch 4 Filzgleiter auf den Rahmen kleben, damit dieser nicht direkt an der Heizung anliegt. Jetzt noch den Netzteil-Stecker einstecken und los geht's.
Software
Halt Stopp! Haben Sie nicht noch was vergessen?
Aber sicher, die Software für den Mikrocontroller.
Installation der Bibliotheken
Um das Programm kompilieren zu können, muss zunächst die Dallas Temperature Bibliothek installiert werden. Dazu gehen Sie auf "Sketch/Bibliothek einbinden/Bibliotheken verwalten"
Im Bibliotheksverwalter suchen Sie nach "Dallas" und installieren die "Dallas Temperature" Bibliothek.
Mit
können Sie die Bibliothek jetzt in das Programm einbinden.
Das Programm
/*
FanControl
Ein kleines Programm zur Steuerung von Heizkörperventilatoren.
Die Ventilatoren werden aufgrund der erhöhten Temperatur am Einlassventil eingeschaltet,
und erst nach einer gewissen Laufzeit und der Schalttemperautr wieder ausgeschaltet.
Messung der Temperatur erfolgt mit einem DS18B20
Copyright 2020 Wilfried Klaas
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Pin an dem der DS18B20 angesteckt wird
// Schleifenverzögerung
// Zähler wieviele Schleifen der Ventilator mindestens ein/ausgeschaltet sein soll
// Anschluss für den Ventilator
// Temperaturschwelle
// OneWire Kommunikationsobjekt
OneWire oneWire(ONE_WIRE_BUS);
// DS18B20 Dallas Temperatursensor
DallasTemperature sensors(&oneWire);
void setup() {
// Nabelschnur
Serial.begin(115200);
Serial.println("starting up");
// Pins definieren
pinMode(LED_BUILTIN, OUTPUT);
pinMode(FAN_PIN, OUTPUT);
// DS18B20 Sensor starten
sensors.begin();
Serial.println("starting operation");
}
// Schleifenzähler
byte counter = 1;
// temporärer Temperaturspeicher
float temp;
// Lüfter ist an oder aus
bool fanOn = false;
long lastTime = 0;
const int DELAYCOUNT = (DELAYTIME * 1000) / LOOPTIME;
void loop() {
if ((lastTime + LOOPTIME) < millis()) {
counter--;
// Temperaturen aller Sensoren holen
sensors.requestTemperatures(); // Send the command to get temperatures
// da nur einer angeschlossen ist, bitte den 1 auslesen
temp = sensors.getTempCByIndex(0);
// und ausgeben
Serial.print("Temp: ");
Serial.print(temp);
Serial.print(" cnt: ");
Serial.println(counter);
// Schleifenzähler runter zählen
// Wenn der Schleifenzähler auf 0 ist
if (counter == 0) {
// counter auf 1 setzen, damit der nächste Durchgang mindestens hier wieder hinkommt.
counter = 1;
// testen, ob die Temperatur hoch genug ist, um den Ventilator einzuschalten
if (temp > TRESHOLD_TEMP) {
//OK, dann Ventilator einschalten, wenn nicht schon passiert.
if (!fanOn) {
// Ventilator ein
digitalWrite(FAN_PIN, 1);
digitalWrite(LED_BUILTIN, 1);
// mindestens so viele Schleifen jetzt nicht mehr umschalten
counter = DELAYCOUNT;
Serial.println("Fan ein");
fanOn = true;
}
} else {
if (fanOn) {
// Ventilator aus
digitalWrite(FAN_PIN, 0);
digitalWrite(LED_BUILTIN, 0);
// mindestens so viele Schleifen jetzt nicht mehr umschalten
counter = DELAYCOUNT;
Serial.println("Fan aus");
fanOn = false;
}
}
}
// Schleifenverzögerung
}
delay(10);
}
Nachdem Sie den Sketch auf den Mikrocontroller geladen haben, können Sie nun mit dem seriellen Monitor die Ausgaben kontrollieren. Etwa 2 mal die Sekunde sollte die aktuelle Temperatur ausgegeben werden. Und dahinter der Schleifenzähler. Wird der Schwellwert überschritten, schaltet der Lüfter ein, und es beginnt die Wartezeit. Falls innerhalb dieser Wartezeit (DELAYTIME
) die Temperatur wieder sinkt, bleibt der Lüfter jedoch angeschaltet. Somit wird verhindert, das bei einer schwankenden Temperatur, der Lüfter ständig ein und ausgeschaltet wird. Diese Zeit wird in Sekunden angegeben. Die Schwellentemperatur kann über TRESHOLD_TEMP
eingestellt werden.
Epilog
Viel Spaß beim Nachbau. Ich hoffe, auch dieser kleine Blog hat Ihnen gefallen. Bis zum nächsten Mal!
10 commenti
André
Das ganze liese sich auch wunderbar zweckentfremden um damit die Kühlung von Absorptionskühlschränken in Wohnmobilen bzw. Wohnwägen zu verbessern. Bei hohen Außentemperaturen staut sich gerne die warme Luft im Lüftungsschacht des Kühlschranks, wodurch dessen Kühlleistung deutlich verringert werden kann. Die Lüfter helfen eben durch die Zwangsbelüftung das Problem etwas zu lindern. Dafür gibt es sogar eine ganze Reihe kommerzieller Produkte, die genau das selbe machen. Finde das Projekt ist eine schöne Lösung für den Eigenbau.
Wilfried Klaas
Hallo Micha. Hier gilt, wie bei allen Selbstbauprojekten aus dem Internet und Magazinen, bitte vorsichtig sein!
Aber normalerweise sind Heizungen geerdet und auch der Rahmen wie auch die anderen metallischen Teile sollten richtig geerdet sein. Der Controller samt restlicher Elektronik sollte natürlich auch in ein entsprechendes Gehäuse gebaut werden. Und ich habe mir den Spaß tatsächlich jetzt mal gemacht und mein Netzteil (Das ist ein typisches LED Lampennetzteil mit 12V/5.8W ohne Erdung) gegen das Heizungsmetall (an einer blanken Stelle) gemessen. Tatsächlich zeigte sich dort ein Kurzschlussstrom von 40uA. Das ist weit genug von den 10mA entfernt, die die FI Schalter im Bad haben sollten.
Aber richtig ist, sobald wir mit Strom hantieren, sollten wir die Grundlagen kennen.
Wilfried Klaas
Hallo Jürgen, natürlich kann man auch den W1209 verwenden. Dann bitte auf Kühlung stellen. Der Baustein ist tatsächlich deutlich größer und schaltet dann den Lüfter per Relais. Funktioniert aber genauso. BTW.: Auch der W1209 arbeitet intern mit einem uC, in dem Fall mit einem STM8S003F3P6.
Wilfried Klaas
Hallo Herr Rahn, ich habe mit vielen verschiedenen Anordnungen gespielt. Diese Version mit den 2 Lüftern in der Mitte war diejenige, die für diesen Heizkörper am besten funktioniert hat. Es werden sogar noch weitere Lamellen pro Lüfter durchlüftet, die vom Lüfter nicht abgedeckt werden. Dort wird die Luft einfach mitgerissen. Von den 60cm Heizkörper werden mit den 2x 80mm Lüftern 40cm zwangsbelüftet. (Erfahrungswert) Nur bei die äußersten Enden bleibt es bei der normalen Konvektion. Wenn man eine größere Abdeckung wünscht, kann man natürlich entsprechend mehr Lüfter verwenden. Natürlich kann man auch einen kompletten Luftkanal unter den Heizkörper bauen. Der hat aber auch Nachteile: zunächst sieht es einfach nicht besonders schön aus und viel wichtiger, nach diesem Umbau funktioniert der Heizkörper nur noch mit der Zwangskühlung. Die Variante mit den offenen Lüftern lässt auch ohne Lüfter noch genügend Luft durch. Zum 2. Teil mit den HKVs haben Sie natürlich völlig recht. So wie bei allen Blogeinträgen hier und im Allgemeinen alle Beiträgen aus dem Internet oder Magazinen muss man selber schauen, in wie weit rechtliche Belange betroffen sind.
Wilfried Klaas
Hallo Oliver, ja klar, aber Sie können ja mit dem Bau schon mal anfangen ;-), dann sind Sie im Herbst fertig. Oder Sie verwenden zwischenzeitlich die Lüfter als Ventilatoren.
m1cha
Halt, noch etwas vergessen.
Die Schaltbetzteile dürfen laut EU-Vorgaben bis zu 80μA gegen Masse/Erde abführen. Im Bad???
Die Leitungen müssen echt Berührungssicher verlegt werden. Nicht die magische Grenze von 30mA (FI/RCD) ist tötlich, sondern sehr viel weniger.
Mess mal den Strom zwischen +/-, deiner 5V, und Heizung(serde). Kann schnell nach hinten los gehen, da viele die in china „liebevoll“ gebauten Netzteile verwenden werden.
Setze bitte bei solchen Projekten viel viel wert auf Berührungssicherheit.
Danke.
m1cha
Thomas Rothmund
Darauf habe ich schon lange gewartet.
Besten Dank
Jürgen
Interessant für die Einarbeitung in Arduino. Für die dargestellte Lösung ist es aber einfacher, den Temperaturbaustein W1209 zu verwenden.
Werner Rahn
Die in diesem Blog beschriebene mechanische/thermische Konstruktion hat einen Mangel!
Auf dem Bild sitzen die Ventilatoren im mittleren Bereich des Heizkörpers. Im inneren Bereich zwischen den Platten sind vertikale , dünne Bleche an den Platten angeschweißt. Sie bilden senkrechte Luftleitkanäle. Die beiden Ventilatoren blasen hauptsächlich in je zwei bis drei solcher Luftleitkanäle. Besser wäre es aus Pappe oder ähnlichem unten am Heizkörper einen Zufuhrkanal zu bauen, der am einen Ende einen Ventilator hat und am anderen Ende die Luft über den ganzen unteren Lufteintrittsquerschnitt des Heizkörpers gleichmäßig verteilt. Ein Ventilator dürfte ausreichen, da die mit dem Ventilator erzwungene Konvektion deutlich stärker sein dürfte als die freie Konvektion. Bei Heizkörpern mit nur einer Platte funktioniert die Zwangskühlung noch weniger effizient.
Achtung juristisches:
wenn an dem Heizkörper ein Heizkostenverteiler (HKV) angebracht ist, kann mit einer gezielten, konzentrierten Luftführung die Temperatur im Bereich des HKV reduziert werden. ( Die HKVs haben zwei Temperaturfühler und eine Realtimeclock (RTC), der eine Fühler erfasst die Temperatur an der Vorderseite der Heizkörperplatte, der zweite Fühler erfasst die Lufttemperatur an der Luft- bzw. Außen-Seite des HKV. Die Temperaturdifferenz wird mit der Zeitdifferenz der RTC multipliziert und abgespeichert.) Da der nicht zwangsgekühlte Bereich des Heizkörpers wärmer ist, als der übrige Bereich, wird der HKV geringere Werte anzeigen, als ohne diese ILLEGALE Manipulation. Auch wenn der ganze Heizkörper zwangsweise gekühlt wird, zeigt ein HKV geringere ‘Verbräuche’ an, als bei freier Konvektion. Also Finger weg von Zwangskühlung von Heizkörpern mit HKV. HKVs werden normalerweise in Mehrfamilienhäusern verwendet. Betrogen durch eine oben genannte Manipulation werden die übrigen Mieter. Auch wenn es dem Vermieter egal sein kann, kann das im Extremfall zum Verlust bzw. zur Kündigung der gemieteten Wohnung führen.
Gruß,
W. Rahn
Oliver Rohr
Moin,
Idee gut, aber es ist Sommer.. da wäre ein Projekt das Kühlt schöner…
Gruß
Oliver