Was aber ist der Algorithmus
Die Grundidee (in der aktuellen Firmware) ist ein Temperaturfenster (bei der D4 ab Werk 45 - 50 Grad) vorzugeben, innerhalb dessen die Temperatur gehalten werden soll. Liegt die prognostizierte Temperatur außerhalb dieses Temperaturfensters, wird die Ausgangsleistung entsprechend gesenkt oder erhöht. Diese Art der Regelung ist zwar nicht der Knüller, aber solange man damit leben kann, dass man einen Gleichgewichtszustand wenn überhaupt nur durch Zufall erreicht, mag das zufriedenstellend funktionieren.
Eine Anpassung des Sollwerts der Ausgangsleistung erfolgt höchstens einmal alle 5 Sekunden. Dazwischen ist die Lampe komplett im Blindflug.
Für jedes Grad, das die prognostizierte Temperatur außerhalb des Temperaturfensters liegt, wird in der Rampingtabelle einfach einen Eintrag in die entgegengesetzte Richtung gesprungen.
Die Lampe zeichnet zwar den Temperaturverlauf rückwirkend 8 Sekunden lang auf, verwendet aber immer nur den aktuellen und den ältesten Messwert für die Prognose der Temperaturentwicklung. Liegen diese beiden Messwerte um mehr als 3 Grad auseinander, wird jedes zusätzliche Grad um den Faktor 16 verstärkt auf den aktuellen Messwert aufaddiert. Beides zusammen kann, selbst wenn die Messwerte halbwegs zuverlässig wären - was sie aufgrund schlechter Filterung nicht sind - zu komplett unrealistischen Temperaturprognosen und damit unvorhersehbarem Regelverhalten führen. Noch dazu wenn man bedenkt, wie schnell sich die D4 aufheizt.
was kann man daraus machen?
Als Erstes würde ich die Messwerte des Temperatursensors vernünftig filtern und als Zweites die Implementierung der Temperaturprognose sauber von der Sprungweite in der Rampingtabelle entkoppeln. Aber wenn man eine ordentliche Regelung will, dann ist es allein damit natürlich noch nicht getan.
ToyKeeper freut sich eigentlich immer über Unterstützung, insbesondere bei schwer zu testenden Sachen wie die Temperaturregelung.
Wenn meine neuen Lampen und das Reflashing Kit eingetrudelt sind, werde ich mich da mal ranmachen. Kann aber Frühjahr werden, bevor ich Zeit dafür finde.