PH Expansion mod MAJOR issues

Expansion modules and attachments
Post Reply
mng777777
Posts: 29
Joined: Tue Sep 30, 2014 2:05 pm

PH Expansion mod MAJOR issues

Post by mng777777 »

I am having issues with my PH Expansion module. Here's the quick back story:
I received my PH Calibration solutions today. I installed the module and powered it up. I got a very high reading of 9.7. I went into the RA menu, selected PH Expansion Calibration, then performed the calibration. I was getting numbers ~2360 in both solutions. I didn't realize that was abnormal. I completed the calibration, then proceeded with calibrating my main probe. After seeing how the calibration went with my main probe, I assumed that there was a problem with the calibration of my Exp Probe so I changed the internal memory min/max values to match those of my main probe (330/800) then recalibrated. As I entered calibration the second time, it just read 0. now, I simply get 0 as the probe reading no matter what I do. additionally, I notice that the memory locations call for a parameter between 0-1024 so I don't know how I even got a value of 2360 to begin with. I swapped the probe attached normally to the PH Exp, over to the main unit, and it works just fine, so it seems it is a problem with the module. Is there a factory reset, wipe, or some other means of starting over? Any help will be much appreciated. Here is my code just in case:

Code: Select all

[quote]
#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_Wifi.h>
#include <[color=#CC6600]Wire[/color].h>
#include <[color=#CC6600]OneWire[/color].h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_NokiaLCD.h>
#include <RA_ATO.h>
#include <RA_Joystick.h>
#include <[color=#006699]LED[/color].h>
#include <RA_TempSensor.h>
#include <[color=#006699]Relay[/color].h>
#include <RA_PWM.h>
#include <[color=#006699]Timer[/color].h>
#include <Memory.h>
#include <InternalEEPROM.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <[color=#006699]Salinity[/color].h>
#include <[color=#006699]RF[/color].h>
#include <[color=#006699]IO[/color].h>
#include <[color=#006699]ORP[/color].h>
#include <[color=#006699]AI[/color].h>
#include <[color=#006699]PH[/color].h>
#include <[color=#006699]WaterLevel[/color].h>
#include <[color=#006699]Humidity[/color].h>
#include <[color=#006699]DCPump[/color].h>
#include <[color=#CC6600]ReefAngel[/color].h>

[color=#7E7E7E]////// Place global variable code below here[/color]


[color=#7E7E7E]////// Place global variable code above here[/color]


[color=#CC6600]void[/color] [color=#CC6600][b]setup[/b][/color]()
{
    [color=#7E7E7E]// This must be the first line[/color]
    [color=#CC6600]ReefAngel[/color].[color=#CC6600]Init[/color]();  [color=#7E7E7E]//Initialize controller[/color]
    [color=#CC6600]ReefAngel[/color].[color=#CC6600]Use2014Screen[/color]();  [color=#7E7E7E]// Let's use 2014 Screen [/color]
    [color=#CC6600]ReefAngel[/color].[color=#CC6600]AddPHExpansion[/color]();  [color=#7E7E7E]// pH Expansion Module[/color]
    [color=#7E7E7E]// Ports toggled in Feeding Mode[/color]
    [color=#CC6600]ReefAngel[/color].[color=#006699]FeedingModePorts[/color] = [color=#006699]Port5Bit[/color] | [color=#006699]Port7Bit[/color];
    [color=#7E7E7E]// Ports toggled in Water Change Mode[/color]
    [color=#CC6600]ReefAngel[/color].[color=#006699]WaterChangePorts[/color] = [color=#006699]Port2Bit[/color] | [color=#006699]Port3Bit[/color] | [color=#006699]Port8Bit[/color];
    [color=#7E7E7E]// Ports toggled when Lights On / Off menu entry selected[/color]
    [color=#CC6600]ReefAngel[/color].[color=#006699]LightsOnPorts[/color] = 0;
    [color=#7E7E7E]// Ports turned off when Overheat temperature exceeded[/color]
    [color=#CC6600]ReefAngel[/color].[color=#006699]OverheatShutoffPorts[/color] = [color=#006699]Port4Bit[/color] | [color=#006699]Port6Bit[/color];
    [color=#7E7E7E]// Use T1 probe as temperature and overheat functions[/color]
    [color=#CC6600]ReefAngel[/color].[color=#006699]TempProbe[/color] = [color=#006699]T1_PROBE[/color];
    [color=#CC6600]ReefAngel[/color].[color=#006699]OverheatProbe[/color] = [color=#006699]T1_PROBE[/color];


    [color=#7E7E7E]// Ports that are always on[/color]
    [color=#CC6600]ReefAngel[/color].[color=#006699]Relay[/color].[color=#CC6600]On[/color]( [color=#006699]Port2[/color] );
    [color=#CC6600]ReefAngel[/color].[color=#006699]Relay[/color].[color=#CC6600]On[/color]( [color=#006699]Port7[/color] );
    [color=#CC6600]ReefAngel[/color].[color=#006699]Relay[/color].[color=#CC6600]On[/color]( [color=#006699]Port8[/color] );

    [color=#7E7E7E]////// Place additional initialization code below here[/color]
    

    [color=#7E7E7E]////// Place additional initialization code above here[/color]
}

[color=#CC6600]void[/color] [color=#CC6600][b]loop[/b][/color]()
{
    [color=#CC6600]ReefAngel[/color].[color=#CC6600]CO2Control[/color]( [color=#006699]Port1[/color] );
    [color=#CC6600]ReefAngel[/color].[color=#CC6600]SingleATOLow[/color]( [color=#006699]Port3[/color] );
    [color=#CC6600]ReefAngel[/color].[color=#CC6600]StandardHeater[/color]( [color=#006699]Port4[/color] );
    [color=#CC6600]ReefAngel[/color].[color=#006699]Relay[/color].[color=#CC6600]DelayedOn[/color]( [color=#006699]Port5[/color] );
    [color=#CC6600]ReefAngel[/color].[color=#CC6600]MoonLights[/color]( [color=#006699]Port6[/color] );
    [color=#7E7E7E]////// Place your custom code below here[/color]

[color=#7E7E7E]/// Custom Labels    [/color]
[color=#CC6600]ReefAngel[/color].CustomLabels[0]=[color=#006699]"CO2"[/color];  
[color=#CC6600]ReefAngel[/color].CustomLabels[1]=[color=#006699]"Reactor"[/color];  
[color=#CC6600]ReefAngel[/color].CustomLabels[2]=[color=#006699]"ATO"[/color];  
[color=#CC6600]ReefAngel[/color].CustomLabels[3]=[color=#006699]"Heater"[/color];  
[color=#CC6600]ReefAngel[/color].CustomLabels[4]=[color=#006699]"Power Heads"[/color];  
[color=#CC6600]ReefAngel[/color].CustomLabels[5]=[color=#006699]"Fuge Light"[/color];  
[color=#CC6600]ReefAngel[/color].CustomLabels[6]=[color=#006699]"Return"[/color];  
[color=#CC6600]ReefAngel[/color].CustomLabels[7]=[color=#006699]"Skimmer"[/color];

[color=#7E7E7E]/// PHExp params to control Reactor feed pump [/color]
[color=#CC6600]if[/color] ( [color=#CC6600]ReefAngel[/color].[color=#006699]Params[/color].[color=#006699]PHExp[/color] < 800 ) [color=#CC6600]ReefAngel[/color].[color=#006699]Relay[/color].[color=#CC6600]Off[/color]( [color=#006699]Port2[/color] ); [color=#7E7E7E]// Reactor Feed[/color]
[color=#CC6600]if[/color] ( [color=#CC6600]ReefAngel[/color].[color=#006699]Params[/color].[color=#006699]PHExp[/color] >= 840 ) [color=#CC6600]ReefAngel[/color].[color=#006699]Relay[/color].[color=#CC6600]On[/color]( [color=#006699]Port2[/color] ); [color=#7E7E7E]// Reactor Feed[/color]

[color=#7E7E7E]/// DT Float switch to control Return in emergency overflow condition[/color]
[color=#CC6600]if[/color] ([color=#CC6600]ReefAngel[/color].[color=#006699]HighATO[/color].[color=#CC6600]IsActive[/color]()) [color=#7E7E7E]// DT Float Switch[/color]

    [color=#CC6600]ReefAngel[/color].[color=#006699]Relay[/color].[color=#CC6600]On[/color]([color=#006699]Port7[/color]); 
[color=#CC6600]else[/color]
    [color=#CC6600]ReefAngel[/color].[color=#006699]Relay[/color].[color=#CC6600]Off[/color]([color=#006699]Port7[/color]);    

[color=#7E7E7E]/// Check for system uptime to delay ATO [/color]
bool atoSpanReached;  [color=#7E7E7E]//flag to determine if the controller has been running long enough to start ATO functionality[/color]

  [color=#CC6600]if[/color](!atoSpanReached) 
  {
     [color=#CC6600]if[/color]([color=#CC6600]millis[/color]() >= 300000) [color=#7E7E7E]//Has program been running for 5 minutes?[/color]
       atoSpanReached = [color=#CC6600]true[/color];  [color=#7E7E7E]//It has so then set the flag[/color]
  }
  [color=#CC6600]if[/color](atoSpanReached) [color=#7E7E7E]//Only run the ATO operations if the flag has been set[/color]
  {
     [color=#CC6600]if[/color] ([color=#CC6600]ReefAngel[/color].[color=#006699]LowATO[/color].[color=#CC6600]IsActive[/color]())
        [color=#CC6600]ReefAngel[/color].[color=#CC6600]SingleATO[/color]( [color=#CC6600]true[/color],[color=#006699]Port3[/color],60,10 );
     [color=#CC6600]else[/color]
        [color=#CC6600]ReefAngel[/color].[color=#006699]Relay[/color].[color=#CC6600]Off[/color]( [color=#006699]Port3[/color] );
  }    
  
[color=#7E7E7E]///// Defines custom variables to use for notifications on alerts in the app[/color]
  [color=#CC6600]ReefAngel[/color].[color=#CC6600]ShowInterface[/color]();
[color=#CC6600]if[/color] ( [color=#CC6600]InternalMemory[/color].[color=#CC6600]read[/color](ATO_Single_Exceed_Flag) == 1 )
{
[color=#CC6600]ReefAngel[/color].[color=#006699]CustomVar[/color][0]=1;
}
[color=#CC6600]else[/color]
{
[color=#CC6600]ReefAngel[/color].[color=#006699]CustomVar[/color][0]=0;
}
[color=#CC6600]if[/color] ( [color=#CC6600]InternalMemory[/color].[color=#CC6600]read[/color](Overheat_Exceed_Flag) == 1 )
{
[color=#CC6600]ReefAngel[/color].[color=#006699]CustomVar[/color][1]=1;
}
[color=#CC6600]else[/color]
{
[color=#CC6600]ReefAngel[/color].[color=#006699]CustomVar[/color][1]=0;
}
[color=#CC6600]if[/color] ( [color=#CC6600]InternalMemory[/color].[color=#CC6600]read[/color](BusLockFlag) == 1 )
{
[color=#CC6600]ReefAngel[/color].[color=#006699]CustomVar[/color][2]=1;
}
[color=#CC6600]else[/color]
{
[color=#CC6600]ReefAngel[/color].[color=#006699]CustomVar[/color][2]=0;
}
  

    [color=#7E7E7E]////// Place your custom code above here[/color]

    [color=#7E7E7E]// This should always be the last line[/color]
    [color=#CC6600]ReefAngel[/color].[color=#CC6600]Portal[/color]( [color=#006699]"mng777777"[/color] );
    [color=#CC6600]ReefAngel[/color].[color=#CC6600]ShowInterface[/color]();
}


[/quote]
Image
mng777777
Posts: 29
Joined: Tue Sep 30, 2014 2:05 pm

Re: PH Expansion mod MAJOR issues

Post by mng777777 »

UPDATE: after moving the probe from the calibration fluid back into RO, it suddenly read a PH of 14 so I thought maybe it was working again but still needed to be calibrated. I entered calibration mode again and get a reading of 2378 in the 7 solution initially, then suddenly, it drops to 0 (you can see it counting down from 2378 to 0 over the course of about 2 seconds).
Image
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: PH Expansion mod MAJOR issues

Post by rimai »

~2300 sounds correct for the pH expansion in pH 7 solution, but it should not go to zero.
It should stay there.
If you use a paper clip to short out the BNC connector at the pH expansion, what numbers do you get and do they stay there?
When I say short out the connector, I mean the inner center pinhole to the outer shell.
It should simulate pH7 values without the use of a probe and solution.
Roberto.
mng777777
Posts: 29
Joined: Tue Sep 30, 2014 2:05 pm

Re: PH Expansion mod MAJOR issues

Post by mng777777 »

It stays constant at 2369 when shorted with a paper clip in calibration mode.
Image
mng777777
Posts: 29
Joined: Tue Sep 30, 2014 2:05 pm

Re: PH Expansion mod MAJOR issues

Post by mng777777 »

UPDATE: After shorting with the clip, I reconnected the probe, put it in 7 solution and waited. It stayed constant so I selected OK at 2368. I rinsed in RO, placed it in 10 solution and it is still reading 2368. after about 30 minutes in the 10 solution, it moved to a final value of 2371. I pressed OK. Rinsed it in RO, returned it to tank water and again, I am getting a reading of 14.
Image
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: PH Expansion mod MAJOR issues

Post by rimai »

That's definitely not working. It should move to a different number.
PM for RMA.
Roberto.
Post Reply