The controller has 2 ds18b20 sensors which monitor the temperature of a hot water solar panel and a water storage tank.
The controller controls a water pump via a solid state relay.
The controller maximises hot water production by varying the on/off times of the pump when the temperature difference between the panel and
tank is less than 10 degrees. When the temperature is greater than 10 degrees the pump runs continuously.
The controller monitors the panel for frost conditions and if the temperature falls below a set value it runs the pump to heat the panel and prevent freezing damage.
The controller has a web server that displays its current operating state and the value of the set parameters. The web page is updated using AJAX calls to the web server.
Various parameters can be configured using the attached keyboard.
Pressing Key 1 selects the parameter
Keys 2 and 3 increase or decrease the values of the parameters
Key 4 resets the device
The built device can be run from a mobile phone charger power supply that provides a USB output.
As key 3 is connected to GPIO0 and key 4 is connected to reset, the ESP-12 can be put into programming mode by pressing both keys 3 and 4 at the same time and then releasing key 4 before key 3.
Delta on: This determines the temperature difference between the panel and tank to turn the pump on
Delta off: This determines the difference between the panel and tank to turn the pump off
Defrost: This determines the temperature of the panel to turn the pump on to avoid frost damage of the panel.
The pump will run for a pre-set time to heat the panel thereby preventing ice damage caused by the panel freezing.
Pump: This lets you manually turn the pump on/off for testing
The project is built on the Arduino platform for the ESP8266
The software contains functions for:
1. Connecting and configuring the ESP8266 to your WiFi the first time it is powered up. This can be changed in code for hard-coded values if desired.
2. Functions for running the peripherals - keyboard, lcd, web server. These are attached to timers.
3. Web server that will serve up an initial information page and then refresh its data using AJAX calls to retrieve an XML file with current data.
On startup the device will either prompt to connect to the AP for configuration or will show the IP address that it has obtained from the router.
2 x 16 I2C LCD display
LM2596 DC-DC converter
Solid state relay
4 button matrix display
USB to serial RS232 converter
2 x DS18B20 temperature sensors