insomniac2k2
Active member
Hi all -
Been a while since i posted or took on any more DIY's, but I finally got around to doing my version of a 5g AWC. I just want to state that the code works flawlessly, but I feel that it is a bit cumbersome. So if you have some better logic or thoughts, please feel free to contribute.
Description:
I absolutely do not want to store NSW, so this is where i differ from most setups. See below:
I have one task. Take 1.5 cups of salt and dump it in a funnel which is attached to an actuated butterfly valve. I Then put my tank in feed mode D. Walk away.
Here's how it works:
Feed mode D is 68 minutes. Once triggered, it fires a sequence of events to follow:
A solenoid on a "T" attached to my skimmer pump opens up to start a 5g drain. The drain cannon go more than 5g, ever, because it feeds to a 5g bucket with a manual float valve to cut off flow when full.
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
If Outlet Sol_DRAIN = ON Then OFF
If Outlet RO_FILL = ON Then OFF
If Outlet SALT_DUMP = ON Then OFF
If Outlet Mixer = ON Then OFF
If Outlet Sol_NSW = ON Then OFF
This closes when ANY criteria where the next sequence starting has been met.
Meanwhile all my other outlets have started as well. Only on timed delays.
The second outlet to fire (16m later) is an actuated ball valve drain that has an assist pump tied to it (they both fire at the same time.):
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
Defer 016:00 Then ON
If Outlet RO_FILL = ON Then OFF
If Outlet SALT_DUMP = ON Then OFF
If Outlet Mixer = ON Then OFF
If Outlet Sol_NSW = ON Then OFF
Assisted drain time is about 6m
The next outlet to fire is in 22m (6m later). This outlet now fills (via pump) the same bucket with fresh RO water in preparation for salt.
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
Defer 022:00 Then ON
If Outlet RO_DELAYON = ON Then OFF
If Outlet Sol_NSW = ON Then OFF
About 3/4 the way through the RO water fill, i have 2 outlets that fire at close to the same time. One is a mixing power head and the other is the salt dump actuated butterfly valve.
Mixer first:
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
Defer 033:45 Then ON
If Outlet Sol_NSW = ON Then OFF
Salt Dump 15s later:
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
Defer 034:00 Then ON
If Outlet Sol_NSW = ON Then OFF
In order to keep my RO pump on long enough I had to create a virtual outlet to delay its time ON. This was an interesting trick, but it essentially has a delayed ON that is triggered by the salt dump process. Once it is turned on 8m later, the RO pump is automatically turned off (You will see this on the RO pump code)
Fallback OFF
Set OFF
If Outlet SALT_DUMP = ON Then ON
Defer 008:00 Then ON
If Outlet Sol_NSW = ON Then OFF
The new salt water is mixed for about 25m and then pump assisted back into the tank. Completing the water change. Feed cycle ends.
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
Defer 060:00 Then ON
Note that the water assist pump is the same pump that lives on a T with both the drain and fill actuated ball valves. It is set to assist both drain and fill processes. Code is pretty simple on this one:
Fallback OFF
Set OFF
If Outlet Sol_NSW = ON Then ON
If Outlet Sol_DRAIN = ON Then ON
Disclaimer:
At the moment, this a timed and metered process. It works without failsafes because the float valve on the 5g is a manual cutoff. And even on failure, everything shuts off within minutes of the time that it takes to fill or drain everything anyway. That said, i will be adding hi and low float valves to the drain and fill process. This will allow redundancy code to check if the float open and closed are met during each process. This will allow for active and automated control of the process, or just force it to fail out and exit the feed mode.
One additional failsafe I added was to have the feed mode trigger a "WaterChange" virtual outlet. This way I can disable the "WaterChange" outlet at ANY time and the feed mode will not be able to trigger a water change.
The reason why i post this is a few reasons really.
Reason 1: I HATE how i am forced to code this in the terms of the active outlet watching for other outlets to turn on. I have always hated needing to code this way with the APEX. While it works, I feel that this way of programming is backwards and problematic.
Reason 2: I want to spark some ideas on this topic. There is no better way to do this than to share something that is working
Reason 3: I pulled it off and I think that while it may seem "Complicated", its really quite simple. The one caveat that you will have is that it takes up an entire EB8. I just happened to have an extra one to play with.
My hardware list is the following:
1x http://www.amazon.com/gp/product/B00KWZ487O?psc=1&redirect=true&ref_=oh_aui_detailpage_o01_s00
3x http://www.amazon.com/gp/product/B010LT2H1O?psc=1&redirect=true&ref_=oh_aui_detailpage_o06_s02 (MAKE SURE YOU GET STAINLESS IF YOU DO THIS)
1x EB8
1x 5G bucket
3x http://www.amazon.com/gp/product/B00BK7HHMQ?psc=1&redirect=true&ref_=oh_aui_detailpage_o06_s01
1x http://www.amazon.com/gp/product/B00X6R9TG0?psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s01
1x http://www.amazon.com/gp/product/B0002Z7U1K?psc=1&redirect=true&ref_=oh_aui_detailpage_o05_s00
And a bunch of random push connects, and a spare RO water pump and powerhead to mix with.
No its not cheap, but its VERY versatile and makes incremental water changes effortless. You can even save money and effort if you want to keep a NSW reservoir. Then all automated water changes will happen without any interaction on timed intervals. Also on any scale, without the need for expensive meeting or dosing pumps. Just 1 5g (or whatever size reservoir you want to use) bucket.
Yes I will have pictures when my butterfly valve setup is complete. This is on order:
http://www.aliexpress.com/item/WLR-...-valve-High-Motor-Brand-New-3/2048342776.html
I am aware that the body is aluminum and the butterfly is stainless. Some may be concerned about this, but I strongly believe that the contact time(22m) on dry salt just does not justify any concerns.
It is quite possibly the cheapest and easiest possible way to control a salt dump. I have some ideas on metered dumps, but I wont spoil that reveal until its done.
This has worked without fail for about 20 5g water changes so far. ATM, im manually pouring the salt during the ro fill, but I have a light bulb hooked up to the outlet to know that it is firing properly. Damn Aliexpress takes a long time :/
The last thing that I will add is that this is a very easy Arduino project. If i didn't want this tied into my apex, i would have done it on my spare one. Being that I want to fire it off my feed modes and have it control my other outlets accordingly, APEX was the better choice for me. Chew on that!
Been a while since i posted or took on any more DIY's, but I finally got around to doing my version of a 5g AWC. I just want to state that the code works flawlessly, but I feel that it is a bit cumbersome. So if you have some better logic or thoughts, please feel free to contribute.
Description:
I absolutely do not want to store NSW, so this is where i differ from most setups. See below:
I have one task. Take 1.5 cups of salt and dump it in a funnel which is attached to an actuated butterfly valve. I Then put my tank in feed mode D. Walk away.
Here's how it works:
Feed mode D is 68 minutes. Once triggered, it fires a sequence of events to follow:
A solenoid on a "T" attached to my skimmer pump opens up to start a 5g drain. The drain cannon go more than 5g, ever, because it feeds to a 5g bucket with a manual float valve to cut off flow when full.
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
If Outlet Sol_DRAIN = ON Then OFF
If Outlet RO_FILL = ON Then OFF
If Outlet SALT_DUMP = ON Then OFF
If Outlet Mixer = ON Then OFF
If Outlet Sol_NSW = ON Then OFF
This closes when ANY criteria where the next sequence starting has been met.
Meanwhile all my other outlets have started as well. Only on timed delays.
The second outlet to fire (16m later) is an actuated ball valve drain that has an assist pump tied to it (they both fire at the same time.):
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
Defer 016:00 Then ON
If Outlet RO_FILL = ON Then OFF
If Outlet SALT_DUMP = ON Then OFF
If Outlet Mixer = ON Then OFF
If Outlet Sol_NSW = ON Then OFF
Assisted drain time is about 6m
The next outlet to fire is in 22m (6m later). This outlet now fills (via pump) the same bucket with fresh RO water in preparation for salt.
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
Defer 022:00 Then ON
If Outlet RO_DELAYON = ON Then OFF
If Outlet Sol_NSW = ON Then OFF
About 3/4 the way through the RO water fill, i have 2 outlets that fire at close to the same time. One is a mixing power head and the other is the salt dump actuated butterfly valve.
Mixer first:
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
Defer 033:45 Then ON
If Outlet Sol_NSW = ON Then OFF
Salt Dump 15s later:
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
Defer 034:00 Then ON
If Outlet Sol_NSW = ON Then OFF
In order to keep my RO pump on long enough I had to create a virtual outlet to delay its time ON. This was an interesting trick, but it essentially has a delayed ON that is triggered by the salt dump process. Once it is turned on 8m later, the RO pump is automatically turned off (You will see this on the RO pump code)
Fallback OFF
Set OFF
If Outlet SALT_DUMP = ON Then ON
Defer 008:00 Then ON
If Outlet Sol_NSW = ON Then OFF
The new salt water is mixed for about 25m and then pump assisted back into the tank. Completing the water change. Feed cycle ends.
Fallback OFF
Set OFF
If Outlet WaterChange = ON Then ON
Defer 060:00 Then ON
Note that the water assist pump is the same pump that lives on a T with both the drain and fill actuated ball valves. It is set to assist both drain and fill processes. Code is pretty simple on this one:
Fallback OFF
Set OFF
If Outlet Sol_NSW = ON Then ON
If Outlet Sol_DRAIN = ON Then ON
Disclaimer:
At the moment, this a timed and metered process. It works without failsafes because the float valve on the 5g is a manual cutoff. And even on failure, everything shuts off within minutes of the time that it takes to fill or drain everything anyway. That said, i will be adding hi and low float valves to the drain and fill process. This will allow redundancy code to check if the float open and closed are met during each process. This will allow for active and automated control of the process, or just force it to fail out and exit the feed mode.
One additional failsafe I added was to have the feed mode trigger a "WaterChange" virtual outlet. This way I can disable the "WaterChange" outlet at ANY time and the feed mode will not be able to trigger a water change.
The reason why i post this is a few reasons really.
Reason 1: I HATE how i am forced to code this in the terms of the active outlet watching for other outlets to turn on. I have always hated needing to code this way with the APEX. While it works, I feel that this way of programming is backwards and problematic.
Reason 2: I want to spark some ideas on this topic. There is no better way to do this than to share something that is working

Reason 3: I pulled it off and I think that while it may seem "Complicated", its really quite simple. The one caveat that you will have is that it takes up an entire EB8. I just happened to have an extra one to play with.
My hardware list is the following:
1x http://www.amazon.com/gp/product/B00KWZ487O?psc=1&redirect=true&ref_=oh_aui_detailpage_o01_s00
3x http://www.amazon.com/gp/product/B010LT2H1O?psc=1&redirect=true&ref_=oh_aui_detailpage_o06_s02 (MAKE SURE YOU GET STAINLESS IF YOU DO THIS)
1x EB8
1x 5G bucket
3x http://www.amazon.com/gp/product/B00BK7HHMQ?psc=1&redirect=true&ref_=oh_aui_detailpage_o06_s01
1x http://www.amazon.com/gp/product/B00X6R9TG0?psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s01
1x http://www.amazon.com/gp/product/B0002Z7U1K?psc=1&redirect=true&ref_=oh_aui_detailpage_o05_s00
And a bunch of random push connects, and a spare RO water pump and powerhead to mix with.
No its not cheap, but its VERY versatile and makes incremental water changes effortless. You can even save money and effort if you want to keep a NSW reservoir. Then all automated water changes will happen without any interaction on timed intervals. Also on any scale, without the need for expensive meeting or dosing pumps. Just 1 5g (or whatever size reservoir you want to use) bucket.
Yes I will have pictures when my butterfly valve setup is complete. This is on order:
http://www.aliexpress.com/item/WLR-...-valve-High-Motor-Brand-New-3/2048342776.html
I am aware that the body is aluminum and the butterfly is stainless. Some may be concerned about this, but I strongly believe that the contact time(22m) on dry salt just does not justify any concerns.
It is quite possibly the cheapest and easiest possible way to control a salt dump. I have some ideas on metered dumps, but I wont spoil that reveal until its done.
This has worked without fail for about 20 5g water changes so far. ATM, im manually pouring the salt during the ro fill, but I have a light bulb hooked up to the outlet to know that it is firing properly. Damn Aliexpress takes a long time :/
The last thing that I will add is that this is a very easy Arduino project. If i didn't want this tied into my apex, i would have done it on my spare one. Being that I want to fire it off my feed modes and have it control my other outlets accordingly, APEX was the better choice for me. Chew on that!