Professional Documents
Culture Documents
June, 2017 Bahir Dar, Ethiopia
June, 2017 Bahir Dar, Ethiopia
June, 2017
Bahir Dar, Ethiopia
Design and Implementation of GSM Based Automatic Irrigation System Running on Solar Power
DECLARATION
We, the undersigned, declare that this thesis‟s is our original work, and this project work
has not been presented for a project in this or any other universities, and all sources of
materials that used for this project work are fully acknowledged.
Name Signature
Desalegn Demil………………………….............................__________
Mulusew Ayalew ……………...........................................__________
Sileshi Bekele………………………………....................... __________
Solomon Sinetibeb………………………….......................__________
Date of submission: __________
This thesis has been submitted for examination with our approval as a university advisor.
Project advisor Signature
Betelhem Dereje ____________
ACKNOWLEDGMENT
Starting from blessing the lord, we would like to express our deep gratitude and
appreciation to all those guys gone multiply our effort to complete this project. We place
on record and warmly acknowledge the continuous encouragement, invaluable
supervoloision, timely suggestions and inspired guidance offered by our adviser Mrs.
Betelhem Dereje for the successful completion of this project.
Last but not the least we express our sincere thanks to our entire department staff who has
patiently extended all sorts of help for accomplishing this undertaking.
Finally, we must acknowledge with due respect the constant supports and patience of our
parents.
Table of Contents
DECLARATION .......................................................................................................................i
ACKNOWLEDGMENT ......................................................................................................... ii
ABSTRACT............................................................................................................................ ix
INTRODUCTION ....................................................................................................................1
1.1. Background....................................................................................................................1
3.12. Resistors.....................................................................................................................21
CHAPTER SIX.......................................................................................................................43
REFERENCE .........................................................................................................................44
APPENDICES ........................................................................................................................46
LIST OF FIGURES
LIST OF TABLES
LIST OF ACRONYMS
AC ……………………………………Alternating current
ADC ………………………………… Analog to digital converter
AWWS………………………………..Automated Wireless Watering System
BJT ……………………………………Bipolar junction transistor
D……………………………………….Distance
DC …………………………………….Direct current
GDP……………………………………Growth domestic product
GSM …………………………………..Global System for mobile
H……………………………………….Humidity
LCD ……………………………………Liquid Crystal Display
LED …………………………………....Light emitting diode
MC ……………………………………..Microcontroller
NC ………………………………………Normally Closed
NO ……………………………………….Normally Open
NTC………………………………………Negative temperature coefficient
PEROM ………………………………….Programmable and erasable read only memory
PV………………………………………..photo voltaic
RAM ……………………………………..Random access memory
RX ………………………………………..Receiver
SMS ………………………………………Short message service
TX ………………………………………..Transmitter
UART ………………………………........Universal Asynchronous Receiver/Transmitter
V…………………………………….……voltage
VSM ……………………………………..Virtual system modeling
VWC………………………………………Volumetric water content
ABSTRACT
This project deals about GSM based automatic solar water pump in the irrigational
agriculture. Previously for many years Ethiopian farmers uses much human efforts for
irrigation. Today Ethiopian farmer‟s uses Diesel irrigation pumps for this purpose. But
farmers are facing lots of problems while operating the irrigation pumps. The major
problems faced by the farmers are physical effort and inconvenience, operation cost of
diesel and takes long time.
To reduce those problems GSM based automatic irrigation system running on solar
power is implemented. This will increase yields, improve crop quality, and most
importantly reduce operation cost and working time fore farmers.
The project focuses on detecting the moisture level of the soil using moisture level
sensor. While the moisture level is below the required, automatically the Arduino will
command the GSM and send sms to the owner to announce the field condition and also
the Arduino gives high output to the relay coil of the pump motor. The level sensor
integrated to Arduino in order to prevents the dry running of the motor and humidity
sensor also integrated with Arduino in order prevents soil soggy. A DC solar pump motor
is used for this irrigation purpose.
In General, this system reduces the cost required for lobar, fuel and waste of time
required for irrigation and increases quality of productivity our country and improving
the GDP of it.
CHAPTER ONE
INTRODUCTION
1.1. Background
Irrigation is the artificial application of water to plants for their growth and maturity.
Irrigation water is supplied to supplement the water available from rainfall and the
contribution of soil moisture from ground water. Major part of our expenditure is spent
on agriculture alone and in spite of that we not getting required output. Previously for
many years Ethiopian farmers uses much human efforts for irrigation. Today Ethiopian
farmer‟s uses Diesel irrigation pumps are for this purpose. But farmers are facing lots of
problems while operating the irrigation pumps. The major problems faced by the farmers
are;
Physical effort and inconvenience
Operation cost of diesel
Also long time
For the future Our project is aims to reduce the physical efforts faced by the farmers as it
allows the farmers to remotely check to see that there is diesel, water level inside the tank
or gorge, flow rate of water and to automatically turn the pump on and off, and announce
the field condition thought a mobile phone to the user. Goal of the project is to develop
irrigation system by continuously monitoring the availability of electricity to operate the
pump, water level in the reservoir through which the pump drags water, pressure of the
water flowing out of pump. Whenever the failure in the system occurs such as pump
stops watering due to cutting down of electricity or there is lack of water inside the
reservoir or pump drags water with low pressure, then the controller automatically sends
an alert message to the authorized person by using GSM module. After the person
receives a message he can take action on the water pump according to his requirement.
Irrigation of plants usually a very time consuming activity; to be done in reasonable short
time a lots of human labor should be involved. Traditionally, all the steps of the
irrigational activities are executed by human labor. Using technologies the number of
worker or the time required for irrigation is reduced. Water has been used excessively for
irrigation, traditionally. The plant/crop is watered beyond its needs, which result massive
wastage of the limited water resource. It also limits the farm to be cultivated using the
available water resource.
For rural areas far from the electric grid, the customary means of pumping irrigation
water are diesel or petrol pumps. These have the double drawback of requiring much and
expensive maintenance and depending on a regular supply of fuel, so that they cannot be
operated unattended. Especially in remote areas of developing countries with inadequate
spare parts and maintenance structures, diesel and petrol pumps are often inoperable for
several days. The resultant lack of water can seriously damage crops, reducing yields and
income. Hence using, conventional pumping system possess an economic risk to farmers.
Moreover, the noise and exhaust from such pumps impact on the environment. The
pollution of ground water and soil by diesel fuel and lubricants is no rare occurrence.
Solar photovoltaic (PV) systems can be an attractive complementary energy source
deployed alongside diesel pumps in areas with plenty of sunshine and where the cost to
run power lines is high.
This project aims at automating irrigation systems using GSM based automatic irrigation
system running on solar power to improve on water management. This will increase
yields, improve crop quality, and most importantly conserve water thus saving money.
To “Design and implement GSM based automatic irrigation system running on solar
power”
Firstly a number of literatures related to this problem area were investigated and then
valuable data had been gathered and analyzed there.
Then after we made a block diagram to represent the „GSM Based Automatic Irrigation
System Running on Solar Power’ based up on the way we analyzed and figure out to do it
like.
Arduino selection criteria are:
Availability of Arduino
Easy to reset and program using for our specific purpose
Input/output voltage specification
Cheap price
Moisture and level sensors selection criteria
Availability of sensors
Cheap price
Bahir Dar University 2017G.C
3
Design and Implementation of GSM Based Automatic Irrigation System Running on Solar Power
Input/output characteristics
Easy to use
As soon as we know the input/output voltage and current characteristics of all devices
from the mathematical modeling, selection of the other remaining materials will be done
based on their specifications calculated before. Those devices are:
LED diode
Transistor
Resistor
Design of solar battery size and solar pan ale
The project will be achieved through the use of world national instrument software
(Proteus professional in our case) the overall circuit diagram will make up and run to
check the result. The procedure we follow will looks like as follows:
Designing the general skeleton diagram of the system.
Examine external and internal factors that will affect the whole system operation
and analyze components specification.
Select the required components for the system based on the result of the above
analysis.
Design the circuit diagram of the system using the selected components.
Constructing the circuit on the simulation software and simulate it.
Implement the prototype of the project
Finally, the output of the simulation data and the output result of prototype are analyzed
with respect to achieving the objective of the project.
This will increase yields of crop, improve crop quality, and most importantly conserve
water thus saving money. Also it saves the time of farmers that wastes for irrigation and
labor forces required for irrigation also reduced. Additionally it saves the money that
wastes for the fuel.
The scope of this project entails the design and implementation of GSM based automatic
irrigation system running on solar power depending on the soil moisture content.
Bahir Dar University 2017G.C
4
Design and Implementation of GSM Based Automatic Irrigation System Running on Solar Power
Moisture sensor will be the input of the arduino microcontroller and a solar water pump
will be the output of the arduino. A level sensor as the input of arduino is used for the
protection of the motor. Also humidity sensors used for preventing soil soggy.
For the realization of our project simulation, arduino, moister sensors, level sensors,
LCD, relay, pump motor, resister, humidity sensors, transistor and GSM module are
involved on the circuit diagram. The output of this project is demonstrating one way of
solving the farmers‟ problem in irrigation system.
This project document consists of six chapters followed by references and appendix. The
first chapter is an introduction part that contains background of the area which assures
that a number of works are required in this area, contribution of the project and the scope
of the project. The statement of problem and objective of our project, design and
implementation of GSM based automatic irrigation system running on solar power have
been explained in this chapter.
Chapter two contains a review of different literature like books, journals, websites; etc.
related to GSM based automatic irrigation system running on solar power problem and
operation.
A number of system component and their operation have been introduced in chapter
three. This system component includes solar panel, resister, LED diode, voltage
regulator, relay, transistor, humidity sensor, level sensor, moisture sensor, Arduino
platform, liquid crystal display, and GSM module.
The fourth chapter consists of the design and analysis of different circuits.
The fifth chapter explains simulation results of the project. It includes the interpretation
and discussion of GSM based automatic control the irrigation system.
Finally the last chapter concludes what has been done and recommends certain remaining
works to be included by future workers in the related area.
CHAPTER TWO
LITERATURE REVIEW
Ventkata Naga Rohit Gunturi (2013) builds a controller based automatic plant irrigation
system. The main aim of the project was to provide automatic irrigation to the plants with
a system that operates with less manpower. This in turn helps to save funds and water.
The user programmed the 8051 microcontroller as giving the interrupt signal to the
sprinkler, and this was used to control the entire system. Temperature sensor and
humidity sensor were connected to internal ports of the microcontroller via a comparator,
and whenever there is a change in temperature and humidity of the surroundings these
sensors senses the change in temperature and humidity and gives an interrupt signal to the
micro-controller and thus the sprinkler is activated. [2]
S.Harishankar, R.Satish etal, [7], proposed the solar energy from solar panels is utilized
to pump water automatically from bore well directly into a ground level storage tank.
Apart from the conventional techniques, the system makes efficient use of renewable
energy.
M. Guerbaoui, a.ed-dahhak [3]” GSM based automated drip irrigation system” we they
proposed a system contribution to the development of greenhouse production in
Morocco. The proposed solution involves the development of an integrated system for
automate the drip fertilizing irrigation in green house. The solution adopted involves a
data acquisition card controlled by PC. The irrigation is provided by a hydraulic circuit
based on an electric pump. Water needs are evaluated by measuring soil water status by
soil humidity sensor.
Chetana A.Kestikar, Rutuja M.Bhavsar [8], builds Automated Wireless Watering System
(AWWS) the system is facilitated by providing PC control and mobile control for
monitoring and controlling watering activity. Also the wiring mess is reduced. The
system is divided into two parts, one is PC side and the other is the hardware components
on the site/field. The GUI interface is developed on NET programming language.
Programming is used to send message to GSM modem on site through PC and vice versa.
Two modes of operation are there manual and automatic. In manual mode system will
work as traditional watering system. The user decides when to start and stop watering. In
automatic mode, once the system is started, the user need not pay attention to stopping of
the system. The watering will be decided according to moisture levels. . The user can
initiate the system by sending message to the microcontroller via the GSM modem
through the program. This message being received by the microcontroller will initiate
moisture sensors, water level indicator. Again the power supply used to run the whole
system is conventional and thus less economical.
Basava Sidramappa Dhanne, Sachin Kedare, and etal, [9], proposed Modern Solar
Powered Irrigation System by Using ARM the design methodology of automated
irrigation system in this paper includes the components, solar panel, arm processor,
sensors, dc motors, relay, and battery. The main stress is laid on generating power supply
by harnessing solar energy and reducing power consumption for irrigation purpose. The
dc current is generated by using solar panel. This dc power is stored in a battery so as to
operate the pump even during the night time. The farmer sends a text message via mobile
phone so as to check the level of water storage tank and condition of moisture in filed. If
task is complete then GSM module sends the message, “watering is complete” to the
user. If the task is not complete then GSM module sends the message, ”watering not
completed, lagging resources” also the state of charge of battery is sensed by charge
sensor and send to ARM processor. The good thing about this work is that it also gives
information about watering resources i.e. whether resources are lagging or not.
CHAPTER THREE
3.1. Sensors
A sensor is a device that detects and measures a physical quantity from the environment
and converts it into an electronic signal. The physical quantity could be moisture,
temperature, motion and light or any other physical phenomenon. Examples of sensors
include: oxygen sensors, temperature sensors, infrared sensors, humidly sensors, level
sensors, soil moisture sensors and motion detection sensors. The output of the sensors is
usually current or voltage signal. This project requires soil moisture sensor, level sensor
and humidity sensor.
A soil moisture sensor is a device that measures the volumetric water content (VWC) of
soil. There are different types of moisture sensors. But for our projects we select YL-69
Moisture Sensor
YL-69 Moisture Sensor; this is an Electrical resistance Sensor. The sensor is made up of
two electrodes. This soil moisture sensor reads the moisture content around it. A current
is passed across the electrodes through the soil and the resistance to the current in the soil
determines the soil moisture. If the soil has more water resistance will be low and thus
more current will pass through. On the other hand when the soil moisture is low the
sensor module outputs a high level of resistance. This sensor has both digital and
analogue outputs. Digital output is simple to use but is not as accurate as the analogue
output.
The calibrations of moisture sensor depend on Volumetric Water Content of soil. The
VWC of sand soil, red soil and black soils were calculated. The raw data collected
from the soil moisture sensor was recorded as shown in table below. The soil was
measured in equal amount of 250gramms. Water was added in the soils in steps and the
sensor values recorded.
Table3. 2: Sensor values for different soil
Level sensors detect the level of substances that flow, in the form of liquids, slurries and
powders. Such substances that flow to become essentially level in their containers (or
other physical boundaries) due to gravity. The substance that measured can be inside a
container or can be in its natural form (e.g. a river or a lake). The level measurement that
can be either continuous or point values. The continuous level sensors can measure level
within a specified range and determine the exact amount of substance in a particular
place, while the point-level sensors indicate whether the substance is above or below
sensing point. Latter detect levels that are excessively high or low. There are different
types of level sensors. But for this project the floating level sensor is selected. When
liquid level rises in the tank, the float which is generally a hollow ball is raised. Its arm
causes the wiper to move over the potential divider whose output terminals are connected
to a voltmeter. As a float rises, the potential divider included in the output circuit gives an
increased output voltage. Therefore, the output voltage V is proportional to the liquid
level. The output of the potential divider terminal is taken in to the arduino
microcontroller. It is accurate, simple installation, critical altering & easy to setup [16].
Figure.3. 2: Float operated voltage potential divider for water level measurement
Bahir Dar University 2017G.C
10
Design and Implementation of GSM Based Automatic Irrigation System Running on Solar Power
DHT11 Temperature & Humidity Sensor highlights a temperature & stickiness sensor
complex with a calibrated digital signal input. This sensor incorporates a resistive-sort
moistness estimation segment and a NTC temperature estimation part, and associate with
a high- execution 8-bit microcontroller, offering fabulous quality, quick reaction, hostile
to obstruction capacity and expense adequacy.
3.2. Diode
A diode plays an important role in the system circuit project. It allows the battery voltage
to flow into the circuit only in one direction (called the diode's forward bias direction)
and also block any back electromotive force that may damage the driver transistors. The
diode is a two-terminal electronic component with a nonlinear current–voltage
characteristic. This unidirectional behavior of diode is called rectification and it is used in
this project to protect the back emf of motor.
Bahir Dar University 2017G.C
11
Design and Implementation of GSM Based Automatic Irrigation System Running on Solar Power
Figure.3. 4: Diode
3.4. Relay
Figure.3. 5: Relay
Coil Relay: A contact relay switches one or more poles each of whose contacts can be
thrown by energizing the coil in three ways namely; normally open(NO), normally
closed(NC) or change over(CO). Just like manual switches the relay switch part is
available in various configurations. Double pole, double throw (DPDT) configuration is
most common configuration. DPDT means that the relay separately controls two switches
that work together. Both switches have a normally NO and NC contacts. Other
commonly used configurations are:
Single Pole Single Throw (SPST): This relay configuring has four terminals. Two of the
terminals are coil terminals.
SPDT – Single Pole Double Throw. This configuring has five terminals. One of the
terminals is a common terminal which connects to either of the two others.
Liquid Crystal Display (LCD) screen is an electronic display module. An LCD has a
wide range of applications in electronics. The most basic and commonly used LCD in
circuits is the 16x2 display. LCDs are commonly preferred in display because they are
cheap, easy to program and can display a wide range of characters and animations. A
16x2 LCD have two display lines each capable of displaying 16 characters. This LCD has
Command and Data registers. The command register stores command instructions given
to the LCD while the Data register stores the data to be displayed by the LCD.
PV cells are combined to make modules that are encased in glass or clear plastic.
Modules can be aggregated together to make an array that is sized to the specific
application. Most commercial PV cells are made from silicon, and come in three general
types those are monocrystalline, multicrystalline, and amorphous. Single crystal or
monocrystalline cells are made using silicon wafers cut from a single, cylindrical crystal
of silicon. This type of PV cell is the most efficient, with approximately 15% efficiency
(defined as the fraction of the sun‟s energy that is converted to electrical power), but is
also one of the most expensive to produce.
Multicrystalline or polycrystalline silicon cells are made by casting molten silicon into
ingots, which crystallize into a solid block of inter grown crystals. The size of the crystals
is determined mostly by the rate at which the ingot is cooled, with larger grains made by
slower cooling. Cells are then cut from the ingot. Multicrystalline cells are less expensive
to produce than monocrystalline ones, due to the simpler manufacturing process and
lower purity requirements for the starting material. However, they are slightly less
efficient, with average efficiencies of around 12%.
Amorphous silicon PV cells are made from a thin layer of non-crystalline silicon placed
on a rigid or flexible substrate. They are relatively easy to manufacture and are less
expensive than monocrystalline and polycrystalline PV, but are less efficient with
efficiencies of around 6%. Their low cost makes them the best choice where high
efficiency and space are not important.
Photovoltaic modules have been around for more than 50 years and have been mass-
produced since 1979. Due to improvements in manufacturing technology and economies
of scale, the cost of PV has fallen by 90% since the early 1970s. PV modules are now
readily available in a wide range of sizes from several well established companies. The
reliability of PV is such that 20- to 25-year power warranties are typical, with life
expectancies beyond 30 years.
3.8. Arduino
turning on and off of an automatic irrigation system. There are several types of arduino
boards. But, for our projects we use Arduino Mega 2560.
The Arduino Mega 2560 is a microcontroller board based on the ATmega2560 . It has 54
digital input/output pins (of which 14 can be used as PWM outputs), 16 analog inputs, 4
UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB connection, a power
jack, an ICSP header, and a reset button. It contains everything needed to support the
microcontroller; simply connect it to a computer with a USB cable or power it with a AC-
to-DC adapter or battery to get started.
This project uses 12V DC Pump Motors rated at a horsepower of 2 HP and speeds up to
5,000RPM. It consists of one inlet and one outlet for maintaining the level in a tank by
pumping water. In this project the motor is controlled by an arduino microcontroller line
of port 7 through a relay which is operates with +12V.
A GSM modem is a device which can be either a mobile phone or a modem device which
can be used to make a computer or any other processor communicate over a network. A
GSM modem requires a SIM card to be operated and operates over a network range
subscribed by the network operator. It can be connected to a computer through serial,
USB or Bluetooth connection.
A GSM modem can also be a standard GSM mobile phone with the appropriate cable and
software driver to connect to a serial port or USB port on your computer. GSM modem is
usually preferable to a GSM mobile phone. The GSM modem has wide range of
applications in
Here the RX and TX pins are used for the serial communication with the microcontroller.
There are various AT commands to check the signal strength and connection and SIM
status etc. Here the Hyper Terminal is used to initially interface with the computer to
check the module. It also has an antenna to receive the GSM signal from the user‟s
phone. The basic AT commands are loaded into the program of microcontroller for it to
interface with the GSM module. The figure given below shows a GSM module. It has a
communication that can be programmed using AT commands. The signal names for the
GSM modem communication port include the following; audio input and output pins (for
connecting external hands free audio devices), mute control pin, flash programming
signal pins, external power pins, and receiver and transmitter pins.
Bahir Dar University 2017G.C
19
Design and Implementation of GSM Based Automatic Irrigation System Running on Solar Power
3.11. Transistor
The output of arduino cannot be connected directly to the relay since the controller pins
does not have the capability to withstand the current. So we will introduce an interfacing
driver circuit.
3.12. Resistors
CHAPTER FOURE
Before we start designing each parts of the system, a block diagram representing this
GSM based automatic irrigation controller running on solar power has been made based
up on the way we analyzed and figure out to do it like. The block diagram of overall
system is shown in figure [4.1] below
This is one of the earliest irrigation methods to be used. Ditches/trenches are dug out and
crops are planted along the ditches in rows.
The land is shaped into steps. Crops are planted on the flat areas. Water flows down the
steps watering each of the flat areas. This method is both time and labor intensive in
building the terraces.
This method uses overhead sprinklers. Each sprinkler irrigates a given area. During
installation care should be taken to avoid over or under watering some areas. If poorly
installed a lot of water is wasted via runoff.
Water Sources: water source availability, hydrologic data of the area, water quantity,
water quality and possible engineering works are necessary to obtain water.
Weather data: Temperature, relative humidity, sunshine hours and rainfall. Information
about crops grown in the area: Check preference by people, market potential, and
adaptability to area, water demand, growth schedules and planting periods.
Topography (e.g. slopes): This helps to determine the layout of the irrigation system and
method of irrigation water application suited for the area.
History of People and Irrigation in the area: Check past exposure of people to irrigation
and land tenure and level of possible re-settlement or otherwise.
The general principles of design, the design procedure and system layout of drip system
is that the spacing of emitters is much less than that of sprinklers and that water must be
filtered and treated to prevent blockage of emitters.
Not all areas are irrigated. In design, therefore, the area irrigated is only the
accounted area
The irrigation interval is advisable to be daily as the application rate is small.
Emitter spacing is not a function of wind
Emitter discharge may be described by:
q=khx
where:
q is the emitter discharge.
K is constant for each emitter.
h is pressure head at which the emitter operates and x is the exponent characterized by the
flow regime.
Sizing of drip laterals:
The diameter of the lateral should be selected so that the difference in discharge
between emitters operating simultaneously will not exceed 10 %.
This allowable variation is same as for sprinkler irrigation laterals already
discussed.
To stay within this 10 % variation in flow, the head difference between emitters
should not exceed 10 to 15 % of the average operating head for long-path or 20
% for turbulent flow emitters.
The maximum difference in pressure is the head loss between the control point at
the inlet and the pressure at the emitter farthest from the inlet.
The inlet is usually at the manifold where the pressure is regulated.
The manifold is a line to which the drip laterals are connected.
For minimum cost, on a level area 55 % of the allowable head loss should be
allocated to the lateral and 45 % to the manifold.
The Friction Loss for Mains and Sub-mains can be computed by DarcyWeisbach
equation.
Bahir Dar University 2017G.C
24
Design and Implementation of GSM Based Automatic Irrigation System Running on Solar Power
F should be used to compute head loss for laterals and manifolds with multiple
outlets, by multiplying a suitable F factor.
For minimum cost, on a level area 55 % of the allowable head loss should
be allocated to the lateral and 45 % to the manifold.
The Friction Loss for Mains and Sub-mains can be computed from Darcy
Weisbach equation for smooth pipes in trickle systems when combined with
the Blasius equation for friction factor.
The equation is:
Hf = K L Q 1.75 D – 4.75………………………………………….(4.1)
Where: Hf is the friction loss in m;
K is constant = 7.89 x 105 for S.I. units for water at 20 ° C;
L is the pipe length in m;
Q is the total pipe flow in l/s; and D is the internal diameter of pipe in mm.
Design a drip Irrigation System for a fully matured orchard with the layout below .
We Assume that:
The field topography: level
Maximum time for irrigation: 12 hours per day
Allowable pressure variation in the emitters: 15%,
Water source: Well
Maximum suction lift at the well = 10m
Bahir Dar University 2017G.C
25
Design and Implementation of GSM Based Automatic Irrigation System Running on Solar Power
From manufacturer‟s catalogue, select emitter. Say a medium long-path emitter with
average discharge of 0.0012 L/s, k= 0.000073 and x= 0.63 is selected. Substituting in
equation q=k*hx, the average operating pressure of the emitter can be found by first
transforming the characteristic equation into logarithmic form and solving for h:
log q=logk +xlogh………………………………………….(4.3)
Logh= (logq-logk)/x=8.9m
Bahir Dar University 2017G.C
27
Design and Implementation of GSM Based Automatic Irrigation System Running on Solar Power
7th Compute the Friction Loss in each of the Lines using equation (4.1).
Selection of Pipe Diameters:
To implement the final bit of the automated irrigation system an electric motor (12V DC)
was selected as the water pump. The first two units of the system i.e. sensing unit and the
control unit (microcontroller) are powered by 5V DC. To interface the control units with
the motor a 5V DC relay was used as the isolation unit. The microcontroller was
connected to the relay via an NPN transistor .To protect the transistor; while turning it on,
a resistor was used. The resistor limits the current flowing through the transistor. Ohms
law was utilized to determine the size (in ohms) of the protection resistor to be interfaced
with the transistor. From Ohms law
Rmin = (5 – 0.7) V / 40mA = 107.5𝛺
To achieve current limitation a resistance value higher than the calculated Rmin was
selected. A resistor of 470𝛺 was selected and thus the current through the transistor was
limited to:
To indicate the three states of the soil three LEDs were used. The three LEDs lit up
depending on the soil moisture content. When the soil was dry LED connected to arduino
digital pin 10 was lit. For moist soil (required condition) LED connected to arduino
digital pin 9 lit up and for soggy soil LED connected to arduino digital pin 8 lit up. The
three LEDs were connected to the microcontroller as shown below.
Ohms law was utilized to determine the size (in ohms) of the protection resistor to be
interfaced with the LEDs. From Ohms law
Voltage (V) = {Current (I)}*{Resistance(R)} …………………. (4.6)
Where as in our case;
V= Vcc (5V) -Voltage drop across LED (selected LEDs has 2.0V)
ILED= LED current (20mA)
VLED = LED Voltage drop (2V)
R= minimum required resistance value
Therefore, Rmin = {(5-2) V}/ {20mA} =150 Ω
To achieve current limitation a resistance value higher than the calculated Rmin was
selected. A 220Ω resistor was used and thus only 13.6mA current was allowed to pass
through each of the three LEDs.
To affect display a 16x2 Liquid Crystal Display (LCD) was chosen. LCD pins D4, D5,
D6 and D7 were used as data lines in a 4 bit mode configuration. These pins were
connected to arduino pins 5, 4, 3 and 2 respectively. LCD‟s pin E (Enable) was
connected to digital pin 11 on the arduino board. Pin RS (Register Select) on the LCD
was connected to arduino digital pin 12.
R/W pin of the LCD was connected to GND (ground). The figure below shows the LCD
microcontroller interface.
Different size of PV modules will produce different amount of power. To find out the
sizing of PV module, the total peak watt produced needs. The peak watt (WP) depends on
the size of PV module and climate of site location.
Average Daily Solar Radiations: To provide long-term average monthly solar radiation
data, an average of monthly solar radiation is calculated for each year over a period of
typically 5 years.
The first step to design PV system is collect the data
Table4. 3: Yearly average of monthly solar radiation for Bahir Dar solar radiation
Month J F M A M J J A S O N D Annual
2011 9.2 10.5 8.0 9.4 8.2 7.1 5.2 4.3 6.1 9.1 9.3 9.9 8.1
2012 8.9 10.1 9.2 9.8 8.2 5.6 4.5 4.0 5.9 9.5 8.6 9.9 7.9
2013 9.7 9.8 9.3 7.9 8.6 6.6 4.2 2.9 6.8 8.3 9.7 9.9 8.0
2014 9.8 9.7 9.1 9.9 77 6.9 4.9 4.7 6.0 8.6 9.7 9.7 7.9
2015 9.6 10.0 9.8 9.9 84 6.8 7.1 5.6 6.7 8.8 9.4 8.3
2016 9.7 10.1 9.1 9.1 7.1 74 4.5 4.6 6.4 8.7 7.7
277kwh/ day
The4th Determine the size of PV panel.
But total power requirement is given by power rating multiplied by the required quantity.
Total power requirement = (152×1+6×3+3.5×1+5.833×1+6.167×1+2×1+20×1) =
185.497. Using equation (4.7) the size of inverter is
= = = 217.7Ah
But the available battery size in the market is 12v, 260Ah, for 3 hours‟ autonomy
Table4. 6: solar battery specification
To be able to interpret the different states of the soil as prompted by the soil sensor the
microcontroller was programmed. The arduino integrated development environment
(IDE) was used. The idea is based on C++ and thus can be extended using C++ libraries.
Arduino programs (sketches) are cross platform, Simple, clear and at the same time
flexible for advanced programmers. The project sketch is attached at the appendices
page.
CHAPTER FIVE
After have been designed successfully, the circuit were constructed based on our design
in order to simulate using selected simulation proteus software, which is based on the
process of modeling a real phenomenon with a set of mathematical formulas. It is,
essentially, a program that allows the user to observe an operation through simulation
without actually performing that operation. Proteus 8 professional assisted by Arduino
IDE have been used to simulate the whole work. Then, the simulation is compiled and the
result has been observed at different soil moisture and water level.
Case 1:-When the water content of the soil is high and the water tanker is full. The
microcontroller checks the availability of water in the soil and receives in terms of
voltage from soil moisture sensor and at the same time it checks the water level of the
tanker and gives high output through Arduino pin 6 that makes the soggy soil LED high.
This indicates the normal water content of the soil.
Figure5. 2: GSM Simulation result at soil soggy and tanker full condition
Case 2: when the soil is dry and water tanker is full. In this case the microcontroller gives
high output through Arduino pin 9 that makes the dry soil LED high and Arduino pin 7
that makes the relays connected to a pump will be energized through the transistor and
then water pump becomes ON. At this condition the pump motor starts irrigate the farm
field.
Figure5. 4: GSM Simulation result at soil dry and tanker full condition
Case 3: when the soil is dry and water tanker is empty. In this case the microcontroller
gives high output through Arduino pin 9 that makes the dry soil LED high and low output
through Arduino pin 7 that makes water pump off. At this condition the water tanker is
empty and even if the soil dries pump motor is off to avoid dry running of the motor.
Figure5. 6: GSM Simulation result at soil dry, tanker empty and motor off condition
Case 4: when the soil is dry the atmospheric humidity is high and water tanker is full. In
this case the microcontroller gives high output through Arduino pin 9 that makes the dry
soil LED high and low output through Arduino pin 7 that makes water pump off. At this
condition the water tanker is full and the soil is dry even if this condition is fulfilling the
humidity sensor makes pump motor off to avoid over watering of the filed. Because high
atmospheric humidity may due to high cloud density, that seem like to rainy.
Figure5. 7: Simulation result at soil dry, tanker empty and high humidity condition
Bahir Dar University 2017G.C
39
Design and Implementation of GSM Based Automatic Irrigation System Running on Solar Power
The overall system results showing different conditions including the motor condition,
soil moisture content, water level of the tanker, and display message have been discussed
as shown in the table 5.1.
Table5. 1: motor, soil moisture content, water level of the tanker, and display message
conditions
Using the design and simulation data, the prototype has been implemented successfully.
After constructing, troubleshooting, and assembling the overall hardware components,
the correct functioning has been observed by using the above conditions listed on the
table. That is at low water content of the soil motor becomes on whereas either the water
Tanker is empty or the atmospheric air is high motor becomes automatically off. Besides
each conditions of the system displays on LCD and LED. The final hardware assembly is
as shown in the figure 5.8.
CHAPTER SIX
6.1. Conclusion
As shown in the work including simulation and prototype of the system, GSM based
automatic irrigation system, the motor pumps the water depending up on the filed
conditioned, LCD displays the field conditions, the led shows light about the filed
condition and the controller send message to the user through GSM module.
Once the system is going to be implemented, the cost required for lobar, fuel and waste of
time required for irrigation can be reduced. This increases quality of productivity in our
country and improving the GDP of it.
6.2. Recommendations
This project can pump water automatically depending up on the filed condition and the
controller sends message about the condition of the system but at the faulty condition
even if the controller sends message to the user the pump stops working. This causes
wastage of time for the user in order to find where is the problem as well as it reduce the
productivity. Thus we want to recommend that the project can be controlled by using the
SCAD system in order to detect the position of fault condition.
Finally, we want to recommend for future work to integrate the SCDA system with GSM
module and hydraulic valve control in order to improve effectiveness of the system.
REFERENCE
APPENDICES
Proteus- is a virtual system modeling (VSM) that combines circuit simulation, animated
components and microprocessor models to simulate the complete microcontroller based
design.
Arduino compiler: name of code compiler software. Arduino Code for the
Implementation of GSM based automatic irrigation control running on solar power.
}
void loop()
{
moistureSensorValue = analogRead(A0); // reads the moisture sensor values
Level = analogRead(A1); // reads the moisture sensor values
int chk = DHT.read11(DHT11_PIN);
Serial.print("Humidity=");
Serial.println(DHT.humidity);
Serial.print("Level=");
Serial.println(distance);
Serial.print("Moisture=");
Serial.println (analogRead(A0));
if((moistureSensorValue < 300)&&(distance < 30)&&(DHT.humidity < 30))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,HIGH);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Soil Soggy");
lcd.setCursor(1,1);
lcd.print("Tanker Full");
Serial.println("New Message From Arduino: Soil Soggy and Tanker Full");
}
if(((moistureSensorValue > 300)&&(moistureSensorValue < 700))&&(distance <
30)&&(DHT.humidity < 30))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, HIGH);
lcd.clear(); // system messages via LCD
lcd.setCursor(0,0);
lcd.print("Moisture Ok");
lcd.setCursor(1,1);
lcd.print("Tanker Full");
Serial.println("New Message From Arduino: Moisture Ok and Tanker Full");
}
if((moistureSensorValue > 700)&&(distance < 30)&&(DHT.humidity < 30))
{
digitalWrite(drysoilLEDPin,HIGH);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(PumpPin,HIGH);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Soil Dry!");
lcd.setCursor(1,1);
lcd.print("Tanker Full");
Serial.println("New Message From Arduino:Soil Dry ,Tanker Full and Pump running");
}
if((moistureSensorValue < 300)&&((distance > 30)&&(distance <
70))&&(DHT.humidity < 30))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(soggyLEDPin,HIGH);
digitalWrite(moistSoilPin, LOW);
digitalWrite(PumpPin,LOW);
lcd.clear(); // system messages via LCD
lcd.setCursor(0,0);
lcd.print("Soil soggy!");
lcd.setCursor(1,1);
lcd.print("Midium Tanker");
Serial.println("New Message From Arduino: Soil Soggy and Midum Water Tanker");
}
if((moistureSensorValue < 300)&&(distance > 70)&&(DHT.humidity < 30))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(soggyLEDPin,HIGH);
digitalWrite(PumpPin,LOW);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Moisture Ok!");
lcd.setCursor(1,1);
lcd.print(" Empty Tanker");
Serial.println("New Message From Arduino: Moisture Ok and Midum Water Tanker");
}
if((moistureSensorValue < 300)&&(distance < 30)&&((DHT.humidity >
30)&&(DHT.humidity < 70)))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(soggyLEDPin,HIGH);
digitalWrite(PumpPin,LOW);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Soil soggy!");
lcd.setCursor(1,1);
lcd.print("Tanker Full");
Serial.println("New Message From Arduino: Soil Dry, Midum Water Tanker and Pump
running");
}
if((moistureSensorValue < 300)&&(distance < 30)&&(DHT.humidity > 70))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,HIGH);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Soil Soggy");
lcd.setCursor(1,1);
lcd.print("Tanker Full ");
Serial.println("New Message From Arduino: Soil Soggy and Empty Full");
}
if(((moistureSensorValue > 300)&&(moistureSensorValue < 700))&&((distance >
30)&&distance < 70)&&((DHT.humidity > 30)&&(DHT.humidity < 70)))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Moistur Ok");
lcd.setCursor(1,1);
lcd.print("Midium Tanker ");
Serial.println("New Message From Arduino: Moisture Ok and Empty Tanker ");
}
if((moistureSensorValue < 300)&&((distance > 30)&&distance <
70)&&((DHT.humidity > 30)&&(DHT.humidity < 70)))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,HIGH);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Soil Soggy");
lcd.setCursor(1,1);
lcd.print("Midium Tanker ");
Serial.println("New Message From Arduino: Soil Soggy and Empty Full");
}
if((moistureSensorValue > 700)&&((distance > 30)&&(distance <
70))&&((DHT.humidity > 30)&&(DHT.humidity < 70)))
{
digitalWrite(drysoilLEDPin,HIGH);
digitalWrite(PumpPin,HIGH);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Soil Dry");
lcd.setCursor(1,1);
lcd.print("Midium Tanker");
Serial.println("New Message From Arduino: Soil Dry, Midium Tanker ,pump runinng");
}
if(((moistureSensorValue > 300)&&(moistureSensorValue < 700))&&(distance <
30)&&((DHT.humidity > 30)&&(DHT.humidity < 70)))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Moist Soil");
lcd.setCursor(1,1);
lcd.print("Tanker Full ");
Serial.println("New Message From Arduino: Moist Soil and Tanker Full");
}
if(((moistureSensorValue > 300)&&(moistureSensorValue < 700))&&(distance
>70)&&((DHT.humidity > 30)&&(DHT.humidity < 70)))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Moist Soil");
lcd.setCursor(1,1);
lcd.print("Empty Tanker ");
Serial.println("New Message From Arduino: Moist Soil and Empty tanker");
}
if(((moistureSensorValue > 300)&&(moistureSensorValue < 700))&&((distance >
30)&&(distance < 70))&&(DHT.humidity < 30))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Moist Soil");
lcd.setCursor(1,1);
lcd.print("Midium Tanker ");
Serial.println("New Message From Arduino: Moist Soil and Midium Tanker");
}
if(((moistureSensorValue > 300)&&(moistureSensorValue < 700))&&((distance >
30)&&(distance < 70))&&(DHT.humidity > 70))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Moist Soil");
lcd.setCursor(1,1);
lcd.print("Midium Tanker ");
Serial.println("New Message From Arduino: moist Soil and Midium Tanker");
}
if((moistureSensorValue > 700)&&(distance > 70)&&(DHT.humidity > 70))
{
digitalWrite(drysoilLEDPin,HIGH);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SoilDry&HighHumid");
lcd.setCursor(1,1);
lcd.print("Empty Tanker ");
Serial.println("New Message From Arduino: Soil Dry and Empty Tanker");
}
if(((moistureSensorValue > 300)&&(moistureSensorValue < 700))&&(distance >
70)&&(DHT.humidity > 70))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, HIGH);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Moist Soil");
lcd.setCursor(1,1);
lcd.print("Empty Tanker ");
Serial.println("New Message From Arduino: Moist Soil and Empty Tanker");
}
if((moistureSensorValue < 300)&&(distance > 70)&&(DHT.humidity > 70))
{
digitalWrite(drysoilLEDPin,LOW);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,HIGH);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Soil Soggy");
lcd.setCursor(1,1);
lcd.print("Empty Tanker ");
Serial.println("New Message From Arduino: Soil Soggy and Empty Tanker");
}
if((moistureSensorValue > 700)&&((distance > 30)&&(distance <
70))&&(DHT.humidity > 70))
{
digitalWrite(drysoilLEDPin,HIGH);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Soi,Dry&HighHumid");
lcd.setCursor(1,1);
lcd.print("Midium Tanker ");
Serial.println("New Message From Arduino: Soil Dry and Midium Tanker");
}
if((moistureSensorValue > 700)&&(distance < 30)&&(DHT.humidity > 70))
{
digitalWrite(drysoilLEDPin,HIGH);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SoilDry&HighHumi");
lcd.setCursor(1,1);
lcd.print("Tanker Full ");
Serial.println("New Message From Arduino: Soil Dry and Tnker Full");
}
if((moistureSensorValue > 700)&&(distance > 70)&&((DHT.humidity >
30)&&(DHT.humidity < 70)))
{
digitalWrite(drysoilLEDPin,HIGH);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Soil Dry");
lcd.setCursor(1,1);
lcd.print("Empty Tanker ");
Serial.println("New Message From Arduino: Soil Dry and Empty Tanker");
}
else if((moistureSensorValue > 700)&&(distance > 70)&&(DHT.humidity < 30))
{
digitalWrite(drysoilLEDPin,HIGH);
digitalWrite(PumpPin,LOW);
digitalWrite(soggyLEDPin,LOW);
digitalWrite(moistSoilPin, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Soil Dry");
lcd.setCursor(1,1);
lcd.print("Empty Tanker ");
Serial.println("New Message From Arduino: Soil Dry and Empty Tanker");
}
delay(1);
}