A couple of details about the released version:
- I had not included a footprint for a capacitor for the LMP7721 feedback loops, and it's needed to avoid oscillation:
The image below shows the effect of a 2nF capacitor soldered against the feedback resistor. The next revision will have a footprint to accommodate it.
- The second point is that adding a second motor controller for acid injection will prove useful in the next revision
I built this project because it was a fun thing to do, more than the fact that I felt my pool needed automation. That being said, I learned more about pool chemistry in a couple of days of the project being online than I did in 10 years of pool ownership.
The first thing is probably that pool supply store water analysis isn't what it's cracked up to be (probably not much of a surprise there). I can't speak about every store, but the analysis devices at my store aren't well-calibrated, so the chemical recommendations between two of them for the same sample are completely different.
The second thing is that there isn't much of a point adjusting PH punctually. Like many before me, I've found that maintaining a low enough PH is potentially more important than sanitizer levels:
In the image above, the first marker shows the effect of adding pool shock. Sanitation levels are going down?! Initially, that was a surprise to me. The reason is that shock (and bleach) are bases, which increase PH. While the effect is temporary and PH would eventually even back down, you can see that the addition of muriatic acid (second marker) has a huge impact on ORP levels. That is due to that fact that at a lower PH, chlorine breaks down into hypochlorous acid, which has a much higher oxydation potential than the other form, hypochlorite ions, that form at a "high" PH.
TLDR: it is equally important to dose acid as it is chlorine. V0.2 will include a second stepper driver.