The diagram is my solar hot water system, water is heated daily for all our needs using both direct solar energy via evacuated tubes, and surplus electricity from a PV array, (oh and a traditional gas boiler for when we’re desperate – e.g. middle of winter and there’s snow on the panels!).
Navitron Evacuated Tubes. Solar radiation is captured using multiple glass tubes forming a vacuum between layers of glass (like a thermos flask) that help with better heat retention. Heat is transferred via a heat exchange. Usually plumbed as a closed loop – in this setup water is drawn directly from the bottom of the cylinder, and after picking up heat from the panels, returned to the top of the cylinder using a central heating pump. A simple temperature difference and relay controller turns the pump on and off as required.
Solar PV. With a 4kw array on the roof we quite often have surplus electricity. The solarboost+ detects the surplus power and produces a variable voltage output to send to an immersion heater. Because we didn’t have a spare immersion slot in the cylinder I used a “Willis type” external immersion arrangement. The heated water is circulated via passive convection from the bottom to the top of the cylinder.
The temperature of the cylinder, hotwater panel and willis immersion are all monitored with a RaspberryPi and a set of 1-wire sensors so I can keep an eye on the system. Using an old smart phone re-purposed as a simple monitor the family can quickly and easily see if there’s sufficient hot water available.
The 1-wire sensors are easily hooked up to a raspberrypi. I’ve used four – and they each have their own unique code so it’s easy to use just one 3 core cable to connect them all together – no need for separate wires for each one.
The Round Robin Database (RRD) on the raspberrypi stores the temperature readings averaged over 5 minutes. The script used to create the RRD is in the zip file below.
Using a python script, temperature readings are taken every minute and added to the RRD database. The same script also generates a graph at the same time.
Every midnight a CRON job and shell script is used to copy that days graph to a backup.
A cron job and python script are used to take temperature readings and export a JSON formatted file every minute
If anyone is interested, a zip file with all the code used is here. It’s not pretty, but it works for me!