New System

New members questions
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

I had a few questions about my ATO / water level setup. It seems to be overly sensitive. My aquarium is set up over a basement. When ever we walk by it trips the ATO pump. ALso during normal operation once the water level gets low. The ATO pump runs until it trips out. Is there a way to change that? Also the pump is very loud. Should it be so loud? My wife has asked me to get rid of it because of the noise and the constant running.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New System

Post by rimai »

What is the % that you set it up to work?
Roberto.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

ReefAngel.WaterLevelATO(Port8,60,70,75); // 60 seconds timeout, turn on at 70% and turn off at 75%
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New System

Post by rimai »

Is it turning on at 70% and off at 75%?
Roberto.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

Yes it turns on at 70. The problem is it times out before getting to 75.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New System

Post by rimai »

Seems like you need to increase the timeout.
The 60 means 60 seconds timeout. Just increase it.
Roberto.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

Are these pumps suppose to be so noisy?
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

You could also increase the threshold between low and high and the pump would come on less.

You could also set it to only replenish overnight or restrict times so its not pumping when you are watching tv or trying to sleep or whatever...

I'm not sure which pump you are using...my dosing pumps are a bit noisy. But only when nearby them..
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

I am using a Reef Angel ATO pump. Can you tell me how to program it to only come on from like 2 to 4 AM ? Thanks
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

smcglaughn wrote:ReefAngel.WaterLevelATO(Port8,60,70,75); // 60 seconds timeout, turn on at 70% and turn off at 75%
You just want to wrap that function with a conditional..

if ( (hour()>=2) && (hour()<4) ) {
WaterLevelATO....
}

That will turn your ato relay into an ato relay only during that time...

The main thing you'll want to do is adjust your timeout and levels accordingly...

You could do multiple if blocks if you want to do at other times a day ir we could come up with a better timing like every 4 hours or something... Up to you.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

Where do I put this code?
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

Where your current WaterLevelATO function is. You'll want to put the if statement above it and the } below...
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

Like this?


// Specific functions that use Internal Memory values
ReefAngel.Wavemaker(Port5,60);
ReefAngel.Wavemaker(Port6,120);
ReefAngel.StandardHeater(Port7,757,763);
// ReefAngel.StandardLights(Port8,17,0,13,0);
if ( (hour()>=2) && (hour()<4) ) {
ReefAngel.WaterLevelATO(Port8,60,70,75); // 60 seconds timeout, turn on at 70% and turn off at 75%}
ReefAngel.PWM.SetDaylight(PWMSlopeOvernight(22,0,6,0,0,MoonPhase(),30,0));
ReefAngel.PWM.SetActinic(PWMSlopeOvernight(22,0,6,0,0,MoonPhase(),30,0));
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

The only thing you need to do different is put the } on the next line...

The way it is now, it's commented out by the //

And remember you may have to adjust the levels and timeout based on the new scheduling.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

Like this then?

// Specific functions that use Internal Memory values
ReefAngel.Wavemaker(Port5,60);
ReefAngel.Wavemaker(Port6,120);
ReefAngel.StandardHeater(Port7,757,763);
// ReefAngel.StandardLights(Port8,17,0,13,0);
if ( (hour()>=2) && (hour()<4) ) {
ReefAngel.WaterLevelATO(Port8,360,70,75); // 360 seconds timeout, turn on at 70% and turn off at 75%
}
ReefAngel.PWM.SetDaylight(PWMSlopeOvernight(22,0,6,0,0,MoonPhase(),30,0));
ReefAngel.PWM.SetActinic(PWMSlopeOvernight(22,0,6,0,0,MoonPhase(),30,0));
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

Yep looks good. Try it out. Lets see how it goes.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

I have a couple questions.
1) Since I have made this change 2 new items show on my LCD screen. DP 42 and AP 42. What is that for?
2) Can I change the salinity LCD color? It looks gold and is hard to see.

Now for a problem I have encountered. I can not get the "in water calibration to stabilize. The out of water works perfectly. I pull the PVC out of the water it stabilizes very quickly. When I put the PVC back in the water the first 3 numbers stabilize pretty quickly, but the fourth digit changes so rapidly up and down. I have a hard time seeing it. I actually thought it was stable until I put on my reading glasses.

Below is the current code I am using. Thanks for your help!

#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 <AI.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <Salinity.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.WaterChangePorts= Port1Bit | Port2Bit | Port3Bit | Port5Bit | Port6Bit;

// Ports that are always on
ReefAngel.Relay.On(Port1);
ReefAngel.Relay.On(Port2);
ReefAngel.Relay.On(Port3);
ReefAngel.Relay.On(Port4);
////// Place additional initialization code below here


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

void loop()
{
// Specific functions that use Internal Memory values
ReefAngel.Wavemaker(Port5,60);
ReefAngel.Wavemaker(Port6,120);
ReefAngel.StandardHeater(Port7,757,763);
// ReefAngel.StandardLights(Port8,17,0,13,0);
if ( (hour()>=2) && (hour()<5) ) {
ReefAngel.WaterLevelATO(Port8,420,70,75); // 420 seconds timeout, turn on at 70% and turn off at 75%
}
ReefAngel.PWM.SetDaylight( MoonPhase() );
ReefAngel.PWM.SetActinic( MoonPhase() );
////// Place your custom code below here


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

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


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

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

// Water Level
ReefAngel.LCD.DrawText( COLOR_DARKGOLDENROD,DefaultBGColor,75,75, "WL:" );
ReefAngel.LCD.DrawText( COLOR_DARKGOLDENROD,DefaultBGColor,99,75, ReefAngel.WaterLevel.GetLevel() );
pingSerial();

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

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

void DrawCustomGraph()
{
}
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

The dp/ap is the pwm ports that it looks like you are using as moonlights. That is the dimming percentage. Ap is actinic port and dp is daylight port

As far as changing the color, the only way to do that is to write a custom display. Maybe you could redefine the color used. I'll let someone more familiar with that part of the library.

As far as the water level, this sounds like an issue I had. What is the calibration number when out of the water? It should be around 900...

What operating system are you using? I had to modify my waterlevel files in the library to use long instead of int. let's do some troubleshooting and I can give you the replacement files...

After you check the water level out of the water try blowing in the pvc...does the number stay 3 digits? Does it looks like it is bouncing back to 0, going up and resetting etc? If so then you might have the same issue I did.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New System

Post by rimai »

Change this:

Code: Select all

ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,39,54, ReefAngel.Params.Salinity );
To this:

Code: Select all

ReefAngel.LCD.DrawText( COLOR_BLACK,DefaultBGColor,39,54, ReefAngel.Params.Salinity );
Yes, the calibration is fast and the last digit will change rapidly, but you can accept it anyway. It will never stay put in a single number. We are scaling down the resolution too, anyway. We only use 0-100% and the calibration is way more than that.
Roberto.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

New System

Post by lnevo »

Sorry, didn't see you already had a custom main. Try doing the calibration again and let us know...
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

The number is 935 when out of the water. When I blow in it it goes to 2000+. Thats the same number I get when I put the PVC back in the water to calibrate. After a few days my water level percentge is different even though the water level is the same.
Thanks for the help with the font color.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New System

Post by rimai »

Did you seal the pipe?
Roberto.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

Yes I used teflon tape.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

What I have noticed is. If the sensor times out. Even though I reset the ATO. The water level is screwed up. I have to do a calibration. As long as the ATO pump isnt timed out. The water level works fine. Is that something that can be fixed?
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New System

Post by rimai »

Have you tried sealing the pipe with pvc solvent?
Roberto.
smcglaughn
Posts: 67
Joined: Tue Sep 18, 2012 8:00 pm
Location: Spruce Pine Alabama

Re: New System

Post by smcglaughn »

No but I will this weekend and see if that helps.
Post Reply