Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

ISTAtrol. Wenn die Heizung nervt.

geschrieben von Traumflug 
ISTAtrol. Wenn die Heizung nervt.
26. March 2016 08:42
Das ist jetzt mal ein echter Off-Topic. Weil wir hier im 18-Wohnungen-Haus eine völlig überdimensionierte Zentralheizung haben schwankt ständig die Vorlauftemperatur und will man eine gleichmässige Heizung haben, rennt man 20 Mal am Tag zum Thermostaten, um nachzuregeln. Sowieso, Thermostaten am Heizkörper wirken der Nachtabsenkung des Heizkessels entgegen. Und dann sind da noch diese Wärmezähler, die je nach Laune mal 50% mehr oder 30% weniger zählen. Ein elektronisches Thermostat ist mit der Situation auch nicht klar gekommen und nachbessern kann man die ja mangels Quellcode ebenfalls nicht.

Kurzum, ich war die Sache Leid und habe einen eigenen elektronischen Controller dafür gebaut:



Jetzt ist die Sache unter Kontrolle, der Wärmezähler scheint quasi stehen geblieben zu sein. Der ATtiny darauf ist frei programmierbar, da Open Source (und mein eigener Code).

So nebenbei habe ich noch einen Algorithmus für die Temperaturregelung gefunden, der besser als PID zu funktionieren scheint. Heizkörper reagieren ja extrem träge (~ 5 Minuten Totzeit, ~30 Minuten für die komplette Sprungantwort direkt am Heizkörper, für die Raumtemperatur deutlich mehr), so dass der D-Anteil nicht wirklich funktioniert und ein I-Anteil mehrere Stunden zum ausregeln braucht. Muss das bei Gelegenheit mal in die Teacup Firmware einbauen.

Viel Vergnügen mit der ISTAtrol: [reprap-diy.com]


Generation 7 Electronics Teacup Firmware RepRap DIY
     

Re: ISTAtrol. Wenn die Heizung nervt.
07. June 2016 04:37
Magste die Hintergründe zum Algorithmus näher erläutern? Ich hatte ein sehr ähnliches Problem und musste meine Ölheizung bändigen. Dort habe ich es mit einem sehr nichtlinearen Regelbereich und wechselnden Totzeiten zu tun gehabt. Mit nem PID Regler klappte das garnicht, nur mit dem P-Glied ging es dann irgendwie.
Re: ISTAtrol. Wenn die Heizung nervt.
07. June 2016 08:48
Der Algorithmus nimmt einfach die Temperaturveränderung seit der letzten Messung, multipliziert die und sagt so die Temperatur acht Minuten in die Zukunft voraus. Mit dieser Vorhersage wird dann ein reines I-Glied betrieben:

      // Extrapolation. Take care of the sign.
      temp_future = temp_now + 8 * (temp_now - temp_last);

      // Act according to the prediction.
      if (temp_future < (TARGET_TEMPERATURE - THERMISTOR_HYSTERESIS)) {
        motor_close();
      } else
      if (temp_future > (TARGET_TEMPERATURE + THERMISTOR_HYSTERESIS)) {
        motor_open();
      }

      temp_last = temp_now;

Der Temperaturwert ist hier umgekehrt proportional zur Temperatur, also höhere Werte für niedrigere Temperaturen und umgekehrt. Das liegt am Messverfahren. Daher sind auch die '<' und '>' umgekehrt als man das mit "richtigen" Temperaturen hätte.

Die Sache ist erst jetzt im Frühjahr aus dem Tritt geraten als die Heizung über Nacht ganz abgestellt hat. Da hat die Regelung das Ventil immer weiter aufgedreht, ohne dass es wärmer wurde. Als am morgen die Heizung dann wieder ansprang, war das Ventil voll offen und sehr weit von der benötigten Stellung entfernt. Hat sich auch nicht wieder eingefangen, zumindest nicht innerhalb der 14 Stunden, bis die Heizung wieder in die Nachtabsenkung geht. Für solche Extreme braucht es also noch Nachbesserung.

Ist eine ziemlich kniffelige Sache, besser als ein P-Regler mit humanoiden I-Anteil zu sein. Der kommerzielle Regler, aus dem ich den Ventilmotor ausgebaut habe, hat es auch nicht geschafft. Der ist alle halbe Stunde zwischen den Extremen hin und her gefahren.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen