Schaltpunkt Heizungspumpe in Abhängigkeit von Temperaturkurve

Begonnen von Fritz Muster, 21 Januar 2015, 12:59:23

Vorheriges Thema - Nächstes Thema

Fritz Muster

Hallo in die Runde,

ich bin Neuling und habe in den letzten Wochen ein FHEM für mein Einfamilienhaus umgesetzt. Derzeit laufen einige HM-CC-VD / HM-CC-TC und ein paar LAcrosse Temp. Sensoren mit Jeelink zusammen. Zusätzlich läuft noch ein HM-WDS30-OT2-SM der die Vorlauf und Rücklauf Temp. der Heizung aufzeichnet und plottet

Als nächstes möchte ich nun die Heizkreispumpe verzögert einschalten lassen.

Derzeit ist folgende Situation. Die Heizung wird in der Woche von 8:30 bis 12:30 und jede Nacht abgeschaltet. Dabei kühlt der Kessel auf Raumtemperatur ab. Wenn nun der Brenner aus der Abschaltung "erwacht", startet auch sofort die Heizkreispumpe mit. Das bedeutet, das immer für ca. 20 Min. (solange dauert es, bis der Heizkreis durch den Brenner auf Temperatur gebracht wurde) die Pumpe kaltes Wasser durch die Heizkörper pumpt.

Meine Idee ist nun, die Heizkreispumpe immer dann, wenn die Heizung aus der Abschaltung "erwacht" verzögert einzuschalten. Die Verzögerung sollte sich nicht an einer Zeit, sondern an der TempKurve des Vorlaufs orientieren. Dazu würde ich die Zuleitung der Heizkreispumpe, welche aus der Heizungssteuerung kommt, mit einer Steckdose versehen. Und in diese dann eine Homematic Schaltsteckdose installieren und dort die Heizkreispumpe reinstecken.

Die Frage ist aber, wie kann ich das programmiertechnisch umsetzen.

Hat jemand eine Idee und könnte mir Bitte weiterhelfen?

Vielen Dank!

Fritz
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

oviwan

hallo,

wenn ich dein vorhaben richtig verstanden habe müsste es schwer sein eine temperaturerhöhung am vorlauf zu erkennen wenn die pumpe noch garnicht läuft. im prinzip würde nur die übertragungstemperatur der rohrleitung oder vielleicht etwas schwerkraftzirkulation den fühler beaufschlagen. das kann aber dauern bis du einen schaltfähigen wert hast.

wäre es nicht einfacher die kesseltemperatur zu verwenden? meine pumpe schalte ich erst bei ~40° kesseltemperatur ein. und lasse den mischer langsamer auf ziel fahren. programmtechnisch müsste ich jetzt selbst schauen, dürfte aber nicht soo schwer sein, http://fhem.de/commandref_DE.html#THRESHOLD wäre das richitge, glaube ich.

ZitatDie Heizung wird in der Woche von 8:30 bis 12:30 und jede Nacht abgeschaltet.

und das funktioniert über die gesamte heizperiode?

harry
--------------------------------------------------------------------
- fhem & fhz1300 & hm lan an raspberry an fritzbox 5140 an whs2011
- 5 fht; 2 HM-TC-IT-WM-W-EU 3, 1 x fs20 funkdosen; 3 hm funkdosen
- heizungsteuerung mit c-control station & fht8w
- rolladensteuerung phc 950 jr (voll doof)

Prof. Dr. Peter Henning

Das geht eleganter: http://www.fhemwiki.de/wiki/1W-WPump

"Stopper" mit dem Anschalten des Brenners für 5 Minuten aktivieren.

LG

pah

Fritz Muster

Hallo harry und vielen Dank für Deine Antwort.

Die Temp.Erhöhung am Vorlauf ist in meiner Anlage gut sichtbar und über den HM-WDS30-OT2-SM "sicht- und verwertbar". Soll heißen wenn der Brenner angesprungen ist, ist nach ca. 20Min. eine Vorlauftemp. von sagen wir mal 38°C "zu sehen". Das Ganze über die Kesseltemp. zu realisieren würde bei mir nicht so gut funktionieren, da bei mir zwischen Kesseltemp und Vorlauftemp doch einige Kelvin liegen. Das bedeutet ich müsste dann ein Offset (in Form eines Daumenwertes) auf die Kesseltemp legen.

Zum Thema Threshold werde ich mich mal einlesen. Danke für den Hinweis. Hab auch noch beim Stöbern im Forum den Begriff OldValue aufgeschnappt. Mal schauen wie ich mit den beiden Zutaten weiterkomme.

Die Abschaltung funktioniert derzeit noch gut, denke aber wenn es draußen noch etwas kühler wird auf Dauerbetrieb zu gehen. Die Heizung fährt im Moment bei ca. 1°C AußenTemp eine Vorlauftemp von durchschnittlich 48°C. Die Räume werden dabei nach ca. 1 Stunde max 21°C warm. System ist hydraulisch abgeglichen. Ich bin aber derzeit noch in der "Probierphase".

Grüße
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

John

Hallo Fritz Muster,

ich setze Hocheffizenzpumpen ein, die im Mittel 5..6 Watt verbrauchen.

Bei 1h Laufzeit über 365 Tage mit 6 Watt und 30 ct/kWh reden wir von einem Jahresaufwand von 2,49 EUR.

Solltest du jedoch keine derartige Pumpe einsetzen, empfehle ich jeden Cent dafür zu sparen.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Fritz Muster

Hallo pah und John.

Ersteinmal Vielen Dank für Eure Hinweise / Anmerkungen.

@pah
Ich denke, das das nicht zur Lösung meiner Aufgabenstellung beitragen kann. Ich möchte eine Abfrage bauen, die erkennt ob die Vorlauf Temp. über einen definierten Zeitraum stetig sinkt. Wenn das der Fall ist, soll sie zunächst den Aktor auf 0 setzen und erst wieder auf 1, wenn eine definierte Vorlauftemp. überschritten ist.

@John
Mir geht es nicht darum, die Energiekosten der Umwälzpumpe (habe eine Alpha2 im Betrieb) zu minimieren. Ich möchte verhindern, das das Heizungssystem mit kalten Vorlauf "gespült" wird.

Grüße

RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

John

Hallo Fritz Muster,

ich habe in folgendem Projekt die Pumpenansteuerung der Heizungssteuerung durch eine Logo!8  ersetzt.
http://forum.fhem.de/index.php/topic,31586.0.html

Vorteile:
* die Logo arbeitet komplett autark, also ohne FHEM
* die Vorteile von FHEM kann man trotzdem nutzen, da alle Daten erfaßt werden können (Modul Logo oder das von Charly71)
* die Logo ist in der Lage direkt 230VAC Signale zu erfassen und zu schalten
* verfügt über eine Ethernet-Schnittstelle, man kann die Logik vorab wunderbar simulieren
* ist so klein, daß sie in einer etwas größeren Abzweigdose (140x140x80) Platz hat


Mögliche Lösung für deinen Fall:
* die Ansteuerleitung für die Pumpe geht nun auf den Eingang der Logo, nicht mehr direkt zur Pumpe
* dafür übernimmt die Logo die Ansteuerung der Pumpe (Ralais-Ausgang)
* zusätzlich wird noch das EIN-Signal für den Brenner auf die Logo gelegt

Automatisierung:
* wenn der Brenner länger als xy-Minuten inaktiv ist, wird die Pumpe mit einer Verzögerung von z-Minuten eingeschaltet
* ansonsten wird die Pumpe sofort nach Anforderung vom der Heizungssteuerung eingeschaltet.
* mit etwas Erfahrung dauert es keine 10 Minuten das zu implementieren
(man kann sich die Software als Demo bei Siemens runterladen und den Simulator sofort nutzen, um ein Gefühl dafür zu bekommen
https://w3.siemens.com/mcms/programmable-logic-controller/de/logikmodul-logo/demo-software/Seiten/Default.aspx?HTTPS=REDIR
)

That's all.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Fritz Muster

Gute Lösung wie ich finde, aber für mich nicht umsetzbar. Es müsste ja u.a. das Brenner Signal "angezapft" werden. Meine Heizung ist nahezu 30 Jahre alt, da möchte ich nicht ans Eingemachte gehen (Never touch a running system).

Da ich die Kenngrößen die zur Realisierung meiner Idee bereits im FHEM habe, favorisiere ich den Ansatz die Tempkurve des Vorlauf als Führungsgröße zu nutzen, und "etwas zu programmieren".

Grüße
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

John


Es geht einfach nur darum das Brenner EIN-Signal (sicherlich 230VAC) parallel auf einen Eingang der Logo zu führen.


John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

oviwan

eigentlich wollte ich mich zurückhalten, einfach weil eine informationsüberflutung nicht förderlich für das projekt ist. john's vorschlag ist super, allerdings kennt hier noch niemand deine anlage so das man dazu keine wirkliche aussage machen kann. wichtig ist erstmal das du anfängst und deine eigenen erfahrungen machst, und da bist du auf dem richtigen weg. der rest kommt später.

ich selbst habe es nicht wie john gelöst sondern den schaltkontakt zum brenner durch ein relais geschliffen und die solltemperatur am kessel hoch gedreht, in einen bereich der niemals erreicht wird. dadurch ist die sicherheitskette voll im betrieb und ich sage jetzt wann der brenner zu starten hat und wie hoch die hysterese sein soll. allerdings hängt damit die wärmeerzeugung jetzt von meiner eigenen steuerung ab. es gab aber in 6 jahren nie ausfälle. ok, den mit der neuen mischersteuerung vergessen wir einfach mal.

dein kessel ist 30 jahre alt? willkommen im club. meiner wird 35 und läuft super. vor 2 jahren habe ich allerdings den gelb- durch einen raktenbrenner ersetzt. dadurch haben wir jetzt einen feuerungstechnischen wirkungsgrad von knapp 95%. eine neue brennwertanlage würde sich innerhalb meiner lebenszeit nicht mehr bezahlt machen. es geht jetzt nur noch darum den anlagenwirkungsgrad nach oben zu schrauben, s. john's anlage. denn da holst du echtes geld bei gleichzeitigem komfort und gesundheitsfreundlichem klima (feuchte-kontrolle).

kannst auch mal lesen was dieser kollege hier als empfehlung zu alten kesseln schreibt: http://www.farago.info/job/Heizungsanlage/Fuenfte_Vorlesung.pdf

dein vorhaben könntest du erstmal mit einem herkömmlichen thermostatschalter realisieren. wenn du schon bei fhem bist, würde ich, wenn du erste erfolge verbuchen kannst, schauen das du die ventilstellung der heizungsregler dazu verwendest um die pumpe zu steuern. ist dann nur noch eine fhem geschichte.

harry
--------------------------------------------------------------------
- fhem & fhz1300 & hm lan an raspberry an fritzbox 5140 an whs2011
- 5 fht; 2 HM-TC-IT-WM-W-EU 3, 1 x fs20 funkdosen; 3 hm funkdosen
- heizungsteuerung mit c-control station & fht8w
- rolladensteuerung phc 950 jr (voll doof)

Fritz Muster

ich gehe davon aus, das es durchaus eine Vielzahl von Lösungsvarianten für die Art der Aufgabe gibt. Mein Ziel ist es aber, eine programmier-technische Lösung mit den bereits vorhandenen Zutaten umzusetzen, da diese bereits verfügbar/nutzbar sind.

Meine Idee grob skizziert wäre:

1. Stetig mit OldValue die VorlaufTemp (rote Kurve im Plot) vergleichen
2. Wenn die VorlaufTemp über einen Zeitraum von 2 Stunden stets gesunken ist den Aktor auf 0 setzen.
3. Den Aktor dann erst wieder auf 1 setzen wenn der Vorlauf eine Temp von 30°C hat.

Die Frage ist nun, kann man das überhaupt programmieren , und wenn ja, wie (programmier-technisch) im Detail

Ich lege mal den Plot meiner TempKurven mit in den Anhang, vielleicht hilft es ja weiter.

Grüße
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

oviwan

die kesselsteuerung fährt nach aussentemperatur? und du hast demnach keinen mischer. und ne statische hysterese.

keine ahnung wie ich jetzt eine fallende flanke mit fhem auswerte (das müsste ich mir jetzt auch anlesen), aber warum nicht erstmal die die schaltpunkte in einen sicheren bereich legen?

- wenn VL temp > 35°C dann pumpe ein
- wenn VL temp < 30°C dann pumpe aus

und dann mit diesen werten spielen. wenn du 2 std. lang auf die fallende VL temp achtest, brächte das ertsmal keinen vorteil.

sorry, code müsste ich mir jetzt auch zusammen suchen, so stehfest bin ich in fhem noch nicht.

harry
--------------------------------------------------------------------
- fhem & fhz1300 & hm lan an raspberry an fritzbox 5140 an whs2011
- 5 fht; 2 HM-TC-IT-WM-W-EU 3, 1 x fs20 funkdosen; 3 hm funkdosen
- heizungsteuerung mit c-control station & fht8w
- rolladensteuerung phc 950 jr (voll doof)

Fritz Muster

#12
2 mal Ja und 1 mal Nein!

Regelung AT geführt, kein Mischer und Hysterese ist dynamisch (von 10K bei +15°C bis 4K bei -15°C)

Daher wird

Zitat- wenn VL temp > 35°C dann pumpe ein
- wenn VL temp < 30°C dann pumpe aus

aus meiner Sicht nicht funktionieren, da sich die VorlaufTemp je nach Außentemp. verschiebt.

Zitatsorry, code müsste ich mir jetzt auch zusammen suchen, so stehfest bin ich in fhem noch nicht.

Trotzdem Danke!
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

John

Hallo Fritz Muster

noch eine Überlegung, die du bedenken solltest.

FHEM ist ein dynamisches System, das von Profis und Laien programmiert wird.
Ich werde nur Dinge von FHEM automatisieren lassen,  die eine geringe Kritizität haben.

Nehmen wir folgendes Szenario an:
* du machst einen FHEM Update
* ein Programmierer hat einen Fehler gemacht, der sich erst morgen Abend bemerkbar macht
* FHEM steuert deine Heizungspumpe und es ist bitter kalt
* am nächsten morgen fährst du mit deiner Familie in den Winterurlaub
* am Abend fällt FHEM aus (mit deaktivierter Pumpe)

Dein Haus fängt an zu frieren.

Die Heizungspumpe abzuschalten ist ein kritischer Vorgang.


John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Prof. Dr. Peter Henning

Aus genau diesem Grund sind alle meine wichtigen Systeme autonom und werden von FHEM nur zusätzlich gesteuert.

LG

pah

Fritz Muster

#15
@pah und John
meine Lösung soll natürlich auch autonom laufen. Soll heißen die Hoheit der Pumpensteuerung soll nach wie vor die Heizungsregelung haben. FHEM soll nur in Form einer Oder Verknüpfung die Pumpe schalten können. Ich hänge mal ein Schaltplan an, wie ich mir das vorstelle.

Allerdings habe ich mich rangewagt und das Brenner Signal angezapft. Das bedeutet ich möchte die Heizungspumpe einschalten wenn entweder die Heizungsregelung das macht, oder FHEM (Brenner EIN und Temp im Heizkreis erreicht).

Der Ablauf ist dann folgendermaßen:

- Wert aus der Heizkurve wird kontinuierlich mit Hilfe von Oldvalue verglichen ob er fällt
- Wenn der Wert über einem Zeitraum von beispielsweise 2 Stunden stets gefallen ist soll der Schaltaktor auf 0 gesetzt werden
- Wenn der Brenner nun startet und die Temp im Heizkreislauf größer 25 ist, soll der Schaltaktor auf 1 gehen

Daher nochmal meine Bitte, ob mir jemand helfen kann das programmiertechnisch zu realisieren.

Danke und Grüße
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

John

#16
Hallo Fritz Muster,
deine Schaltung verstehe ich offen gesagt nicht.

Du willst doch einfach ein weiteres Einschaltkriterium hinzufügen. Damit sollte ein Öffner angesteuert durch den Schaltaktor reichen.
Somit kannst du mit dem Schaltaktor die Einschaltung der Pumpe verhindern.

Wenn du die Zeit kennst,  die dein Brenner benötigt, um das Heizwasser auf Betriebstemperatur zu bringen, brauchst du ja eigentlich keine Temperaturen, zumal du ja mittlerweile das Signal Brenner EIN hast.

Nachfolgend eine Lösung auf Basis der LOGO (siehe Anhang)

Der Ablauf wäre dann wie folgt (ohne Temperaturen): (orientiert sich am Schema im Anhang)

       
  • Wenn Brenner länger als 1h (oder andere Zeit) nicht aktiv war, dann wird die verzögerte Einschaltung (VZE) für HK-Pumpe.OUT aktiviert
  • Wenn VZE UND Brenner.EIN UND HK-Pumpe.IN,dann Einschaltverzögerung für HK-Pumpe.OUT aktivieren, andernfalls HK-Pumpe.OUT, gemäß HK-Pumpe.IN ansteuern.
Im Schema ist auch noch die Variante mit den Temperaturen berücksichtigt. Du kannst prinzipiell alles was in FHEM bekannt ist auch zur LOGO transferieren.
Die Logo ist auch in der Lage die Aktualität der Werte zu überprüfen und ggf auf eine Fallback-Strategie auszuweichen (Falles FHEM nicht verfügbar ist und somit die Temperaturwerte nicht aktuell sind)

Der Einwand von oviwan ist richtig. Wie willst du die Temperatur im Vorlauf als Abbild der Kesseltemperatur erfassen, wenn du gleichzeitig die HK-Pumpe abschaltest. Das kann nicht funktionieren. Du bräuchtest einen Fühler direkt im Kessel selbst, der unabhängig von der Pumpe zu einer realistischen Temperatur kommt.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Fritz Muster

Hallo John,

danke für den Hinweis bzgl. "weg von der Tempkurve hin zum Brennerstatus"  :D Du hast vollkommen recht, über den Brennerstatus geht es viel einfacher. Werde mal in diese Richtung weiterdenken.

Die Schaltung ist, wie ich finde, recht simpel. Der linke Teil ist der "automone" Teil, soll heißen hier steuert die Heizungsregelung die Pumpe wie in ihrer ursprünglichen Funktion. Dieser Teil ist in der normalen Betriebszeit aktiv (Brenner An/Aus im zyklischen Takt). Sollte FHEM nicht funktionieren, wird die Pumpe trotzdem geschaltet.

Der rechte Teil ist die Erweiterung zur einmaligen Steuerung der Pumpe nach Brennerstillstand. D.h. wenn der Brenner über längere Zeit abgeschaltet und dann eingeschaltet wird, wird die Pumpe aber erst eingeschaltet, wenn FHEM den Schaltaktor betätigt. Auch hier ist eine Pumpenfunktion gegeben, sollte FHem nicht laufen (Dann ist der Schaltaktor 0 und die Heizungsregelung steuert die Pumpe s.o.)

Leider muss ich Dir und auch oviwan wiedersprechen. Meine VL Temp. steigt sehr wohl, obwohl die Pumpe nicht läuft. In der Verrohrung der Anlage sind keine Termosiphons drin. Kann man an dem Plot den ich angehängt habe sehr gut sehen. Da wird gerade Brauchwasser erwärmt (mit Vorrangschaltung) und die VL Temp steigt trotz abgeschalteter HK Pumpe.
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus