Page 1 of 2

pH meter and ATO issues...

Posted: Tue Jul 31, 2012 12:44 pm
by gaberosenfield
For the life of me I can't seem to figure out why I am having pH and ATO issues.

My pH meter doesn't appear to have any physical damage. The bulb is not cracked or damaged in any visible way. After I calibrate it, it measures the pHs of my 7 and 10 standards correctly and it measures the pH of my tap water approximately correctly. But when I drop it in my tank, it says the pH is 1.6 :o ...
Considering that I did not just dump a bottle of HCL into my tank, and its inhabitants are all pretty much OK, I know something is wrong. I have been having this issue for a few months now... The probe is not near any wires or pumps.

I had problems getting my RA to properly perform the StandardATO function. It kept performing the SingleATO function instead. I finally got it to work last week (I have no idea how...it just decided to work for no apparent reason that I can understand). But it only works properly intermittently. When the low ATO switch is triggered, the pump comes on. I have the timeout set for 240 seconds. But sometimes, the pump just shuts off, before the high ATO switch is visibly triggered and way before the timeout expires. I have the float switches mounted correctly, the high switch pointing up and the low switch pointing down.

Here's my code:

Code: Select all

// Autogenerated file by RAGen (v1.2.2.171), (06/07/2012 14:54)
// RA_060712_1454.ino
//
// This version designed for v0.9.0 or later

/* The following features are enabled for this File: 
#define VersionMenu
#define DisplayLEDPWM
#define CUSTOM_MENU
#define CUSTOM_MENU_ENTRIES 8
*/


#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 <ReefAngel.h>

////// Place global variable code below here


////// Place global variable code above here

#include <avr/pgmspace.h>
prog_char menu0_label[] PROGMEM = "Feeding";
prog_char menu1_label[] PROGMEM = "Water Change";
prog_char menu2_label[] PROGMEM = "pH Calibration";
prog_char menu3_label[] PROGMEM = "DT Lights On";
prog_char menu4_label[] PROGMEM = "DT Lights Off";
prog_char menu5_label[] PROGMEM = "Toggle Fuge Lights";
prog_char menu6_label[] PROGMEM = "Date/Time";
prog_char menu7_label[] PROGMEM = "ATO Clear";
PROGMEM const char *menu_items[] = {
menu0_label, menu1_label, menu2_label, menu3_label, menu4_label, menu5_label, menu6_label, menu7_label  };

void MenuEntry1()
{
ReefAngel.DisplayMenuEntry("Item 1");
ReefAngel.FeedingModeStart();

}
void MenuEntry2()
{
ReefAngel.DisplayMenuEntry("Item 2");
ReefAngel.WaterChangeModeStart();

}
void MenuEntry3()
{
ReefAngel.DisplayMenuEntry("Item 3");
ReefAngel.SetupCalibratePH();
ReefAngel.DisplayedMenu = ALT_SCREEN_MODE;

}
void MenuEntry4()
{
ReefAngel.DisplayMenuEntry("Item 4");
ReefAngel.Relay.RelayMaskOn = ReefAngel.LightsOnPorts;
#ifdef RelayExp
for ( byte i = 0; i < MAX_RELAY_EXPANSION_MODULES; i++ )
{
    ReefAngel.Relay.RelayMaskOnE[i] = ReefAngel.LightsOnPortsE[i];
}
#endif  // RelayExp
ReefAngel.Relay.Write();

}
void MenuEntry5()
{
ReefAngel.DisplayMenuEntry("Item 5");
ReefAngel.Relay.RelayMaskOn = 0;
#ifdef RelayExp
for ( byte i = 0; i < MAX_RELAY_EXPANSION_MODULES; i++ )
{
    ReefAngel.Relay.RelayMaskOnE[i] = 0;
}
#endif  // RelayExp
ReefAngel.Relay.Write();

}
void MenuEntry6()
{
  ReefAngel.DisplayMenuEntry("Item 6");
  ReefAngel.Relay.Toggle(Port3);
  ReefAngel.Relay.Write();
  
}
void MenuEntry7()
{
  ReefAngel.DisplayMenuEntry("Item 7");
  ReefAngel.SetupDateTime();
  ReefAngel.DisplayedMenu = ALT_SCREEN_MODE;

}
void MenuEntry8()
{
  ReefAngel.ATOClear();
  ReefAngel.DisplayMenuEntry("Cleared ATO Timeout");
}  
void setup()
{
    // This must be the first line
    ReefAngel.Init();  //Initialize controller
    // Initialize the custom menu
    ReefAngel.InitMenu(pgm_read_word(&(menu_items[0])),SIZE(menu_items));

    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = Port2Bit | Port4Bit | Port5Bit | Port6Bit;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port2Bit | Port4Bit | Port5Bit | Port6Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = Port1Bit;

    // Ports that are always on
    ReefAngel.Relay.On(Port4);
    ReefAngel.Relay.On(Port5);
    ////// Place additional initialization code below here
     ReefAngel.Timer[1].SetInterval(8);//Wavemaker Timer
    ReefAngel.Timer[1].Start();
    ReefAngel.Timer[2].SetInterval(8);//Wavemaker Delay Timer

// Initialize and start the RA Client logging timer
    ReefAngel.Timer[4].SetInterval(15);  // set interval to 15 seconds
    ReefAngel.Timer[4].Start();
    ////// Place additional initialization code above here
}

void loop()
{
    // Specific functions that use Internal Memory values
    ReefAngel.StandardLights(Port1);
    ReefAngel.StandardHeater(Port2);
    ReefAngel.StandardLights(Port3,19,00,11,00);
    ReefAngel.StandardATO(Port7);
    //ReefAngel.DosingPumpRepeat(Port8,0,1440,3); // Dose for 6 second every 24 hours with 0 minutes offset

    // PWMSlope based on Internal Memory values for Standard Lights
    ReefAngel.PWM.ActinicPWMSlope(90);
    ReefAngel.PWM.DaylightPWMSlope();
    
    ////// Place your custom code below here
    if (ReefAngel.Timer[1].IsTriggered())//Wavemakers' Control
  {
    ReefAngel.Timer[2].Start();
    ReefAngel.Relay.On(Port6);//Wavemaker 2
  }
  
  if (ReefAngel.Timer[2].IsTriggered())//Wavemakers' Control
  {
    ReefAngel.Relay.Off(Port6);
    ReefAngel.Timer[1].Start();
  }

// Dump Params
	if(ReefAngel.Timer[4].IsTriggered())
	{
			Serial.flush();
			Serial.print("<RA><T1>");
			Serial.print(ReefAngel.TempSensor.ReadTemperature(ReefAngel.TempSensor.addrT1));
			Serial.print("</T1><T2>");
			Serial.print(ReefAngel.TempSensor.ReadTemperature(ReefAngel.TempSensor.addrT2));
			Serial.print("</T2><T3>");
			Serial.print(ReefAngel.TempSensor.ReadTemperature(ReefAngel.TempSensor.addrT3));
			Serial.print("</T3><PH>");
			Serial.print(ReefAngel.Params.PH);
			Serial.print("</PH><R>");
			Serial.print(ReefAngel.Relay.RelayData,DEC);
			Serial.print("</R><RON>");
			Serial.print(ReefAngel.Relay.RelayMaskOn,DEC);
			Serial.print("</RON><ROFF>");
			Serial.print(ReefAngel.Relay.RelayMaskOff,DEC);
			Serial.print("</ROFF></RA>");
			ReefAngel.Timer[4].Start();
	}
    ////// Place your custom code above here

    // This should always be the last line
    ReefAngel.ShowInterface();
}
Any help on these issues would be appreciated.

Thanks!

Re: pH meter and ATO issues...

Posted: Tue Jul 31, 2012 3:04 pm
by rimai
It seems you have problems with stray voltage and by the way you are saying it has to do with the float switch.
Maybe you have deffective or leaky float switch.
What happens if you place the probe in a cup with tank water?
Does it read correctly?

Re: pH meter and ATO issues...

Posted: Thu Aug 02, 2012 9:56 am
by carlii
I was reading this post and it does apply to me. I get a higher reading in a cup of tank water than I do form my tank. I pulled every electrical device out one by one and no change. I did try unplugging the ATO switch to no avail. Do you have a suggestion on how I can get rid of the stray voltage? Are their any PH probes that aren't susceptable to stray voltages?

Re: pH meter and ATO issues...

Posted: Thu Aug 02, 2012 10:01 am
by rimai
It must be coming from somewhere that touches the water.
Most likely causes are pumps or float switches.

Sent from my SPH-D700 using Tapatalk 2

Re: pH meter and ATO issues...

Posted: Thu Aug 02, 2012 10:43 am
by DrewPalmer04
Get a grounding probe or make sure your TTL-USB isn't plugged in all the time...if I leave mine plugged in it messes with my pH.

Re: pH meter and ATO issues...

Posted: Mon Aug 20, 2012 4:34 pm
by gaberosenfield
Sorry it took me forever to respond to this post. I always leave my TTL-USB cable plugged into the RA, but it is only connected to my computer when I am uploading to the controller. Does the TTL-USB cable being plugged into the RA but not the computer cause the pH to read incorrectly? Maybe I'll try removing the cable, though I don't understand how that would affect anything if it isn't receiving any voltage from my computer...

When I place the probe in a cup of tank water just after recalibrating, it reads 8.2. When I put it in the tank itself, it reads 8.08, but I think the reading is slowly decreasing. What should I do? Do I need a new float switch, or is a grounding probe a better idea? I should mention that I would expect the pH probe to read slightly lower than the actual pH in the rest of the tank because, in order to keep the probe away from any other electrical equipment, it is placed in the outflow from my skimmer; increased dissolved CO2 from the room may be lowering the pH slightly (I believe I have high CO2 in the room, based on reading a few articles and doing some experiments).

BTW, is there a maximum timeout for the StandardATO function? I'm using a small pump, and I increased the timeout to 8 minutes by updating the internal memory, but the RA doesn't seem to be using the new timeout. It still turns off the ATO pump after just 3 or 4 minutes, before the high ATO switch is triggered.

Re: pH meter and ATO issues...

Posted: Mon Aug 20, 2012 5:13 pm
by rimai
If it reads good in the cup and wrong inthe tank, it is definetely stray voltage somewhere.
How are you changing the memory for ATO timeout?
The new memory location for ATO timeout is location #276. All ATO functions are using the same location and it goes up to 65565 seconds.

Re: pH meter and ATO issues...

Posted: Mon Aug 20, 2012 5:24 pm
by carlii
I found my issue, one of my moo lights had fallen into my tank. it was causing my RA to go haywire. Water inside of the moonlight caudse a short and threw everything off. I did purchase a titanium grounding probe for all of my tanks from Amazon. I have been reading correct ph values ever since.

Re: pH meter and ATO issues...

Posted: Tue Aug 21, 2012 11:11 am
by gaberosenfield
Well, in the last 24 hours the pH reading in my tank has gone from 8.08 to 3.46. Definitely something wrong. Glad to hear that the grounding probe fixed your problem carlii, I'll go buy one right now.

I am changing the memory value for my ATO timeout by uploading the following ino file:

Code: Select all

// Autogenerated file by RAGen (v1.2.2.171), (04/29/2012 19:55)
// Memory_042912_1955.ino
//
// This file sets the default values to the Internal Memory
//


#include <ReefAngel_Features.h>
#include <Globals.h>
#include <Time.h>
#include <OneWire.h>
#include <RA_NokiaLCD.h>
#include <avr/pgmspace.h>
#include <InternalEEPROM.h>
#include <Wire.h>
#include <Memory.h>


RA_NokiaLCD e;

void setup()
{
    e.Init();
    e.Clear(COLOR_WHITE,0,0,132,132);
    e.BacklightOn();

    InternalMemory.MHOnHour_write(8);
    InternalMemory.MHOnMinute_write(0);
    InternalMemory.MHOffHour_write(15);
    InternalMemory.MHOffMinute_write(0);
    InternalMemory.StdLightsOnHour_write(10);
    InternalMemory.StdLightsOnMinute_write(0);
    InternalMemory.StdLightsOffHour_write(22);
    InternalMemory.StdLightsOffMinute_write(0);
    InternalMemory.WM1Timer_write(200);
    InternalMemory.WM2Timer_write(354);
    InternalMemory.DP1Timer_write(10);
    InternalMemory.DP2Timer_write(10);
    InternalMemory.FeedingTimer_write(900);
    InternalMemory.LCDTimer_write(60);
    InternalMemory.OverheatTemp_write(1500);
    InternalMemory.LEDPWMDaylight_write(0);
    InternalMemory.LEDPWMActinic_write(20);
    InternalMemory.HeaterTempOn_write(785);
    InternalMemory.HeaterTempOff_write(790);
    InternalMemory.ChillerTempOn_write(810);
    InternalMemory.ChillerTempOff_write(785);
    InternalMemory.ATOTimeout_write(480);
    InternalMemory.PHMax_write(840);
    InternalMemory.PHMin_write(550);
    InternalMemory.MHDelay_write(5);
    InternalMemory.DP1OnHour_write(20);
    InternalMemory.DP1OnMinute_write(0);
    InternalMemory.DP2OnHour_write(22);
    InternalMemory.DP2OnMinute_write(30);
    InternalMemory.ATOHourInterval_write(0);
    InternalMemory.ATOHighHourInterval_write(0);
    InternalMemory.ATOHighTimeout_write(60);
    InternalMemory.DP1RepeatInterval_write(0);
    InternalMemory.DP2RepeatInterval_write(0);
    InternalMemory.SalMax_write(2550);
    InternalMemory.PWMSlopeStartD_write(0);
    InternalMemory.PWMSlopeEndD_write(16);
    InternalMemory.PWMSlopeDurationD_write(120);
    InternalMemory.PWMSlopeStartA_write(0);
    InternalMemory.PWMSlopeEndA_write(50);
    InternalMemory.PWMSlopeDurationA_write(120);
    InternalMemory.RFMode_write(0);
    InternalMemory.RFSpeed_write(100);
    InternalMemory.RFDuration_write(10);
    InternalMemory.PWMSlopeStart0_write(15);
    InternalMemory.PWMSlopeEnd0_write(100);
    InternalMemory.PWMSlopeDuration0_write(60);
    InternalMemory.PWMSlopeStart1_write(15);
    InternalMemory.PWMSlopeEnd1_write(100);
    InternalMemory.PWMSlopeDuration1_write(60);
    InternalMemory.PWMSlopeStart2_write(15);
    InternalMemory.PWMSlopeEnd2_write(100);
    InternalMemory.PWMSlopeDuration2_write(60);
    InternalMemory.PWMSlopeStart3_write(15);
    InternalMemory.PWMSlopeEnd3_write(100);
    InternalMemory.PWMSlopeDuration3_write(60);
    InternalMemory.PWMSlopeStart4_write(15);
    InternalMemory.PWMSlopeEnd4_write(100);
    InternalMemory.PWMSlopeDuration4_write(60);
    InternalMemory.PWMSlopeStart5_write(15);
    InternalMemory.PWMSlopeEnd5_write(100);
    InternalMemory.PWMSlopeDuration5_write(60);
    InternalMemory.IMCheck_write(0x5241494D);
}

void loop()
{
    // display success screen
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*2, "Internal Memory Set");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*4, "Now load your");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*5, "   RA code file");
    delay(5000);
}
Is this an incorrect way to update the internal memory values? It has worked for other memory changes before...

Re: pH meter and ATO issues...

Posted: Tue Aug 21, 2012 11:17 am
by rimai
Looks like you are not running latest libraries, are you?
You will only be able to use the new extended timeout if you are running the latest libraries, which is v1.0.1 at the moment.
Then you can add this to your memory code:

Code: Select all

    InternalMemory.ATOExtendedTimeout_write(120);

Re: pH meter and ATO issues...

Posted: Tue Aug 21, 2012 11:35 am
by gaberosenfield
I have now ordered a grounding probe and updated my libraries to 1.01. Are you saying all I need to do is upload the following?

Code: Select all

// Autogenerated file by RAGen (v1.2.2.171), (04/29/2012 19:55)
// Memory_042912_1955.ino
//
// This file sets the default values to the Internal Memory
//

#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 <ReefAngel.h>


RA_NokiaLCD e;

void setup()
{
    e.Init();
    e.Clear(COLOR_WHITE,0,0,132,132);
    e.BacklightOn();

    InternalMemory.MHOnHour_write(8);
    InternalMemory.MHOnMinute_write(0);
    InternalMemory.MHOffHour_write(15);
    InternalMemory.MHOffMinute_write(0);
    InternalMemory.StdLightsOnHour_write(10);
    InternalMemory.StdLightsOnMinute_write(0);
    InternalMemory.StdLightsOffHour_write(22);
    InternalMemory.StdLightsOffMinute_write(0);
    InternalMemory.WM1Timer_write(200);
    InternalMemory.WM2Timer_write(354);
    InternalMemory.DP1Timer_write(10);
    InternalMemory.DP2Timer_write(10);
    InternalMemory.FeedingTimer_write(900);
    InternalMemory.LCDTimer_write(60);
    InternalMemory.OverheatTemp_write(1500);
    InternalMemory.LEDPWMDaylight_write(0);
    InternalMemory.LEDPWMActinic_write(20);
    InternalMemory.HeaterTempOn_write(785);
    InternalMemory.HeaterTempOff_write(790);
    InternalMemory.ChillerTempOn_write(810);
    InternalMemory.ChillerTempOff_write(785);
    InternalMemory.ATOTimeout_write(480);
    InternalMemory.ATOExtendedTimeout_write(120);
    InternalMemory.PHMax_write(840);
    InternalMemory.PHMin_write(550);
    InternalMemory.MHDelay_write(5);
    InternalMemory.DP1OnHour_write(20);
    InternalMemory.DP1OnMinute_write(0);
    InternalMemory.DP2OnHour_write(22);
    InternalMemory.DP2OnMinute_write(30);
    InternalMemory.ATOHourInterval_write(0);
    InternalMemory.ATOHighHourInterval_write(0);
    InternalMemory.ATOHighTimeout_write(60);
    InternalMemory.DP1RepeatInterval_write(0);
    InternalMemory.DP2RepeatInterval_write(0);
    InternalMemory.SalMax_write(2550);
    InternalMemory.PWMSlopeStartD_write(0);
    InternalMemory.PWMSlopeEndD_write(16);
    InternalMemory.PWMSlopeDurationD_write(120);
    InternalMemory.PWMSlopeStartA_write(0);
    InternalMemory.PWMSlopeEndA_write(50);
    InternalMemory.PWMSlopeDurationA_write(120);
    InternalMemory.RFMode_write(0);
    InternalMemory.RFSpeed_write(100);
    InternalMemory.RFDuration_write(10);
    InternalMemory.PWMSlopeStart0_write(15);
    InternalMemory.PWMSlopeEnd0_write(100);
    InternalMemory.PWMSlopeDuration0_write(60);
    InternalMemory.PWMSlopeStart1_write(15);
    InternalMemory.PWMSlopeEnd1_write(100);
    InternalMemory.PWMSlopeDuration1_write(60);
    InternalMemory.PWMSlopeStart2_write(15);
    InternalMemory.PWMSlopeEnd2_write(100);
    InternalMemory.PWMSlopeDuration2_write(60);
    InternalMemory.PWMSlopeStart3_write(15);
    InternalMemory.PWMSlopeEnd3_write(100);
    InternalMemory.PWMSlopeDuration3_write(60);
    InternalMemory.PWMSlopeStart4_write(15);
    InternalMemory.PWMSlopeEnd4_write(100);
    InternalMemory.PWMSlopeDuration4_write(60);
    InternalMemory.PWMSlopeStart5_write(15);
    InternalMemory.PWMSlopeEnd5_write(100);
    InternalMemory.PWMSlopeDuration5_write(60);
    InternalMemory.IMCheck_write(0x5241494D);
}

void loop()
{
    // display success screen
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*2, "Internal Memory Set");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*4, "Now load your");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*5, "   RA code file");
    delay(5000);
}

Sorry for knowing so little about programming and how this great product actually works :?

Re: pH meter and ATO issues...

Posted: Tue Aug 21, 2012 11:42 am
by rimai
Yes, you can just load that code with one little change.
The new libraries are checking for a new value, so change this in your code:

Code: Select all

    InternalMemory.IMCheck_write(0x5241494D);
To this:

Code: Select all

    InternalMemory.IMCheck_write(0xCF06A31E);

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 9:24 am
by DrewPalmer04
my pH is being weird within the last two days? I've tried the usual fixes...it is dropping in the 4.x (s) in the morning and only getting to 8.1 in the afternoon....no stray voltage..it's not dirty...has been working fine for about a month now.

Ideas?

Image

Image

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 10:17 am
by rimai
What goes on at 7:30am?

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 10:45 am
by DrewPalmer04
That's the thing...nothing :(

My T5s are the only thing close to 0730...they are programmed for 0815 "on"

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 10:46 am
by rimai
Is it always at the same time?

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 10:51 am
by DrewPalmer04
Ranges from either 0700 or 0800 or in between...but pretty consistant

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 10:54 am
by DrewPalmer04
But you can see at the end of the graph pic...it's getting worse?!

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 10:54 am
by rimai
Do you dose anything around that time?

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 10:55 am
by DrewPalmer04
Dosing is divided into 10 second increments over a 12 hour period for both dosers (one min apart)

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 11:14 am
by DrewPalmer04
And I've only dosed for like a couple of weeks...what does your pH look like? Mine shouldn't be going up and down like that I would assume? A nice line would be perfect (or as close to a line as possible)

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 11:40 am
by rimai
Flat line is almost impossible, unless you get a really large volume of water and minimum stock.
pH will always change with CO2 in the environment and in the water.
Fish breath and corals and algae breath and photosynthesize. That's why you pH increases during daylight cycle and drop at night.
It should vary, just not like your graph.

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 11:42 am
by DrewPalmer04
exactly...I have a lot of volume..every time I test I'm at 8.3 so I'm not sure why the big curves of the graph/pH probe's issue?

pH meter and ATO issues...

Posted: Wed Aug 22, 2012 12:16 pm
by lnevo
rimai wrote: Fish breath and corals and algae breath and photosynthesize. That's why you pH increases during daylight cycle and drop at night.
It should vary, just not like your graph.
Was just wondering today why ph goes up and down during the day...

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 12:24 pm
by DrewPalmer04
I find it weird mine does it almost the same time everyday....:S

Re: pH meter and ATO issues...

Posted: Wed Aug 22, 2012 1:25 pm
by DrewPalmer04
lnevo wrote:
rimai wrote: Fish breath and corals and algae breath and photosynthesize. That's why you pH increases during daylight cycle and drop at night.
It should vary, just not like your graph.
Was just wondering today why ph goes up and down during the day...

lnevo:

What's your pH range during the day and night? Have a graph to share? I'm going to have to figure out why mine is messing up.

pH meter and ATO issues...

Posted: Wed Aug 22, 2012 1:50 pm
by lnevo
It goes from 7.94 to 8.12. It's not a big swing and it's a pretty gradual change...

Re: pH meter and ATO issues...

Posted: Mon Aug 27, 2012 11:05 am
by DrewPalmer04
ReefAngel.PHMin=830; // PH10.0
ReefAngel.PHMin=90; // PH7.0


I have to use this for my probe to read out 8.3

Probe busted?

Re: pH meter and ATO issues...

Posted: Mon Aug 27, 2012 12:13 pm
by rimai
Yeah, 90 is too low.

Re: pH meter and ATO issues...

Posted: Mon Aug 27, 2012 12:55 pm
by DrewPalmer04
Any warranty on them? It's only 2 months old