dosing pumps

Post Reply
nbelohlav
Posts: 22
Joined: Sat Jun 09, 2012 7:46 pm

dosing pumps

Post by nbelohlav »

someone explain to me how to get my dosing pumps to work on the schedule i want... right now i have them programmed to turn on every 240 minutes for 10 seconds and they havent turned on for two days... please help before i decide to sell everything.
Image
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: dosing pumps

Post by rimai »

Can you post your code?
Roberto.
nbelohlav
Posts: 22
Joined: Sat Jun 09, 2012 7:46 pm

Re: dosing pumps

Post by nbelohlav »

ill post it as soon as i get back from the gym... how do i get it off the controller?
Image
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: dosing pumps

Post by rimai »

You can't
Roberto.
nbelohlav
Posts: 22
Joined: Sat Jun 09, 2012 7:46 pm

Re: dosing pumps

Post by nbelohlav »

#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 <ReefAngel.h>

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


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


void setup()
{
// This must be the first line
ReefAngel.Init(); //Initialize controller
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port7Bit;
ReefAngel.FeedingModePortsE[0] = 0;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port4Bit | Port8Bit;
ReefAngel.WaterChangePortsE[0] = 0;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = 0;
ReefAngel.LightsOnPortsE[0] = 0;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = Port1Bit | Port2Bit | Port6Bit;
ReefAngel.OverheatShutoffPortsE[0] = 0;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;


// Ports that are always on
ReefAngel.Relay.On( Port7 );
ReefAngel.Relay.On( Port8 );
ReefAngel.Relay.On( Box1_Port3 );
ReefAngel.Relay.On( Box1_Port4 );
ReefAngel.Relay.On( Box1_Port5 );
ReefAngel.Relay.On( Box1_Port6 );
ReefAngel.Relay.On( Box1_Port7 );
ReefAngel.Relay.On( Box1_Port8 );

////// Place additional initialization code below here


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

void loop()
{
ReefAngel.ActinicLights( Port1 );
ReefAngel.DayLights( Port2 );
ReefAngel.MoonLights( Port3 );
ReefAngel.Relay.DelayedOn( Port4 );
ReefAngel.Relay.Set( Port5, !ReefAngel.Relay.Status( Port1 ) );
ReefAngel.StandardHeater( Port6 );
ReefAngel.DosingPumpRepeat1( Box1_Port1 );
ReefAngel.DosingPumpRepeat2( Box1_Port2 );
ReefAngel.PWM.SetDaylight( MoonPhase() );
ReefAngel.PWM.SetActinic( MoonPhase() );
////// Place your custom code below here


////// Place your custom code above here

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

void DrawCustomMain()
{
int x,y;
char text[10];
// Parameters
#if defined DisplayLEDPWM && ! defined RemoveAllLights
ReefAngel.LCD.DrawMonitor( 15, 62, ReefAngel.Params,
ReefAngel.PWM.GetDaylightValue(), ReefAngel.PWM.GetActinicValue() );
#else // defined DisplayLEDPWM && ! defined RemoveAllLights
ReefAngel.LCD.DrawMonitor( 15, 62, ReefAngel.Params );
#endif // defined DisplayLEDPWM && ! defined RemoveAllLights
pingSerial();

// Main Relay Box
byte TempRelay = ReefAngel.Relay.RelayData;
TempRelay &= ReefAngel.Relay.RelayMaskOff;
TempRelay |= ReefAngel.Relay.RelayMaskOn;
ReefAngel.LCD.DrawOutletBox( 12, 93, TempRelay );
pingSerial();

// Relay Expansion
TempRelay = ReefAngel.Relay.RelayDataE[0];
TempRelay &= ReefAngel.Relay.RelayMaskOffE[0];
TempRelay |= ReefAngel.Relay.RelayMaskOnE[0];
ReefAngel.LCD.DrawOutletBox( 12, 107, TempRelay );
pingSerial();

// Date and Time
ReefAngel.LCD.DrawDate( 6, 122 );
pingSerial();
}

void DrawCustomGraph()
{
ReefAngel.LCD.DrawGraph( 5, 5 );
}


i am pretty sure that this is what i saved at 2 am this morning....
Image
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: dosing pumps

Post by rimai »

You are using internal memory.
There is no way to see your settings :(
How do you know it is not working?
Roberto.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: dosing pumps

Post by lnevo »

For troubleshooting its best to go with a hard coded setting:

Try this

ReefAngel.DosingPumpRepeat(Box1_Port1, 0, 240, 10);
ReefAngel.DosingPumpRepeat(Box1_Port2, 5, 240, 10);
nbelohlav
Posts: 22
Joined: Sat Jun 09, 2012 7:46 pm

Re: dosing pumps

Post by nbelohlav »

rimai wrote:You are using internal memory.
There is no way to see your settings :(
How do you know it is not working?

cause the liquid level in my cal and alk jugs hasnt changed at all...
Image
nbelohlav
Posts: 22
Joined: Sat Jun 09, 2012 7:46 pm

Re: dosing pumps

Post by nbelohlav »

lnevo wrote:For troubleshooting its best to go with a hard coded setting:

Try this

ReefAngel.DosingPumpRepeat(Box1_Port1, 0, 240, 10);
ReefAngel.DosingPumpRepeat(Box1_Port2, 5, 240, 10);

and where do i put that code?
Image
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: dosing pumps

Post by lnevo »

In place of the lines where your other dosingpump lined are...
nbelohlav
Posts: 22
Joined: Sat Jun 09, 2012 7:46 pm

Re: dosing pumps

Post by nbelohlav »

lnevo wrote:In place of the lines where your other dosingpump lined are...
alright i replaced what you said to... we will see if that works, i have them going into containers of their own to see if it works come the morning...
Image
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: dosing pumps

Post by rimai »

Cool.
Keep us posted :)
Roberto.
nbelohlav
Posts: 22
Joined: Sat Jun 09, 2012 7:46 pm

Re: dosing pumps

Post by nbelohlav »

well i believe that inserting that code worked as there was liquid in the containers when i checked them...

what is the portal interval for recording input? the portal still doesnt show that the relays were activated when they were...
Image
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: dosing pumps

Post by lnevo »

The portal wont show it. 10 seconds is not enough time. It only logs every 5 minutes.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: dosing pumps

Post by lnevo »

If you look through this thread http://forum.reefangel.com/viewtopic.php?f=12&t=3262 you can see what I did for kirkwood. There's some code I wrote for myself to switch to volume based dosing instead of time so it does all the calculations and also the code that was specific for kirkwood that logs the amount of time the dosers are on and logs it to the portal so he can track how much time exactly the pumps are on. I can help you implement it for yours if your interested.
Post Reply