Summary: To change the direction of flow with a ramp up/full speed/ramp down cycle approximately every 6 hours in time with the Moon rise/set in the seasonal table.
It was suggested I post this over here in the Neptune Forums. I suppose this can apply to any controllable pump but here's what I've done with my Maxspect Gyre XF150's. For a little background I have two XF150's now and both are setup vertical on the back wall. There's one on the left back corner and the other on the right back corner. The left gyre has BB cages/paddle wheels and the right gyre has AA cages/paddle wheels. I use an alternating gyre where the Left gyre will either push water toward the front and to the right or across the back to the right depending on direction. The Right gyre does the opposite working in coordination with the Left gyre making a nice flow around the tank alternating directions. Detritus doesn't stand a chance to settle anywhere. Setting up the alternating directions also makes it semi self cleaning as it blows off debris that was building up while running in the other direction. My fish love that feature. As the debris could be edible or little critters that are edible are on the debris. When the direction changes they fly off and the fish go nuts chasing after it for a snack. Plus, watching the overall flow in a constant motion is something the gyre excels at. Watching the little turbulent streams caused by the corals, rocks and fish is peaceful and causes chain reactions in the flow that's fun to watch for and you can see the fish interact with that flow in unique and interesting ways.
I have setup with the Gyre pumps an Icecap module for each one. And the special alternating cable for the variable speed ports so two variable speed ports (1 single full rj45 connection) is needed for each pump. On one RJ45 connection is then one variable speed outlet used for speed and the other is used for direction.
I started with a single gyre and with the basic controller I was alternating every 6 hours and not coordinated with anything else. Witht he second gyre in place and the icecap modules I have a LOT more control with the Apex. So, I had fun getting the gyres to alternate with the Moon rise/set in the seasonal table and flipping direction twice per cycle or around every 6 hours.
The below is what I posted on another forum and is a straight copy paste on what I did. I'm not an expert on Apex programming (just got the apex a couple months ago) and I'm sure there may be more efficient ways to do this but this is working. It really is fun watching how the fish interact with the changes in the flow and intensities.
Copy/paste:
I finally got the dual gyres and the apex controller timed with the lunar cycle from the seasonal tables. I have all my display lights, lunar lights, and even heaters/ranco using the Apex Seasonal tables to control when to turn on/off, intensities, and temp. So, why not try to use that seasonal table to control the direction of the gyres like a tide.
Now, tides are rather complex and varies greatly from place to place. They could change once a day, twice a day, not at all, more then twice a day, on a fairly regular schedule, or completely variable on when it happens. I'm going go with trying to change directions every 6 hours or so with the standard two high and two low tides per day causing a change in flow direction 4 times a day. Now timing there is fairly regular (at least predictable) and mostly (not entirely of course) controlled by the moon's gravitational pull and high tides slightly ahead of the moon by about 10 degrees due to friction forces that shifts in time through out the days/weeks/months/years.
So, in comes trying to time it with the lunar cycle. Right now for my viewing pleasure I have all the lighting off set behind by 3.5 hours (210 minutes with white lights on 30 minutes after blues and off 30 minutes before blues.)
What I'm doing now is using the Lunar chart to start the cycle and kick a series of virtual outlets to finally get to an ON or OFF state spreading out 6 hours coordinating with the moons position and causing low/high tides and flow changes. Each vMoon cycle re-syncs the timing as the moon rises about 50 minutes later each day and can happen during the day. I'm using a vMoon virtual outlet instead of my Lunar LSM outlet as I want the timing to be offset from my Moon lights in the display. Typically high tide coordinates with the moon rise will happen around 1-1.5 hours after the moon starts rising. Which is that 10degree offset mentioned earlier. So by the time the moon reaches the full height(median) in the sky high tide already came and went well ahead of it.
I looked at using OSC but it bases its timing from a fixed point which I don't want a fixed point. I played with Min Time and that worked in testing but in practice virtual outlets where in an OFF state that I wanted them to be in long enough to turn on right away that I didn't want to happen. So, in came defer and its worked so far through out today. If it ends up breaking for some reason I will post an update.
Next thing I'll work on is ramping up and down. As during peak high and peak low tides there's not much water flow besides any surface movement. Mostly this is all just for the fun of it.
So for now here's my programming that really would work for any water pump plugged into an outlet on the Apex directly or controllable and wants to time themselves to the constantly shifting Lunar cycle and not a static timing.
Programming and brief comments:
Here's my Lunar lights shifted in time forward the same amount as my main display lights
[ Lunar_5_1 ] ( 5_1 )
Program Type: Advanced
Display Icon: Moon
Logging: Enabled
Program:
Set OFF
If Moon 210/210 Then ON
If Power Apex OFF 001 Then OFF
Virtual outlet to set a lunar timer offset ahead 1h 10m after moon rise to trigger the peak high tide ahead of full Lunar median in the sky and tide change. This also re-syncs my gyres to the Moon Cycle. If I need or want to adjust timing I can do it from this single spot.
[vMoon_B4 ] ( Cntl_B4 )
Program Type: Advanced
Display Icon: Clock
Logging: Enabled
Program:
Set OFF
If Moon 280/280 Then ON
Now based on if that vMoon outlet is on or off will trigger two more virtual outlets. In each virtual outlet is a Defer Then ON statement delaying them being turned on for 6 hours. This sets the off(6(hrs)/on(6hrs)/off(6hrs)/on(6hrs + ~50m sync) timing to corrodinate with the moon traveling through the sky (more the earth's spinning) causing the low and high tide changes approximately every 6 hours. OSC could do this but again that would be easy and boring and a fixed point every day.
[vMoonUp_B2 ] ( Cntl_B2 )
Program Type: Advanced
Display Icon: Moon
Logging: Enabled
Program:
If Outlet vMoon_B4 = OFF Then OFF (sets the off state)
If Outlet vMoon_B4 = ON Then ON
Defer 360:00 Then ON (keep in that off state for 6 hours then turn on)
[ vMoonDown_B3 ] ( Cntl_B3 )
Program Type: Advanced
Display Icon: Moon
Logging: Enabled
Program:
If Outlet vMoon_B4 = ON Then OFF
If Outlet vMoon_B4 = OFF Then ON
Defer 360:00 Then ON
Now for the virtual outlet that will be used by the variable speed ports to determine which profile to use. This is a simple off/on but need the order
[ vTide_B1 ] ( Cntl_B1 )
Program Type: Advanced
Display Icon: Up/Down Arrows
Logging: Enabled
Program:
Set ON
If Outlet vMoonUp_B2 = OFF Then OFF
If Outlet vMoonDown_B3 = OFF Then OFF
If Outlet vMoonUp_B2 = ON Then ON
If Outlet vMoonDown_B3 = ON Then ON
Then finally the variable speed ports.
Variable Ports Controlling direction
[Dir_GyreL]
If Outlet vTide_B1 = OFF Then DirF_GyreL
If Outlet vTide_B1 = ON Then DirR_GyreL
[Dir_GyreR] Mirror of the above
If Outlet vTide_B1 = OFF Then DirR_GyreR
If Outlet vTide_B1 = ON Then DirF_GyreR
That is all now working. For now the speed is constant. I will work on the speed controls next trying to ramp up and down. I would also love to vary the max speed based on other variables but that is not available.
Bookmarks