The basic functionality consist out of comparing two temperatures and determine if the valve that lets water through the solar panels should be open or closed. Currently the pump is controlled through a relay by the Arduino and through a relay on the Inverter. The second relay prevents the pump from being enabled when the batteries are low.
* Symbols might not be correct and are used to depict other components.
Several devices operated on different voltages. For example:
Following is an explanation of the parts in the circuit diagram:
The code is available on github, click here.
The program reads various sensors on a fixed interval. When the required amount of samples have been collected the average of the sampled data is calculated. The two important sets of data that determine if the valve for the solar panels should be opened are the indoor swimming pool temperature and the outdoor solar panel temperature. The valve is controlled by comparing the two temperatures and open or close the valve depending on predetermined setpoints. Because the swimming pool and the solar panel vary in temperature constantly the setpoints can be described as: