Apex: RODI reservoir auto fill with pump and solenoid.

Neptune

Oberst Hajj

Well-Known Member
View Badges
Joined
Dec 23, 2012
Messages
906
Reaction score
730
Review score
+0 /0 /-0
Location
Colorado
I'd like to setup my RODI reservoir to automatically refill as need. I have a RO_HI optical sensor and an RO_LOW optical sensor inside the reservoir. I have a buster pump, RODI_PUMP, plugged into my EB832. I also have an Apex solenoid placed between my house water supply and the RODI_PUMP. I need the solenoid to open and then the RODI_PUMP to turn on when the water level in the reservoir is low and shut off when it is full. I believe I need a virtual outlet to make this work, correct?

RODI_RES (virtual outlet)
If RO_Hi = Closed Then OFF
If RO_LOW = Open Then On

RODI_SOL
Fallback OFF
Set OFF
If Output RODI_RES = ON Then ON

RODI_PUMP
Fallback OFF
Set OFF
If Output RODI_RES = ON Then ON

Does that look about right?
 

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
3,714
Reaction score
8,158
Review score
+0 /0 /-0
Location
Oregon
There’s no need for a virtual output in this scenario.

[RODI_SOL]
Fallback OFF
If RO_LOW OPEN Then ON
If RO_HI CLOSED Then OFF

[RODI_PUMP]
Fallback OFF
Set OFF
If Output RODI_SOL = ON Then ON

See my series of Apex tutorials for more tips and examples:
 
OP
Oberst Hajj

Oberst Hajj

Well-Known Member
View Badges
Joined
Dec 23, 2012
Messages
906
Reaction score
730
Review score
+0 /0 /-0
Location
Colorado
There’s no need for a virtual output in this scenario.

[RODI_SOL]
Fallback OFF
If RO_LOW OPEN Then ON
If RO_HI CLOSED Then OFF

[RODI_PUMP]
Fallback OFF
Set OFF
If Output RODI_SOL = ON Then ON

See my series of Apex tutorials for more tips and examples:

Thanks, that is simpler code. If I was to make a virtual outlet that triggered the solenoid and pump, I could then manually switch it to On and have both the solenoid and pump turn on whenever I needed correct? So instead of two things to turn on and off, it would be just the one?

Oh, and I have read though your tutorials and learned quite a bit from them. In fact, I re-read them from time to time to refresh my memory on some things.
 

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
3,714
Reaction score
8,158
Review score
+0 /0 /-0
Location
Oregon
Thanks, that is simpler code. If I was to make a virtual outlet that triggered the solenoid and pump, I could then manually switch it to On and have both the solenoid and pump turn on whenever I needed correct? So instead of two things to turn on and off, it would be just the one?

Oh, and I have read though your tutorials and learned quite a bit from them. In fact, I re-read them from time to time to refresh my memory on some things.
The way my code is written, any time the solenoid is on the pump automatically turns on, so a single click to manually turn on the solenoid will also turn on the pump. But it will require a 2nd click because the programming only operates when set to AUTO. This would be the case even if you had a virtual output. Just click the solenoid slider to ON, then a couple seconds later click it back to AUTO. It will continue to run until the water reaches the upper sensor.
 
Maxout
OP
Oberst Hajj

Oberst Hajj

Well-Known Member
View Badges
Joined
Dec 23, 2012
Messages
906
Reaction score
730
Review score
+0 /0 /-0
Location
Colorado
The way my code is written, any time the solenoid is on the pump automatically turns on, so a single click to manually turn on the solenoid will also turn on the pump. But it will require a 2nd click because the programming only operates when set to AUTO. This would be the case even if you had a virtual output. Just click the solenoid slider to ON, then a couple seconds later click it back to AUTO. It will continue to run until the water reaches the upper sensor.

So it does, even better!

I prefer to use a manually activated float for the high water level.
Has not failed me in over 30 years.

I agree. I also have a manual float (non Apex) for the high water level that is just above the high optical sensor. I just did not mention it as it did not pertain to the code I needed.
 
OP
Oberst Hajj

Oberst Hajj

Well-Known Member
View Badges
Joined
Dec 23, 2012
Messages
906
Reaction score
730
Review score
+0 /0 /-0
Location
Colorado
There’s no need for a virtual output in this scenario.

[RODI_SOL]
Fallback OFF
If RO_LOW OPEN Then ON
If RO_HI CLOSED Then OFF

[RODI_PUMP]
Fallback OFF
Set OFF
If Output RODI_SOL = ON Then ON

See my series of Apex tutorials for more tips and examples:
Would adding the below defers at the bottom of the code make it so the water level "settles" some before tripping this code?

Defer 000:10 Then ON
Defer 000:04 Then OFF

And would I want that on the SOL, Pump, or both?
 

Sleepydoc

Valuable Member
View Badges
Joined
Apr 10, 2017
Messages
1,296
Reaction score
1,151
Review score
+0 /0 /-0
Location
Minneapolis, MN
Would adding the below defers at the bottom of the code make it so the water level "settles" some before tripping this code?

Defer 000:10 Then ON
Defer 000:04 Then OFF

And would I want that on the SOL, Pump, or both?
Yes, that would require the ’on ‘ conditions (i.e. The lower sensor is open) for at least 10 seconds before it turns on. Likewise it would require the upper sensor be closed for at least 4 seconds.

You’d only need it for the solenoid, but it really doesn’t matter. The whole point of the statements is to create a hysteresis so something doesn‘t rapidly bounce between on and off. With your set up, it turns on when the lower sensor is open and then won‘t turn off until the upper sensor is closed.

If you have a Breakout box, you could also have a button to start the system. If you add

[RODI_SOL]
Fallback OFF
If RO_LOW OPEN Then ON
If BUTTON CLOSED Then ON
If RO_HI CLOSED Then OFF

to the solenoid program, it will turn itself on when you press the button and proceed to stay on until the tank is full, then switch off.
 
OP
Oberst Hajj

Oberst Hajj

Well-Known Member
View Badges
Joined
Dec 23, 2012
Messages
906
Reaction score
730
Review score
+0 /0 /-0
Location
Colorado
Yes, that would require the ’on ‘ conditions (i.e. The lower sensor is open) for at least 10 seconds before it turns on. Likewise it would require the upper sensor be closed for at least 4 seconds.

You’d only need it for the solenoid, but it really doesn’t matter. The whole point of the statements is to create a hysteresis so something doesn‘t rapidly bounce between on and off. With your set up, it turns on when the lower sensor is open and then won‘t turn off until the upper sensor is closed.

If you have a Breakout box, you could also have a button to start the system. If you add

[RODI_SOL]
Fallback OFF
If RO_LOW OPEN Then ON
If BUTTON CLOSED Then ON
If RO_HI CLOSED Then OFF

to the solenoid program, it will turn itself on when you press the button and proceed to stay on until the tank is full, then switch off.
Thanks. I do have a BoB, but I have not decided what I want to do with it yet. I'll keep this extra code in mind in case I want to make a button for the RODI system.
 
Neptune

Do you house a "Reef Safe" Angelfish in your reef tank?

  • YES and it's going good

    Votes: 199 41.2%
  • YES but it's not working out

    Votes: 13 2.7%
  • NO I have tried it in the past and it didn't work out

    Votes: 44 9.1%
  • NO I haven't tried yet

    Votes: 212 43.9%
  • Other (please explain)

    Votes: 15 3.1%
Aquarium Specialty
Top