Temperature sensor

Do you have a question on how to do something.
Ask in here.
Post Reply
jx4hansen
Posts: 7
Joined: Tue Apr 26, 2011 9:28 pm

Temperature sensor

Post by jx4hansen »

My reef angel temperature sensor seems to be almost a degree (0.7-0.8) higher than my tanks digital thermometer.

I am pretty sure my stand alone is the correct temp. Is there anyway to reset/calibrate the reef angel sensor?


Also I am having a problem setting the ATO timeout since I went to Curt Binder's RAGen. It max's out at 255, I had it set on 999 with the demo program. So now I only get filled up half way using an aqualifter pump.

Thanks,
Joel
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Temperature sensor

Post by rimai »

Although there is a way to calibrate the temperature sensor, it would require you to modify core code.
The sensors are digitally calibrated from the manufacturer.
Take a look at this for ATO: http://groups.google.com/group/reefange ... f018ddf41d
Roberto.
jx4hansen
Posts: 7
Joined: Tue Apr 26, 2011 9:28 pm

Re: Temperature sensor

Post by jx4hansen »

Here is my pde file....i thought the ato high shutoff was already in the libraries? I put it in here as I am not sure.


// Autogenerated file by RAGen (v1.0.4.92), (04/26/2011 21:42)
// RA_042611_2142.pde
//
// This version designed for v0.8.5 Beta 12 or later

/* The following features are enabled for this PDE File:
#define DisplayImages
#define SetupExtras
#define DateTimeSetup
#define VersionMenu
#define ATOSetup
#define DirectTempSensor
#define DisplayLEDPWM
#define StandardLightSetup
*/


#include <ReefAngel_Features.h>
#include <ReefAngel_Globals.h>
#include <ReefAngel_Wifi.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <ReefAngel_EEPROM.h>
#include <ReefAngel_NokiaLCD.h>
#include <ReefAngel_ATO.h>
#include <ReefAngel_Joystick.h>
#include <ReefAngel_LED.h>
#include <ReefAngel_TempSensor.h>
#include <ReefAngel_Relay.h>
#include <ReefAngel_PWM.h>
#include <ReefAngel_Timer.h>
#include <ReefAngel_Memory.h>
#include <ReefAngel.h>

ReefAngel_TimerClass ParamTimer;

void setup()
{
ReefAngel.Init(); //Initialize controller

// Initialize and start the Parameter timer
ParamTimer.SetInterval(15); // set interval to 15 seconds
ParamTimer.Start();

ReefAngel.FeedingModePorts = B11101000;
ReefAngel.WaterChangePorts = B11101000;
ReefAngel.OverheatShutoffPorts = B00000000;

// Ports that are always on
ReefAngel.Relay.On(Port3);
ReefAngel.Relay.On(Port4);
ReefAngel.Relay.On(Port6);
ReefAngel.Relay.On(Port7);
ReefAngel.Relay.On(Port8);
}

void loop()
{
ReefAngel.ShowInterface();

// Specific functions
ReefAngel.StandardATO(Port1,800);
ReefAngel.StandardHeater(Port2);
ReefAngel.StandardLights(Port5);

if (ReefAngel.HighATO.IsActive()) ReefAngel.Relay.Off(Port1);
if ( ParamTimer.IsTriggered() )
{
ParamTimer.Start();
ReefAngel.PCLogging();
}
}
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Temperature sensor

Post by rimai »

If you use StandardATO() function, the ATO High is already there. It will start ATO when it hits low and stop when it hits high.
If you use SingleATOLow() function, the ATO High is not being used. It will start ATO when it hits low and the minute low is not active anymore, it will stop. This is good for small variations of levels at the cost of more frequent on/off activity.
So, in other words, you do not need the following line in your code:

Code: Select all

if (ReefAngel.HighATO.IsActive()) ReefAngel.Relay.Off(Port1);
Roberto.
Post Reply