Arduino Solution for Failed Pentair Intelliph

If you have any questions as to what IntelliPh is doing with that chlorinator connection on RS485 its actually pretty simple.
In a nutshell there is a DPDT relay on the IntelliPh that disconnecs the comm wires from IntelliTouch, then it sends a series of RS485 packets on its on master channel to ensure the cell turns off and stays off. This is sent every few seconds with a wait response in between.
[16, 2, 80, 0][0][98, 16, 3]
[16, 2, 80, 17][0][115, 16, 3]
[16, 2, 80, 20][0][118, 16, 3]
 
Mine is 112.5 mL/min.
The motor on the pump had a label on it that said 24v. When I ran it at 19v (nominal power supply rating, not measured) it pumped 198mL/Min, and at 12 v it pumped 52mL/Min. The native controller probably runs it at 17v or so. Not important, as long as the voltage remains stable, the flow rate calibration will be stable.

One additional learning concerned the Hayward flow switch I bought and installed. I wanted to be sure the pool pump was running during acid adds. And just to doll things up a bit, I put an 8-strip of NeoPixel LEDs on my controller to show tha status of everything. And guess what (?!) --the flow switch stuck on even when the pool pump turned off. It's a clever design poorly executed: a reed switch embedded in a post within the pump flow is activated by a magnet attached to a paddle that get pushed into the post. There were two unrelated problems: the paddle stuck magnetically to the reed switch occasionally giving a false ON for the flow, and the switch circuit read 418 Ohms when the switch did manage to open!!! I had to put a 100 Ohm pullup resistor on the circuit, and read an analog voltage to make the logic work correctly. So what I thought was a fluff addition to my design actually headed off a serious problem. Everything's been working perfectly for about a week now, and the pool looks great again.

Again, thanks for all your guidance and help on this...Jack
 
Yeah I have regulated 24vdc power to the pump. There are two versions of that pump. I believe the older version has a higher flow rate. Although I am not certain, I believe it uses two rollers on the cartridge instead of 3. The newer pump uses 3 rollers has a lower flow rate. Although it doesn't really matter if you calibrate the pump in your algorithm. You will find the method of decrementing what you dispensed to be pretty darn accurate.

I use a flow switch on a globe flow cell. It works pretty well and uses a GPIO pin on the Pi with a 1k pulldown. The failure mode for that design is to fail off because it requires a small amount of water to push the weighted plunger up into the flow cell. The code executes using a latch timer as well so if there are any communication errors or the watchdog for the pin isn't reset it will force the pin low. Probably overkill but it does catch the cases were I am debugging and holding a breakpoint.

If you ever decide you want to start dosing based on demand, I have to say, that works pretty well and keeps a constant CSI.
 
And it turns out the acid vapors were, indeed, fatal to my exposed sensor setup: after only one day inside the tank, every metallic surface including solder joints had a green or gray patina, and the sensor had failed electrically. So I knew I had to have a hermetic enclosure for the sensor, and I needed to find a transparent window material as part of the solution.

So I had another sensor, and my next step was to see if any transparent material I had on hand would allow the sensor to work correctly. Short answer is no. So far I've looked at 3mm acrylic, 3mm glass, 0.4mm plastic of some sort, and Costco shrink wrap. The two thicker materials both failed miserably. The 0.4mm plastic looked a little better, but had severe non-linear behavior under 100mm distance and beyond that distance it did not function. The shrink wrap allowed the sensor to work just fine, but it's hardly durable enough to be used for the purpose. So my conclusion so far is that using the VL53LO optical sensor is simply not going to work.

For completeness, I thought I'd mention a couple of other options that I considered earlier and discarded:
(1) I thought about measuring the weight of the entire tank, acid and all, using a set of load cells and an HX711 electronics chip, commonly used in bathroom scales. I had such a sensor set from a previous hobby project. I discarded this path because my acid tank is bolted to a slab of concrete (this is earthquake country, after all!).
(2) I made an "acid displacement probe" out of an 18" piece of sprinkler pipe, empty and sealed at both ends. I attached a vertical load cell to measure the net of the probe weight and the buoyancy force (equal to the weight of the displaced acid at any given immersion level). This rig worked OK in my pool water, but, again, the load cell is made out of aluminum and its sensing elements are electrical strain gauges, so putting that inside the tank would fail for the same reasons that the VL53LO did.
(3) I thought about putting a magnet on a float, constrained within a sprinkler pipe mounted inside the tank. The magnet's vertical position could be detected by one or more reed switches on the outside of the tank. While I think this could be made to work, it would only provide a coarse resolution of the acid level at best. Perhaps that's good enough to trigger a text message to refill the holding tank.

So I'm up for any other ideas you all might have. I've enjoyed this project along the way, and I really enjoyed the interaction with a knowledgeable group of folks. Thanks for that...Jack
I know this thread is 3 years old, but for those that want to measure the liquid level in the tank with an external sensor to avoid corrosion, Mopeka has bluetooth ultrasonic sensors you just stick to the bottom of the tank. They are made for measuring liquid levels in all types of tanks. Look for the Mopeka Universal Pro for non-steel tanks. It works with an app on your phone and can do alerts.
If you want to build your own and connect it to an arduino, I suggest finding an ultrasonic kit that can so something similar.
 
Thread Status
Hello , This thread has been inactive for over 60 days. New postings here are unlikely to be seen or responded to by other members. For better visibility, consider Starting A New Thread.