OK, I have fixed the hysteresis values, and tuned the control, and the results are below.
This graph shows some cold water, going into the Fridge with target wort temperature of 20 Deg C. Once stable, the target wort temperature is reduced to 15 Deg C. As you can tell by the heater activity, the garage air temperature is well below 15.
Once stabilised, the measured wort temperature is easily within 0.2 Deg C of target continuously, which is pretty impressive, even if I do so myself! :clap:
Key:
Green Line = Target Wort Temp (20 Deg C)
Blue Line = Actual Wort Temp
Purple Line = Target Fridge Air Temperature (driven by a simple control law within the software)
Yellow Line = Actual Fridge Air Temperature
Pink and Light Green Lines at the bottom = Fridge and Heater status (respectively).
P.S. I had the data logging rate set very high for the first half of the trace, hence the apparent change in the heater cycling wave-form.