Projects‎ > ‎

PV Hot Water

Photovoltaic (PV) solar power straight into the Hot Water Cylinder.
Some of the information on this page is New Zealand specific.

The Plan

The basic plan is to, as directly and simply as possible get the power generated by the Photovoltaic array into the Hot Water Cylinder (HWC).
The idea being the HWC absorbs all the energy thrown at it (up to 100 Deg C) and stores it until needed. 
Inclusion of the secondary mains element acts as a backup when there is not enough sun and kicks in at 60 Deg C.
This simple low voltage design has the added advantage of avoiding the requirement for a Record of Inspection, but I still was required to follow 
AS/NZS 3000 and AS/NZS 5033 standards.
Building this project was also a way for me to learn PV setup on a relatively small scale, as well as gather numbers to use for any future larger scale PV constructions. 


The costs are laid out in the spreadsheet below.
Values not taken into account are; any interest lost by not having the money bank, also any potential increase in mains power.
As of the date of writing(2014-12), the sample size is very small resulting in significant swings in pay off time depending on the weather over a few days. This should settle down once the sample size lets larger, A years worth of data should provide some pretty accurate numbers.

Construction of PV array

Because we live in a north facing valley with tall trees on the ridge line, we loose some of the morning and a lot of the afternoon sun.
NIWA provide a service to estimate solar energy accumulation The instruction page does explain how to add light obstructing trees to the graph, but I have not done this.
Here is the results for our location:

The PV array site was a compromise between transmission distance to the HWC and optimal sunshine hours.
I was able to utilise the existing fences for support, but still put in 3 additional piles.

Sensor Hardware

The sensors for temperatures, voltage and current are all controlled using a Raspberry Pi
An Arduino could have been used as an alternative with some pros and cons, but ultimately I prefer writing code in Python rather than C.

Temperature Sensors

The temperature sensors are built around the DS18B20

Current Voltage Sensor

Because the Raspberry Pi lacks an Analogue to Digital Converter (ADC) I used an external ADS1115 to convert signals from the INA-169 sensor.

Sensor Software

PV Sensor Software Architecture 

The software architecture utilises a RESTful POST call to transmit the sensor readings to emonPi for storage and display.


Source code can be found in my Github repository:


The real time sensor results and sky snapshot (from my weather station) are displayed below. 
The sample rate is every 30 seconds. I am happy to provide an accumulated data dump to anyone requesting it.

Some interesting DateTimes to look at are:
  • Perfect summer days, highlights the cut off times due to hills/trees.
    • 2015-01-10 08:00 + 8 hours
    • 2015-01-23 08:00 + 8 hours
    • 2015-02-28 08:00 + 8 hours
  • Perfect Autumn Days
    • 2015-04-01 08:00 + 8 hours
    • 2015-04-19 08:00 + 8 hours
    • 2015-04-24 08:00 + 8 hours
  • Perfect Winter Days
    • 2015-06-27 08:00 + 8 hours ~Winter Solstice, turns out the trees, visible on the webcam, are tall enough to shade the panels:(
  • Highlights the temperature differential drop off before and after mains timer installation
    • 2015-01-09 14:00 + 12 hours
    • 2015-03-15 05:00 + 24 hours
  • Water cooling test. See here for additional details
    • 2014-12-29 12:00 + 1 hour
  • Fuse Holder issue. See here for additional details
    • 2015-01-27 13:00 + 3 hours
  • After Fuse Holder Fix
    • 2015-02-11 08:00 + 8 hours

Include gadget (iframe)

Conclusion / Improvements

Despite keeping costs down by doing all the work myself, the payback time is higher than expected. Implementing some of the following could potentially see significant improvement in efficiency, bringing down the time to pay off.
  • Installing a better matched PV heating element
  • Installing a multiple resistance elements, and dynamically match (via relays) depending on the PV output
  • Invent a fixed resistance load MPPT
  • Water cooling of PV panels. See here for initial experiments.
  • Delayed mains heating in the morning. See here for details.