Kalkwasser ATO to minimize pH change

zombie

Dolphin
M.A.S.C Club Member
#1
I posted this on neptune forums and thought I would share with the group. I had an issue of my pH getting too high with big swings (8.2-8.5 daily) from kalk and then adjusted my code as shown below and have been able to keep it between 8.15 and 8.3


I have noticed that the question of how to set up a reliable ATO that uses kalkwasser has been coming up a lot in these forums. I have spent quite a bit of time optimizing a code that helps to limit the effect of both natural daily pH swings as well as limiting transient changes in pH caused by rapid addition of saturated kalkwasser. Since this code is not cookie cutter and must be tailored for each specific tank, I will attempt to guide you through how to select the proper values based on your tank. This is by no means a perfect code, so if you have any comments to improve it, please let me know.

First, I must reiterate the advice posted in the ATO sticky. ALWAYS set your float switches so that its NORMAL STATE is CLOSED. Your LOW switch should be OPEN when DOWN and your HIGH switch should be CLOSED when DOWN. The code below assumes that your switches follow this convention.


Before you start writing this code into your system, you need to determine the following parameters.

1. What is the flowrate of your pump in gph after head loss? If you don't know how to do a head loss calculation, then assume it is half of the flowrate listed on the box in gph.

2. What is your weekly evaporation of water in gallons?


The basis for the code below is that I want my pump to deliver only half of the water that normally evaporates during the day to limit the increase in pH but not cause a large swing in salinity. During the night hours, I want to add more kalkwasser to reduce the drop in pH that naturally occurs at night, but want it to gradually add it so there isn't a large transient spike in pH. The code below is written to dose every 15 minutes and during the day only dose half of what is normally evaporated and during night dose double what is normally evaporated. I am using an aqualifter pump with a 2 gph of flow after head losses on a 125 gallon tank that evaporates about 20 gallons per week.


Here is where the math comes in. Replace my numbers with yours to find the correct setting in the OSC statement for your needs.

Flowrate = 2 gph
Weekly evaporation = 20 gallons
Daytime Dose time = (2.5 * Weekly evaporation / flowrate) + 5 = 30 s or 000:30
Nighttime Dose time = (11 * Weekly evaporation / flowrate) + 5 = 115 s or 001:55
High pH dose = Daytime Dose time / 2 = 15 s or 000:15



Now comes the code. anything with a # signifies a comment

[DayDose] # virtual outlet for daytime dose
OSC 000:00/000:30/014:30 Then ON
IF Outlet Lights = OFF Then OFF
If pH > 8.4 Then OFF

[NightDose] # virtual outlet for nighttime dose
OSC 000:00/001:55/013:05 Then ON
IF Outlet Lights = ON Then OFF
If pH > 8.4 Then OFF

[BadpHDose] # virtual outlet to reduce dose to half of daytime dose if pH gets too high
OSC 000:00/000:15/014:45 Then ON
If pH < 8.4 Then OFF

[PumpFailAL] # virtual alarm outlet that signifies a clogged or failed pump, or a stuck low float switch
Set OFF
If SW1 OPEN Then ON
Defer 999:99 Then ON

[ATO_HIGH] # virtual alarm for overfilling of water
Set OFF
If SW2 OPEN Then ON
Defer 002:00 Then ON

[ATO_Pump] # EB8 outlet
Fallback OFF
Set OFF
If Outlet [DayDose] = ON Then ON
If Outlet [NightDose] = ON Then ON
If SW1 OPEN Then OFF
If SW2 OPEN Then OFF

Anyone who cannot cope with mathematics is not fully human. At best he is a tolerable subhuman who has learned to wear shoes, bathe and not make messes in the house. -robert heinlein
 

andyrm66

Butterfly Fish
#3
Great advice! When I was dosing kalk, I had it set to dose 6 times a day, and just a little bit longer than avg evap. That way if something malfunctioned, it would take a couple days to create too much water, conversely, it really helped to minimize PH swings.

I got tired of that and ended up going 2 part. The thing I like about 2 part is dosing alk, is independent of evap rate of tank, makes it easier (more me) dealing with high humidity etc.

Both ways work great.
 
Top