Home Irrigation

Category: Articles
Published on Friday, 28 August 2020 19:22
Written by AltonaLab
Hits: 126

The used hardware for all the Irrigation experiments is the same:


Warning!!! The Jumper of the PWM Regulator has to be removed for Irrigation experiments. This is because the power supply of the PWM Regulator is 12V, but the Water pump power supply is 5V. With removed jumper, the output power of the PWM regulator will be 0..6V. When the diagram is run for a first time, please adjust the PWM Screw to the needful power of the pump. The pump is cheap and not very powerful, but it is perfect to present the idea of a complete irrigation system. It can be easy replaced with more powerful pump for your future and real system.

 

For all the Irrigation experiments:

GPIO 0, 1, 2, 3 of a Numato board are set as analog input. GPIO 4, 5, 6, 7 are set as digital outputs. 

For all the irrigation experiments, the parameter FastMode of a Numato block is turned OFF, CommunicatePerSec is set to 0 sec. For a real irrigation system, CommunicatePerSec can be set to 1 or more seconds, because the real irrigation process is not very fast and the computer can get its decisions slowly. 

 

The hardware diagram for all the Irrigation experiments is shown below:

 

 

The real picture of the Tank, Pump and Water probe is:

 

For the experiments, the Soil humidity probe and the Sprinkler are placed close to each other, because at this case, the measured soil humidity will be changed very fast when the irrigation is started:

 

Experiment: Irrigation by Time.

AltonaLab diagram: KIT_IrrigationByTime.nsm

Please read the common information for all the irrigation experiments at the top of this article!

This experiment uses only a sensor for Water level, to avoid the pump operation without water. The Soil humidity sensor is not used, the diagram is organized logic for watering by time, without feedback about a soil humidity.

The used AltonaLab diagram is:

The control logic by a Time is presented by blocks DayOfWeek and TimeInterval. The idea is:

As is described at the beginning of this article, AnalogToBool block, represents existing of a water in the tank. If the output of the block is in a high level, there is a water in the tank. 

The outputs of the AnalogToBool, OrUNI and TimeInterval blocks are inputs of the block AndUNI. This means, if there is a water in the tank, the current day is Monday, Wednesday or Friday and current time is in interval 22:00..22:02h, the pump will be started. For the demonstration purpose, just connect the output of the DayOfWeek block, which represents the current day to the OrUni block, then open the parameter OnOffInterval of the block TimeInterval, delete the existing interval and add a new one, which is a few minutes after the current moment. Then run the diagram.

The pump can be started with a button Pump too (available on the AltonaLab diagram), because the output of a AND block and the output of a button block are connected to the inputs of a OR block. The output of the OR block is connected to the digital input IO4 of a Numato block. When the Numato input IO4 is in a high level, the input of the PWM board will be enabled and the pump will start to irrigate.

 

Experiment: Irrigation by Soil humidity.

AltonaLab diagram: KIT_IrrigationByHum.nsm 

Please read the common information for all the irrigation experiments at the top of this article!

The experiment is very interesting, using the diagram below, the soil moisture of the home plants can be adjusted in very precise boundaries. In this experiment we will use two soil humidity probes - one inserted into the soil and one to control the presence of a water in the tank.

 

The used AltonaLab diagram is:

 

GPIO 0, 1, 2, 3 of a Numato board are set as analog input. GPIO 4, 5, 6, 7 are set as digital outputs. 

For a real irrigation system, the parameters HiLevelHum and LowLevelHum of the block SoilHumiditySensor should have distant values, for example 70% and 30%. But at this case the time between two irrigations will be very long. If we want to make a demonstration of the irrigation, we can set the parameters with close values HiLevelHum=70%, LowLevelHum=67%. At this case, the Start/Stop process will be more intensive. 

The outputs Irrigation of the block SoilHumiditySensor and an output of the block AnalogToBool are connected to the inputs of a block AND. This means, the current soil humidity has to be under LowLevelHum, which will rise the level of the output Irrigate of the block SoilHumiditySensor and has to have a water in the tank, in order to start the pump. If the output of the block AND is in a high level, it starts the pump.

The pump can be started with a button Pump too (available on the AltonaLab diagram), because the output of a AND block and the output of a button block are connected to the inputs of a OR block. The output of the OR block is connected to the digital input IO4 of a Numato block. When the Numato input IO4 is in a high level, the input of the PWM board will be enabled and the pump will start to irrigate.

 

Experiment: Irrigation by Soil humidity and Forecast.

AltonaLab diagram: KIT_IrrigationByHumAndForecast.nsm 

Please read the common information for all the irrigation experiments at the top of this article!

The used AltonaLab diagram is:

The diagram of this experiment is very close to the experiment: Irrigation by Soil humidity At the curent experiment, an additional logic is added by a block ForecastMyWeather2. The block ForecastMyWeather2 is well explained at the URL:

https://scada.altonalab.com/index.php/en/descriptions-of-the-functional-blocks/weather-library

When the diagram is run, the output CanIrrigate of the block ForecastMyWeather2 will be at a high level, in the cases below:


So the irrigation process will be started if the next three conditions are available: there is a water in the tank, the soil humidity is low and the forecast for today is not for a raining weather.