Solar Water Controller Version 1.01




Proposed fully featured final version - Here three temperature probes are used.

This design is based on the temperature logger. The hardware changes consist of  the removal the RTS / CTS interface and replacing it  with a pump relay driven via a NPN transistor.

The PIC code changes are minimal, and still provides serial logging data, and pump state information.


Try a simulation. (Click on the transitions to play...)


The above diagram has been implemented - and the controller has been working continuously since November 1999.

The "evening waste" problem of the first version is not present in this design. Here the coil is monitored in state 2. If the temperature difference across the coil is < 2C the pump stops, waiting for the manifold to rise 5 degrees. If it doesn't rise after 20 minutes, we go to state 0  waiting for a 10C difference.

This multiple DS1820's on single bus feature becomes an irritation - 3 probes could be connected to a single bus but which one does what? In the temperature logger, I use the "luxury" of GUI and a configuration file to map probe address to probe name. In a standalone controller with almost no UI (2 LED's) configuration is a nightmare.

So a simple solution is hard wire the probes to specific pins:

Port B 0 Manifold,

Port B 1 Top Coil,

Port B 2 Bottom coil.

(A similar solution Jenny came up with - using clever firmware to discover probes on a single bus just isn't useful!)

Here's the source for the Controller. This version (2.08) has been running since May 2000.

Display utility preview 

Here's a preview of the Display utility enhanced to show pump activity.


The pump runs during the brown highlighted regions.

This page was last updated on the 17th January 2002.