Page 4 of 4

Re: New System

Posted: Sat Feb 02, 2013 3:18 pm
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.

Re: New System

Posted: Sat Feb 02, 2013 4:06 pm
by rimai
What is the % that you set it up to work?

Re: New System

Posted: Sat Feb 02, 2013 4:38 pm
by smcglaughn
ReefAngel.WaterLevelATO(Port8,60,70,75); // 60 seconds timeout, turn on at 70% and turn off at 75%

Re: New System

Posted: Sat Feb 02, 2013 5:33 pm
by rimai
Is it turning on at 70% and off at 75%?

Re: New System

Posted: Sat Feb 02, 2013 6:01 pm
by smcglaughn
Yes it turns on at 70. The problem is it times out before getting to 75.

Re: New System

Posted: Sun Feb 03, 2013 9:13 am
by rimai
Seems like you need to increase the timeout.
The 60 means 60 seconds timeout. Just increase it.

Re: New System

Posted: Mon Feb 04, 2013 2:49 pm
by smcglaughn
Are these pumps suppose to be so noisy?

New System

Posted: Mon Feb 04, 2013 4:17 pm
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..

Re: New System

Posted: Wed Feb 06, 2013 7:09 pm
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

New System

Posted: Wed Feb 06, 2013 8:43 pm
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.

Re: New System

Posted: Sun Feb 10, 2013 3:46 pm
by smcglaughn
Where do I put this code?

New System

Posted: Sun Feb 10, 2013 4:00 pm
by lnevo
Where your current WaterLevelATO function is. You'll want to put the if statement above it and the } below...

Re: New System

Posted: Sun Feb 10, 2013 5:51 pm
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));

New System

Posted: Sun Feb 10, 2013 6:15 pm
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.

Re: New System

Posted: Mon Feb 11, 2013 6:19 pm
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));

New System

Posted: Mon Feb 11, 2013 6:31 pm
by lnevo
Yep looks good. Try it out. Lets see how it goes.

Re: New System

Posted: Mon Feb 18, 2013 7:24 pm
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()
{
}

New System

Posted: Mon Feb 18, 2013 7:51 pm
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.

Re: New System

Posted: Mon Feb 18, 2013 8:30 pm
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.

New System

Posted: Mon Feb 18, 2013 8:35 pm
by lnevo
Sorry, didn't see you already had a custom main. Try doing the calibration again and let us know...

Re: New System

Posted: Tue Feb 19, 2013 7:51 pm
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.

Re: New System

Posted: Tue Feb 19, 2013 8:45 pm
by rimai
Did you seal the pipe?

Re: New System

Posted: Wed Feb 20, 2013 4:57 pm
by smcglaughn
Yes I used teflon tape.

Re: New System

Posted: Wed Mar 13, 2013 5:40 pm
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?

Re: New System

Posted: Wed Mar 13, 2013 8:17 pm
by rimai
Have you tried sealing the pipe with pvc solvent?

Re: New System

Posted: Fri Mar 15, 2013 6:09 pm
by smcglaughn
No but I will this weekend and see if that helps.