I've noticed a significant amount of toggling as the temp bounces between the on value and below on value for my fans. Is there a way to put a delay on the standardfan option so it comes on 15 mins later or so? I was thinking about using the MH function to try and substitute but couldn't really make sense of it.
Thanks in advance!
Delayed Chiller/Fan startup
-
rimai
- Posts: 12857
- Joined: Fri Mar 18, 2011 6:47 pm
Re: Delayed Chiller/Fan startup
Can you post the function you are using?
You have to make sure to leave a certain difference for histerisys.
You have to make sure to leave a certain difference for histerisys.
Roberto.
-
chase
- Posts: 101
- Joined: Fri Sep 16, 2011 8:26 am
Re: Delayed Chiller/Fan startup
I'm just using code from the Tutorial: http://www.reefangel.com/Support.Relay- ... rdFan.ashx
I've noticed the fan toggles on and off (as a result of the temp probe reporting between 78.3 (on) and 78.2 (off). I assume the way it should work is once the temp reaches 78.3 the fans should turn on and stay on until the temp reaches 77.5?
Code: Select all
ReefAngel.StandardFan(Chiller,775,783); // Setup Chiller to turn on at 78.3F and off at 77.5F
Last edited by chase on Thu Sep 22, 2011 12:22 am, edited 1 time in total.
-
rimai
- Posts: 12857
- Joined: Fri Mar 18, 2011 6:47 pm
Re: Delayed Chiller/Fan startup
Yes, that's how it should work.
Maybe you have something else in your code. Can you post it?
Maybe you have something else in your code. Can you post it?
Roberto.
-
chase
- Posts: 101
- Joined: Fri Sep 16, 2011 8:26 am
Re: Delayed Chiller/Fan startup
Sure thing-
It's been cooler lately so the fans haven't kicked in. When I get off work I'll setup borderline temps with the ambient reading to make sure it's still happening.
As always, thanks for the help!
Code: Select all
// Autogenerated file by RAGen (v1.0.4.92), (09/08/2011 09:54)
// RA_090811_0954.pde
//
// This version designed for v0.8.5 Beta 12 or later
/* The following features are enabled for this PDE File:
#define DisplayImages
#define WavemakerSetup
#define DateTimeSetup
#define VersionMenu
#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>
#define Daylight 1
#define Chiller 2
#define Heater 3
#define Return 4
#define WavemakerL 5
#define WavemakerR 6
#define ATO 7
#define Refugium 8
void setup()
{
randomSeed(analogRead(0)); //wm stuff
ReefAngel.Init(); //Initialize controller
ReefAngel.FeedingModePorts = B00001000;
ReefAngel.WaterChangePorts = B00000000;
ReefAngel.OverheatShutoffPorts = B00000101;
ReefAngel.LightsOnPorts = B00000001;
// Ports that are always on
ReefAngel.Relay.On(Return); //port 4
//wm stuff
ReefAngel.Timer[1].SetInterval(random(15,35));
ReefAngel.Timer[1].Start();
ReefAngel.Relay.On(WavemakerL);
}
void loop()
{
ReefAngel.ShowInterface();
// Specific functions
ReefAngel.StandardFan(Chiller,775,783);
ReefAngel.StandardHeater(Heater,768,775);
ReefAngel.StandardLights(Daylight,9,0,21,0); //Daylight schedule 9:00am - 9:00pm
ReefAngel.StandardLights(Refugium,21,0,9,0); //Refugium schedule 9:00pm - 9:00am
//Wavemaker stuff
if ( ReefAngel.Timer[1].IsTriggered() )
{
ReefAngel.Timer[1].SetInterval(random(15,35));
ReefAngel.Timer[1].Start();
ReefAngel.Relay.Toggle(WavemakerL); //port 5
ReefAngel.Relay.Toggle(WavemakerR); //port 6
}
ReefAngel.Relay.Write();
//ATO stuff
if(ReefAngel.LowATO.IsActive())
{
ReefAngel.Relay.On(ATO); //port 7
}
else
{
ReefAngel.Relay.Off(ATO);
}
}
As always, thanks for the help!
-
rimai
- Posts: 12857
- Joined: Fri Mar 18, 2011 6:47 pm
Re: Delayed Chiller/Fan startup
Working as intended here.
This line is redundant though.
The function ShowInterface() calls it in every loop.
This line is redundant though.
Code: Select all
ReefAngel.Relay.Write();
Roberto.