Serious ATO issues
Posted: Wed Jul 31, 2013 5:28 pm
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!
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
}