I've continued development of the simple display, working towards a framework for a datalogging solar controller.
The system also forms the basis of some related projects. At this rate I'll have several Arduinos scattered around the house (and workshop) all feedng into a central hub.
I've chosen to use 10K thermistors for my temperature sensors - because they are cheap, I have them lying around and you can get ones that clip directly onto 15 to 22mm pipes.
http://www.rapidonline.com/Electronic-Components/Sensors/Thermal-Sensors/Pipe-clip-temperature-sensors/76422/kw/temperature+sensorThe code currently reads 3 thermistors and a trimmer pot. The pot is an easy way to set the pump on temperature. The data from the temperature sensors is linearised and converted to centigrade. It is then displayed on the LCD and sent to a serial port in a CSV time stamped format.
I am awaiting my new SD card and RTC shield from NuElectronics, and that will be incorporated upon arrival. Whilst the basic solar controller application is fairly trivial, it's a good starting point to learn how to interface to the various sensors, relays etc and in my case, gain familiarity with programming in C.
In the picture Temp1 is bottom of tank, Temp2 is top of tank, Temp3 is the room temperature of my workroom and the temperature in the bottom right is the "set temperature" which when compared with Temp3 decides whether the pump is to be turned on or not. Whilst this is not exactly what is needed for the solar controller, it is handy for bench testing before starting to switch real pumps.
The system can be extended to take another 2 thermistors - say panel inlet and panel outlet, and also a pulse generated from a flow sensor, so that the power produced by the panel can be expressed in watts (in real time).
I'm currently monitoring the heat up profile of my hot water cylinder - one application for the controller is to optimise the boiler "top-up" time. This arose from an idea following a discussion with Trystan Lea on the open energymonitor project.
A pair of buttons on the controller display panel in the living room could be used to select either "bath" or "shower" and then beep gently when the cylinder is at optimum temperature. A quick calculation would display how long the system will take before an optimal bath can be drawn. The same system could be used in the winter to choose whether your woodstove/backboiler feeds in preference to the heat leak radiator or maximises the heat into the hot water cylinder.
Ken