ATO function

Share you PDE file with our community
Post Reply
grafspee1217
Posts: 84
Joined: Sun Mar 11, 2012 10:38 am

ATO function

Post by grafspee1217 »

Roberto,
I am having trouble with the ATO floats. I am currently using standard ATO and have the high float with the wires down and the low float with the wires up. The only current way I can get it to work is with both floats having the wires up.
As the water level drops the high ato->IsActive then as the water level drops further the low ato->IsActive this will bring on the pump. The low float will then rise with the pump still running. When the high float rises the pump shuts off. This is my code.... any ideas?
#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 <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.AddStandardMenu(); // Add Standard Menu

    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = Port2Bit | Port5Bit | Port6Bit | Port7Bit | Port8Bit;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port2Bit | Port5Bit | Port6Bit | Port7Bit | Port8Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = 0;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = Port1Bit;
    // 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 );


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

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

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

void loop()
{
    ReefAngel.StandardHeater( Port1,751,761 );
    ReefAngel.StandardATO( Port2,60 );
    ReefAngel.Wavemaker( Port5,60 );
    ReefAngel.Wavemaker( Port6,50 );
    ReefAngel.Relay.DelayedOn( Port7,3 );
    ReefAngel.PWM.SetDaylight( PWMSlope(8,0,21,0,0,100,60,0) );
    ReefAngel.PWM.SetActinic( PWMSlope(7,0,22,0,0,100,60,0) );
    ////// Place your custom code below here
    

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

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


rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: ATO function

Post by rimai »

I don't think there is nothing wrong with the code.
Can you use the ControllerTester code to verify the floats are working accordingly?
File->Sketchbook->Example Codes->ControllerTester
Roberto.
grafspee1217
Posts: 84
Joined: Sun Mar 11, 2012 10:38 am

Re: ATO function

Post by grafspee1217 »

Well that explains alot. I uploaded the Controller test code and I have one float that works the opposite of the other. One float will show open when the float is away from the wires and the other float will show closed when the float is away from the wires. Have you had this issue with floats before? a bad batch? so... now what do I do?
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: ATO function

Post by rimai »

Try taking it appart and place the float in the opposite way. It should make them work the same.
Roberto.
grafspee1217
Posts: 84
Joined: Sun Mar 11, 2012 10:38 am

Re: ATO function

Post by grafspee1217 »

I don't have enough room on my float bracket. My sump is fairly small so to accomplish this I would have to separate the floats farther apart. This would cause a pretty big disparity between when the ATO pump comes on and when it shuts off.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: ATO function

Post by rimai »

Oh no, you just need to invert the floating part. There's a locking washer at the end of the float switch that can be removed.
That will allow the floating part to come out. Flip it on the other side and insert it back and place the locking washer into place.
Roberto.
grafspee1217
Posts: 84
Joined: Sun Mar 11, 2012 10:38 am

Re: ATO function

Post by grafspee1217 »

So inverting the foam float itself on the shaft will change the operation of the float from normally open to normally closed?

One more thing, I tried changing the ATO timeout in the wizard but when I look at the code it is still the default value of 60. Is this feature not working in the wizard?
ReefAngel.StandardATO( Port2,60 );
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: ATO function

Post by rimai »

Correct, inverting the float in the shaft should invert its function.
Which version of wizard are you running?
I'm testing on 2.1.0 and it seems to be working.
Roberto.
grafspee1217
Posts: 84
Joined: Sun Mar 11, 2012 10:38 am

Re: ATO function

Post by grafspee1217 »

I will try flipping the foam floats. I was using the wizard that was included in the DEV 1.0 I just upgraded to version 1.1 and will try it tomorrow.

On the following line:
ReefAngel.StandardATO( Port2,60 )

Is the 60 the time out value?
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: ATO function

Post by rimai »

yes.
Roberto.
Post Reply