Radiator Fan for a Panel Radiator

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:

  • der Heizkörper arbeitet einerseits durch Strahlung. Steht ein Möbelstück vor dem Heizkörper, wird dieses statt des Zimmers erwärmt.

  • 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:

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.

Schaltplan

und einmal ein Plan für den Aufbau auf einem Breadboard / Breadboardplatine.

Breadboard Schaltplan

Falls ihr mehr als 2 Lüfter betreiben wollt, könnt ihr die BS170 Stufe auch gerne pro Lüfter aufbauen.

Platine mit Lüfter

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:

Lüfter

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.

Heizung

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"

Bibliotheksverwalter

Im Bibliotheksverwalter suchen Sie nach "Dallas" und installieren die "Dallas Temperature" Bibliothek.

Dallas Temperatur Lib

Mit

 #include <OneWire.h> 
 #include <DallasTemperature.h>

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.
 */
 #include <OneWire.h>
 #include <DallasTemperature.h>
 
 // Pin an dem der DS18B20 angesteckt wird
 #define ONE_WIRE_BUS 2
 // Schleifenverzögerung
 #define LOOPTIME 500
 // Zähler wieviele Schleifen der Ventilator mindestens ein/ausgeschaltet sein soll
 #define DELAYTIME 10
 // Anschluss für den Ventilator
 #define FAN_PIN 10
 // Temperaturschwelle
 #define TRESHOLD_TEMP 32.00
 
 
 // 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);
 }

Sketch als Download

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!

Wilfried Klaas

Für arduinoProjekte für anfängerSensorenSmart homeStromversorgung

10 Kommentare

André

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

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

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

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

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

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

Thomas Rothmund

Darauf habe ich schon lange gewartet.

Besten Dank

Jürgen

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

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

Oliver Rohr

Moin,

Idee gut, aber es ist Sommer.. da wäre ein Projekt das Kühlt schöner…

Gruß

Oliver

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert

Aanbevolen blog berichten

  1. Installeer ESP32 nu van de raad van bestuur
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - ESP Programmeren via Wi-Fi