Wenn man ein längeres Zeitintervall für die Bestimmung der Steigung nutzt, gibt es mehrere Möglichkeiten. Mein Vorschlag ist gerade die Formel für die lineare Interpolation. Mit nur 2 Werten die etwas weiter auseinanderliegen, die Werte dazwischen aber ignorieren wird es auch schon besser als nur die letzten 2 Werte, aber in der Regel wird es mit den zwischenwerten noch etwas besser, schon einfach weil die Quatisierungsschritte kleiner werden. Die Länge des Zeitfensters für die bestimmung Steigung sollte aber kürzer bleiben als die Reaktionszeit der Heizung.


Ein weiteres Problem das man leicht bekommt, wenn man einen sehr stabilen Wert anstrebt ist das man irgendwann die Quantisierung beim Stellwert bemerkt. Solange man durch den D-Anteil noch Rauschen drin hat, schwankt der Ausganbewert auch so noch genug und man bekommt so eine Art Dithering, was die Auflösung erhöht. Wenn man jetzt das Rauschen des D-Anteils stark reduziert, kann es passieren das man die Quatisierung auf der Ausgabeseite stärker stört. Dem müßte man dann ggf. durch ein künstliches Dithering entgegenwirken. Mir ist das schonmal so bei einem Temperaturregeler passiert, trotz 12 Bit Auflösung für die Heizung.

Wenn das ein Programmregler werden soll, also so das nicht eine feste temperatur, sondern ein Temperatur - Zeitverlauf vorgegben wird, dann sollte man die grob geschätzten nötigen Heizleistungen schon aus den sollwerten von Temperatur, Steigung und ggf. auch der Ableitung der Steigung berechnen. Der Regler muß dann nur noch gegen die Fehler bei den Schätzwerten gegenan regeln. Das gibt vor allem an den Übergängen einen schnelleren Verlauf. Vor allem kann man so gut ein Überschießen der Temperatur reduzieren, weil man im Vorraus erkennen kann wie lange die Heizung auchmal ganz aus sein muß - der PID Regler hat da Probleme.