Underfloor Heating Controller Schematic Circuit Diagram
Central heating systems that include underfloor heating often leave the extra pump used to pump the water through the underfloor pipes running continuously. The reason for this is that the central heating controller doesn’t have a separate control circuit and output for the underfloor heating pump. This circuit was designed to control the underfloor heating pump independently or via the switch in the living room thermostat. The design has been made very flexible and can be connected in four different ways:
1) The temperature sensor 1 is connected to the inlet pipe of the underfloor heating, a Temperature sensor 2 is shorted. The pump is turned on when the inlet pipe becomes warm enough. When the temperature of the inlet pipe drops below the trigger temperature the pump will continue to run for 20 minutes.
2) The temperature sensor 1 is connected to the inlet pipe of the underfloor heating, Temperature sensor 2 is connected to the outlet pipe. This works in a similar way to that in the previous configuration, but also: as long as the inlet pipe is warm the pump will be stopped (temporarily) when the outlet pipe rises above the trigger temperature.
3) Switch input connected to the living room thermostat. As long as the switch (connected to the same input as for Temperature sensor 1) is closed, the pump will run. When the switch opens the pump stops after 20 minutes.
4) Switch input connected to the living room thermostat, Temperature sensor 2 is connected to the outlet pipe of the underfloor heating. This works in a similar way to that in the previous configuration, but also: as long as the inlet pipe is warm the pump will be stopped (temporarily) when the outlet pipe rises above the trigger temperature.
The temperature sensor 2 can also be used to protect the underfloor heating from over-heating. In this case, set the trigger temperature to about 50 degrees and connect the sensor to the inlet pipe of the pump. The circuit is built around an ATtiny25. Two ADC inputs of the controller measure the voltage across both PTCs. The voltage across the first temperature sensor is compared by the software to a trigger value and zero. When the trigger value is exceeded or the value is zero (due to an external switch), the Motor power pin (pin 5) is pulled high and the pump is started via the opto-triac. When the pump is started, another output (pin 6) is pulled low at the same time. You can connect external components to this output, such as an indicator lamp. To prevent a continuous current from flowing through the presets and temperature sensors, the PTCs are connected to ground via a software-controlled FET only when a measurement is made. A configuration fuse inside the microcontroller is blown so that the internal clock runs at 128 kHz. This is fast enough to run the program and this frequency is divided by 1024 in the prescaler of timer1. Timer1 then counts to 125 and generates an interrupt. This interrupt will occur approximately once per second. During the interrupt routine, the state for the pump is determined. When Temperature sensor 1 exceeds the trigger value or equals zero (switch input), the pump timer will be set to 20 minutes. These 20 minutes are to make sure that the pump remains on for another 20 minutes after the temperature has fallen below the trigger level. If the second temperature sensor goes above the trigger level the pump will be stopped immediately.
At the end of the interrupt routine a measurement is started by first making the FET conduct so the PTCs are connected to ground. An ADC routine is then run to read in the value. The temperature sensors are measured alternately, so that the measurement interval for each sensor is 2 seconds. The circuit will turn on the pump for a minimum of 5 minutes during any 18-hour period. For this there is a Summer-timer, which keeps track of how long ago the pump was last on. When the pump is turned on the Summertime is reset to zero. If the Summer-timer hasn’t been reset for 18 hours (16-bit integer = 65,536 s = 18.2 hours), the pump timer will be set to 5 minutes. As long as this is active, the pump will be on. US readers should substitute Tr1, M1 and F1 with components suitable for operation at 115 VAC. 60 Hz.