You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

The water controll is based on the Ebb Flow technique(Lagomarsino, 2019). Ebb flow is a technique where the plants are usally submerged in water, but then when nutrients are needed, the tank in which the plants grow are emptied and the water is moved to a seperate tank for mixing nutrients and oxygen into the water. Then its pumped back into the tanks that the plants are growing inn. 

To create this controller its neccesseary to have drainTime, as in how long the tanks are going to drain. Then when the controller fills the growth tanks, the controller will start the pump. The condition that will stop the pump is either that the level sensor is triggered or the tank took to long to fill up, a.k.a fill time. In between this there is a cycle time, as in how much time is between each cycle. Additionally, if the controller is turned off, there is a motion intervall built into the controller. This is to prevent the valves from becoming stuck.

Lastly there is a built in Override function. The override function is utilized by a external commands to override the state of the controller. To make it possible for external software / user to know the state of the abbe flo controller, there is an output with the name overrideAlarm. Below is tables containing the override values,

Override ValueDescription
0Auto
1Manual Drain
2Manual Fill

With overrideAlarm values,

Override Alarm ValueDescription
0Auto Cycle Wait
1Auto Drain
2Auto Fill
3Manual Cycle Wait
4Manual Drain
5Manual Fill


With everything explained the Inputs and Outputs are the following,

INPUT

  • runCMD → BOOL
  • levelSensor → BOOL
  • drainTime → TIME
  • fillTime → TIME
  • cycleTime → TIME
  • motionInterval → TIME
  • override → INT

OUTPUT

  • twoWayFillCMD → BOOL
  • twoWayDrainCMD → BOOL
  • threeWayValveCMD → BOOL
  • pumpCMD → BOOL
  • overrideAlarm → TIME


With some internal variables to keep track of time, controller state and motion toggling,

INTERNAL VARIABLES

  • motionTime → TIME
  • controllerState → INT
  • lastTime → TME
  • lastMotionTime → TIME
  • motionToggle → BOOL
















References:


Lagomarsino, V. (2019) 'Hydroponics: The power of water to grow food', Science in the News, 26 September. Available at: https://sitn.hms.harvard.edu/flash/2019/hydroponics-the-power-of-water-to-grow-food/ (Accessed: 28 May 2024)

  • No labels