Ich habe eine ähnliche Steuerung geschrieben. Aber nicht für Fischsuppe, sondern für einen Hobbybierbrauer
Da müssen im Maischkessel über bestimmte Zeiträume bestimmte Temperaturen gehalten werden. Das Geräte hat einen Analoge Eingang für die Temperatur und schaltet ein Rührwerk und eine Heizung.
Meine Erfahrung, die Dir hoffentlich helfen: Die Temperaturen fallen nicht linear ab. Es kann sein, dass der Fühler immer zwischen zwei Temperaturen schwankt. Wenn das gerade die Schwellentemperatur ist, dann geht die Heizung ständig an und aus. Du musst also eine kleine Verzögerung einbauen. So, dass Du bei abfallender Temperatur nur dann heizt, wenn die Temperatur für einen bestimmten Zeitraum unter dem Soll bleibt. Und dann beim Heizen nicht bei Punkt 28° Grad abschalten, sondern etwas weiter heizen. Bei meiner Anwendung kam noch dazu, dass das Gerät leicht nachheizt, wenn man es ausgeschaltet hat. Wir haben also eine Funktion eingebaut, dass sich das Gerät an die Solltemperatur rantastet. Dazu kommt auch noch, dass wir nicht sofort heizen, wenn die Temperatur abfällt, sondern erst mal versuchen, ob es nicht reicht, das Rührwerk einzuschalten. Und wenn die Temperatur zu hoch ist, dann wirk immer gerührt, bis die Temperatur wieder im Sollrahmen ist.
Mach von Anfang an wirklich alles parametrierbar. Alle Zeiten, Verzögerungen und Toleranzen, nichts hartcodieren. Du sparst damit hinterher eine Menge Zeit. Als wir unsere ersten Versuche mit Wasser gemacht haben, waren die Ergebnisse nicht wirklich gut. Aber durch rumspielen mit den ganzen Parametern (Temperaturen, Toleranzen, Tastschritte, etc...) ist das Ergebnis jetzt wirklich gut. Und die Maische selbst verhält sich noch wieder etwas anders, als das Wasser. Sie reagiert träger. Also mussten hier die Parameter wieder etwas geändert werden.
HTH!
Jens
Edit: Dein Code sieht so aus, als würdest Du die selbe USB-Karte wie wir verwenden: K8055D von Vellemann?