Neptune Apex Programming Tutorials, Part 3: Automatic Top-Off Kit (ATK)

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,217
Location
Oregon
Rating - 0%
0   0   0
Seawitch submitted a new Article:

Neptune Apex Programming Tutorials, Part 3: Automatic Top-Off Kit (ATK)


For Inspiration: A beautiful 15-liter reef tank.

r2rfletch10.jpg

This photo is from the Reef2Reef archives courtesy of @Fletch10_uk ©2019, All Rights Reserved.

Note From the Editor:


This article is Part 3 of a series. Feel free to go back and read Part 1 or Part 2.

This week Neptune announced the new ATK Version 2. The information and troubleshooting steps in this article apply to both the original ATK and Version 2.

This article and several future ones by the same author were originally part of several presentations made to a local aquarium club on programming your Neptune Apex Controller. The article is reprinted with permission from the author.

Because this topic will be of great interest to some readers but no interest to others who have not automated their systems, R2R will run these programming articles every Friday until we come to the end of the series.

Photos, images, and diagrams included in this article below are all courtesy of the author, @SuncrestReef ©2019, All Rights Reserved.

~~~~~~~~~~~~~~~~~~~~~~~

ATK Programming and Troubleshooting


The ATK (Automatic Top-off Kit) is Neptune’s integrated ATO solution for Apex environments. It is sold as a bundled package of components that can be plugged in and quickly programmed through a task wizard in Fusion.

However, as I participate in Neptune’s Community Forums and the Neptune Facebook group, I have seen many people reporting problems, frustrations, complaints, and general confusion over the ATK setup or operation. Other than the lack of Trident availability, it seems to be the 2nd most complained-about product Neptune makes.

I have personally had no problems with my ATK over the past year, though it did take some time to figure it out and discover some tricks to make it more reliable and to customize how I use it. I hope this tutorial will give you a jump start to skip over the initial problems most people experience.

Here is what’s included with the ATK:

image4-1.png

The basic operation of the ATK is to tell the PMUP (Practical Multi-purpose Utility Pump…only Neptune would create an acronym that spelled backwards describes the actual device) when to turn on or turn off based on the water-level optical sensor. As a failsafe, a second optical sensor is mounted just above the first one in case the first one fails. A float valve acts as another failsafe in case both optical sensors fail, and lastly there is a built-in timer that acts as a final failsafe to turn off the pump if it runs too long.

While Neptune’s documentation walks you through the ATK setup, they don’t really provide a lot of information about the resulting programming created by the Fusion ATK Setup task. This tutorial will explain each line of code, how to troubleshoot the ATK, and how to modify and enhance the programming for additional features.

Before running the ATK setup, I highly recommend renaming your FMM module and each of the optical sensors (and any other sensors you might add to the remaining two ports on the FMM) so when you run the setup task, the names of modules and sensors presented to you for selection are obvious.

After running the Fusion ATK setup task, the output connected to the PMUP contains this programming: (the names of your optical switches may not match my example).

Fallback OFF
Set OFF
If ATK_LO OPEN Then ON
If ATK_HI CLOSED Then OFF
When On > 005:00 Then OFF
Defer 000:10 Then ON
Defer 000:04 Then OFF
Min Time 060:00 Then OFF


Let’s walk through each line:
  • Fallback OFF — instructs the Apex to turn off this output if the Apex ever gets disconnected from the FMM. This could also apply if the Apex locks up and becomes unresponsive (which rarely happens). This just basically means don’t run the program if the Apex unit isn’t in control of the situation.
  • Set OFF — This sets up the output’s register to default to OFF if no other conditions are met.
  • If ATK_LO OPEN Then ON — ATK_LO is the lower optical sensor plugged into port 1 of the FMM. This is the primary sensor that should do all the work under normal circumstances. If the water is lower than this sensor, it will report OPEN so the pump should be turned On. If the water level is even with the center of the sensor, or if the sensor is completely submerged, it will report CLOSED so this line of code would evaluate as False.
  • If ATK_HI CLOSED Then OFF — ATK_HI is the upper optical sensor plugged into port 2 of the FMM. Like the ATK_LO sensor, if will report OPEN if it’s above the water level, and CLOSED if it’s level or submerged in water. This would turn off the pump if the lower sensor failed to do its job.
  • When On > 005:00 Then OFF — As described in the previous tutorial, the When command is a failsafe that will move the ATK PMUP output sider from AUTO to OFF on the dashboard. This will prevent the ATK from running again until you manually move the slider back to AUTO. This typically represents an error condition you should investigate to determine why the pump ran for too long. This will be discussed in the next section.
  • Defer 000:10 Then ON — Also described in yesterday’s tutorial, the Defer command causes a delay before turning on the pump until the water level has been detected as continuously low for at least 10 seconds before turning on the pump. This avoids rapid on/off fluctuations caused by water ripples triggering the optical sensors.
  • Defer 000:04 Then OFF — Same as above, but wait for 4 seconds once the water level has filled sufficiently before turning off the pump.
  • Min Time 060:00 Then OFF — Also described in the previous tutorial, the Min Time command forces the ATK to wait at least 60 minutes before allowing the pump to turn on again.
Here’s an illustration of the ATK when the water level is normal:

image4-2.png

As water evaporates, the lower sensor reports OPEN and triggers the pump to turn on. Once the water level returns to normal, the lower sensor will report CLOSED and the pump should turn off:

image4-3.png

If the lower sensor fails for some reason and the water continues to fill up, the upper sensor will report CLOSED. This should cause the pump to turn off:

image4-4.png

If both the lower sensor and the upper sensor both fail, the float valve will pinch the tubing to stop the water flow:

image4-5.png

While this should prevent a flood in your house, it will not turn off the pump since this is a simple mechanical valve and does not communicate with the Apex. In this situation, the pump will continue to run until the When timer expires, then the pump is turned off and the ATK tile itself is changed from AUTO to OFF:

image4-6.png

You should also receive an alert from Fusion for this error condition.

Troubleshooting

If your ATK isn’t working as expected, here are some basic troubleshooting tips:

1. Make sure the PMUP output tile is set to AUTO on your dashboard. It's amazing how many people forget this one basic principle of Apex operation!

image4-7.png

2. Manually move the PMUP slider to the ON position to confirm the PMUP powers on and pumps water. If it doesn't move any water, verify the 24v power adapter is firmly plugged in to the FMM and that it has power. Also confirm the PMUP is fully submerged in the ATO reservoir, and that the tubing is not kinked or blocked. Remember to move the slider back to the AUTO position before continuing to the next steps.

3. For testing purposes, delete the Min Time 060:00 Then OFF, or change it to 000:01. This will allow you to perform testing immediately without waiting an hour in between tests. After testing, remember to add that line back to the programming since it’s there as a safeguard.

4. There’s a delay in updates displayed on the Fusion dashboard screen. To see near immediate changes in switch and output states, use the http://apex.local interface rather than Fusion.

5. Ensure your optical sensor plugs are firmly seated in the FMM sockets. You really need to push them hard until they “click” into place.

6. Ensure your FMM module is correctly identifying the optical sensors. Go into the FMM module settings, click Configure, then confirm outputs 1 and 2 are both detected as Optical Sensors.

image4-8.png

7. Wipe off your optical sensors if they are dirty.

8. When you’re testing, dip the lower sensor in the water and verify that the tile on your dashboard changes from Open to Closed:

image4-9.png

9. If it doesn’t, then either the sensor is defective, not fully plugged in, in the wrong port, or not configured as an optical sensor. Do the same test with the upper sensor.

10. If you submerge the lower sensor, but the upper sensor on the dashboard changes state, then your wires are in the wrong ports of the FMM. I’ve heard a couple people say the “1” and “2” labels were mixed up during manufacturing.

11. Remember that the Defer statements cause a delay before turning the pump on (for 10 seconds) or (off for 4 seconds). For testing purposes, you can lower the Defer timers, or delete them. Just remember to set them back to the normal values after testing is completed.

12. Enable logging on the PMUP output. This allows you to review its operation later, or to remotely check in on its activity.

image4-10.png

Neptune also has a troubleshooting section on their web site: https://www.neptunesystems.com/getstarted/atk-help/

Customizing your ATK programming

The standard programming created by the Fusion ATK Setup task is fine for most people, but there are a lot of extra features you can add by customizing your programming. I have made the following changes to my ATK programming:
  • Added an additional optical sensor named FW_LOW inside my 75-gallon RO/DI storage tank to turn off the ATK if the water level is too low.
  • Added a virtual output named Maintenance to disable the ATK while I’m conducting maintenance. I’ll cover virtual outputs in another tutorial.
  • Lowered the When command timer from five (5) minutes down to three (3) minutes. In my sump, the ATK should never need to run for more than about 1-2 minutes, so three would be abnormal.
  • Lowered the Min Time command timer from 60 minutes down to 30 minutes.
Here is my customized ATK_PMUP output code:

Fallback OFF
Set OFF
If ATK_LO OPEN Then ON
If ATK_HI CLOSED Then OFF
If FW_LOW OPEN Then OFF
If Output Maintenance = ON Then OFF
When On > 003:00 Then OFF
Defer 000:10 Then ON
Defer 000:04 Then OFF
Min Time 030:00 Then OFF


That's all for this installment. Check back next time for a tutorial on Power Monitoring!

~~~~~~~~~~

We encourage all our readers to join the Reef2Reef forum. It’s easy to register, free, and reefkeeping is much easier and more fun in a community of fellow aquarists. We pride ourselves on a warm and family-friendly forum where everyone is welcome. You will also find lots of contests and giveaways with our sponsors.

~~~~~~~~~~~

Author Profile: @SuncrestReef

John Halsey is a reefing hobbyist who keeps a Red Sea Reefer XL 425 in his living room. He is new to reefing with just over one year of experience, but has been successful in keeping a healthy mixed reef by following best practices learned here on R2R as well as actively participating in his local aquarist club--PNWMAS--in Portland, Oregon. John retired from his 30-year career in IT support, and put that technical expertise to good use by automating much of his aquarium equipment with an extensive Neptune Apex system.

~~~~~~~~~~~
 

vetteguy53081

Well known Member and monster tank lover
View Badges
Joined
Aug 11, 2013
Messages
91,880
Reaction score
202,941
Location
Wisconsin -
Rating - 100%
13   0   0
SMH ( for the good) !! So well written and explained and so happens I am transferring ATK to my new tank, and will use this as a reminder of the install
 
Last edited:

FishEngineer

New Member
View Badges
Joined
Jan 8, 2019
Messages
14
Reaction score
13
Location
Naperville, IL
Rating - 0%
0   0   0
Outstanding job! Just got my Apex and was setting it up. Had a standalone ATK and was about to shelf it since it alarmed ALL the time. Your article clarified the whole thing. Talk about JiT. Looking forward to more in this series.
 
OP
OP
SuncrestReef

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,217
Location
Oregon
Rating - 0%
0   0   0
Outstanding job! Just got my Apex and was setting it up. Had a standalone ATK and was about to shelf it since it alarmed ALL the time. Your article clarified the whole thing. Talk about JiT. Looking forward to more in this series.

That's great! If this article helps just one person, then it was worth my effort. Really glad it helped.
 

FishEngineer

New Member
View Badges
Joined
Jan 8, 2019
Messages
14
Reaction score
13
Location
Naperville, IL
Rating - 0%
0   0   0
If I can put in a plug for a subject, how about setting the DoS up for water changes? Doing that now and I'm sure there will be issues given Neptune's sparse instructions.
 
OP
OP
SuncrestReef

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,217
Location
Oregon
Rating - 0%
0   0   0
If I can put in a plug for a subject, how about setting the DoS up for water changes? Doing that now and I'm sure there will be issues given Neptune's sparse instructions.

Actually, that one is pretty easy. There's a task in Fusion that walks you through it including illustrations on how to connect your tubing. I have mine set for daily auto water changes, but there's also the option to do on-demand auto water changes. Let me know if you run into problems setting it up.
 

rkpetersen

walked the sand with the crustaceans
View Badges
Joined
Sep 14, 2017
Messages
4,528
Reaction score
8,865
Location
Near Seattle
Rating - 0%
0   0   0
Good idea to clean the faces of the optical sensors on a regular basis, especially if they're exposed to a fuge light, as algae growing on them can lead to a false CLOSED indication.
Worth mentioning that the V2 ATK has an upgraded pmup with a more stable base, quieter impeller, thermal and run-dry protection. The V2 opticals sensors are now sealed where the cord enters the sensor body, which should reduce or even eliminate salt/water getting into the sensor and causing it to fail, which is fairly common with the V1 sensors.
And even though the new sensors should be more reliable, it's still a good idea to create virtual output alarms that notify you if the low sensor in particular stays open or closed for too long. Specifically, if the sensor fails, it will most often fail in the CLOSED position, which if undetected will cause your water level to drop without ATK activation, eventually causing your return pump to suck air.
 

FishEngineer

New Member
View Badges
Joined
Jan 8, 2019
Messages
14
Reaction score
13
Location
Naperville, IL
Rating - 0%
0   0   0
First time poster for a problem so forgive me if this is the wrong place. So I’m having a problem that is inundating me with alarms from the ATO high level sensor (it’s the Neptune ATK using an ApexEL system). I have a Klir continuous filter in the sump. It operates by water level building in the tray and then triggering an optical sensor in the tray to tell the motor to advance the fleece. This in turn drops the level in the tray, adding what looked like unaccounted for water to the sump. The filter advances and immediately the water that was held up in the filter tray causes a rise in the pump section which triggers the alarm. This causes about an 1” of change in the sump section with the pump triggering the high level alarm sensor on the ATO even tho the ATO pump hasn’t pumped. I will also have the situation where the level in the filter tray hasn’t risen enough to trigger the Klir to advance the fleece but holding up a volume of water. The ATK sees this as a low level and adds water. When the fleece finally advances, I’m in an alarm condition again with the high level sensor. Frustrating and a LOT of email/text warnings.

The filter triggers once or twice an hour. I used your programming for the pump, but using 60 minutes for the off time. Is there a way to get around this via programming? Otherwise, I’m think a mechanical solution of re-drilling the plate for the optical sensor to separate the low and high by more than an inch. Not sure if there’s room for that on the plate. My fall back would be to use a separate high sensor in the sump it self.

Any advice would surely be welcome thanks!
 
OP
OP
SuncrestReef

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,217
Location
Oregon
Rating - 0%
0   0   0
First time poster for a problem so forgive me if this is the wrong place. So I’m having a problem that is inundating me with alarms from the ATO high level sensor (it’s the Neptune ATK using an ApexEL system). I have a Klir continuous filter in the sump. It operates by water level building in the tray and then triggering an optical sensor in the tray to tell the motor to advance the fleece. This in turn drops the level in the tray, adding what looked like unaccounted for water to the sump. The filter advances and immediately the water that was held up in the filter tray causes a rise in the pump section which triggers the alarm. This causes about an 1” of change in the sump section with the pump triggering the high level alarm sensor on the ATO even tho the ATO pump hasn’t pumped. I will also have the situation where the level in the filter tray hasn’t risen enough to trigger the Klir to advance the fleece but holding up a volume of water. The ATK sees this as a low level and adds water. When the fleece finally advances, I’m in an alarm condition again with the high level sensor. Frustrating and a LOT of email/text warnings.

The filter triggers once or twice an hour. I used your programming for the pump, but using 60 minutes for the off time. Is there a way to get around this via programming? Otherwise, I’m think a mechanical solution of re-drilling the plate for the optical sensor to separate the low and high by more than an inch. Not sure if there’s room for that on the plate. My fall back would be to use a separate high sensor in the sump it self.

Any advice would surely be welcome thanks!

This is an interesting dilemma. I don't have a Klir filter, so I don't have direct experience, but I do have an idea. Would there be enough room in the Klir to add an Apex-connected water level sensor in addition to the Klir's own sensor? If so, you could leverage this new sensor to know when the Klir has released the water, and program the ATK pump and high sensor to wait a specified amount of time for the water level to return to normal before activating the ATK pump or alerts. Let me know if this is a possibility, and if so I'd be happy to assist with the programming.
 

FishEngineer

New Member
View Badges
Joined
Jan 8, 2019
Messages
14
Reaction score
13
Location
Naperville, IL
Rating - 0%
0   0   0
This is an interesting dilemma. I don't have a Klir filter, so I don't have direct experience, but I do have an idea. Would there be enough room in the Klir to add an Apex-connected water level sensor in addition to the Klir's own sensor? If so, you could leverage this new sensor to know when the Klir has released the water, and program the ATK pump and high sensor to wait a specified amount of time for the water level to return to normal before activating the ATK pump or alerts. Let me know if this is a possibility, and if so I'd be happy to assist with the programming.
I think there maybe room for the sensor. The problem is defining what is normal. The moment before the Klir cycles would correspond to the lowest level in the sump and then correspondingly it would go to the highest level once it releases. It seems to cycle over a 30-40 minute period. I will have to look at the log for the Klir to see the average cycle. I guess we would use the half cycle time as average even though it’s probably not linear. I will order a sensor since I can always use an extra if this doesn’t work. I’ll let you know when I get it. Thanks so much for your help and quick response.
 

FishEngineer

New Member
View Badges
Joined
Jan 8, 2019
Messages
14
Reaction score
13
Location
Naperville, IL
Rating - 0%
0   0   0
I think there maybe room for the sensor. The problem is defining what is normal. The moment before the Klir cycles would correspond to the lowest level in the sump and then correspondingly it would go to the highest level once it releases. It seems to cycle over a 30-40 minute period. I will have to look at the log for the Klir to see the average cycle. I guess we would use the half cycle time as average even though it’s probably not linear. I will order a sensor since I can always use an extra if this doesn’t work. I’ll let you know when I get it. Thanks so much for your help and quick response.
So I got the sensor but it won’t fit in the Klir tray. Plus, I made a rookie mistake with the Apex and realized that I didn’t have a free input for the sensor even if it did fit. I guess I’ll use the free standing sensor in lieu of the built in one on the ATK. I know it will then make the physical float valve lower than the hi sensor, but I’m sick of 30-40 alarm a day (the hi ATK for some reason sends out about four alarm messages at a time).

I have a friend with a 3D printer and may see if he can print me up a modified mounting plate with greater spacing to be used in place of the original one from Apex.

I’m open to any other ideas. Thanks for your help.
 
OP
OP
SuncrestReef

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,217
Location
Oregon
Rating - 0%
0   0   0
So I got the sensor but it won’t fit in the Klir tray. Plus, I made a rookie mistake with the Apex and realized that I didn’t have a free input for the sensor even if it did fit. I guess I’ll use the free standing sensor in lieu of the built in one on the ATK. I know it will then make the physical float valve lower than the hi sensor, but I’m sick of 30-40 alarm a day (the hi ATK for some reason sends out about four alarm messages at a time).

I have a friend with a 3D printer and may see if he can print me up a modified mounting plate with greater spacing to be used in place of the original one from Apex.

I’m open to any other ideas. Thanks for your help.

That's too bad.

I do have one other possible solution for you. If you have the EB832, it can monitor the watts or amps being used on each output. If the Klir motor was plugged into an EB832 output, you might be able to tell when the motor is running by the power consumption. That could then be used to trigger a timer that tells the ATK to ignore the high sensor for X seconds while that sudden surge of water hits it. The syntax for power monitoring is:

If Output KlirMotor Amps > 1.0 Then ON

Let me know if you want to pursue this idea further. See my Power Monitoring tutorial for more details: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-4-power-monitoring.698/
 

FishEngineer

New Member
View Badges
Joined
Jan 8, 2019
Messages
14
Reaction score
13
Location
Naperville, IL
Rating - 0%
0   0   0
Why, yes I do have an EB382. Amps shows no fluctuations but watts do. The Klir motor goes thru a 12 volt wall wart into a controller that monitors the sensor. I can see the wattage vary in what looks like steps. Let me read your tutorial to get up to speed and then we can proceed with the programming. Thanks!
 

FishEngineer

New Member
View Badges
Joined
Jan 8, 2019
Messages
14
Reaction score
13
Location
Naperville, IL
Rating - 0%
0   0   0
I’ve read the tutorial and looked at my Klir amps and watts plot. Also just watched the sump level as the Klir filter advances to see the range. My thinking is to let the Klir activate thus putting the system to a level I’d call normal. Since the filter is at a point if there was no particle concentration in the water it would never advance and the water level would stay more or less stable in the sump other than just evaporation. Watching it, I would say if I can wait a minute or two after the filter advances and then have the ATK observe the level for say 5-10 minutes, that would be a good start. That would give plenty of time for the level to equlibrate, the PMUP to do its thing if water is called for, and not long enough for the filter to blind enough to appreciably change the sump level. After this period, the ATK_Lo and ATK_Hi would be ignored/off until the next trigger of the filter dump. My problem that I’m unsure of is how to put that into Apex code.

One other observation which I don’t understand is when you plot the Klir_W, if the period is more than a day or so by selecting “All”, the plot shows like a sawtooth with peak levels at about 0.3, 0.6, and 1. If I select 1day for the period, the peaks are all at 1.0. I’m tending to believe the 1.0 since the motor is either on or off and there are no intermediate speeds I can tell. Is the multi-peak observation just an artifact of the Apex system?

Again I really appreciate your help and time you’re taking. Thanks
 

ShellSea

Community Member
View Badges
Joined
Nov 8, 2016
Messages
77
Reaction score
21
Location
Destin, Florida
Rating - 0%
0   0   0
I also have the klir but due to sump design the optic sensor will not work. I just want to control the klir motor with my apex and write a program to turn the fleece every so often. That frequency will be determined later. How can I wire the klir motor to apex? No optic sensor..
 

kevin.st

Active Member
View Badges
Joined
Mar 17, 2016
Messages
115
Reaction score
61
Rating - 0%
0   0   0
Well, I have been fairly frustrated with my new atk v2. Until now. I hope it starts to work better.

My issues were the following: the auto detect on port 1 and 2 was not optical, it was water on floor. I had to manually change this. I also thought the water line was supposed to be BETWEEN the 2 optical sensors, in the sump.
 
OP
OP
SuncrestReef

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,217
Location
Oregon
Rating - 0%
0   0   0
Well, I have been fairly frustrated with my new atk v2. Until now. I hope it starts to work better.

My issues were the following: the auto detect on port 1 and 2 was not optical, it was water on floor. I had to manually change this. I also thought the water line was supposed to be BETWEEN the 2 optical sensors, in the sump.

If the FMM is not detecting the optical sensors properly, it's likely they are not fully plugged in. You have to push them pretty hard. If it still doesn't detect them, contact Neptune Support. Otherwise, they likely won't report the water level correctly.

The normal water line is at the center of the lower sensor as shown in the first diagram above in the article.
 

Reefing threads: Do you wear gear from reef brands?

  • I wear reef gear everywhere.

    Votes: 17 17.0%
  • I wear reef gear primarily at fish events and my LFS.

    Votes: 5 5.0%
  • I wear reef gear primarily for water changes and tank maintenance.

    Votes: 0 0.0%
  • I wear reef gear primarily to relax where I live.

    Votes: 17 17.0%
  • I don’t wear gear from reef brands.

    Votes: 53 53.0%
  • Other.

    Votes: 8 8.0%
Back
Top