Funk Raumthermostat mit 2.2" Farbdisplay und RFM23BP-Tranceiver
für Wand- und Fussbodenheizungen.

aktualisiert am 27.02.2015
Status: Projekt abgeschlossen


Ergänzungen:

  • 06.02.2015: parallel zur Versorgungsspannung muss einen Elko 300uF/16V und ein Kondensator 100nF zur Unterdrückung von Störspitzen angebracht werden.

  • 09.02.2015: am Resetanschluss Display muss direkt an der Steckerleiste ein Kondensator 100nF zum GND angebracht werden. Unterdrückung von Störspitzen

  • 25.02.2015: Neue Displays sind angekommen. Von einem anderen Lieferanten weil günstiger. Der Vorwiderstand am Pin 8 vom Display hat keine Wirkung mehr.
    __ Bei einigen Display´s lässt sich die Helligkeit NICHT über einen Vorwiederstand einstellen. Sie haben intern einen MOSFET. Der Schaltplan wurde entsprechend ergänzt.
    __ Mittels PWM-Ansteuerung lässt sich nun die gewünschte Helligkeit bei allen Display´s einstellen.


    Das erste Thermostat habe ich 1999 programmiert. Ein "Knacki". Zu warm=AUS, zu kalt=EIN. Eine Hsysterese von 2 Grad (Kelvin) und so laufen die Dinger heute noch. Funktioniert bei einem normalen Heizkörper auch recht zufriedenstellend. Bei einer Wand- oder Fussbodenheizung klappt das allerdings überhaupt nicht.

    Die Temperatur überschiesst mit mehr als 3 Grad! Und das ist ganz einfach erklärt: Die Wand- oder Fussbodenheizung hat z.B. 28 Grad Vorlauftemperatur. Ist die Raumtemperatur erreicht, gibt die Wand oder der Fussboden noch mehrere Stunden seine Wärme ab. Die Masse, die Wärme abgeben kann ist recht gross. Die Ventile werden geschlossen, ganz langsam wird es kälter. Und dann, wenn das Thermostat wieder einschaltet, muss erst einmal Wärme in die Wand bzw. Fussboden kommen und es dauert sehr lange bis der Raum auf Temepartur kommt.
    Ich spare mir hier eine Abhandlung über die verschiedenen Regelsysteme (2Punkt Regelung, stetige Regelung, usw.) da es im Netz viele, viele Diskussionen, Meinungen und einige sehr, sehr gute Abhandlungen darüber gibt.
    Jede Regelung ist von dem eingesetzten System abhängig. Durchflussregler werden anders angesteuert als Thermoventile, Mischerventile auch wieder anders. Hier stelle ich eine Regelung bzw. Thermostat vor, die mit Stellantrieben (Thermoventile auf/zu) arbeitet und von einem PWM-System (PulsWeitenModulation) gesteuert werden.

    Wer mehr wissen will, findet hier eine tolle Abhandlung über Heizungs-Klima-Lueftungssteuerung

    Bei meinem System handelt es sich um eine schaltende PI-Regelung, also um eine PWM-Regelung. Allerdings habe ich das Regelverhalten noch erweitert, indem die Aussentemperatur mit zu einem geringen Wert mit einfliesst und so das Regelverhalten zusätzlich verbessert. Je grösser die Differenz zwischen Innen- und Aussentemperatur ist um so "strenger" arbeitet das System. Sowas könnte man PI(i)-Regelung taufen. Alle Werte sind (per Funk) einstellbar bzw. programmierbar.

    Thermoventile benötigen einige Minuten bis sie vollkommen auf oder geschlossen sind. Im Ventil sitzt ein kleines Heizelement, welches sich bei Wärme ausdehnt und das Ventil öffnet. Wird es stromlos kühlt das Element ab und das Ventil schliesst wieder. Diese Themoventile sind sehr kostengünstig und arbeiten fast verschleissfrei. Allerdings dauert es ca. 3 Minuten bis es ganz geöffnet bzw. geschlossen ist. Da eine Wand- oder Fussbodenheizung ist ein sehr, sehr langsames System, spielt dieser Faktor keine Rolle. Die Leistungsaufnahme liegt bei ca. 1,5 Watt.

    Wenn ich nun von einer PWM-Regelung spreche, dann sind die Zyclen nicht im uSekunden oder mSekunden Bereich sondern betragen ca. 10 bis 90 Minuten !!
    Stimmt Raum- und Solltemperatur überein, liegt die PWM-Regelung bei 50%. Bei 30 Miuten bedeutet dass, 15 Minuten Ventil offen und 15 Minuten Ventil geschlossen. Wird der Raum kälter verschiebt sich das EIN/AUS Verhältnis. Die EIN-Phase wird länger, die AUS-Phase entsprechend kürzer. So ergibt sich ein Temperaturmittel und der Raum bekommt eine konstante Temperatur.
    Die Zycluszeit (per Funk prgrammierbar über ein Tool) ist der Raumgrösse anzupassen. Hier muss man sich mit Versuchen an den optimalen Wert ran tasten. Mit 20 Minuten liegen ich bei meiner Wandheizung im optimalen Bereich, ein anderer Raum mit Fussbodenheizung liegt bei 40 Minuten, ein kleines Bad mit Fussbodenheizung bei 20 Minuten.

    Mittlerweile werden Farbdisplays mit SPI-Schnittstelle für unter 5 Euro angeboten. So habe ich mich entschlossen das beleuchtete LCD-Display mit 2 Zeilen á 16 Zeichen gegen ein Grafikdisplay zu tauschen. Hiermit bieten sich nun viele tolle Möglichkeiten alle gewünschten Daten anzuzeigen.

    Display-Anzeige:

    Color Display Fubk Raumthermostat Das Raumthermostat mit Color Grafikdsiplay:

    So ein Grafikdisplay hat schon was.
    Es gibt viele Möglichkeiten, alles darszustellen. Es basiert auf dem Grafic-Chip ILI9341 und wird über eine SPI-Schnittstelle angesprochen. Es war eine ziemliche Bitfummelei, bis der Zeichensatz passte und die Geschwindigkeit der Anzeige erträglich wurde.
    Und weil ich schon mal dabei war, hat es eine Anzeige für den Temperaturverlauf der letzten 120 Minuten bekommen, die Anzeiger der aktuellen Wetterdaten sowie Datum und Uhrzeit. Diese Daten empfängt das Thermostat per Broadcast-Meldung, die meine Haussteuerung alle 2 Minuten versendet. So muss auch kein zusätzlicher Uhrenbaustein eingesetzt werden, da ja regelmässig die Zeit syncronisiert wird.

    Für das Bild musste die Hintergrundfarbe auf blau gesetzt werden. Im Normalbetrieb ist der Hintergrund schwarz. Sehr guter Kontrast und lässt sich auch bei starker Lichteinstahung sehr gut ablesen.

    Es hat einige Zeit gedauert bis das Display und ich uns verstanden haben. Register ohne Ende, eine SPI-Schnittstelle, die nicht so richtig wollte.

    Grund war eine falsche Beschreibung der Pegel-und Betriebsspannung. Alle Anbieter geben an, dass das Display in 3,3 Volt und 5 Volt Systemen arbeiten kann. Stimmt aber nicht. Das Display benötigt 5 Volt Versorgungsspannung, MUSS aber mit 3,3 Volt Pegeln angesteuert werden.

    Später ist auch denkbar, einen NewTicker durchlaufen zu lassen, weitere Infos der Haussteuerung anzuzeigen oder was da noch so alles möglich ist.



    RSSI-Anzeige
    Mittels eines Taster kann zwischen dem Temperaturverlauf und der RSSI-Anzeige (Empfangsstärke) gewechselt werden. So besteht die Möglichkeit die optimale Sendeleistung am Gateway einzustellen. Diese kann nun soweit reduziert werden bis ein stabile Datenverkehr sicher gestellt ist.
    Weiterhin wird der Command-Code, Datensatzlänge und CRC (Prüfsumme) angezeigt. So war es in der Entwicklungsphase einfacher Fehler zu finden.

    Ein Symbol für Empfang und eines für Senden (rechts unten über dem RSSI-balken) signalisieren zusätzlich den Funkverkehr.


    Funktion:
    Das Raumthermostat erledigt die gesamte Regelung selbstständig und sendet nur den aktuellen Status auf Anfrage zur Steuerzentrale, also an den PC.
    Der PC kann zwar alles übersteuern, greift aber nur zur Nachtabsenkung ein. Ansonsten werden die EIN/AUS-Befehle ohne Änderung an die Ventilsteuerung der Heizkreise weiter geleitet. Diese transparete Datenübermittlung erlaubt bei Ausfall des PC´s das direkte Ansprechen der Ventilsteuerung durch das Thermostat. Oder im anderen Fall, bei Ausfall des Thermostates, das direkte Ansprechen der Ventilsteuerung durch den PC. Eine Sicherheitsmassnahme, die nur bei Ausfall eines der Komponenten greift.
    Der Sollwert wird durch ein Poti vorgegeben, die Temperaturmessung übernimmt ein Dallas-Sensor DS18B20. Das Auslesen des Sollwertes und wird 2 mal pro Sekunde durchgeführt, der Istwert wird alle 2 Sekunden abgefragt. Die Berechnung des PWM-Wertes erfolgt somit alle 2 Sekunden. Wenn ein Sollwert von 16,0 Grad eingestellt wird, schaltet das Thermostat aus.
    Der Regelbereich reicht von 16,1 bis 26,2 Grad Celsius. Das sollte ausreichen.

    Sollte sich das Modul einmal aufhängen, wir nach ca. 2 Minuten automatisch ein Reset durchgeführt (Watchdog-Funktion). Diese kann über die Programmiersoftware ein- bzw. ausgeschaltet werden. Ebenso kann die Zyclusdauer von 10 bis 99 Minuten mit diesem Tool programmiert werden.
    Diese Einstellung wird im EEProm abgelegt und geht somit nicht verloren. Weiterhin kann die HomeAdresse, Geräteadresse und die Sendeleistung mit diesem Tool bestimmt werden.
    Das Display wird über eine SPI-Schnittstelle angesprochen, die max. 10 Mhz zulässt. Darüber hinaus werden die Pegel nicht mehr sauber übertragen, das System (die Anzeige) wird instabil.
    Die Funkübertragung wird über einem Transceiver Typ RFM23BP von HopeFM abgewickelt. Bis zu einem Watt Ausgangsleistung (per Software einstellbar) garantiert dieses einen sichern Funkverkehr mit dem Gateway. Allerdings sollte durch Versuche die Sendeleistung auf ein notwendiges Maß reduziert, und die Vorgaben der Bundesnetzagentur beachtet werden.


    Die Schaltung:
    Im Thermostat werkelt ein PC18F2520 von Microchip. Da die Software in C geschrieben wurde und die Grafikroutinen viel, viel Arbeitsspeicher fressen, ist der Codebereich fast voll. Mit 12 Mhz getaktet und mit eingeschalteter PLL wird die Grafikanzeige erträglich schnell.
    Als Oszillatorschaltung ist ein Schwinger mit integrierten Kondensatoren (auch Keramikresonator genannt) zu empfehlen. Diese sind deutlich günstiger als Quarze und sind ausreichend frequenzstabil für diese Anwendung.
    Alle Komponenten benötigen eine Versorgungsspannung von 5 Volt, alle Logikpegel haben 3,3 Volt. Um auf teuere Pegelwandler zu verzichten habe ich Spannungsteiler eingesetzt. Dieses funktioniert ohne Probleme und ist zudem sehr kostengünstig. Es gibt keine kritschen Bauteile, alle Widerstände können bis zu 10% Toleranz aufweisen. Der Aufbau ist unkritisch, es ist kein Abgleich erforderlich.
    Die Stromaufnahme liegt im Regel- und Empfangsbetrieb bei unter 65 mA. Im Sendebetrieb ist die Stromaufnahme abhängig von der eingestellten Ausgangsleistung und kann so kurz (0,2 Sekunden) auf 300 mA ansteigen. Mit diesen Werten ist kein Batterie- oder Accubetrieb über einen längeren Zeitraum möglich. Aus diesem Grunde versorge ich das Thermostat mit einem 5 Volt Steckernetzteil.
    USB-Steckernetzteile sind sehr günstig zu bekommen, haben ein dünnes Anschlusskabel und fallen somit kaum auf.



    auf besonderen Wunsch einiger Nachbauer: Der Einbau in ein Gehäuse

    Gehäuse für das Thermostat
    Als Gehäuse habe ich mich für ein TEKO TB 7 entschieden. Gibts bei Reichelt und kostet rund 5,-- Euro.
    Das Gehäuse bietet ausreichend Platz, wenn der PIC unter das Display gebaut wird. Rechts ist das Poti für die Sollwertvorgabe zu sehen, auf der Rückseite befindet sich der Dallas-Temperatursensor. Diesen verklebe ich ein ein Stück Weissblech um die "Masse" etwas zu vegrössern. Damit werden schnelle Temperaturänderung kompensiert, da das Blech erst die Umgebungstemperatur langsam an nimmt.

    Die Antenne (8cm bei 868 MHz) liegt oben waagerecht (grüner Draht) und ist voll und ganz ausreichend. Er muss noch mit etwas Klebstoff fixiert werden.

    Mehr kann man eigendlich zum Einbau in ein Gehäuse nicht sagen. Aussder, dass nun die blöde Arbeit für den Ausschnitt des Display ansteht.





    Schaltplan:
    Den Schaltplan gibt es hier als PDF.
    Die Software (als Hexfile) sende ich gern auf Anfrage per Mail zu. Da ich immer mal wieder eine Kleinigkeit ändere ist dieser Weg für mich einfacher und muss nicht immer alle Softwaremodule auf dieser Seite aktualisieren.



    Erweiterungen:
    Denkbar sind weitere Informationen, z.B. einen Newsticker durchlaufen lassen, Anzeige der Heizungsvor- und Rücklauftemperatur oder ähnliches.
    Das Display hat noch zusätzlich eine SD-Card Slot auf der Rückseite hat. Hat jemand eine Idee ???
    Wer Vorschläge hat soll sich melden......




    Schlußbemerkung:
    Seit Anfang 2015 ist das Thermostat mit dem RFM23BP in Betrieb und mit dem neuen Gateway mit dem RFM23BP in betrieb. Bisher hatte ich keinen Probleme....
    Auf eine gedruckte Schaltung kann ich verzichten, da bei mir max. 5 Thermostate zum Einsatz kommen. Ausserdem hält sich der Aufwand zum Bau in Grenzen, so dass ein Gerät schnell von Hand aufgebaut werden kann.




    -------