Ok, I've not actually installed it yet, but I have the $12 ebay pump running on the bench. It seems to be a bit higher volume than the Stenner pumps I've read about, It seems to be moving about 8oz per minute - about 90 gallons per day. Since my pool's been needing about 1/2 gallon per day, it seems I'll need about 8 minutes of run time per day. Obviously I'll need to be able to tune the pumping time.
As it stands, my plan is to tap a small DC power supply off the pump power (mechanical timer, currently about 3 hours morning and 3 hours evening) And write the software such that when my system powers up it waits a few minutes to allow the filter pump to stabilize, then injects chlorine for several minutes and shuts off. Set the injection time to about four minutes to accommodate my twice a day filter schedule. That seems the simplest functional implementation.
I'm trying to avoid "feature creep" and the never ending software design, but the next thoughts are:
Use a combination of non-volatile memory and the real time clock to ensure the injection only happens once a day. Preferably during the evening cycle. (prevents over injection when manually running the filter pump)
Use the clock (calendar) and/or the system temperature sensor to vary the injection times to accommodate seasonal demand changes.
User interface to inform the system when the storage tank is refilled and with what strength of chlorine. System could then calculate tank chlorine strength and adjust pump time to accommodate.
Use the clock (calendar) and/or the system temperature sensor and last fill data to estimate the aging of the chlorine to accommodate for strength loss in storage.
Thoughts?
I'm especially interested in if anyone has some insights into the seasonal/temperature demand calculations. My initial thought is below 60 degrees F there's a near zero demand, so I could just linearly reduce. Something like V*n*(T-60), where V is the highest summer demand, T is the average daily temperature and n is a normalizing term so the T-60 term becomes 1 at peak summer temperatures (probably 0.02 given peak summer temperatures of 110 F) Result should be something like this:
