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
Temperature sensor
Re: Temperature sensor
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
The sensors are digitally calibrated from the manufacturer.
Take a look at this for ATO: http://groups.google.com/group/reefange ... f018ddf41d
Roberto.
Re: Temperature sensor
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();
}
}
// 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();
}
}
Re: Temperature sensor
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:
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.