Hallo! ich möchte den Mischer an meiner Heizungsanlage gerne selbst regeln. Der Mischermotor kann über ein PWM-Signal stufenlos von 0-100% gesteuert werden. Ein einfacher PID-Regler funktioniert soweit, Nachteil ist die Verzögerung der Temperaturänderung zwischen Regler und Vorlauftemperatursensor. Das macht sich insbesondere beim Ausregeln von Sprüngen durch ein Nachschwingen bemerkbar, die Regelgeschwindigkeit ist doch recht träge. Der Mischer selbst hat grob betrachtet eine lineare Kennlinie, darüber könnte ich mittels (Vorlauf_Soll - Rücklauf_Ist) / (Vorlauf_Kessel - Rücklauf_Ist) den erforderlichen Öffnungsgrad berechnen. Da ich die genaue Kennlinie allerdings nicht kenne, bleibt hier auch eine Abweichung. Wie könnte ich beide Verfahren kombinieren, also aus der Kennlinie den ungefähren Öffnungsgrad bestimmen und den Rest per PID? Danke & Gruß Gerhard
Beitrag #7334315 wurde von einem Moderator gelöscht.
Niemand schrieb im Beitrag #7334315: > Du bist dir bewusst dass Heizunfgsmischer nicht für dauernachstellen > gebaut sind? Was heisst denn hier konket "Dauernachstellen"?
P-, I- und D-Anteil sind schon mehrfach iterativ optimiert, trotzdem überzeugt die Reglerperformance nicht, ohne dass das System schwingt. Die Totzeit ist einfach zu hoch (Rohranlegefühler) und die Strecke Mischer bis Sensor eher PT2 als PT1. Der Mischermotor ist mit 50% ED angegeben, davon bin ich noch weit entfernt. Der Regler hat aktuell eine Zykluszeit von 5s.
Beitrag #7334385 wurde von einem Moderator gelöscht.
Das was du suchst nennt sich Vorsteuerung. Die kann man parallel zum Regler auf die stellgröße geben.
> Das was du suchst nennt sich Vorsteuerung. Die kann man parallel > zum Regler auf die stellgröße geben. Danke, das habe ich gesucht! :-)
Gerhard A. schrieb: > Danke, das habe ich gesucht! :-) Dann kannst du ja auch mal nach Smith-Predictor suchen. Lässt sich auch kombinieren. Niemand schrieb im Beitrag #7334385: > Nicht der Motor, die Dichtungsringe vom Schieber sind heikel. Guter Punkt. Also Regler nach Stellgröße optimieren, z.B. dass sie auf einem Sprung mit einer e-Kurve reagiert anstatt zu schwingen. Spart Energie und erhöht die Lebensdauer. In der Regelungstechnikvorlesung oft vernachlässigt, ist in der Praxis aber sehr relevant.
Wenn du eine Aufzeichnung der Sprungantwort rein stellen könntest, ließe sich das Ganze mal simulieren.
Versuchs doch mal mit KI. Vielleicht kommt ja was gutes bei rum^^ Zeichne mal die Sprungantwort auf. Dann kann man schon mal ein näherungsweises Modell aufstellen und rumsimulieren
> Also Regler nach Stellgröße optimieren, z.B. dass sie auf einem Sprung > mit einer e-Kurve reagiert anstatt zu schwingen. Genau, das ist das Ziel. Eine schnelle, asymptodische Annäherung an den Zielwert mit einer Regelabweichung von +/-2K ist völlig i.O. und mir auch lieber als dass der Mischer überschwingt und sich einpendelt. Muss mal schauen wie ich da eine saubere Sprungantwort aufzeichnen kann, da ja der Zulauf zum Mischer nicht konstant ist sondern der Kesseltemperatur folgt. Erklärt aber warum es eher nach PT2 aussieht: Kessel PT1, Rohrstrecke PT1. Die Frage, die ich mir stelle: Muss ich überhaupt regeln oder ließe sich das auch nur steuern, wenn die Regressionsfunktion Mischerposition zu Zulauf, Vorlauf-Soll und Rücklauf-Ist ermittle? Eine reine Steuerung über Mischerposition = (Vorlauf_Soll - Rücklauf_Ist) / (Vorlauf_Kessel - Rücklauf_Ist) ergibt ein schwingendes Gesamtsystem.
Gerhard A. schrieb: > Erklärt aber warum es eher nach PT2 aussieht: > Kessel PT1, Rohrstrecke PT1. Die Rohrstrecke ist kein PT1, sondern primär eine Verzögerung. Die Sprungantwort sieht völlig anders aus. Allenfalls bekommst du über das Strömungsprofil und die thermische Masse des Rohres einen parallelen PT1-Anteil.
Eine sich optimierende Steuerung würde vielleicht auch reichen. Ich kenne deinen Aufbau nicht, denke aber dass der Mischer zwei Eingänge hat. Der eine Eingang bekommt das Wasser vom Kesselausgang mit TKessel und der andere das Wasser vom Rücklauf, das nicht durch den Kessel geht, mit TRücklauf. Das Rücklaufwasser wird vor dem Kessel aufgeteilt. Ein Teil geht direkt an den Mischer und der andere durch den Kessel. Die Aufteilung wird als konstant angenommen. Das Wasser, das aus dem Mischer kommt hat die Temperatur TMischer. Sie ist jetzt nur abhängig von TKessel und TRücklauf und von dem konstanten Rücklaufaufteilungsverhältnis. Die Stellung des Mischers kann mit diesen Werten berechnet werden. Wenn sich im Betrieb eingeschwungene Zustände zeigen wird TMischer, TKessel, TRücklauf und die Mischerstellung in einer Tabelle abgelegt. Aus den aufgezeichneten Werten können dann Korrekturwerte ermittelt werden. Problematisch sind die Anlegefühler. Sie sollten möglichst eine gleiche Trägheit aufweisen oder die Trägheit eines jeden Sensors (mit Rohr) muss ermittelt werden und kann dann rechnerisch kompensiert werden.
> Die Rohrstrecke ist kein PT1, sondern primär eine Verzögerung. Die > Sprungantwort sieht völlig anders aus. Allenfalls bekommst du über das > Strömungsprofil und die thermische Masse des Rohres einen parallelen > PT1-Anteil. Bei 1" Stahlrohr schwarz mit Rohranlegefühler dominiert aber doch der PT1-Anteil und ist verantwortlich für die Verzögerung. Strömungsgeschwindigkeit ca. 0,5m/s, Abstand Mischer-Rohranlegefühler ca. 20cm. Wobei, in einer Tauchhülse paar cm weiter ist der Temperaturverlauf fast identisch.
Noname schrieb: > Die > Aufteilung wird als konstant angenommen. Stimmt natürlich nicht, sie ist abhängig von der Mischerstellung. Mit der Mischerstellung xE[0...1] gilt dann: Tout = x*Twarm + (x-1)*Tkalt
> Mit der Mischerstellung xE[0...1] gilt dann: > Tout = x*Twarm + (x-1)*Tkalt Pi*Daumen. Die Kennlinie ist nicht linear. Ist ein 4-Wege Mischer, Kesselvorlauf, Kesselrücklauf, Heizungsvorlauf, Heizungsrücklauf. Kessel ist ein Niedertemperaturöler, kein Tieftemperatur. Heizkreislauf sind großzügig dimensionierte Flachheizkörper. Dadurch reicht eine niedrige Vorlauftemperatur. Die geringe thermische Trägheit im Vergleich zu den alten Rippenheizkörpern erfordert natürlich eine geringere Schwankung wenn man keinen Wechseljahrsimulator haben will. > Wenn sich im Betrieb eingeschwungene Zustände > zeigen wird TMischer, TKessel, TRücklauf und die Mischerstellung in > einer Tabelle abgelegt. Es gibt keine eingeschwungenen Zustände, TKessel ändert sich periodisch (Brennerzyklen), TRücklauf ändert sich mit zeitlicher Verzögerung zu TMischer. Wie kann man eigentlich einen PID-Regler im lfd. Betrieb anhand den Messwerten optimieren? Gibt es da ein einfaches Verfahren, das lfd. angewendet werden kann und das ich 30 Jahre nach der letzten Regelungstechnikvorlesung auch noch verstehe? :) TKessel und TRücklauf wären doch eigentlich Störgrößen, die bekannt sind. Daher die Überlegung mit der Vorsteuerung. Die Vorsteuerung müsste sowohl die Mischerkennlinie abbilden als auch die zeitliche Verzögerung zu TMischer.
> Dann kannst du ja auch mal nach Smith-Predictor suchen. > Lässt sich auch kombinieren. Kurze Verständnisfrage hierzu (mit dem was ich so finden konnte und diesem Bild https://de.wikipedia.org/wiki/Datei:Smith_Predictor.png): Die Mischerkennlinie wäre dann meine totzeitfreie Übertragungsfunktion. Diese würde dann zum Sensorwert hinzurechnen und das Ergebnis der Übertragungsfunktion entsprechend verzögert davon abziehen um daraus den Istwert für den Regler zu berechnen?
Bisher hat der PID-Regler ja nur TMischer, nach der er einen neuen Stellwert berechnet. Wenn sich jetzt auch noch TKessel laufend ändert kann ja sein berechneter Stellwert nicht stimmen. Hast du den Regler in einem Mikrocontroller programmiert oder ist es einer, bei dem nur noch die Parameter eingestellt werden können? Wenn du den Regler selbst programmiert hast, kannst du alles berücksichtigen. Dann wäre auch eine Zeichnung des Systems mit allen Sensoren, die man verwenden könnte sinnvoll.
Zeichnung kann ich heute Abend mal erstellen, als Sensoren stehen Temperaturfühler für Kesseltemperatur, Heizungsvor- und Rücklauf zur Verfügung. Abgastemperatur oder WW-Speicher dürften uninteressant sein. Mischermotor ist ein Servoantrieb mit 0-100% per PWM. Den Regler habe ich in einem uC (ESP32) implementiert, also vollen Zugriff auf Algorithmus und Parameter. Deshalb versuche ich ja herauszufinden, wie ich die Störgröße TKessel gut einbinden kann damit es der Regler einfacher hat.
Gerhard A. schrieb: > Die Mischerkennlinie wäre dann meine totzeitfreie Übertragungsfunktion. Ich denke dass der Mischer sehr schnell seine Position erreicht. Die Kennlinie hat dann keine Totzeit. Wenn du aber eine Sprungantwort von deiner Regelstrecke aufzeichneichnest und dort siehst, dass erst mal 4s nichts passiert und dann das System mit einer PT1-Sprungantwort antwortet, dann wären die 4s die Totzeit und die PT1-Antwort dein G(s). Dies ist nur ein Beispiel und wird bei dir nicht so sein. ESP32 lese ich gerne. Dann kannst du ja richtig loslegen. Lässt du dir die Messwerte am seriellen Plotter der Arduinoumgebung anzeigen oder speicherst du sie auf einer SD-Karte ab? Hast du schon mal versucht den Stellwert des Mischers zu schätzen? Dies wäre einen Versuch wert, da du dabei alle deine Sensorwerte mit einbeziehen könntest und nur dann einen Stellwert ausgeben müsstest, wenn TMischer zu stark von deiner Solltemperatur abweicht. Der Algorithmus wäre dann: LOOP: Sensorwerte erfassen Schätzung überprüfen (Ist die Temperatur so stark angestiegen wie gedacht?) neue Stellgröße (Mischerstellung) schätzen Stellgröße ausgeben x Sekunden warten GOTO LOOP x nicht zu klein wählen, da das System erst reagieren muss. In der Schätzung würde ich die Mischergleichung verwenden. Je näher du an die Solltemperatur kommst, je kleiner müssen dann die Stellgrößenänderungen werden. Das Gesamtsystem (ganze Heizungsanlage) ist ziemlich träge, so dass keine Sprünge zu erwarten sind und man sich langsam rantasten kann.
> Ich denke dass der Mischer sehr schnell seine Position erreicht. Mischerlaufzeit (0-100): 60s. > ESP32 lese ich gerne. Dann kannst du ja richtig loslegen. Lässt du dir > die Messwerte am seriellen Plotter der Arduinoumgebung anzeigen oder > speicherst du sie auf einer SD-Karte ab? Nein, alle Werte gehen über einen MQTT-Broker in eine SQL-DB. Reglerparameter kann ich zur Laufzeit ebenfalls per MQTT ändern. Bin zu faul jedesmal 2 Stockwerke in den Keller zu laufen. > Hast du schon mal versucht den Stellwert des Mischers zu schätzen? Ja, siehe Eingangspost: (Vorlauf_Soll - Rücklauf_Ist) / (Vorlauf_Kessel - Rücklauf_Ist). Da sich die Rücklauftemperatur mit ein wenig Verzögerung ebenfalls ändert sorgt eine reine Steuerung über diese Formel für ein schönes Schwingen. Durch die Einbeziehung der Rücklauftemperatur ist das ja automatisch eine Closed Loop die halt auch Schwingen kann. Aber über den Smith-Prädikator sollte es möglich sein, die Temperaturänderung am Sensor vorherzusagen und damit den PID-Regler zu optimieren. > Das Gesamtsystem (ganze Heizungsanlage) ist ziemlich träge, so dass > keine Sprünge zu erwarten sind und man sich langsam rantasten kann. Eben nicht. Der Kessel ist mit seinen 18-20kW deutlich überdimensioniert zur Gebäudeheizlast. Demzufolge steigt die Kesseltemperatur in max. 5min von 20° auf 60°. In der Nähe der Heizkörper merkt man einen Temperaturhub von 5K deutlich.
Gerhard A. schrieb: >> Das Gesamtsystem (ganze Heizungsanlage) ist ziemlich träge, so dass >> keine Sprünge zu erwarten sind und man sich langsam rantasten kann. > Eben nicht. Der Kessel ist mit seinen 18-20kW deutlich überdimensioniert > zur Gebäudeheizlast. Demzufolge steigt die Kesseltemperatur in max. 5min > von 20° auf 60°. Na und? Den Vierwegemischer auf eine konstante Ausgangstemperatur zu regeln, ist ziemlich trivial, dafür braucht es keine mathematischen Berechnungen. Wenn die mal für einige zehn Sekunden überschwingt, interessiert das nicht. Bei mir sitzt ein Anlegefühler am Eingang der Heizkreisverteilers, der Mischer fährt alle paar Sekunden hin oder her. Das ist eine serienmäßige Regelung von Klöckner, die das gut kann. Das Problem ist, die Höhe der Vorlauftemperatur zu bestimmen, weil die Fußbodenheizung extrem träge reagiert. Wenn die zu hoch wird, kannst Du die nächsten 24h Fenster aufmachen, bei zu niedrig ist es erst am nächsten Tag wieder mollig warm.
> Das ist eine serienmäßige Regelung von Klöckner, die das gut kann. Freut mich für dich, wenn die das kann. Konnte die alte Viessmann-Regelung auch. Bis sie abgefackelt ist. > Na und? Den Vierwegemischer auf eine konstante Ausgangstemperatur zu > regeln, ist ziemlich trivial, dafür braucht es keine mathematischen > Berechnungen. Dann lass' mal hören. Ich scheitere leider am popeligen Parameterisieren des PID-Reglers. > Das Problem ist, die Höhe der Vorlauftemperatur zu bestimmen, weil die > Fußbodenheizung extrem träge reagiert. Wenn die zu hoch wird, kannst Du > die nächsten 24h Fenster aufmachen, bei zu niedrig ist es erst am > nächsten Tag wieder mollig warm. Habe zwar nur Heizkörper (mit deaktivierter ERR) konnte aber mit bisschen linearer Regression und den Messdaten eine sehr gut passende Heizkurve bestimmen.
Gerhard A. schrieb: > Wie könnte ich beide Verfahren kombinieren, also aus der Kennlinie den > ungefähren Öffnungsgrad bestimmen und den Rest per PID? Stellgröße= Offset + delta Der Ausgang des Reglers ist delta. Wenn die Stellgröße zwischen 0,3 und 1 ist könnte man Offset auf 0,65 legen. Wenn man Offset ändert, muss Kp, Ki und Kd wieder neu bestimmt werden. Mit einer Störgrößenaufschaltung kann man den Einfluss der Änderung von Twarm berücksichtigen. Die Änderung wird dann vom Regler sofort berücksichtigt. error= Tsoll - TMischerout - Kw*Twarm Gerhard A. schrieb: > Ja, siehe Eingangspost: (Vorlauf_Soll - Rücklauf_Ist) / (Vorlauf_Kessel > - > Rücklauf_Ist). Man muss sich dem Sollwert annähern, daher nur ca. 90% vom berechneten Wert nehmen und beim abkühlen 110% vom berechneten Wert. Wenn man nah am Sollwert ist nur noch in kleinen Schritten die Stellgröße in die richtige Richtung ändern (wirkt sich wie ein I-Anteil beim Regler aus). Bevor wieder eine neue Stellgröße ausgegeben wird muss die Änderung im letzten Intervall bewertet werden und für die Schätzung herangezogen werden. Gerhard A. schrieb: > Nein, alle Werte gehen über einen MQTT-Broker in eine SQL-D Super, kannst du eine Grafik mit -Solltemperatur -Mischerausgangstemperatur -Kesseltemperatur -Rücklauftemperatur -Mischerstellung posten? In der wird man dann eher sehen was schief läuft und wo die Grenzen des Systems sind. Bei den Reglersignalen ist mir aufgefallen dass out nicht die Summe aus P- I- und D-Anteil ist. Der I-Anteil scheint sehr dominant zu sein. Also fast ein reiner I-Regler.
> Mit einer Störgrößenaufschaltung kann man den Einfluss der Änderung von > Twarm berücksichtigen. Ja, ich glaube da habe ich beim Reglerentwurf absolut gepennt :-D Der I-Anteil ist deshalb dominant, da nur so der Regler halbwegs stabil wurde. Größere P-Anteile und es schwingt. Ist ja auch logisch, durch die schwankende Kesseltemperatur machen 5% mehr Öffnungsgrad mal mehr und mal weniger aus. Anbei eine neue Grafik, Result = Mischeröffnung. Grüne Kurve wäre die theoretische Ausgangstemperatur am Mischer nach der Formel x*a+(1-x)*b und linearem Zusammenhang zwischen Öffnungsgrad durch Durchfluss. Die Mischerkennlinie entspricht aber eher y=-2,1x³+3,1x²-0,01x-0,02. Daten sind schon paar Tage älter, da war es kalt genug die Ölheizung wieder anzuschmeißen. Lasse die zum Test dann immer gegen den Warmwasserspeicher als Loaddummy laufen, daher die höheren Temperaturen. Habe nun also Soll-Mischeröffnung + Totzeit (Mischerlaufzeit?) + Strecke (PT1) und könnte damit Pi*Daumen den Wert am Sensor vorhersagen und auf die Differenz zum tatsächlichen Messwert nachregeln.
Du solltest! deine Zahlenwerte in y Richtung besser anpassen!! Mit solchen Diagrammen kann ja niemand etwas anfangen!
Wenn die Boilertemperatur steigt, sieht man, dass der Mischer viel zu lange offen bleibt. Dies liegt am I-Anteil. Auch hier ist der Einfluss von P-Anteil und D-Anteil des Reglers wieder nicht in Result zu sehen. Entweder stimmt deine Reglergleichung nicht oder es liegt an der Skalierung. Wenn es wieder kälter wird solltest du mal nur einen P-Regler nehmen und den so einstellen, dass er noch nicht schwingt und folgende Werte posten: Noname schrieb: > -Solltemperatur > -Mischerausgangstemperatur > -Kesseltemperatur > -Rücklauftemperatur > -Mischerstellung Mit dem I-Regler wird das so nichts. Welche Temperatursensoren verwendest du eigentlich und wie oft werden die abgefragt?
D-Anteil schon mal weglassen, das ist kein hochdynamisches System.
Das Grundproblem ist, daß die Regelung keine statische Auslegung hat, weil T-Vorlauf (Kesselwasser kühlt ab), T-Rücklauf (Heizlast) und Durchflußmenge (Heizlast, geregelte Pumpe) sich ändern können. Vermutlich ist auch die Reaktionszeit des Systems von der Durchflußmenge abhängig. Beim P-Anteil eine "Ausschlagsbegrenzung" einbauen, damit kein starkes Übersteuern stattfinden kann. Starte mal mit Kd=0 und Ki=0,2 x Kp. Vom Gefühl her müßte die Regelung eigentlich besser als 1K arbeiten können.
> Wenn die Boilertemperatur steigt, sieht man, dass der Mischer viel zu > lange offen bleibt. Dies liegt am I-Anteil. Auch hier ist der Einfluss > von P-Anteil und D-Anteil des Reglers wieder nicht in Result zu sehen. > Entweder stimmt deine Reglergleichung nicht oder es liegt an der > Skalierung. Ja, I dominiert, da ein reiner P-Regler bereits ab kp > 2 zu schwingen beginnt. Regler wurde eingestellt in dem zunächst kp erhöht wurde, bis es schwingt, dann kp etwas zurück, dann ki bis er wieder schwingt, dann kd. > Mit dem I-Regler wird das so nichts. Ja, daher werde ich das ganze in Richtung modellbasierte Steuerung o.ä. umbauen bei der ggf. nur noch der Fehler zwischen Modell und Realität ausgeregelt wird. Tkessel hat ja einen signifikanten Einfluss auf die Strecke, warum also nicht berücksichtigen? > Welche Temperatursensoren verwendest du eigentlich und wie oft werden > die abgefragt? DS18B20, Abfragezyklus 5s mit Moving Median Filter über 6 Werte.
Gerhard A. schrieb: > Der Regler hat aktuell eine Zykluszeit von 5s. Gerhard A. schrieb: > DS18B20, Abfragezyklus 5s mit Moving Median Filter über 6 Werte. Kannst du die DS18B20 auch jede Sekunde abfragen und über 5 Werte mitteln? Die Sensoren sind so schon recht träge und werden durch die Mittelung noch träger. Sind die Sensoren im TO92-Gehäuse? Wie hast du sie am Rohr befestigt um einen kleinen thermischen Übergangswiderstand zu erzielen? Der Mischer braucht schon lange um auf den Stellwert zu kommen und dann noch Temperaturmessungen die ewig hinterher hängen. Das muss ja schwingen. Gerhard A. schrieb: > Ja, daher werde ich das ganze in Richtung modellbasierte Steuerung o.ä. > umbauen bei der ggf. nur noch der Fehler zwischen Modell und Realität > ausgeregelt wird. Tkessel hat ja einen signifikanten Einfluss auf die > Strecke, warum also nicht berücksichtigen? Du musst erst mal deine Regelstrecke kennenlernen. Vieles kann man aus dem Versuch mit dem reinen P-Regler, der gerade noch nicht schwingt, aus der Aufzeichnung raus lesen. Wenn die Strecke bekannt ist, ist der passende Regler schnell programmiert. Mach aber erst deine Temperaturmessung schneller. svensson schrieb: > Vom Gefühl her müßte die Regelung eigentlich besser als 1K arbeiten > können. Vielleicht nicht 1K, aber doch viel viel besser als jetzt.
> Das Grundproblem ist, daß die Regelung keine statische Auslegung hat, > weil T-Vorlauf (Kesselwasser kühlt ab), T-Rücklauf (Heizlast) und > Durchflußmenge (Heizlast, geregelte Pumpe) sich ändern können. > Vermutlich ist auch die Reaktionszeit des Systems von der Durchflußmenge > abhängig Jup, wobei die Reaktionszeit Mischer - Vorlaufsensor weniger von der Durchflußmenge abhängt als die Reaktionszeit Vorlaufsensor - Rücklaufsensor. > Beim P-Anteil eine "Ausschlagsbegrenzung" einbauen, damit kein starkes > Übersteuern stattfinden kann. Bei niedriger Differenz zwischen Kessel und Vorlaufsoll brauche ich mehr Mischeröffnung als bei hoher Differenz. Aber ich kann Vorlauf einigermaßen Vorhersagen, da ich die Größen Kesseltemperatur, Rücklauftemperatur und Mischerkennlinie kenne. Das könnte ich natürlich auch als Anschlagsbegrenzung nehmen. Ziel ist ja nicht die hochgenaue Ausregelung der Vorlauftemperatur, da sind +/- 1K egal, Ziel ist vielmehr das Ganze mit wenig Mischerbewegung zu erreichen. Werde das Ganze mal in Richtung modellbasiert umbauen. > Der Mischer braucht schon lange um auf den Stellwert zu kommen und dann > noch Temperaturmessungen die ewig hinterher hängen. Der Messwert entspricht dem Kontrollwert eines Thermoelements geringer Trägheit. Die Trägheit kommt also vom Rohr, nicht von der Anbindung der Sensoren oder deren Filterung.
> Abfragezyklus 5s mit Moving Median Filter über 6 Werte. Das sind dann ja 30 Sekunden. Nimm' mal den direkten Wert und vermindere Kp und Ki auf jeweils 1/5. > Bei niedriger Differenz zwischen Kessel und Vorlaufsoll brauche ich mehr Mischeröffnung als bei hoher Differenz. Dann ermittle Kp mal für die maximale Spreizung Kesseltemp - Rücklauftemp. Dann hat Kp den unteren "Grenzwert" für die Öffnung. Die restliche Annäherung muß dann über Ki erfolgen. > Ziel ist ja nicht die hochgenaue Ausregelung der Vorlauftemperatur, da > sind +/- 1K egal, Ziel ist vielmehr das Ganze mit wenig Mischerbewegung > zu erreichen. Dann baue eine "Hysterese" ein. Z.B. wenn Meßwert = Sollwert +/- 2K, dann ändere nichts an der Mischerstellung. So verhindert man, daß sich Miniabweichungen aufsummieren. Das geht zwar zu Lasten der Genauigkeit, dürfte aber der Lebenserwartung der Mischer zuträglich sein. > Vielleicht nicht 1K Sag' das nicht: Ich habe Kühlwasseregler, die ähnlich aufgebaut sind, die halten die Temperatur auf +/- 0,3K konstant ohne viel Heckmeck.
Läuft eigentlich die Umwälzpumpe, wenn der Kessel feuert? Wenn die Heizungssteuerung die Pumpe abschaltet (das kommt wohl relativ häufig vor), dann muß das auch irgendwie an Deine Mischerregelung weitergemeldet werden, weil sonst der Mischer über- oder untersteuert. Gleiches gilt evtl. für die Warmwasserbereitung.
> Das sind dann ja 30 Sekunden. Nein, max. 15s. Der spuckt alle 5s den Median der letzten 6 Messungen aus. Selbst bei starker Temperaturänderung ist der Temperaturverzug durch den Filter im Nachkommabereich. Dämpft dafür gut das Zappeln der DS18B20. > Dann ermittle Kp mal für die maximale Spreizung Kesseltemp - > Rücklauftemp. > Dann hat Kp den unteren "Grenzwert" für die Öffnung. Die restliche > Annäherung muß dann über Ki erfolgen. So entstanden ja die aktuellen Reglerwerte. > Dann baue eine "Hysterese" ein. Z.B. wenn Meßwert = Sollwert +/- 2K, > dann ändere nichts an der Mischerstellung. So verhindert man, daß sich > Miniabweichungen aufsummieren. Das geht zwar zu Lasten der Genauigkeit, > dürfte aber der Lebenserwartung der Mischer zuträglich sein. Ebenso bereits implementiert wie eine Mindeststellwertänderung bevor überhaupt ein anderer Stellwert ausgeben wird. > Sag' das nicht: Ich habe Kühlwasseregler, die ähnlich aufgebaut sind, > die halten die Temperatur auf +/- 0,3K konstant ohne viel Heckmeck. Schwankt dort dort auch was so wie die Kesseltemperatur? > Läuft eigentlich die Umwälzpumpe, wenn der Kessel feuert? Ja, die läuft bei Heiz- oder Warmwasserbetrieb ständig. Volumenstrom ist sichergestellt. > Wenn die Heizungssteuerung die Pumpe abschaltet (das kommt wohl relativ > häufig vor), dann muß das auch irgendwie an Deine Mischerregelung > weitergemeldet werden, weil sonst der Mischer über- oder untersteuert. Die originale Heizungssteuerung gibt es nicht mehr, die hat ihr Leben mit dem Magic Smoke beendet. Aber der Fall, dass ohne laufende Pumpe der Mischer nicht regelt, ist berücksichtigt. Genauso wenn unterhalb der Kesselsockeltemperatur der Mischer zwecks Kondensationsschutz zufährt, dann wird der I-Anteil eingefroren.
> Schwankt dort dort auch was so wie die Kesseltemperatur? Ja, die Sole ist auch nicht konstant. Allerdings sind die Wärmetauscher überdimensioniert. Wie groß ist denn die Hysterese bei dem Kessel? Die untere Einschalttemperatur des Kessels ist hoffentlich größer als die Solltemperatur? Wenn ich mir die Grafik ansehe, dann hast Du einen Fehler von ca. -7K bis 7K, das sind 15K! Mir scheint der P-Anteil eher etwas zu niedrig und der I-Anteil ist viel zu groß. I macht ja fast das gesamte Resultat aus - das ist ja ein reiner I-Regler... Baue zudem mal untere und obere Grenzen für Sum(I) ein, denn I liegt ja teilweise 10fach über dem P. Und schmeiß das dämliche D raus, das macht nur Ärger. > Genauso wenn unterhalb der Kesselsockeltemperatur der Mischer zwecks > Kondensationsschutz zufährt, dann wird der I-Anteil eingefroren. Was heißt das? Die Umwälzpumpe pumpt das Wasser nur durch den Kessel? Besser den I-Anteil = 0 setzen. Dieser Fall sollte aber im normalen Betrieb eigentlich nicht auftreten.
svensson schrieb: > Baue zudem mal untere und obere Grenzen für Sum(I) ein, denn I liegt ja > teilweise 10fach über dem P. Das ist gefährlich. Mit solchen nichtlinearen Behelfskorrekturen hat sich schon so mancher die Regelung zerschossen. Das sollte bei korrekter Dimensionierung nicht nötig sein.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.