Sunday 21 July 2024

Learnings from monitoring the solar hot water system

For reasons too complicated to explain (best summarised – if I was you I would not start from here) my beloved has implemented a controller for our solar thermal pump. This is for a solar thermal panel, rather than a solar electricity panel. The pump circulates hot water (with glycol) from the panel to the hot water cylinder and back. Knowing my love of data he added some monitoring into this system and we have been poring over the charts. Here is one from a reasonably sunny day.

Monitored temperatures on a sunny day (times in GMT)


The solid lines are the temperatures in the middle of the cylinder (purple) and at the bottom (blue). The solar coil is at the bottom of the cylinder. The dotted lines are the temperature of the heat collector – i.e. the solar panel - and the return pipe (just after it leaves the cylinder). The pink shading shows when the pump is on.

This diagram shows the layout of a cylinder similar to ours. In our case we no longer have a boiler but there is an immersion heater at about that level which tops up the cylinder if needed. Our sensor for the bottom of the cylinder is actually a bit above the bottom coil so it reads a bit warmer than the return.

Diagram from Viridian Solar


You may have noticed mysterious spikes in the collector temperature. This is not the collector suddenly getting hot – it is because the sensor is not accurate when the pump is not running. The trouble is that the sensor is not actually in the panel itself but attached to the pipe a few inches away. When the pump is on there is little difference in temperature but when it is off the sensor warms only by conduction. When the pump comes on the water flows and the sensor rapidly reaches the proper temperature. We understand that solar controllers for evacuated tubes (as we have) generally have a ‘kick’ function which runs the pump to check the cylinder temperature.  We are not sure how to configure this. (Advice would be gratefully received). In any case, at least for the moment it seems to work OK without.

Currently the pump is set to come on when the collector sensor is at least 4°C above the cylinder (bottom) temperature. Also it only comes on when the cylinder is below its maximum temperature.

So in this chart we can see:

  • The cylinder gradually cools overnight, middle and bottom more or less in parallel. (The drop in temperature from 10pm to 6am the next day is about 2°C. I expect it will be more in winter.)
  • The sensor start to warms up from about 8:30 and the pump comes on shortly after 9 but not for long because the circuit loses heat to the cylinder faster than the sun warms the panel. It really gets going about 10:30. 
  • The bottom soon catches up with the middle and the whole cylinder warms up in about 3 hours (reaching about 66°C).
  • The pump shuts off when the collector temperature is no longer higher than the cylinder bottom.

This last chart shows a day when we drew a bath in the late morning. The bath is about 100 litres but our cylinder is 240 litres and the temperature in the middle of the cylinder hardly changes. However the temperature at the bottom drops precipitously because we have just mixed a whole lot of cold water into it. This heat is mostly replenished over the next few hours.


Temperatures when we ran a bath at about 11.30am (GMT)


What I have learned from this.

We have had a lot of fun looking at the charts but the surprising things I have learned are:

  • The cylinder only loses a couple of degrees overnight (at this time of year).
  • The cylinder is incredibly well stratified. Even running a bath and mixing in a whole load of cold water does not change the temperature in the middle of the tank. 
  • It takes only a couple of hours of sunshine to replenish the cylinder after a bath.

About the controller.

For those of you who wish to know, the controller is basically a Raspberry Pi Pico with some sensor inputs and a relay to control the pump. It uses MQQT for control commands and to generate status reports. It generates updates on status values when anything changes – if any temperatures have changed by a degree or more, when it turns the pump on or off and so on.



1 comment:

  1. Thank you. It's shocking just how much physics is going on inside a humble domestic hot water cylinder!

    ReplyDelete

Comments on this blog are moderated. Your comment will not appear until it has been reviewed.