ATO switches malfunctioning

Post Reply
Graham2212
Posts: 21
Joined: Wed Mar 27, 2013 2:58 am
Location: Johannesburg, South Africa

ATO switches malfunctioning

Post by Graham2212 »

Hi there
Can someone please provide some guidance on float switches? I have 2 switches - one high level and one low level. I need the ATO pump to activate when the water level reaches (activates) the low level switch. Currently, the ATO is engaging when the water drops below the high level switch (i.e. the water level has not dropped below the low level switch). This is causing the ATO pump to activate at regular intervals. Is this a coding issue, or is there something wrong with the switches? My code is as follows: (thank in advance for the help)

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 <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
    ReefAngel.UseFlexiblePhCalibration();
    ReefAngel.SetTemperatureUnit( Celsius );  // set to Celsius Temperature

    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = Port5Bit | Port6Bit;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port1Bit | Port5Bit | Port6Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = 0;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = 0;
    // Use T1 probe as temperature and overheat functions
    ReefAngel.TempProbe = T1_PROBE;
    ReefAngel.TempProbe = T2_PROBE;
    ReefAngel.OverheatProbe = T1_PROBE;
    // Set the Overheat temperature setting
    InternalMemory.OverheatTemp_write( 290 );


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

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

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

void loop()
{
    ReefAngel.StandardATO( Port1,600 );
    ReefAngel.WavemakerRandom1( Port5,15,60 );
    ReefAngel.WavemakerRandom2( Port6,15,60 );
    ////// Place your custom code below here
    

    ////// Place your custom code above here

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

void DrawCustomMain()
{
    int x,y;
    char text[10];
    // Parameters
#if defined DisplayLEDPWM && ! defined RemoveAllLights
    ReefAngel.LCD.DrawMonitor( 15, 20, ReefAngel.Params,
    ReefAngel.PWM.GetDaylightValue(), ReefAngel.PWM.GetActinicValue() );
#else // defined DisplayLEDPWM && ! defined RemoveAllLights
    ReefAngel.LCD.DrawMonitor( 15, 20, ReefAngel.Params );
#endif // defined DisplayLEDPWM && ! defined RemoveAllLights
    pingSerial();

    // Salinity
    ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,15,66, "SAL:" );
    ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,39,66, ReefAngel.Params.Salinity );
    pingSerial();

    // Main Relay Box
    byte TempRelay = ReefAngel.Relay.RelayData;
    TempRelay &= ReefAngel.Relay.RelayMaskOff;
    TempRelay |= ReefAngel.Relay.RelayMaskOn;
    ReefAngel.LCD.DrawOutletBox( 12, 93, TempRelay );
    pingSerial();

    // Date and Time
    ReefAngel.LCD.DrawDate( 6, 122 );
    pingSerial();
}

void DrawCustomGraph()
{
}
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: ATO switches malfunctioning

Post by rimai »

Start here:
http://forum.reefangel.com/viewtopic.php?f=7&t=240
Are they mounted like in that page?
Roberto.
Graham2212
Posts: 21
Joined: Wed Mar 27, 2013 2:58 am
Location: Johannesburg, South Africa

Re: ATO switches malfunctioning

Post by Graham2212 »

Exactly like that. Concluded it to be a faulty low level switch, as this setup functions perfectly out of the water... As soon as the low level switch is submerged, only the high level switch activates/deactivates the pump based on its position (which means that the low level switch - when submerged, is always at the low level state)... This, together with my salinity probe that started to drop its reading on Thursday.... not having a great time....
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: ATO switches malfunctioning

Post by rimai »

PM me for RMA on the float switch.
For the salinity, please check if you are not placing the probe where you have micro bubbles.
Temperature and air bubbles are the major impact factors for bad readings.
Since you mentioned the float having a short, can you try using the salinity without the floats?
Roberto.
Post Reply