Solar Pump Controller with Diversion Valve

Pictured below is a solar pump controller we recently built to meet a specific requirement. A solar water heating panel is used to heat the water in a hot tub, but if the hot tub exceeds a maximum temperature for comfort, then any additional solar hot water is diverted to heat the contents of a cylinder used for domestic hot water.

Solar pump controller with diversion valveThis controller is closely based around our standard 2014 Solar Water Heating Pump Controller with LCD Display, but with the addition of a third sensor to measure the temperature of the cylinder (since we only want to send water from the solar panel to the cylinder if the solar water is hot enough to heat it up).

LCD display for solar water heating pump controller with diversion

If/when the temperature measured of the hot tub reaches or exceeds the user’s desired maximum for comfort, a three-way solenoid valve is energised automatically diverting the hot water from the solar panel to the cylinder . The pump then carries on pumping until either the hot tub’s temperature has fallen by a couple of degrees, or the solar panel cools to close to the cylinder temperature.

All sensors used are waterproof digital temperature sensors, and the display is enables the temperature of all three monitors to be constantly monitored. A solid state relay is used to switch the mains powered circulation pump on and off.

If you need a solar water heating pump controller, please take a look at the selection of units we have in the REUK Shop. If you do not find exactly what you need, please email neil@reuk.co.uk with details of your requirements.

Solar Pump Controller with Additional Sensors

Pictured below is a modified version of our standard 2014 Solar Water Heating Pump Controller with LCD.

2014 REUK Solar Water Heating Pump Controller with two extra temperature sensorsIn addition to the standard digital temperature sensors for the solar water heating panel and the hot water tank, this version adds a third sensor to measure ambient air temperature, and a fourth to measure the temperature of the top of the hot water tank.

LCD Display from REUK Solar Water Heating Pump Controller with two extra sensorsThe LCD display has been modified to show the solar and hot water tank temperatures for five seconds, and then the ambient air temperature and top of tank temperatures for five seconds. The bottom line of the display still displays system status and settings information to the user.

If you need a bespoke solar water heating pump controller, please email details of your requirements to neil@reuk.co.uk.

Solar Pump Controller with Timer Override

In our blog post Solar Water Heating Pump Controller with LCD we showed a controller which incorporated a timer override so that the user could force the pump of their solar water heating controller to run at certain times of day or night – for example in the winter to protect against frost, or for any other reason.

This has proved to be quite a popular added feature, so we can now also offer it on request to our 2014 Solar Water Heating Pump Controller with LCD.

Override solar water heating pump controller with a digital programmable timerThe controller works exactly per the standard 2014 controller, just with a pair of added screw in terminals to which a manual switch or suitable programmable timer switch can be connected for more control.

If you require a solar water heating pump controller with this added feature, please email neil@reuk.co.uk with details of your requirements.

Solar Water Heating Swimming Pool Controller with Display

Pictured below is another of our solar water heating pump controllers – this time with digital waterproof temperature sensors (DS18B20), and an LCD to show the measured temperatures of the solar heating panel and swimming pool as well as system status and for the user to programme in the settings.

Solar water heating pump controller with LCD and maximum temperature overrideAs this controller is to be used in sunny Australia it includes a pre-programmed maximum temperature override to prevent the swimming pool from getting too hot. When the pool is measured to 31 degrees Celcius or hotter, the pump will not to be turned on again until the pool temperature has fallen to 28 degrees.

LCD display for solar water heating pump controller

Pictured above is the LCD showing the solar panel temperature of 26 degrees C, and the pool at 32 degrees C. Therefore the pool is too hot and even when the solar panel temperature increases, the pump will not turn on.

At the bottom of the circuit board is a pair of screw in terminals which will be connected to the output from a 12V programmable digital timer. In the winter, the customer for this controller wants to be able to automatically run the pump at the same time each day for a certain time just to circulate water around the system.

If you need a solar water heating controller for any application, with or without a display, email neil@reuk.co.uk with details of your exact requirements.

 

Solar Water Heating Pump Controller for Hot Tub with Maximum Temperature

Pictured below is another of our solar water heating pump controller variations. Again based on our 2013 solar water heating pump controller with relay, this controller is modified to use digital waterproof temperature sensors (ds18b20), and also to have a user programmable temperature limit.

waterproof-ds18b20-2013-solar-controllerThis controller is designed to be used with solar heated hot tubs and jacuzzis. As the volume of water in a hot tub is relatively small (compared to swimming pools for example) it is possible for the water in the tub to become unpleasantly or even dangerously hot after an extended period of sunshine.

This controller has been modified to have a user programmable maximum temperature. When the temperature of the water in the hot tub reaches this maximum, the pump will turn off and stay off until the hot tub temperature has dropped by at least 2 degrees Celcius.

Programming the maximum temperature is simply the matter of holding the button to enter programming mode at start up, then pressing it X times where 20 + 2*X is the desired maximum. For example, 8 presses for a 36 degree Celcius maximum.

If you need a solar water heating pump controller for a domestic system, swimming pool, or hot tub, with or without an LCD display, email neil@reuk.co.uk with details of your exact requirements.

Solar Water Heating Pump Controller with LCD

Pictured below is the connection diagram for a new solar water heating pump controller we designed and built recently for use with a swimming pool heating system.

solar water heating pump controller with solid state relay and LCD and programmable timer override for swimming poolThis controller is the next step up from the solar water heating pump controller with solid state relay discussed previously. It has the same ds18b20 waterproof digital temperature sensors we use in all controllers for swimming pools and similar, but with the addition of an LCD to display measured temperatures and other system status information. (There is also a 12v digital programmable timer override function added as a specific customer request.)

LCD for solar water heating pump controller

The LCD constantly displays the temperature of the outlet from the solar thermal panel (S) and of the pool (P). It also displays the current measured temperature difference between the solar panel and pool, as well as the temperature difference required for the pump to turn on or off (as programmed by the user).

Having the LCD makes it possible to add a lot more features to this controller on request – for example keeping track of the average temperatures and peak temperatures of the pool and solar panel, tracking for how long each day the pump is running, and many other potential datalogging features.

Email neil@reuk.co.uk if you need a solar water heating pump controller with or without an LCD and datalogging with details of your exact requirements.

Arduino Solar Water Heating Pump Controller Design and Code

Following on from our recent blog posts Arduino Solar Water Heating Pump Controller and Arduino Introduction, we have received a few requests for the source code (sketch) and design for a very simple Arduino based solar water heating pump controller.

We thought it would be an interesting exercise to show how just a few components and twenty or so lines of code can be turned into quite an effective controller, so here it is.

REUK.co.uk Arduino simple solar water heating pump controller - Arduino nano

For the schematic (and our own testing) we used an Arduino Nano, but pretty much any Arduino board could have been used. To that we just need to add a couple of LM335Z temperature sensors, a relay, an NPN transistor (we used a BC547), a few resistors, and a diode.

Here is a screenshot of the source code (the link to download it is at the end of this blog post):

Sketch for REUK Arduino simple solar water heating pump controller

This really is about as basic an effective microcontroller based solar water heating pump controller as it is possible to make.

The two temperature sensors connect to the (arbitrarily chosen) A0 and A2 analog pins, and the relay which switches the pump on and off to the D12 digital pin through a transistor (to limit the current drawn from the pin).

The variables diffON and diffOFF are used to set the number of degrees Celcius by which the solar panel must be hotter than the hot water tank for the pump to turn on, and then to turn off respectively. We used 6 degrees for diffON and 3 degrees for diffOFF – you may choose to use different values. These give hysteresis which prevents the pump switching on and off repeatedly and rapidly (since the temperature difference has to fall before the pump is switched off, and then rise before it will be switched on again).

The temperatures are measured every quarter of a second – delay(250) causes the programme to pause for 250 milliseconds. If the solar panel temperature is more than diffON degrees hotter than the hot water tank, the pump will turn on; and then when the temperature difference falls to diffOFF or lower the pump will turn off. And that’s it – simple, but does the job.

These LM335Z temperature sensors output a voltage of 2.73V + (X * 0.01V) where X is the temperature in degrees Celcius. The analogRead command digitises this analogue voltage to a whole number in the range 0 to 1023 with 0 corresponding to 0.00V and 1023 corresponding to 5.00V.

The calculation done on those analogRead 0-1023 values converts them into temperatures in degrees Kelvin. To convert degrees Kelvin into degrees Celcius you just subtract 273.15. That was unnecessary in this example since we are only interested in the difference between the two temperatures, but if you wanted to display the measured temperatures by connecting the Arduino board via USB to a PC that is how you would get them in Celcius.

Obviously there are a lot of things which can be added to this controller to make it more effective and reliable – e.g. time delays before the pump turns on and off, user programmability, manual override, frost protection, maximum temperature shut off, data logging and processing, and real-time temperature and system status display etc, but this is a good starting off point. There are vast amounts of resources online to help you learn more about Arduino – start with the official Arduino website to find out more.

Click here to download the Arduino source code for the REUK Simple Arduino Solar Water Heating Pump Controller as pictured above.

If you have any questions about the above or if you would like to share your modifications or enhancements to the code or design, please email neil@reuk.co.uk.

Arduino Solar Water Heating Pump Controller

The REUK 2013 Solar Water Heating Pump Controller (pictured above) is one of the most popular products on the REUK.co.uk website. With a temperature sensor on the solar water heating panel, and a second on the hot water tank, this controller decides when to turn the pump on to circulate solar heated water from the panel to the tank.

This controller is based around a PICAXE-08M2 microcontroller which gives a good balance of programmability and simplicity. It does however have one large disadvantage – it can only do integer arithmetic, i.e. performing operations on whole numbers only.

Therefore when we come to make modifications to the controller for particular customer requirements – e.g. frost protection and maximum temperature shut offs etc – things get unnecessarily complicated. Additionally there is limited memory on a PICAXE-08M2 which becomes a serious problem as the complexity of the desired programming increases.

For this reason we are currently porting a lot of our PICAXE based controllers to Arduino which allows floating point arithmetic and far more memory space.

Pictured below is our latest Arduino solar water heating pump controller. It is functionally identical to the standard 2013 PICAXE controller, but offers much more flexibility for modifications and added features.

Arduino pro mini based REUK solar water heating pump controller

The Arduino board used here is the Pro Mini – the smallest of the Arduino range. The red board plugged on to the blue Arduino board in the above photograph is used to connect the Arduino to a PC via USB for programming and/or so that data can be outputted to a serial monitor in real time or for later analysis as shown below where the temperature of the solar panel and of the hot water tank is outputted once every second. If monitoring is not required then this break out board can be removed.

Serial terminal output for arduino solar water heating pump controllerIf you have any particular requirements for a solar water heating pump controller which are not met by our standard controller range, email neil@reuk.co.uk with details of what you need.

If you are interested in building and programming your own solar water heating pump controller as a project, click here for our simple Arduino Solar Water Heating Pump Controller Design and Code which should help you get started.

Solar Water Heating Pump Controller with Frost Protection

Our 2013 Solar Water Heating Pump Controller is one of our most popular products offering user programmable automatic control a the pump in a solar water heating system.

solar water heating pump controller with frost protectionToday we finished an updated version of this controller which offer frost protection. Solar water heating collectors and the associated pipework can be damaged by freezing. One way to avoid this is to pump warm water from the hot water tank around the collector(s) when the ambient temperature outside gets close to freezing. This turns the collector into a radiator, radiating heat from the warm water through the pipes and collectors which prevents them from freezing.

In general we recommend that solar water heating systems be drained in the winter to ensure that freezing and the associated damage cannot occur, but we made this particular controller for a customer in Canberra, Australia whose solar collectors have survived for 30 winters without coming to any harm. Also, although their are frosty nights in Canberra, it does not tend to get very very cold there.

The modifications to the controller make it turn on automatically at a user programmable low solar collector temperature (e.g. +5 degrees Celcius), and then turn off when the collector temperature has increased by 2 degrees. This will have the effect of keeping the solar collector from freezing, but the side-effect is that the temperature of the water in the hot water tank will go down.

If you need a controller with frost protection, please contact neil@reuk.co.uk with details of your requirements. It is however only suitable for use in areas with occasional light frosts – otherwise we still recommend draining the system for its protection in the winter.

Project of the Day – Immersion Controller using Electricity Meter LED

Our standard Surplus PV Immersion Controller uses a light detector to estimate when the solar electricity generation from a domestic PV array is above a user-set threshold. It then turns on an immersion heating element to use the surplus electricity rather than exporting it to the grid.

REUK

This simple light detector approach works particularly well in homes where the householder is out all day since once the baseline electricity needs of the home are met, the surplus electricity can be used for free water heating instead of being exported (which would earn just a few pennies per kWh unit of electricity exported).

However, this system is not a true surplus electricity controller since if the home owner has a 4 kW solar array, and a 3kW immersion element, then if more than 1kW of electricity is being used in the home on other things – e.g. kettle, washing machine, or other heavy loads, electricity will be imported at a cost to cover any shortfall.

This week we have been working on the next level approach which is very useful for some households depending on how their electricity meter(s) are set up. In our article Flashing LED on Electricity Meter we looked at how modern electricity meters are fitted with a red LED which flashes at a rate proportional to the power passing through them. They are marked with something like 1000 Imp/Kwh which means that the LED will flash 1000 times per kWh unit of electricity passing through.

The meter for which we made this modified controller this week has such an LED which flashes while electricity is being exported and is off while importing. The flash rate is 1000 Imp/kWh and so if 1000 Watts of electricity is being exported, the LED will flash once every 3.6 seconds; if 2000 Watts of electricity is being exported, the LED will flash once every 1.8 seconds; if 100 Watts of electricity is being exported, the LED will flash once every 36 seconds, etc.

Using this information we modified the programming on our standard immersion controller so that instead of the light detector measuring the level of solar radiation and therefore estimating the power generated by the solar panel, it now measures the LED flash rate on the electricity meter so that it knows how much electricity is actually being exported net of any loads in the home.

half wave rectification of electricity to halve power use of immersion element

This controller is being used with a 1.5kW immersion heating element which is powered via a diode to give half-wave AC electricity cutting the power of the immersion element in half to 750 Watts. The solar array is rated at 4 kW.

We programmed this particular controller to turn on the immersion element when 1,100 Watts or more is being exported and then turn off the element when 200 Watts or less are being exported. If 1,100 Watts are being exported then when the immersion heating element turns on, the export will instantly fall down to 350 Watts, and there is an extra 150 Watts of hysteresis in place so that the immersion will not be turned off when the power taken by the devices using electricity in the home fluctuates a bit.

If you are interested in this type of modified immersion controller, please email neil@reuk.co.uk with details of your electricity meter(s), immersion power rating, and solar array power rating.