Two weeks in and I'm really happy with my efforts, it's perfect for my needs.
1. Controller wakes-up with the pump via my smart-home system schedule (Samsung SmartThings).
2. Senses water-flow and delays 60-seconds to ensure good water circulation before current is applied to the cell.
3. Regular polarity switching to clean the cell.
4. Low-flow warning w/buzzer
5. Low-salt warning w/buzzer.
6. over-current and immediate shutdown of current through the cell w/buzzer till 60-seconds after the fault clears.
7. Cell current (A) and salinity (PPM) display (updated every ~5-seconds*).
8. All faults and real-time system status clearly described on the display (so nice to know at a glance, exactly what the system is doing).
*
Because of nucleation within the cell, caused by water-flow and all the gas bubbles as electrolysis takes place during chlorine production, the actual current drawn by the plates fluctuates very rapidly. To dampen this effect (no pun intended) the software accumulates150 current samples with 5ms pauses between samples, averages and displays the mean (~5-seconds updates). I've found a linear correlation between current drawn across the Intex cell (500PPM through 5000PPM) during tests in my lab (yes, I dunked the cell in 10 different salinity solutions and measured the current at precisely 12V each time). So for our purposes, a simple multiplication factor in software serves as a calibration to convert Mean Amperes (A) to Mean Salinity (PPM). I used the average of 10 readings from my HM Digital COM-80 TDS/EC Meter in the pool as a reference.
Hopefully you enjoyed this read and some of you will venture into the world of Arduino and try this, it takes a really good, inexpensive, saltwater-system and makes it even better IMHO.
