Serious ATO issues

Basic / Standard Reef Angel hardware
Post Reply
meadowsad
Posts: 53
Joined: Sat Jun 15, 2013 9:56 am

Serious ATO issues

Post by meadowsad »

After a water change today my ATO decided to kick on and luckily only dumped 2-3 gallons of water in my sump. The water change was from the display tank so it shouldn't have triggered the low switch to start the pump. Prior to this the ATO has been working fine for about a week. Now the ATO will not shut off. I am using 2 float switches one pointing down, one pointing up.

I have unplugged everything and waited a minute or two and plugged it all back in. I verified the switches are working correctly by moving them by hand and verifying the Reef Angel Client shows ATO high or low as green. I have reuploaded the code twice now and still, everytime I plug the pump in it just starts pumping.

Below is my code. Any help would be greatly appreciated!

Code: Select all

#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_Wifi.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_NokiaLCD.h>
#include <RA_ATO.h>
#include <RA_Joystick.h>
#include <LED.h>
#include <RA_TempSensor.h>
#include <Relay.h>
#include <RA_PWM.h>
#include <Timer.h>
#include <Memory.h>
#include <InternalEEPROM.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <Salinity.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <AI.h>
#include <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <DCPump.h>
#include <ReefAngel.h>

////// Place global variable code below here


////// Place global variable code above here


void setup()
{
    // This must be the first line
    ReefAngel.Init();  //Initialize controller
    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = Port3Bit | Port5Bit | Port6Bit;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port1Bit | Port3Bit | Port5Bit | Port6Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = Port2Bit;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = Port2Bit | Port4Bit;
    // Use T1 probe as temperature and overheat functions
    ReefAngel.TempProbe = T1_PROBE;
    ReefAngel.OverheatProbe = T1_PROBE;
    // Set the Overheat temperature setting
    InternalMemory.OverheatTemp_write( 830 );

    // Feeeding and Water Change mode speed
    ReefAngel.DCPump.FeedingSpeed=30;
    ReefAngel.DCPump.WaterChangeSpeed=0;


    // Ports that are always on
    ReefAngel.Relay.On( Port3 );
    ReefAngel.Relay.On( Port5 );


    ////// Place additional initialization code below here
    

    ////// Place additional initialization code above here
}

void loop()
{
    ReefAngel.Relay.DelayedOn( Port1,1 );
    ReefAngel.StandardLights( Port2,23,0,11,0 );
    ReefAngel.StandardHeater( Port4,780,800 );
    ReefAngel.Relay.DelayedOn( Port6,1 );
    ReefAngel.StandardATO(Port8,1200); 
    ReefAngel.DCPump.UseMemory = false;
    ReefAngel.DCPump.DaylightChannel = Sync;
    ReefAngel.DCPump.ActinicChannel = AntiSync;
    ////// Place your custom code below here
    if (hour()>=0000 && hour()<8)
    {
    ReefAngel.DCPump.SetMode( Constant,30,10 );
    }
    if (hour()>=8 && hour()<9)
    {
    ReefAngel.DCPump.SetMode( Lagoon,40,10 );
    }
    if (hour()>=9 && hour()<20)
    { 
    ReefAngel.DCPump.SetMode( ReefCrest,55,20 );
    }
    if (hour()>=20 && hour()<21)
    {
    ReefAngel.DCPump.SetMode( Lagoon,40,10 );
    }
    if (hour()>=21 && hour()<2359)
    {
    ReefAngel.DCPump.SetMode( Constant,30,10 );
    }
    ////// Place your custom code above here

    // This should always be the last line
}
User avatar
lnevo
Posts: 5422
Joined: Fri Jul 20, 2012 9:42 am

Re: Serious ATO issues

Post by lnevo »

Well at initial observation, you have a 20 minute timeout on your pump. That seems a but excessive.

Also even if you are removing water from DT it will affect the water level in your return chamber as there is less water to overflow down your drain.

It could be a stuck relay. Do you have wifi? If you override the port to off does it still pump?
meadowsad
Posts: 53
Joined: Sat Jun 15, 2013 9:56 am

Re: Serious ATO issues

Post by meadowsad »

I shut all the pumps off during a water change so yes the water level in the sump raises but that should trigger the ATO high switch, not the ATO low. Not sure what you mean here.

The 20 minute timeout was based on trial and error it could probably be lowered a bit but it was working fine for a week. With the pump I have at most it would pump in is a little over 1 gallon.

I have tried turning the ports on then off and even when they say off the pump still runs.
User avatar
lnevo
Posts: 5422
Joined: Fri Jul 20, 2012 9:42 am

Re: Serious ATO issues

Post by lnevo »

Sounds like a stuck relay. Try the controller test sketch and see if you can turn it off with that.

Alternatively you could put

ReefAngel.Relay.Off(Port8);

After the standard ato call. And see if it stays off.
meadowsad
Posts: 53
Joined: Sat Jun 15, 2013 9:56 am

Re: Serious ATO issues

Post by meadowsad »

Thanks for the help. I'll give that a go and see what happens. My concern is if this happens again while I am away. Is this a somewhat common problem? Is there anyway this can be avoided?
meadowsad
Posts: 53
Joined: Sat Jun 15, 2013 9:56 am

Re: Serious ATO issues

Post by meadowsad »

New development. I was watching TV and I heard a "grinding" sound coming from the fish tank. I checked the tank and the sound was coming from the relay box. The relay was turning on and off very rapidly. Not sure how I should proceed now but I assume something is not right.
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: Serious ATO issues

Post by rimai »

Your code seems to be missing something.
Where is ReefAngel.ShowInterface()?
Roberto.
meadowsad
Posts: 53
Joined: Sat Jun 15, 2013 9:56 am

Re: Serious ATO issues

Post by meadowsad »

I have just added that in to my code based off of where it is in the preloaded code. This did not resolve the issue. One thing I did notice is the pump doesn't turn on until the delayed ports turn on.

Below is my new code:

Code: Select all

#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_Wifi.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_NokiaLCD.h>
#include <RA_ATO.h>
#include <RA_Joystick.h>
#include <LED.h>
#include <RA_TempSensor.h>
#include <Relay.h>
#include <RA_PWM.h>
#include <Timer.h>
#include <Memory.h>
#include <InternalEEPROM.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <Salinity.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <AI.h>
#include <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <DCPump.h>
#include <ReefAngel.h>

////// Place global variable code below here


////// Place global variable code above here


void setup()
{
    // This must be the first line
    ReefAngel.Init();  //Initialize controller
    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = Port3Bit | Port5Bit | Port6Bit;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port1Bit | Port3Bit | Port5Bit | Port6Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = Port2Bit;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = Port2Bit | Port4Bit;
    // Use T1 probe as temperature and overheat functions
    ReefAngel.TempProbe = T1_PROBE;
    ReefAngel.OverheatProbe = T1_PROBE;
    // Set the Overheat temperature setting
    InternalMemory.OverheatTemp_write( 830 );

    // Feeeding and Water Change mode speed
    ReefAngel.DCPump.FeedingSpeed=30;
    ReefAngel.DCPump.WaterChangeSpeed=0;


    // Ports that are always on
    ReefAngel.Relay.On( Port3 );
    ReefAngel.Relay.On( Port5 );


    ////// Place additional initialization code below here
    

    ////// Place additional initialization code above here
}

void loop()
{
    ReefAngel.Relay.DelayedOn( Port1,1 );
    ReefAngel.StandardLights( Port2,23,0,11,0 );
    ReefAngel.StandardHeater( Port4,780,800 );
    ReefAngel.Relay.DelayedOn( Port6,1 );
    ReefAngel.StandardATO(Port8,1200); 
    ReefAngel.DCPump.UseMemory = false;
    ReefAngel.DCPump.DaylightChannel = Sync;
    ReefAngel.DCPump.ActinicChannel = AntiSync;
    ReefAngel.ShowInterface();
    ////// Place your custom code below here
    if (hour()>=0000 && hour()<8)
    {
    ReefAngel.DCPump.SetMode( Constant,30,10 );
    }
    if (hour()>=8 && hour()<9)
    {
    ReefAngel.DCPump.SetMode( Lagoon,40,10 );
    }
    if (hour()>=9 && hour()<20)
    { 
    ReefAngel.DCPump.SetMode( ReefCrest,55,20 );
    }
    if (hour()>=20 && hour()<21)
    {
    ReefAngel.DCPump.SetMode( Lagoon,40,10 );
    }
    if (hour()>=21 && hour()<2359)
    {
    ReefAngel.DCPump.SetMode( Constant,30,10 );
    }
    ////// Place your custom code above here

    // This should always be the last line
    ReefAngel.Portal( "meadowsad" );
    ReefAngel.ShowInterface();
}


meadowsad
Posts: 53
Joined: Sat Jun 15, 2013 9:56 am

Re: Serious ATO issues

Post by meadowsad »

I uploaded the controller test code and went through all the ports.

What I noticed was when I turn on port 6(skimmer), port 8(ATO pump) also turns on. I didn't even make it all the way to port 8 before the pump started pumping. I went to port 7 and port 6 and 8 were still on even though they showed off. Going to port 8 and then back to 7 didn't do anything either. Only when I went back to port 5 then ports 6 and 8 turn off.
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: Serious ATO issues

Post by rimai »

Are you using the original svga cable?
Roberto.
meadowsad
Posts: 53
Joined: Sat Jun 15, 2013 9:56 am

Re: Serious ATO issues

Post by meadowsad »

Everything is stock. The only add-on I have is the WiFi attachment.
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: Serious ATO issues

Post by rimai »

You will need to send for repair then.
PM for RMA.
Roberto.
Post Reply