Forum: Mikrocontroller und Digitale Elektronik Raumthermostat: Eigenbau


von Thi L. (flothi)


Lesenswert?

Moin zusammen!

Zur Zeit nutze ich Raumthermostat, welches zeitgesteuert die Temperatur 
regelt. Die Gastherme wird über eine 230V-Schnittstelle gesteuert; 
andere Schnittstellen wären ggf. auch verfügbar.

Meine Frage:

Wie groß ist der Aufwand, ein eigenes Thermostat mit den folgenden 
Funktionen zu entwickeln:
- Ansteuerung über o.g. Schnittstelle
- Tag-/Nachttemp.
- Steuerung tageweise einstellbar (Tag 1 bis 5 mit eigenen Profilen, 6 
und 7 z.B. einheitlich)
- Programmierung mittels Tasten (alternative Vorschläge bin ich offen)

Ich weiß, dass es solche Thermostate zu kaufen gibt; das soll hier 
jedoch nicht zur Debatte stehen.

VG

von EGS (Gast)


Lesenswert?

Lass mich raten ne Vaillant-Gastherme mit abgesetztem bedienteil?

Also so schwer ist das sicherlich nicht, auch vom Bauteileaufwand.

Wenn du eine alte Vaillanttherme hast, ist das noch nichtmal nen 
Bussystem sondern nur die Freigabe zum Heizen. Da ist die gesamte 
Logik/Intelligenz im Bedienteil. Man kann sogar die Freigabe bei 
defekten Bedienteil mittels Drahtbrücke realisieren. ;)

Hab auch so nen Teil inner Küche, erschrecken der Standard in 
Berlin...hat aber schon nen neueres Bedienteil, mit Zeitschaltprogramm, 
Urlaubschaltung und verschiedenen Temperaturniveaus.

MfG

von Thi L. (flothi)


Lesenswert?

Bingo, richtig geraten. ;-)

Das Relais im Thermostat war bereits schon im Eimer, hatte das auch 
schon getauscht. Eine einfache Brücke tuts auch, exakt.

von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

Thi Lo schrieb:
> Wie groß ist der Aufwand

Das hängt ganz von Dir, deinem Durchsetzungs- und Durchhaltevermögen, 
sowie deinen Wissen ab. Mit etwas Vorkenntnissen ist so etwas eigentlich 
ganz einfach. Brauchst eigentlich nur einen kleinen Mikrocontroller und 
Kleinkram, eben deinen Wünschen entsprechend. - Standard-Text.

> - Ansteuerung über o.g. Schnittstelle

Da braucht man nur ein Relais + Treiber + evtl. Sicherung

> - Tag-/Nachttemp.

Speichere deine Soll-Werte direkt ins EEPROM vom Controller, und Setz 
die Daten per Display + Tasten

> - Steuerung tageweise einstellbar

Da macht ein RTC Sinn, oder du tust einen mini-Kalender + Clock direkt 
auf dem Mikrocontroller implementieren.

> - Programmierung mittels Tasten (alternative Vorschläge bin ich offen)

Wenn du soweit bist, dass es schon mal mit Tasten am Gerät "läuft", dann 
macht es evtl. sogar Sinn das Teil um eine Kommunikations-Schnittstelle 
wie z.B. RS485 zu erweitern, die dann zum Umschalten der Profile, oder 
zum Wechseln / manuellen ändern der Zeiten und Temperaturen dient. Das 
hat auch den Vorteil, dass du dann irgendwann weitere abgesetzte 
"Module" wie Temperatursensoren oder Schalter & Taster & Displays extern 
anbinden könntest, oder die ganze Schaltung von irgend einer externen 
Regelung ansprechen oder Konfigurieren kannst. (Z.B. Parametrierung per 
PC)
Was soll man noch dazu sagen.

--> Im Grunde brauchst du für die "eigentliche Steuerung" wirklich nur 
minimal-Hardware, und ein kleines Programm dafür.

Thi Lo schrieb:
> Ich weiß, dass es solche Thermostate zu kaufen gibt; das soll hier
> jedoch nicht zur Debatte stehen.

Habe auch eine Vaillant-Gastherme, bei dem das "per Funk" angebundene 
Bedienteil nicht funktionierte. Nach etwas "Hin und Her" und viel 
Blablah mit den Wartungsvertrag-Typen von der Terme, "durfte" ich dann 
auch meine Eigenbau-Steuerung "unter Beobachtung" einsetzen, bevor ich 
ein neues "Orginal-Ersatzteil" mitfinanzieren müsste.

Thi Lo schrieb:
> Wie groß ist der Aufwand

Ich hab mir damals etwa ne Woche Zeit dafür genommen, incl 
"Langzeit-Test",  Gehäuse fräsen, und Einbau in die Therme - Damit es 
dann keine Buggs im Betrieb gibt, und das Ding einfach läuft, wenn der 
liebe Abgas-Prüfer, der Wartungs-Heinze oder der Schornsteinfeger mal 
darüber schaud... Hab leider meine Sources nicht mehr. Aber das ist - 
wie gesagt - kein so großes Projekt! Wenn es rein um eine Zeitsteuerung 
geht kann man das fast jedem zumuten. Je nach dem was du vor hast, kann 
es aber auch sehr aufwändig werden. - Bei meinem Projekt hatte ich etwas 
übertrieben - (wenn man denn schon nen frei programmierbaren µC in der 
Therme hat) - z.B. Vorlauf / Rücklauf-Temperatur messen, oder 
Regel-Ventile ansprechen, Bus-Vernetzung, etc.
____
Der Schornsteinfeger gab mir noch paar Tipps "zum Messen einer sauberen 
Verbrennung" mit Hilfe von irgendwelchen Gas- Luftgüte- und 
CO2-Sensoren, was mir aber als "Verbraucher" überhaupt nichts bringt, 
und das lediglich zum vorsorglichen Ausschalten der Heizung dienen soll, 
falls irgendwelche Emissionen zu stark abweichen. Das ist mir aber viel 
zu teuer, zu aufwändig, - einfach zu krank - und geht mich ja eigentlich 
auch nix an - sagte er. ^^

Gruß

von EGS (Gast)


Lesenswert?

Zu erst musst du dir über die Must-Haves (scheiss Anglizismen) klar 
werden.

1. Raumtemperatur erfassen, eventuell 2 oder mehrere Fühler per Bus oder 
ZigBee?
2. Zeitschaltprogramm, woher die Urzeit, DCF? wie genau, es sollten ja 
Stunden und Minuten reichen. + Urlaubschaltung
3. Sollwerte in EEPROM speichern? na klar willst ja nicht jedesmal neu 
einstellen.
4. Bedieneinheit mit LCD oder GLCD? Welche Habtik (Menüsteuerung mit 
Tastern oder Inkrementalgeber mit Tasterfunktion).
5. Eventuell Außentemperatur für Heizungskurve?
6. PWM für Pumpendrehzahl?
7. automatische Nachspeisung, um den Wasserdruck im System auf den 
magischen 1,5-2 bar zu halten?

Fragen über Fragen.

Wenn die Fragen geklärt sind, Komponenten auswählen und Schaltpläne 
entwickeln (evtl. als Steckbrett aufbauen zum testen), dann layouten und 
Programmieren.

Bei Fragen diese natürlich stellen. Bedenke aber das z.B. die 
Nachspeisung nen heikles Thema ist. wenn da was scheif geht, haste 
schnell nen Innen-Pool ;)

MfG

von Thi L. (flothi)


Lesenswert?

Servus!

Ich habe mich zugegebenerweise noch nicht mit der 230V-Schnittstelle 
auseinandergesetzt, aber wie oben geschrieben scheint das einfach ein 
Schaltvorgang ohne draufmodulierte Infos zu sein.

Was in der Tat zu klären ist:

Messung der Raumtemperatur - da gibts aber wohl das ein oder andere 
Bauteilchen ;-)

DCF: Relativ, im aktuellen ist anscheinend auch kein Empfänger, das 
Einstellen finde ich auch nicht so aufwändig.

PWM: Nicht notwendig, da nur 1-0 (mutmaßlich)

Nachspeisung: Nicht vorgesehen

Außenfühler: Aktuell nicht vorhanden

VG

von EGS (Gast)


Lesenswert?

Deswegen waren alles Punkte mit Fragezeichen ;)

Eventuell will man ja unter Optimierungsaspekten hier schon was vorsehen 
oder erweitern.

Wenn du die DCF verwendest bekommst du ja nicht nur die Zeit, hast ja 
auch Datum und bei manchen Modulen einen Integerwert für den Wochentag. 
So könnte dein Zeitschaltprogramm (ZSP) auch die Tage unterscheiden, und 
wenn du also arbeitest weniger Heizen (Absenken) und bevor du nach Hause 
kommst auf Komfort heizen.

Aber wie gesagt, erst das Ziel definieren und dann den Weg beschreiten, 
denn nicht der Weg ist das Ziel...

MfG

von Thi L. (flothi)


Lesenswert?

Ich bin ja froh über alle Eingaben und Anregungen, die mich auf diesem 
Weg erreichen ;-)

Sollte sich das mit der "Einfachheit" der 230V-Schnittstelle 
bewahrheiten (und ich höre bis dato nichts Gegenteiliges), läge der 
Mehraufwand eher im Bereich der möglichen Funktionen als in der schieren 
technischen Umsetzung.

Mehr als eine Zweipunktregelung wäre dann eh nicht machbar (oder irre 
ich?)?

VG

von EGS (Gast)


Lesenswert?

Nunja deine Heizung kann wenn es nicht Raumtemperaturregler von VAlliant 
sind nur Ein/Aus. Ist also wirklich bloss 2 Punkt. Da aber die 
Bedeineinheiten schon nen Sollwert eingestellt haben auf den der 
Referenzraum geregelt wird, ist da schon mehr möglich.

Schaue einfach mal bitte bei Valliant nach deinem Bediengerät. Wenn dort 
ein Regler genannt wird isses nicht nur die Freigabe. Wenn aber an der 
Therme alle anderen Knöpfe dran sind wie Vorlauftemperatur Einstellung 
(meist in Stufen 1-7, 40-85°), richtiger Ein/Aus-Schalter (Bedienteil 
geht dann auch aus), Störungsquittierung und ne Druckanzeige, issses 
echt bloss die Freigabe die gegeben wird. Aber die auch anhand der 
Regelparameter aus dem Bedienteil, welches das ZSP, die Raumtemp. und 
die Sollwerte verarbeitet.

Bei meiner Therme von Junkers (Baugleich mit vielen Vaillant, beides 
Bosch) heisst das Bedienteil FB100. Gibt aber noch FR100 und FW100 
(Raumtemp.-Regler und Witterungsgeführter Raumtemp.-Regler), die haben 
dann wieder nen Bus-System.

Grundsätzlich haben die Thermen aber für Notfälle ne rein zu schaltende 
Freigabe intern am Klemmbrett. Wäre ja doof wenns Kalt bleibt bloss weil 
die Bedieneinheit den Geist aufgibt.

von Karl H. (kbuchegg)


Lesenswert?

Ich hab für meine Heizung mir vor 3 Jahren so ein Teil gebaut.
1 Mega16 mit dem üblichen Kleinkram, Trafo, 7805, Relais (zum schalten 
der 230V Schaltspannung) und DS1820 auf einer Platine.

Die Zeit generiere ich aus dem 230V Netz. Hat sich so gesehen bewährt. 
Stromausfälle sind in den 3 Jahren keine vorgekommen und die Uhr tickt 
nach wie vor so dahin, wie ich sie damals eingestellt habe. Abweichung 
momentan: unter 10 Sekunden.

Zur Temperaturregelung hab ich für jeden Tag  6 Zeitslots, denen ich 
beliebige Zeiten und Temperaturen zuweisen kann. Die Regelung selber ist 
ein simpler 2-Punkt Regler mit Hysterese. Ist die gemessene Temperatur 
kleiner als die Vorgabe zur aktuellen Uhrzeit, wird eingeschaltet, ist 
sie größer, denn abgeschaltet.
Insgesamt hab ich 3 verschiedene Heizungsprogramme, die ich auf die Art 
frei definieren kann. Bei mir gibt es zur Zeit "Abwesend", "Normal" und 
"Heizen". Abwesend stell ich ein, wenn ich weg bin, dann sind alle 
Temperaturen den ganzen Tag auf niedrig eingestellt und die Heizung 
schaltet sich nur zu, wenn es wirklich kalt wird. Normal ist der 
Normalfall: morgens um 7 wird die Raumtemperatur angehoben, ab 1/2 9 
darf sie wieder runterfallen und abends um 6 (kurz bevor ich 
normalerweise nach Hause komme) wird die Temperaturvorgabe wierder 
hochgesetzt bis ca. 22 Uhr. Das gilt für Wochentage, am Wochenende läuft 
eine andere Temperaturvorgabe.
Heizen hingegen ist das Programm, welches ich benutze, wenn ich 
weiblichen Besuch bekomme :-) Da wird dann die Raumtemperatur generell 
etwas höher angesetzt.

Die Bedienung erfolgt über ein 4-zeiliges LCD mit Drehencoder mit 
Tastfunktion. Das ist völlig ausreichend für ein einfaches Menüsystem, 
mit dem sich der Thermostat bedienen und einstellen lässt.

Fehler die ich gemacht hab. Ich hab den DS1820 auf die Platine gesetzt 
und zu nahe am Schalttransistor für das Relais. Zieht das Relais an, 
dann heizt der Transostor den DS1820 ein wenig auf. Irgendwann häng ich 
den DS mal an ein Kabel, aber im Moment leb ich einfach damit, dass ich 
die Hysterese ein wenig höher einstelle.

Im Thermostat ist noch ein MAX232 und ein Bootloader im Mega, so dass 
ich ihn auch ohne Gehäuse aufmachen neu programmieren kann. Ursprünglich 
wollte ich von der RS232 ein Kabel zum Server legen und so den 
Thermostat auch aus dem Web bedienen zu können. Diese Software 
Schnittstelle wurde aber nie realisiert. Wenn ich das ganze nochmal 
aufbauen müsste, würde ich auch die Schaltung nicht nochmal neu machen, 
sondern mir einfach eine Net-I/O kaufen. Mit allem drum und drann ist 
das die gleiche Presikategorie.

Abgesehen von den kleinen Schwächen: funktioniert gut und ich bin froh, 
dass ich den alten Raumthermostat mit seiner unflexiblen Zeitsteuerung 
ersetzt habe.


Ach ja: Um meine Gastherme muss ich mich nicht selber kümmern. Das macht 
die schon von alleine. Der Thermostat muss der nur sagen: Ich brauch 
Wärme. Die Kesselregelung macht die Therme von sich aus.

von EGS (Gast)


Lesenswert?

@ Karl:

Genau sowas macht halt die FB100 von meiner Junkers Therme auch nur.

Wenn man die laten TR10 oder 21 hat würde ich aber persönlich auch 
lieber wechsel oder was selber bauen, wobei mi der Web-Teil zu unnütz 
erscheint, außer man vergisst die Heizung mal in Abwesend zu schalten 
wenn man im Urlaub ist oder umgekehrt.

@TO:

Na siehste dann kanns doch lsogehen ;)

MfG

von Karl H. (kbuchegg)


Lesenswert?

EGS schrieb:

> erscheint, außer man vergisst die Heizung mal in Abwesend zu schalten
> wenn man im Urlaub ist oder umgekehrt.

Manchmal würde ich mir diese Funktion ehrlich gesagt schon wünschen. 
Gerade jetzt, wenn ich öfters übers Wochenende weg bin, wärs cool, wenn 
ich von der Autobahn aus übers Handy die Heizung von "abwesend" wieder 
zurück auf "normal" stellen kann und die Wohnung warm ist, bis ich zu 
Hause bin. Aber so ein Thema ist das auch wieder nicht, da hast du schon 
recht. Bis ich das Auto ausgeräumt hab und alles verstaut ist, ist auch 
die Heizung schon lange auf Touren und beim Ausräumen bleibt man eh 
warm.

Aber die holde Weiblichkeit friert halt immer gleich!

> Na siehste dann kanns doch lsogehen ;)
Ja, ist wirklich kein großes Problem.

Das einzig knifflige bei mir war das Auslesen des DS1820, weil ich 
keinen 50Hz Interrupt für die Software-Uhr verpassen durfte, bzw. der 
Interrupt mir das Timing der 1820 Auslesefunktion nicht versauen durfte 
:-)
Der Rest ist Standard-08/15 Programmierung. Nichts aufregendes.

Ach ja. Ein Goodie gibts noch. Das LCD hat eine dimmbare 
Hintergrundbeleuchtung, die sich zuschaltet, wenn man am Encoder dreht 
und sich nach einiger Zeit des Nichtstuns wieder abschaltet. Das 
Abschalten hatte ich am Anfang nicht, das war aber zu störend, wenn da 
dauernd ein beleuchtetes LCD an der Wand hängt, selbst wenn es auf 
Minimum gedimmt ist.

von EGS (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Ach ja. Ein Goodie gibts noch. Das LCD hat eine dimmbare
> Hintergrundbeleuchtung, die sich zuschaltet, wenn man am Encoder dreht
> und sich nach einiger Zeit des Nichtstuns wieder abschaltet. Das
> Abschalten hatte ich am Anfang nicht, das war aber zu störend, wenn da
> dauernd ein beleuchtetes LCD an der Wand hängt, selbst wenn es auf
> Minimum gedimmt ist.

Sparste dir frei nach Deichkind "LED unterm Sofa, LED unterm 
Bett...leider Geil." Hehe

Aber stimmt, Backlight aus is echt wichtig, sonst stört das wirklich.

Der Programmcode für die Heizung besteht eigentlich sogar fast nur aus 
Select-Case-Anweisungen (wenn mans in C macht, finde If so 
unübersichtlich).

uhrzeiten und Schalterstellungen codiert einlesen und mit den vorgaben 
vergleichen aus dem EEPROM und dann bedingten Sprung zu 
Unterstrukturaufruf, Ausgänge setzen. Im main loop die Display-Routinen 
abarbeiten und Heizungs-Routine, den Encoder z.B. mittels Interupt.

von Thi L. (flothi)


Lesenswert?

Das klingt ja alles echt optimal - dann werd ich mich beizeiten mal 
dransetzen!

Danke für die Hilfe schonmal an der Stelle, bei konkreten Fragen meld 
ich mich (ob das ne Drohung ist oder nicht darf jeder selbst entscheiden 
;-) )

VG

von EGS (Gast)


Lesenswert?

Neeeiiiinnnn bitte nicht :P

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.