T2 and T3 Temp Probes

Basic / Standard Reef Angel hardware
Post Reply
clw143
Posts: 116
Joined: Fri Jun 21, 2013 8:20 pm
Location: Louisiana

T2 and T3 Temp Probes

Post by clw143 »

I finally swapped out my head unit with one bought some time ago, I also put 3 new temp probes, two new floats, and a new PH probe.

Of course the room temp probe (the shortest one) ended up at T1, which I modified the following code per another post I saw

Code: Select all

ReefAngel.StandardHeater(T3_PROBE, Port7 ,InternalMemory.HeaterTempOn_read(), InternalMemory.HeaterTempOff_read());
The issue is that my T2 and T3 probe indications on the head unit, as well as in the app, will briefly flash to zero and return to the correct temp. T1 seems to not have any issue and is rock solid.

I have stripped out a lot of code I was using, any thoughts why this is occurring?

Code: Select all

#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 <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <DCPump.h>
#include <PAR.h>
#include <ReefAngel.h>

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

boolean RST;
byte DCPSpeed = 100;

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


void setup()
{
    // This must be the first line
    ReefAngel.Init();  //Initialize controller
    ReefAngel.Use2014Screen();  // Let's use 2014 Screen 
    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = 0;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port1Bit | Port2Bit | Port4Bit | Port6Bit | Port8Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = 0;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = Port7Bit;
    // Use T1 probe as temperature and overheat functions
    ReefAngel.TempProbe = T3_PROBE;
    ReefAngel.OverheatProbe = T3_PROBE;

    // Feeeding and Water Change mode speed
    //ReefAngel.DCPump.FeedingSpeed=0;
    //ReefAngel.DCPump.WaterChangeSpeed=0;


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

    ////// Place additional initialization code below here
    
    // initialize default values for Custom Variables
    //ReefAngel.CustomVar[4]=100; //speed
    
    //initialize reset flag to true for calculations
    RST = true;

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

void loop(){
  
      //Alkalinity Drip  // Currently set to 8 sec every 240 minutes = 36 ml/day (1/15/18) was 31.5
     if (ReefAngel.Params.PH < 840) {
     ReefAngel.DosingPumpRepeat(Port1, 15,
         InternalMemory.DP1RepeatInterval_read(),
         InternalMemory.DP1Timer_read());
     }
     //Calcium Drip  // Currently set to 7 sec every 240 minutes = 31.5 ml/day (1/15/18) was 27
     ReefAngel.DosingPumpRepeat(Port2, 45,
         InternalMemory.DP2RepeatInterval_read(),
         InternalMemory.DP2Timer_read());
    ReefAngel.Relay.DelayedOn( Port4 ); //Reef Octopus Skimmer
    //ReefAngel.StandardHeater( Port7 ); //Ehiem 150W Heater
    ReefAngel.StandardHeater(T3_PROBE, Port7 ,InternalMemory.HeaterTempOn_read(), InternalMemory.HeaterTempOff_read());
    ReefAngel.StandardATO( Port8 );   //MAXI Jet 600 ATO Pump
    ReefAngel.PWM.Channel1PWMSlope(); //Right & Left Philips Rebel ES Royal Blue and Cool White & UV & Cree XT-E Green
    ReefAngel.PWM.Channel2PWMSlope();  //Right Daylight Cree XP-G2 R5 Cool White
    ReefAngel.PWM.Channel3PWMSlope();  //Right Actinic Cree XT-E Royal Blue
    ReefAngel.PWM.Channel4PWMSlope();  //Left Daylight Cree XP-G2 R5 Cool White
    ReefAngel.PWM.Channel5PWMSlope();  //Left Actinic Cree XT-E Royal Blue
    ////// Place your custom code below here
    
    //PWM Expansion Channels = 0 if Overheat or Lights off
    if ((hour()>=InternalMemory.StdLightsOffHour_read() || hour()<=InternalMemory.StdLightsOnHour_read()) || (ReefAngel.Params.Temp[T3_PROBE]>InternalMemory.OverheatTemp_read())) {
    ReefAngel.PWM.SetChannel (1,0);
    ReefAngel.PWM.SetChannel (2,0);
    ReefAngel.PWM.SetChannel (3,0);
    ReefAngel.PWM.SetChannel (4,0);
    ReefAngel.PWM.SetChannel (5,0);
    }

    //Fuge Light on 1 hour before sunset hour and off 1 hour after sunrise hour
    if (hour()>=((InternalMemory.StdLightsOffHour_read()-1) || hour()<=(InternalMemory.StdLightsOnHour_read()+1))) ReefAngel.Relay.On(Port6);
    else ReefAngel.Relay.Off(Port6);

    // moonlight are on between sunset hour and sunrise hour
    if (hour()>=((InternalMemory.StdLightsOffHour_read()-1) || hour()<=InternalMemory.StdLightsOnHour_read())) ReefAngel.PWM.SetChannel (0, (map(MoonPhase(), 0,100,10,25)));
    else ReefAngel.PWM.SetChannel (0,0);
  
    //Start Feeding Mode at 17:00 (hour*60*60)
    //if ( (now()%86400==61200) /*|| (now()%86400==39600) */) ReefAngel.FeedingModeStart();

    //LED fans
    if (hour()<InternalMemory.StdLightsOnHour_read() || hour()>(InternalMemory.StdLightsOffHour_read()+1)) ReefAngel.Relay.Off(Port5);
    else ReefAngel.Relay.On(Port5);
    
    //DC Pump Speed Normal
    ReefAngel.PWM.SetActinic( DCPSpeed );
  
    //Custom Variables and Calculations for Dosing and Lighting Durations
    if (RST == true) {
    //if ( (now()%86400==3600) || RST == true ) {
    //ReefAngel.PWM.SetActinic ( ReefAngel.CustomVar[4] );
    int DailyAlk = ((InternalMemory.DP1Timer_read() * (.75)) * (1440 / InternalMemory.DP1RepeatInterval_read()));    //Alk ml/day
    int DailyCalc = ((InternalMemory.DP2Timer_read() * (.75)) * (1440 / InternalMemory.DP2RepeatInterval_read()));   //Calc ml/day
    if (DailyAlk!=ReefAngel.CustomVar[0]) ReefAngel.CustomVar[0]=DailyAlk;
    if (DailyCalc!=ReefAngel.CustomVar[1]) ReefAngel.CustomVar[1]=DailyCalc;
    RST = false;
    }
    
    //assignmenets are = and comparisons are ==
    
    ////// Place your custom code above here

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

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

Re: T2 and T3 Temp Probes

Post by rimai »

It could be one of the temp probes.
Can you run it with just one at a time and see which one is misbehaving?
Roberto.
clw143
Posts: 116
Joined: Fri Jun 21, 2013 8:20 pm
Location: Louisiana

Re: T2 and T3 Temp Probes

Post by clw143 »

rimai wrote:It could be one of the temp probes.
Can you run it with just one at a time and see which one is misbehaving?
I tried each probe individually and moved them around rebooting in-between, the two long probes go to zero no matter where they are and when they are running alone.

Another issue I have been trying to look into, if the upper ato switch is off, the ato pump will randomly kick on for a second or two at random intervals until high switch is on again. I put in two new floats, same results, swapped and moved the high and low floats, same results. If I unhook the low float the water will actually get low. I hit refresh on the app to try to catch the low float falsely triggering but have not been able to do so.

Not sure these are related, but once again, all related components are new. This is why I wondered if it might be something in my code.
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: T2 and T3 Temp Probes

Post by rimai »

There seems to be a hardware failure somewhere.
Can you inspect the board for water damage?
Roberto.
clw143
Posts: 116
Joined: Fri Jun 21, 2013 8:20 pm
Location: Louisiana

Re: T2 and T3 Temp Probes

Post by clw143 »

rimai wrote:There seems to be a hardware failure somewhere.
Can you inspect the board for water damage?
Sorry for the delays, I travel for a living.

I inspected the board and found no damage. Upon reinstallation, I decided to test a bit more thoroughly with all the free time on my hands (seeing that it is snowing in southern Louisiana).

I find that 2/3 new probes are bad (both long ones), they will flash to 0 in any slot and return to normal value. The new short probe works in any slot and never seems to hiccup.

As for the low level/ATO issue, I swapped back in different old float for the lower float and it so far has not triggered ATO while the upper float is not high. I am pretty sure I tested both new ones as the lower float and the issue remained.

So in short, it seems 2/3 temp probes are bad and 1 (possibly both) float(s) are bad from the order I placed on 1/17.
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: T2 and T3 Temp Probes

Post by rimai »

PM me your address and I'll send you a new set and we go from there.
Roberto.
Post Reply