The generic heating / cooling controller (hcctl) is a flexible bang-bang thermostat controller based on an ATTiny25.
The test load is a pot containing 1l of water and a 1200W immersion element controlled by the SSR above (on-off control). The controller board is a ‘fully optioned’ test framework, hcctl is the left hand DIP8 and the other is a TC427 H bridge (not needed for this SSR which can be driven directly from the ATTiny25 output pin) for buffered output and alarm.
The water constitutes the main part of the load, so ignoring the pot and losses, the specific heat of water being 4200kJ/K, the temperature rise should be around 1200/4200=0.3°/s. Because the sensor is quite slow responding, dif is set to 2°. With around 10s thermal delay to the sensor, the overshoot should be around 10*0.3=3°, which added to the specified differential makes a total variation of 5° over a cycle.
A calibration chart was worked up for 10kΩ, B=3470 using a 22kΩ series resistor from 5V.
Resolution around the set value is 0.05°, which would allow quite small differential.
The hcctl configuration was set for ton=726 (50°), dif=95 (5°).
After settling, the temperature cycled from 50° to 57°, 15 minutes for the cool down phase and around 60s for the heating phase.