I feel I should know the answer to this, but I keep going around and around in my head. I have a pump system in my solar greenhouse, controlled by a commercial differential thermostat with sensors in the water storage and air. The system is powered by a 12-V power supply, connected to the mains. (I don't know how smooth the DC output is...). The pumps and fans are powered through a relay, driven by the differential thermostat. My problem is that, at the cross-over temperature, (when the air has cooled to match the water temperature), the relay chatters, sending pulses of current to my brushless pump motors, which seems to cause the motors to get hopelessly confused and burn out prematurely. I figured I could resolve this issue by moving to an Arduino to control the relay, and building in some sort of smoothing or delay to ensure a definitive binary ON-OFF. But here is where I am blocking. It was suggested that I needed to build in a differential between on and off temps. But if the issue is over-sensitivity, ( flipping on and off with very minimal differences between the two sensors), adding a differential will not make any difference, it seems to me. It was suggested to add a condensor across the output to smooth it. I did this, and it made no difference.
This has to be an extremely common problem - things like solar hot water systems are generally controlled by similar differential thermostats. And even single thermostatic controllers have to be protected from reacting to rapid minor changes at the point of transition. How does one do this? Average temperature readings over a short time, before comparing to the set point? Sample at longer intervals, such that temps will have drifted clearly apart, (so sample at a given moment in time, followed by a 5 minute delay before sampling again)?