Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 83

IoT BASED UG CABLE FAULT DETECTION SYSTEM

A project report

Submitted in partial fulfillment of the requirements for the award of the degree

of

BACHELOR OF TECHNOLOGY
In
Electrical & Electronics
Submitted By

N. KARTHIK B. TARUN KUMAR


(20985A0258) (20985A0216)
B.SAI MANASA K. SITARAM
(20985A0213) (20985A0235)
P. DANIEL LIVING STONE
(20985A0269)

Under the Esteemed Guidance


of

Mrs. Pramadha Rani

Associate Professor
Department of EEE

Department of Electrical & Electronics Engineering

RAGHU ENGINEERING COLLEGE ( Autonomous)


Accredited by NBA, NAAC ‘A’ Grade, Permanently Affiliated to JNTUK Dakamarri (V),
Bheemunipatnam (M), Visakhapatnam Dist. Andhra Pradesh-531162
Year (2019-2023)
RAGHU ENGINEERING COLLEGE (Autonomous)
Department of Electrical and Electronics Engineering

CERTIFICATE
This is to certify that the project entitled “IOT BASED UNDER GROUND FAULT
LOCATION DETECTION SYSTEM” that is being submitted by N.Karthik (20985A0258)
B.Tarun kumar (20985A0216) B.Sai manasa (20985A0213) K.Sitaram (20985A0235) P.Denial living
stone (20985A0269) in the partial fulfillment for the award of Bachelor of Technology in
Electrical and Electronics during 2019-2023 in Raghu Engineering college (autonomous),
affiliated to JNTUK University, is a record of bonafide work carried out by them under our
guidance and supervision. The results embodied in this work have not been submitted to any
other University or Institute for the award of any degree or diploma.

Project Guide Head of the Department


Mrs. Pramadha Rani Mr. P. sasi Kiran
Associate Professor HOD
Department of EEE Department of EEE
VIEW VIEW

External Examiner
DECLARATION

We hereby declare that this project titled IOT BASED UNDER GROUND FAULT
LOCATION DETECTION SYSTEM is an original and authentic work done in the
Department of Electrical and Electronics, Raghu Engineering College, submitted in the partial
fulfillment of the requirement for the award of the degree of Bachelor of Technology in
Electrical and Electronics, Jawaharlal Nehru Technological University Kakinada. This project
report has not been previously submitted to any University/ Institution for the award of any
other degree.

N. KARTHIK
(20985A0258)

B. TARUN KUMAR
(20985A0216)

B.SAI MANASA
(20985A0213)

K. SITARAM
(20985A0235)

P. DANIEL LIVING STONE


(20985A0269)
ACKNOWLEDGEMENT

We express our grateful thanks to Dr.R.Kameswara Rao, Principal of Raghu


Engineering College, for the overall valuable support he provided during the project work and
also during our course of study.
We take the privilege to express our profound sense of gratitude to Mrs. Pramadha
Rani Project Supervisor and Head of the Department, Electrical and Electronics for her co-
operation and for the perfection of our project. We sincerely thank all the Staff Members of
the Department for giving us their support for the completion of this project.
Finally, we would like to express our thanks to library staff, who have supported us in
the accomplishment of the project. We would like to express our sincere thanks to our parents
who encouraged us throughout our educational endeavor and to do this project work.

N. KARTHIK (20985A0258)

B. TARUN KUMAR (20985A0216)

B.SAI MANASA (20985A0213)

K. SITARAM (20985A0235)

P. DANIEL LIVING STONE (20985A0269)


CONTENTS

Abstract (i)
List of Figures (ii)
List of Screens (iv)
1 INTRODUCTION 1-8
1.1 Introduction to IoT 1
1.2 Motivation 7
1.3 Problem Definition 7
1.4 Objective of Project 7
1.5 Limitations of Project 8
1.6 Organization of Documentation 8

2 LITERATURE SURVEY 9-12


2.1 Introduction 9
2.2 Existing System 9
2.3 Disadvantages of Existing system 11
2.4 Proposed System 11
2.5 Advantages of Proposed System 12

3 ANALYSIS 13-32
3.1 Introduction 13
3.2 Software Requirement Specification 14
3.2.1 User Requirement 14
3.2.2 Software Requirement 14
3.2.3 Hardware Requirement 21
3.3 Block Diagram of Project 29
3.4 Flowchart 30

4 DESIGN 33-38
4.1 Introduction 32
4.2 UML diagrams 32
4.3 Module design and organization 35
5 IMPLEMENTATION & RESULTS 40-47
5.1 Introduction 40
5.2 Explanation of Key functions 40
5.3 Method of Implementation 40
5.3.1 Arduino IDE 40
5.3.2 Mode MCU 42
5.4 Output Screens 45
5.5 Result Analysis 46

6 TESTING & VALIDATION 48-52


6.1 Introduction 48
6.2 Design of test cases and scenarios 50
6.3 Validation 51

7 CONCLUSION 62
ABSTRACT

This project is designed using IoT (Internet of Things). The system detects the fault with the
help of potential voltage and resistance that is in the cable wires. Underground cables are
prone to a wide variety of faults due to underground conditions wear and tear, rodents etc.
Fault Detection is a method used to determine the distance of underground cable faults that
occur from the base station in kilometers. The digital way of detecting the faults such as short
circuits, line breakages, open faults which are occurred due to the change in resistance across
the cables are identified because of variation in current that is being passed within the lines. A
set of resistors are used to represent the cables which finds the faults due to change in voltage.
These calculations are taken by microcontroller, so that the fault distance is detected and
displayed on LCD display. Detection of such fault sources is difficult, and to find it out the
entire line has to be dug and check to fix the faults. So here we propose a cable fault detection
over IoT that detects the exact fault position and makes the repairing work easy. The operation
of this experimental model of the device is taken care by microcontroller which is controlled
by an Arduino UNO board. From the microcontroller data is fed to the node MCU and it
shows a message to the user over the blynk cloud application.

(i)
LIST OF FIGURES

Figure No. Name of the figure Page No.

1.1 IoT application areas 2

1.2 Components of IoT 5

1.3 Future scope of IoT 6

2.1 Cable fault verification device 10

3.1 Arduino UNO board 21

3.2 Node MCU 22

3.3 Lcd 16X2 display 23

3.4 Bc547 Transistor 23

3.5 1k Resistor 24

3.6 1A Power Adaptor 25

3.7 Atmega 328 microcontroller 25

3.8 Switch 26

3.9 Arduino board all components 27

3.10 Block Diagram of subterranean Cord fault detection 29

3.11 Elements of Flow Chart 30

3.12 Flow chart of subterranean Cord fault detection 31

4.1 Use case diagram 33

4.2 Sequence Diagram 34

4.3 Class diagram 35

4.4 Connection b/w Arduino and microcontroller 36

4.5 Connection b/w microcontroller and NodeMCU 36

4.6 Arduino Uno Connections 37

4.7 Open loop Fault 38

4.8 Line to Gound Fault 38

(ii)
4.9 Power off condition 39

5.1 Bulbs turned on when there is no fault 46

5.2 Bulbs turned off when there is fault inspecific line 47

5.3 Connections 47

6.1 When no fault is detected 51


6.2 No fault case in hardware kit 51

6.3 When fault occurs in any line 52

(iii)
LIST OF SCREENS

Screen No. Name of the Screen Page No.

1 The Arduino IDE Outlook 15

2 Home Page 17

3 Creating an account in Blynk 17

4 Hardware selection 18

5 Creating a new project 18

6 Selecting widgets 19

7 Design framework 20

8 Blynk output page 23

9 Message in the console 38

10 Arduino code compilation 42

11 Node MCU Compilation 45

12 Blynk console set up 45

13 Blynk console 46

(iv)
CHAPTER – 1
INTRODUCTION
CHAPTER-1
INTRODUCTION

1.1 INTRODUCTION TO IoT


What is IoT
The Internet of Things (IoT) is the network of physical objects or "things" embedded with
electronics, software, sensors, and network connectivity, which enables these objects to collect
and exchange data. IoT allows objects to be sensed and controlled remotely across existing
network infrastructure, creating opportunities for more direct integration between the physical
world and computer-based systems, and resulting in improved efficiency, accuracy, economic
benefit.
It refers to the billions of physical devices around the world that are now connected to the internet,
all collecting and sharing data. Thanks to the arrival of super-cheap computer chips and the
ubiquity of wireless networks, it's possible to turn anything, from something as small as a pill to
something as big as an aeroplane, into apartof the IoT. Connecting all these different objects and
adding sensors to them adds a level of digital intelligence to devices that would be otherwise
dumb, enabling them to communicate real-time data without involving a human being. The
Internet of Things is making the fabric of the world around us smarter and more responsive,
merging the digital and physical universes. Internet of Things is not the result of a single novel
technology; instead, several complementary technical developments provide capabilities that
taken together help to bridge the gap between the virtual and physical world.
Capabilities:

 Connectivity and network Management

 Device Management

 Integration

 Visualization

Applications of IOT

 Building and Home automation

 Manufacturing

 Medical and Healthcare systems

 Environmental monitoring
1
Fig 1.1: Internet of Things schematic showing the end users & application areas.
Where is the term IoT being used?
The term IoT is being used in different contexts, such as the body, homes, cities, industry, and
the global environment.
 When talking about the home, IoT is often considered in terms of remote and local
monitoring and management of different home electronics and lights in terms of Home
Automation. In other ways as simply to keep plants in the yard alive by using an
automatic watering system.
 In correlation to cities, the term IoT is used to describe systems that effectively gather,
and processinformation generated by various infrastructures, for example monitoring
centers for traffic lights, street lights, camera surveillance and the power grid.
 Last, but not least important, Sensors can help protect wildlife, track water usage and
flows, monitor local weather, monitor use of natural resources, to give warnings before
and after natural disasters to prepare people for what is to come.
IoT − Key Features
The most important features of IoT include artificial intelligence, connectivity, sensors, active
engagement, and small device use. A brief review of these features is given below
 AI − IoT essentially makes virtually anything “smart”, meaning it enhances every aspect
of life with the power of data collection, artificial intelligence algorithms, and networks.
 Connectivity − New enabling technologies for networking, and specifically IoT
networking, mean networks are no longer exclusively tied to major providers.

2
 Sensors − IoT loses its distinction without sensors. They act as defining instruments
which transform IoT from a standard passive network of devices into an active system
capable of real-world integration.

 Active Engagement − Much of today's interaction with connected technology happens


through passive engagement. IoT introduces a new paradigm for active content, product,
or service engagement.

 Small Devices − Devices, as predicted, have become smaller, cheaper, and more powerful
overtime. IoT exploits purpose-built small devices to deliver its precision, scalability, and
versatility.
Scope and Benefits of IoT
It’s the technology of today which is touching and transforming every aspect of our real-life.
IoT has given a concept of Machine to-Machine (M2M) communication. Companies like
Microsoft and SAP are implementing strategy to capitalize on the Internet of Things so that
you can just stop your business and start making it thrive. IoT is going to have huge impact on
home automation and building automation system where every convenience will be taken care
by the interconnected devices.
It is also deployed on large scale for example in Songdo, South Africa, the first of its own
kind fully equipped and wired smart city is near to completion (known as Ubiquitous City).
With the personal electronics good connected to Internet will enable us to “author” our lives.
In medical science field, IoT has given a privilege to devices and system to sense for coming
disease and to prevent it.
Challenges in IoT
The Internet of Things (IoT) has fast grown to be a large part of how human beings live,
communicate, and do business. Across the world, web-enabled devices are turning our global
rights into a greater switched-on area to live in. There are various types of challenges in front
of IoT.
Security Challenges in IoT
1. Insufficient testing and updating
With the increase in the number of IoT (internet of things) devices, IoT manufacturers are more
to produce and deliver their device as fast as they can without giving security too much.
2. Brute forcing and the risk of default passwords
Weak credentials and login details leave nearly all IoT devices vulnerable to password hacking
and brute force.

3
3. IoT Malware and ransomware
Ransomware uses encryption to effectively lock out users from various devices and platforms
and still use a user’s valuable data and information.
Design challenge in IoT:
1. Battery life is a limitation
Issues in packaging and integration of small-sized chip with low weight and less power
consumption.
2. Increased cost and time to market
Embedded systems are lightly constrained by cost. The need originates to drive better
approaches when designing the IoT devices in order to handle the cost modelling or cost
optimally with digital electronic components.
3. Security of the system
Systems must be designed and implemented to be robust and reliable and must be secure with
cryptographic algorithms and security procedures. It involves different approaches to secure
all the components of embedded systems from prototype to deployment.
Deployment challenges in IoT:
1. Connectivity
It is the foremost concern while connecting devices, applications, and cloud platforms.
Connected devices that provide useful front and information are extremely valuable. But poor
connectivity becomes a challenge where IoT sensors are required to monitor process data and
supply information.
2. Cross platform capability
IoT applications must be developed, keeping in mind the technological changes of the future.
Its development requires a balance of hardware and software functions.
3. Data collection and processing
In IoT development, data plays an important role. Along with security and privacy,
development teams need to ensure that they plan well for the way data is collected, stored, or
processed within an environment.

Basic Building Blocks of IoT


To develop an IoT application, we need several key building blocks. Figure 1 shows the
different components involved in an IoT applications.

4
Fig 1.2: Components of IoT Application

The connected device – The actual physical device we want to control and manage. It needs
to be connected somehow, either wired or wireless.
The local user – This is the user who wants to interact directly with the device to either
control it or receive information regarding its operation.
The router – This is the part that connects the device to the Internet. The connection can be
via ADSL, cable, cellular, etc. In some cases, there is no router where we want to place our
device. The cloud solution – A Cloud solution can be simple storage of data flowing from
your connected device or can include complex analytic functions that are performed on the
data from the device.
IoT – Advantages
The advantage of IoT span across every area of lifestyle and business. Here is a list of some of
the advantages that IoT has to offer –
Improved Customer Engagement – Current analytics suffer from blind sports and
significant flaws in accuracy; and as noted, engagement remains passive.
Technology Optimization − The same technologies and data which improve the customer
experience also improve device use, and aid in more potent improvements to technology. IoT
unlocks a world of critical functional and field data.
Reduced Waste − IoT makes areas of improvement clear. Current analytics give us
superficial insight, but IoT provides real-world information leading to more effective
management of resources.
Enhanced Data Collection − Modern data collection suffers from its limitations and its design

5
for passive use. IoT breaks it out of those spaces, and places it exactly where humans really
want to go.
IoT – Disadvantages
Though IoT delivers an impressive set of benefits, it also presents a significant set of
challenges. Security − IoT creates an ecosystem of constantly connected devices
communicating over networks. This leaves users exposed to various kinds of attackers.
Privacy − The sophistication of IoT provides substantial personal data in extreme detail
without the user’s active participation.
Complexity − Some find IoT systems complicated in terms of design, deployment, and
maintenance.
Future scope of IoT
The Internet of things (IoT) is an ecosystem of associated physical gadgets/objects that are
available through the web. IoT is an arrangement of interrelated gadgets, advanced items,
articles, individuals or creatures that are given novel identifiers (UIDs) and the capacity to
move information over an organization without requiring any human collaboration.

Fig 1.3: Future Scope of IoT

6
1.2 MOTIVATION
Until the last decade, cables were designed to be long transmission lines and overhead lines
over top of the ground, and at present, there is a practice of underground cables. The adverse
weather conditions such as storms, snow, torrential rains, and pollution effects the cable lines
that are placed overhead but does not affect underground cables. In the urban areas, the
electrical cable runs in underground instead of overhead lines. Whenever the fault occur the
repairing process becomes difficult. It is very difficult to identify the exact location of the
fault in underground power cable line Now the world has become digitized. So, the project is
to detect exact location of the fault in digital form.

1.3 PROBLEM DEFINITION


During the early years, long transmission lines and overhead lines were an “indissoluble
binomial” for the AC Power Systems. Faults are considered as the total breakdown or loss of
synchronism of power system network which does not exclude the environmental hazards
such as electrocution and a devastating fire outbreak. This means that the general belief as at
the time was purely of the reliance on overhead lines for transmission of signals. This left the
use of High Voltage (HV) and Extra HighVoltage (EHV) insulated cables to be dedicated to
DC submarine links. This was generally because of a heightened regard for environmental
conditions, the increasing hindrances encountered on the overhead lines, and increased
reliability on the high- quality extruded insulations among other reasons.

1.4 OBJECTIVE OF PROJECT


The main objective of this project is to detect the faults and abnormalities occur in
underground cables using Arduino based devices. At the feeder's end, Direct Current (DC)
voltage was applied, based on the location of fault in the cable, the value of current changes.
In case of a short circuit fault like L-G (line to ground) or L-L (line to line) fault and open
faults, the change in voltage values measured across the resistor. Then, it feed to the in-built
microcontroller of the Arduino. The value is processed by the Arduino and the fault is
calculated in terms of distance from the base station. The value is sent to the LCD interfaced
to the Arduino board and it is displayed the exact location of the fault from the base station in
kilometers for all the three phases. The project is arranged with a set of resistors which
represent the length of the cable. At all known kilometer fault switches are placed to induce
faults manually, hence the fault distance is determined. This entire setup is connected to an
application called blynk which is a new platform that allows you to quickly build interfaces.

7
1.5 LIMITATIONS OF PROJECT
 The entire set up must be prepared and connected to all areas and the base station which is
a bit complex and difficult.

 Insulation problems during high voltage.


 Internet must be mandatory for sending the message to the user.

1.6 ORGANIZATION OF
DOCUMENTATION Chapter 1:
In chapter 1, Introduction, motivation, problem definition objective of project, limitations of
project of these subterranean cord faults detection is explained.
Chapter 2:
In chapter 2, Literature survey of subterranean cord fault detection is explained.
Chapter 3:
In chapter 3, Analysis- Introduction, SRS (user, software and hardware), block diagram and
flowcharts of subterranean cord fault detection are explained.
Chapter 4:
In chapter 4, the Design- Introduction, UML diagrams, module design and organization of the
device are explained.
Chapter 5:
In chapter 5, Implementation and Results- Introduction, explanation of key functions,
method of implementation (forms, output screens, result analysis) conclusion of this fault
detection system are explained
Chapter 6:
In chapter 6, Testing &Validation-Introduction, design of test cases and scenarios, validation
of code build for the project is explained.

8
CHAPTER – 2
LITERATURE SURVEY
CHAPTER-2
LITERATURE SURVEY

2.1 INTRODUCTION
Literature survey is the most important step in software development process. Before
developing the tool, it is necessary to determine the time factor, economy and company
strength. Once these things are satisfied, then next steps are to determine which operating
system and language can be used for developing the tool. Once the programmers start
building the tool the programmers need lot of external support. This support can be obtained
from senior programmers, from book or from websites. Before building the system, the above
consideration is taken into account for developing the proposed system.
For the real worldwide operated voltage distribution lines underground cables have been used
from many years. To reduce the sensitivity of distribution network the underground voltage
cables are highly used. Underground cables have been widely used in power distribution
networks due to the advantages of underground connection, more enhanced security than
overhead lines in adverse weather condition, less liable to damage by storms or lightning. It is
less costly for larger distance, eco- friendly and low maintenance cost. But if any fault occurs
in cable, then it is difficult to its type. So, this system is used to detect the location and type of
fault in digital way. The requirement of locating the faulty point in an underground cable in
order is to facilitate quicker repair, improve the system reliability and reduced outage period.
Underground cables are the electric power transmission cables. Becauseof their reliability on
transmitting, they used in urban areas and in thick population areas, where overhead
transmission is dangerous. Underground cables have low maintenance cost, less chances of
faults, smaller voltage drop.

2.2 EXISTING SYSTEM


There are many systems that use frequency of the signals or wave forms and detect the fault
occurrence. They specify the location where the underground cable wire frequency has come
down and alert the officials related to the issue by making a buzzer sound. There are systems
that make use of the GPS modules by providing the location and help the repairmen to repair
it within less time and increase the reliability of the system. There are systems that make used
of GSM modules, some make use of the wavelet transform principles or ohm’s law for
effective data collection. Some make use of potential divider to identify the flaws of there are
systems that makes use of IoT devices such as raspberry pi to determine the faults.
Fig 2.1: Cable fault verification device
These are some of the devices where the people need to go and check, but in some cases, it
becomes time waste to them even to work if there are no errors. So, the proposed model is
going to overcome all of these.
In general, fault location techniques for underground cable network can be categorized in two
groups:
Tracer method
The tracer method is an exhaustive way to locate a faulted segment by ―walking through the
cable circuits. A faulted segment can be determined from audible or electromagnetic signals
and requires dispatching crew members to the outage area. There have been various
techniques largely used in the industries, including the tracing approach through acoustic,
electromagnetic, or current.
Terminal method
The terminal method is a technique used to determine a fault location of a distribution cable
network from one or both ends without tracing exhaustively. A bridge technique is one of the
most popular terminal methods that links with a resistor to determine a fault location. It is a
technique used to detect fault location of cable from one or both ends without tracing.
Internet of Things which is based on the internet, which means the information will be
transferred through the internet access. The aim of this method is to determine the distance of
underground cable fault from base station in kilometer’s and also find the location of that
faulty place. This paper uses the simple concept of Current Transformer Theory (CT Theory).
When any fault like short circuit occurs, voltage drop will vary depending on the length of
fault in cable; since the current varies Current Transformer is used to calculate the varying
current. The signal conditioner manipulates the change in voltage and a microcontroller is
used to make the
necessary calculations so that the fault distance is displayed by IoT devices. These fault details
are after sent to any access point through the internet and displayed.

2.3 DISADVANTAGES OF EXISTING SYSTEM


The main disadvantage is that the underground cables have higher initial cost and insulation
problems at high voltages.
1. Another main drawback is that, if a fault does occur, it is difficult to locate and repair the
fault because the fault is invisible.
2. Angular value required time to read so some delay occur.

2.4 PROPOSED SYSTEM


The proposed system is an IOT enabled subterranean cord fault detection system whenever a
fault gets created at a point shorting two lines together, a specific voltage gets generated
stores network combination. This voltage is sensed by the microcontroller and is updated to
the user. The information conveyed to the user is the distance to which that voltage
corresponds to. The microcontroller retrieves the fault line data and displays over LCD
displayalong with the blink in the lights attached to it.
Blynk was designed for the Internet of Things. It can control hardware remotely, it can
display sensor data, it can store data, visualize it. So, when the data is continuously being
monitored the data need to be interlinked with an interface such that the user can get exposed
to the data. For that to happen we are making use of blynk application designed for IoT
devices. So, for every 1000 milliseconds data is read and is fed into the interface so that can
help for problem solving and error finding.
Along with this the fault is displayed over the LCD display that is connected to the Arduino.
If there are any faults it displays the exact distance from the base station and the line
connections may be multiple in Realtime, we are making use of three-line connections
connected to three bulbs and any fault in that line makes the bulb to switch off and till it gets
resolved.
The system detects fault with the help of potential divider network laid across the cable.
Whenever a fault gets created at a point shorting two lines together, a specific voltage gets
generated as per the resistors network combination. This voltage is sensed by the
microcontroller and is updated to the user.
2.5 ADVANTAGES OF PROPOSED SYSTEM
 low voltage drops
 low maintenance cost and saves time for error detection
 low chances of fault occurring and is very suitable in urban areas where overhead
transmission lines are not easy to install.
 Its main application is the detection of underground cable fault which is very hard to
detect as it is not possible to see faults like line to line and other such faults which are
quite possible in the case of overhead transmission line.
CHAPTER – 3
ANALYSIS
CHAPTER-3
ANALYSIS

3.1 INTRODUCTION
Systems analysis is a process of collecting factual data, understand the processes involved,
identifying problems, and recommending feasible suggestions for improving the system
functioning. This involves studying the business processes, gathering operational data,
understand the information flow, finding out bottlenecks and evolving solutions for
overcoming the weaknesses of the system so as to achieve the organizational goals. System
Analysis also includes subdividing of complex process involving the entire system,
identification of data store and manual processes, and specifies what system should do.
The major objectives of systems analysis are to find answers for each business process: What
is being done, how is it being done, who is doing it, when is he doing it, why is it being done
and how can it be improved? It is more of a thinking process and involves the creative skills
of the System Analyst. It attempts to give birth to a new efficient system that satisfies the
current needs of the user and has scope for future growth within the organizational
constraints. The result of this process is a logical system design. Systems analysis is an
iterative process that continues until a preferred and acceptable solution emerges.
Purpose
System analysis is conducted for the purpose of studying a system or its parts in order to
identify its objectives. It is a problem-solving technique that improves the system and ensures
that all the components of the system work efficiently to accomplish their purpose. Analysis
specifies what the system should do.
Another definition of system analysis is its evaluation of a particular system to identify the
areas of improvements and make any necessary enhancements, if required.
Objectives
 First, it helps to design systems where subsystems may have conflicting objectives.
 Also, System analysis helps to achieve inter compatibility and unity of the sub systems
 Above all, System analysis gives an advantage of understanding and comparing the sub-
systems functions with complete system.
Benefits
 Proper system analysis makes the clear path for web application development by
maximizing the future IT requirements
 Efficiency & Flexibility
 System analysis will not only reduce the costs and helps to gain flexibility & flexibility in
the system development.
 The greater flexibility of SA is to cater almost every future requirement of business by
mitigating the IT requirement.

3.2 SOFTWARE REQUIREMENT SPECIFICATION

3.2.1 USER REQUIREMENTS:


User requirements, often referred to as user needs, describe what the user does with the
system, such as what activities that users must be able to perform. User requirements are
generally documented in a User Requirements Document (URD) using narrative text user
requirements are generally considered separately from system requirements. The business
analyst carefully analyses user requirements and carefully constructs and documents a set of
high-quality system requirements ensuring that that the requirements meet certain quality
characteristics
 Laptop
 Connector from Arduino to laptop
 Arduino IDE
 Internet connection
3.2.2 SOFTWARE REQUIREMENTS
System requirements are the building blocks developers use to build the system. These are
the traditional “shall” statements that describe what the system “shall do”. System
requirements are classified as either functional or supplemental requirements. A functional
requirement specifies something that a user needs to perform their work. For example, a
system may be required to enter and print cost estimates; this is a functional requirement.
 Code language: Embedded C
 Operating System: Windows
 Software: Arduino
 APK: Blynk Application
Arduino Software (IDE)
The Arduino Integrated Development Environment - or Arduino Software (IDE) - contains a
text editor for writing code, a message area, a text console, a toolbar with buttons for common
functions and a series of menus. It connects to the Arduino and Genuino hardware to upload
programs and communicate with them. Programs written using Arduino Software (IDE) are
called sketches. These sketches are written in the text editor and are saved with the file
extension.in. The editor has features for cutting/pasting and for searching/replacing text. The
message area gives feedback while saving and exporting and also displays errors. The console
displays text output by the Arduino Software (IDE), including complete error messages and
other information.

Screen 1: The Arduino IDE Outlook


When we open up the Arduino IDE, it will look similar to the figure above and it may be
slightly different to those who are using Mac OS or Linux but the main function of this IDE
are still the same. Above there was a Toolbar which consist of 7 item which is which is start
from the left. (Compile, stop, new, open, save, upload and serial monitor). On the other hand,
Arduino IDE also has prepared lots of examples for user to refer the basic of the operating
code. By clicking File > Example, there was lots of sample program to be explore.
Verify: Checks your code for errors compiling it.
Stop: button is used to stop the operation of the serial monitor and also un- highlighted another
selected button.
Open: button will present you a list of the sketches store in the sketch book as well as a list of
examples where allow user to try out.
Upload: Compiles your code and uploads it to the configured board. New: Creates a new
sketch.
Save: Saves your sketch.
Serial Monitor: Opens the serial monitor.
Additional commands are found within the five menus: File, Edit, Sketch, Tools, Help. The
menus are context sensitive, which means only those items relevant to the work currently
being carried out are available.
Arduino program Structure
 Void setup (): Will be executed only when the program begins or (reset button is pressed).
 Void loop (): Will be executed repeatedly.
Windows Software
Windows 10 makes its user experience and functionality more consistent between different
classes of device and addresses most of the shortcomings in the user interface that were
introduced in Windows 8 ,Windows 10 mobile, the successor to Windows Phone 8.1, shared
some user interface elements and apps with its PC counterpart. Windows 10 supports
universal apps, an expansion of the Metro-style first introduced in Window 8. Universal apps
can be designed to run across multiple Microsoft product families with nearly identical code—
including PCs, tablets, smartphones, embedded systems, Xbox One, Surface Hub and Mixed
Reality. The Windows user interface was revised to handle transitions between a mouse-
oriented interface and a touchscreen-optimized interface based on available input devices—
particularly on 2-in- 1 PCs, both interfaces include an updated Start menu which incorporates
elements of Windows 7 traditional Start menu with the tiles of Windows 8.

Blynk Application
Introduction
Everyday life deals with smart world starting from beginning of morning to the end of the
day. Most of them deals with IOT based blynk platforms. This is available in ios and Android
versions. This app works on control panel from your IoT smart devices along with monitoring
the data. This requires energy to add widgets of our own choices in our projects.
It can control Arduino and Raspberry Pi and the likes over the Internet. It shows a digital
dashboard.
Where you can build a graphic interface for your project by simply dragging and dropping
widgets.
Screen 2: Home page

1. Android Blynk App


After downloading the app, create an account and log in. (If possible than log in with your mail
id for better connectivity later).

Screen 3: Creating an account in Blynk


2. Create a Blynk Project
Click the “Create New Project” in the app to create a new Blynk app. Give it any name. Blynk
works with hundreds of hardware models and connection types. Select the Hardware type.
After this, select connection type. In this project we have select Wi-Fi connectivity.

Screen 4: Hardware selection

Screen 5: Creating a new project


The Auth Token is very important – you’ll need to stick it into your ESP8266’s firmware.
For now, copy it down or use the “E-mail” button to send it to yourself.
3. Add Widgets to The Project
Then you’ll be presented with a blank new project. To open the widget box, click in theproject
window to open.
We are selecting a button to control Led connected with NodeMCU.
1. Click on Button.
2. Give name to Button say LCD.
3. Under OUTPUT tab- Click pin and select the pin to which led is connected to
NodeMCU, here it is digital pin 2, hence select digital and under pin D2. And click
continue.
4. Under MODE tab- Select whether you want this button as “push button” or “Switch”.You
have successfully created a GUI for Arduino.

Screen 6: Widget section


4. Upload the Firmware

Screen 7: Design framework


3.2.3 HARDWARE REQUIREMENT
 Arduino Uno (Atmega 328P)

 NodeMCU (Esp8266)

 16x2 lcd display

 12V relay

 Bc547 transistor

 1K resistors

 12V 1A power adaptor

 Bulb holders / bulbs

 Fault switches ()

 Microcontroller

Arduino UNO Board

Arduino is a tool for making computers that can sense and control more of the physical world than
the desktop computer. It's an open-source physical computing platform based on a simple
microcontroller board, and a development environment for writing software for the board. Arduino
can be used to develop interactive objects, taking inputs from a variety of switches orsensors, and
controlling a variety of lights, motors, and other physical outputs. The boards can be assembled by
hand or purchased preassembled; the open-source IDE can be downloaded for free. The Arduino
programming language is an implementation of Wiring, a similar physical computing platform.

Fig 3.1 : Arduino UNO Board


NodeMCU
NodeMCU is an open-source firmware and development kit that helps you to prototype or
build IoT products. It includes firmware that runs on the ESP8266 Wi-Fi SoC from Esp8266
if Systems, and hardware which is based on the ESP-12 module. The firmware uses the Lua
scripting language. It is based on the project and built on the Esp8266 if Non-OS SDK for
ESP8266. The firmware was initially developed as a companion project to the popular
ESP8266- based nodeMCU developed modules, but the project is now community-supported,
and the firmware can now be run on any ESP module.

Fig 3.2: Node MCU


Fault Switches
The Fault Protection and Detection Switches and Multiplexers provide overvoltage protection
of up to ±60 V for system inputs and outputs, signal chain inputs and outputs and within
signal chains where an overvoltage condition may occur. Overvoltage conditions can occur
due to power supply sequencing issues, voltage spikes and incorrect user configurations. The
Fault Protection & Detection Switches and Multiplexers protect themselves as well as other
components in the chain against these over voltages. The Fault Protection devices will be off
when no power supply is present. The Fault Protection & Detection Switches and
Multiplexers are capable of fault detection and reporting for use in system diagnostics, where
knowing the state of the system is important.
LCD Display
In LCD 16×2, the term LCD stands for Liquid Crystal Display that uses a plane panel display
technology, used in screens of computer monitors & TVs, smartphones, tablets, mobile
devices, etc. Both the displays like LCD & CRTs look the same but their operation is
different. Instead of electrons diffraction at a glass display, a liquid crystal display has a
backlight that provides light to each pixel that is arranged in a rectangular network. Every
pixel includes a blue, red,
green sub-pixel that can be switched ON/OFF. Once all these pixels are deactivated, then it
will appear black and when all the sub-pixels are activated then it will appear white. By
changing the levels of each light, different color combinations are achievable. This article
discusses an overview of LCD 16X2 & it’s working with applications. An electronic device
that is used to display data and the message is known as LCD 16×2. As the name suggests, it
includes 16 Columns & 2 Rows so it can display 32 characters (16×2=32) in total & every
character will be made with 5×8 (40) Pixel Dots. So, the total pixels within this LCD can be
calculated as 32 x 40 otherwise 1280 pixels.

Fig 3.3: Lcd 16 X 2 display

Bc547 Transistor
Bc547 is a NPN transistor hence the collector and emitter will be left open (Reverse biased)
when the base pin is held at ground and will be closed (Forward biased) when a signal is
provided to base pin.

Fig 3.4: Bc547 Transistor


1K Resister

A resistor is a passive two-terminal electrical component that implements electrical resistance


as a circuit element. In electronic circuits, resistors are used to reduce current flow, adjust signal
levels, to divide voltages, bias active elements, and terminate transmission lines, among other
uses. High-power resistors that can dissipate many watts of electrical power as heat may be
used as part of motor controls, in power distribution systems, or as test loads for generators.
Fixed resistors have resistances that only change slightly with temperature, time or operating
voltage. Variable resistors can be used to adjust circuit elements (such as a volume control or
alamp dimmer), or as sensing devices for heat, light, humidity, force, or chemical activity.

Fig 3.5: 1k Resistor

12V 1A Power Adapter

An AC adapter, AC/DC adapter, or AC/DC converter is a type of external power supply,


often enclosed in a case similar to an AC plug. Other common names include wall wart,
powerbrick, wall charger, and power adapter. Adapters for battery-powered equipment may
be described as chargers or rechargers (see also battery charger). The internal circuitry of an
external power supply is very similar to the design that would be used for a built-in or
internal supply.
External power supplies are used both with equipment with no other source of power and with
battery-powered equipment, where the supply, when plugged in, can sometimes charge the
battery in addition to powering the equipment.
Fig 3.6: 12V 1A Power Adaptor
Microcontroller

ATmega328 is an Advanced Virtual RISC (AVR) microcontroller. It supports 8-bit data


processing. ATmega-328 has 32KB internal flash memory. ATmega328 has 1KB Electrically
Erasable Programmable Read-Only Memory (EEPROM). This property shows if the electric
supply supplied to the micro-controller is removed, even then it can store the data and can
provide results after providing it with the electric supply. Moreover, ATmega-328 has 2KB.
Static Random Access Memory (SRAM). Other characteristics will be explained later. AT
mega 328 has several different features which make it the most popular device in today’s
market. These features consist of advanced RISC architecture, good performance, low power
consumption, real timer counter having separate oscillator, 6 PWM pins, programmable Serial
USART, programming lock for software security, throughput up to 20 MIPS etc.

Fig 3.7: ATmega 328 microcontroller


Switch
A switch may refer to one of many different things. For example, it may refer to part of the
physical circuit components that control the flow of signals. It can be a button or lever to turn
a device on or off.
A switch is used in a wired network to connect to other devices using Ethernet cables. The
switch allows each connected device to talk to the others. Wireless-only networks do not use
switches because devices such as wireless routers and adapters communicate directly with one
another

Fig 3.8: Switch

Arduino Working
An Arduino board consists of an Atmel 8-bit microcontroller with complementary components
to facilitate programming and incorporation into other circuits. Official Arduino have used the
mega AVR series of chips, specifically the ATmega8, ATmega168, ATmega328,
ATmega1280, and ATmega2560. Most boards include a 5-volt linear regulator and a 16 MHz
An Arduino microcontroller is also pre-programmed with a boot loader that simplifies
uploading of programs to the on-chip flash memory, compared with other devices that
typicallyneed an external programmer. This allows an Arduino to be used by novices and
experts alike without having to go through the difficulties first faced by many when using
electronics by allowing the use of an ordinary computer as the programmer. At a conceptual
level, when usingthe Arduino software stack, all boards are programmed over an RS-232
serial connection, but the way this is implemented varies by hardware version.
Current Arduino boards are programmed via USB, implemented using USB-to-serial adapter
chips such as the FTDI FT232. When used with traditional microcontroller tools instead of the
Arduino IDE, standard AVR ISP programming is used. Arduino board provides 14 digital I/O
pins, six of which can produce pulse-width modulated signals, and other six analog inputs.
The output or inputs can be taken from the boards or given to the board using convenient
connectors.
Both digital and analog inputs and outputs are available in all Arduino boards. The Arduino
boards can also communicate with other devices using standard communication ports like
USART, IIC, and USB etc.

Pin Description

Fig 3.9: Arduino Board representing all Components

Digital pins:
In addition to the specific functions listed below, the digital pins on an Arduino board can be
used for general purpose input and output via the pinMode(), digitalRead() and digital Write()
commands. Each pin has an internal pull-up resistor which can be turned on and off using
digitalWrite(). When the pin is configured as an input. The maximum current per pin is 40
mA. Analog pins:
In addition to the specific functions listed below, the analog input pins support 10-bit analog-
to- digital conversion using the analogRead() function.
Most of the analog inputs can also be used as digital pins:analog input 0 as digital pin 14
through analog input 5 as digital pin 19.
Analog inputs 6 and 7 – present on the Mini and BT cannot be used as digital pins.I2C: 4 and
5. Support I2C communication using the Wire library.
There are a couple of other pins on the board
AREF:
Reference voltage for the analog inputs. Used with analog Reference ().
Power:
The Arduino Uno can be powered via the USB connection or with an external power supply.
The power source is selected automatically. External power can come either from an AC-to-
DC adapter or battery. The adapter can be connected by plugging a 2.1mm center- positive
plug into the board’s power jack. Leads from a battery can be inserted in the GND and Vin pin
headers of the POWER connector. The board can operate on an external supply of 6 to20 volts.
If supplied with less than 7V, however, the 5V pin may supply less than five volts and the
board may be unstable. If using more than 12V, the voltage regulator may over heat and
damage the board. The recommended range is 7 to 12 volts. The power pins are as follows:
VIN:
The input voltage to the Arduino board when it’s using an external power source as opposed
to 5 volts from the USB connection or other regulated power source. You can supply voltage
through this pin, or, if supplying voltage via the power jack, access it through this pin.
1. GND: Ground pins.
2. 5V: a regulated 5V from the regulator on the board. The board can be supplied with power
either from DC power jack 7-12V, the USB connector 5V, or the VIN pin of the board 7-12V.
Supplying voltage via the 5V or 3.3V pins by passes the regulator
Node MCU working
The ESP8266 is the name of a micro controller designed by Esp8266 if Systems. The
ESP8266 itself is a self-contained Wi-Fi networking solution offering as a bridge from
existing micro controller to Wi-Fi and is also capable of running self-contained applications.
This module comes with a built in USB connector and a rich assortment of pinouts. With a
micro-USB cable, you can connect NodeMCU to your laptop and flash it without any trouble,
just like Arduino. It is also immediately breadboard friendly.
Specification:
 Voltage:3.3V.
 Wi-Fi Direct (P2P), soft-AP.
 Current consumption: 10uA~170mA.
 Flash memory attachable: 16MB max (512K normal).
 Integrated TCP/IP protocol stack.
 Processor: Ten silica L106 32-bit.
 Processor speed: 80~160MHz.
 RAM: 32K + 80K.
 GPIOs: 17 (multiplexed with other functions).
 Analog to Digital: 1 input with 1024 step resolution.
 +19.5dBm output power in 802.11b mode
 802.11 support: b/g/n.
 Maximum concurrent TCP connections: 5.

3.3 BLOCK DIAGRAM


A block diagram is a diagram of a system in which the principal parts or functions are
represented by blocks connected by lines that show the relationships of the blocks. In the
subterranean cord fault detection, the major role is played by the Arduino connecting all the
other devices and nodeMCU acts as a transmission media by which data is collected from the
microcontroller and sent to the website. Relay drivers help to find out the fault in low power
or voltage conditions and relays are the switches that which we are manually using to generate
a fault. So, all this happens when proper power supply is available to device and to the
Arduino which controls other all devices connected to it. All devices are interlinked and when
a fault is found or not, they continuously perform the task of monitoring and give data
frequently.

Fig 3.10: Block Diagram of subterranean cord fault detection


3.4 FLOWCHART
A flowchart is a type of diagram that represents a workflow or process. A flowchart can also
be defined as a diagrammatic representation of an algorithm, a step-by-step approach to
solving a task.
The flowchart shows the steps as boxes of various kinds, and their order by connecting the
boxes with arrows. This diagrammatic representation illustrates a solution model to a
given problem. Flowcharts are used in analyzing, designing, documenting or managing a
process or program in various fields.
Flowcharts are used in designing and documenting simple processes or programs. Like other
types of diagrams, they help visualize what is going on and there by help understand a
process, and perhaps also find less-obvious features within the process, like flaws and
bottlenecks.
Fig: 3.11 Elements of Flowchart
A flow line that shows the program’s order of operation. A line coming from one symbol and
ending at another. Arrow heads are added if the flow is not the standard top to bottom,left to
right.
Terminal is beginning or ending of a program or sub-process. Represented as oval. They
usually contain the word “Start” or “End”.
Process is set of operations that change value, form, or location of data. It is represented as a
rectangle.
Decision is a conditional operation represented in diamond the operation is commonly a Yes/
No question or True/ False test.

Fig 3.12: Flow chart subterranean cord fault detection


CHAPTER – 4
DESIGN
CHAPTER-4
DESIGN

4.1 INTRODUTION
Software design sits at the technical kernel of the software engineering process and is applied
regardless of the development paradigm and area of application. Design is the first step in the
development phase for any engineered product or system. The designer’s goal is to produce a
model or representation of an entity that will later be built. Beginning, once system requirement
have been specified and analyzed, system design is the first of the three technical activities -
design, code and test that is required to build and verify software.
The importance can be stated with a single word “Quality”. Design is the place where quality
is fostered in software development. Design provides us with representations of software that
can assess for quality. Design is the only way that we can accurately translate a customer’s
view into a finished software product or system. Software design serves as a foundation for all
the software engineering steps that follow. Without a strong design we risk building an
unstable system – one that will be difficult to test, one whose quality cannot be assessed until
the last stage.

4.2 UML DIAGRAM


Unified Modelling Language is popular for its diagrammatic notations. Any complex system
can be easily understandable by making pictures or diagrams. These diagrams have a better
impact on our understanding in a better and simple way.
To understand the UML, you need to form a conceptual model of the language, and this
requires learning three major elements: the UML’s basic building blocks, the rules that dictate
how those building blocks may be put together, and some common mechanisms that apply
throughout blocks may be put together, and some common mechanisms that apply throughout
the UML. Once you have grasped these ideas, you will be able to read UML models and
create some basic ones. As you gain more experience in applying the UML. You can build on
this conceptual model, using more advanced features of the language.

Use case Diagram


A use case diagram is a dynamic or behavior of diagram in UML. Use case diagrams model
the functionality of a system using actors and use cases. Use cases are a set of actions,
services, and functions that the system needs to perform. In the use case diagram, we make
use of use cases i.e., the scenarios and actors i.e., the people. Since there is a flow between
every use case with a relationship of include. The use cases defined follow from the
monitoring system to the
evaluation and fault repairing. The output of each phase acts as an input to the other use cases.

Fig 4.1: Use case diagram of subterranean cord fault detection

Sequence Diagram
A sequence diagram emphasizes the time ordering of messages. A type of interaction
diagram, a sequence diagram shows the actor of objects participating in an interaction and
the events they generate arranged in a time sequence. Often, a sequence diagram shows the
event that result from a particular instance of a usecase, but a sequence diagram can also
exist in a more generic form. In the subterranean cord fault detection system, the interaction
between the system follows a sequence of steps in a process in three different ways. A
monitoring system is used for detecting the faults which then interacts with a tracking system
and then gives the input data to the base station or blynk console where we can see the faults.
In the monitoring system, there is continuous evaluation of the hardware device for every
millisecond and an update is given to the tracking system for faults. If a fault is detected, then
an update is sent to the website which acts as a base station for the user because it has a
direct interactionwith the end user. So, now the fault generated has to be resolved and this
change can be monitored again by continuous evaluation in the system.
Fig 4.2 Sequence diagram of subterranean cord fault detection

Class Diagram
The Class diagram in our project represents the static view of an application. The class
diagram describes the attributes and operations of a class and the constraints imposed on the
system. It is the most popular UML diagram in the coder community. Class diagram is not
only used for visualizing, describing, and documenting different aspects of a system but also
for constructing executable code of the software application.
The various hardware devices that are used in this project have a direct interaction with all
the devices in a generalized form. The interaction of the devices starts with a power supply
to the set up and Arduino comes into action, and the system gets enabled.
The continuous monitoring of faults is done with the help of microcontroller that is
connected to the relay driver in an indirect manner. The output of the microcontroller is
given as an input to the NodeMCU which acts as a transaction medium, and it shows the
faults in the hardware kit on a lcd display and also sends the data to the blynk cloud which
shows the faults for the end user. This is how all the hardware components interact and
follow a process flow.
Class diagrams are the blueprints of your system or subsystem. You can use class diagrams to
model the objects that make up the system, to display the relationships between the objects,
and to describe what those objects do and the services that they provide. Class diagrams are
useful
in many stages of system design.

Fig 4.3: Class diagram of subterranean cord fault detection

4.3 MODULE DESIGN AND ORGANIZATION


Software design sits at the technical kernel of the software engineering process and is applied
regardless of the development paradigm and area of application. Design is the first step in the
development phase for any engineered product or system. The designer’s goal is to produce a
model or representation of an entity that will later be built. Beginning, once system
requirement has been specified and analyzed, system design is the first of the three technical
activities - design, code and test that is required to build and verify software. The importance
can be stated with a single word “Quality”. Design is the place where quality is fostered in
software development. Design provides us with representations of software that can assess for
quality. Design is the only way that we can accurately translate a customer’s view into a
finished software product or system. Software design serves as a foundation for all the
software engineering steps that follow. Without a strong design we risk building an unstable
system – one that will be difficult to test, one whose quality cannot be assessed until the last
stage.
Input Design
The input is link between the information system and user.
Initially Wi-Fi module has been tested by connecting to the Arduino Uno.
1. The connection between the Microcontroller and Arduino Uno.
2. The connection between the Arduino Uno and NodeMCU.
3. The connection between NodeMCU and Blynk.

Fig 4.4: Connection between Arduino and Microcontroller

Fig 4.5: Connections between microcontroller and NodeMCU


Fig 4.6: Arduino uno connections
Output Design
Along with this an additional Bulb was added which turns on when the there is no fault.
When there is a fault, the bulb turns off and in the blynk application dashboard we will be
able to see the type of fault and the distance associated to the fault. This helps for easy
identification and monitor the hardware devices.

Screen 9: Message in the Blynk console


Fig 4.7: Open loop fault

Fig 4.8: Line to Ground Faults


Fig 4.9 : power off condition
CHAPTER – 5
IMPLEMENTATION &
RESULT
CHAPTER-5
IMPLEMENTATION &
RESULTS

5.1 INTRODUCTION
Implementation is the stage of the project when the theoretical design is turned out into a
working system. Thus, it can be the most critical stage in achieving a successful new system
and in giving the user, confidence that the new system will work and effective. The
implementation stage involves careful planning, investigation of the existing system and its
constraints on implementation, designing of methods to achieve change over.

5.2 EXPLANATION OF KEY FUCTIONS


 Void setup (): Will be executed only when the program begins or (reset button is
pressed).
 Void loop (): Will be executed repeatedly.

5.3 METHOD OF IMPLEMENTATION


Here we are implementing two different modules for hardware i.e. Arduino and NodeMCU.
Arduino computes data and NodeMCU transfers the data. The main implementation of
Arduino and NodeMCU is as follows:
5.3.1 Arduino IDE
Arduino code for collecting the
data #include <LiquidCrystal.h>
const int rs = 13, en = 12, d4 = 11, d5 = 10, d6 = 9, d7 = 8;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup()
{
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(7, INPUT);
pinMode(6, INPUT);
pinMode(5, INPUT);
digitalWrite(4, LOW);
digitalWrite(3, LOW);
digitalWrite(2, LOW);
Serial.begin(9600);
lcd.begin(16, 2);
lcd.print(" VIGNAN'S INSTITUTE OF ENGINEERING FOR WOMEN");
lcd.setCursor(0, 1);
lcd.print("IT - DEPARTMENT");
delay(3000);
lcd.clear();
lcd.print(" LtoL-LtoG-LtoO ");
lcd.setCursor(0, 1);
lcd.print(" CABLE FAULT LOCATOR ");
delay(3000);
lcd.clear();
}
void loop()
{
sensor1 = analogRead(A2); //RED
sensor2 = analogRead(A3);
//YELLOW sensor3 =
analogRead(A4); //BLUE
sensor4 = analogRead(A0); //RED-YELLOW
sensor5 = analogRead(A1); //YELLOW-BLUE
cdata = cdata + sdata1 + "," + sdata2 + "," + sdata3 + "," + sdata4 + "," + sdata5 + "," + sdata6
+ "," + sdata7 + "," + sdata8 + "," + sdata9;
Serial.println(cdata);
delay(1000); // 1000 milli
seconds cdata = "";
if ( (sensor1 >= 675) && (sensor1 <= 690))
{
sdata1 = 2;
sdata4 = 0; //indication of
faults lcd.setCursor(0, 0);
lcd.print("LtoG");
lcd.setCursor(0, 1);
lcd.print("R-2K");
delay(500);
digitalWrite(4, HIGH);
}
if ( (sensor1 >= 900) && (sensor2 >= 900) && (sensor3 >= 900) && (sensor4 >= 900) &&
(sensor5 >= 900) && digitalRead(7) == LOW && digitalRead(6) == LOW &&
digitalRead(5)
== LOW )
{
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("R-NF Y-NF B-
NF"); delay(500);
digitalWrite(4, LOW);
digitalWrite(3, LOW);
digitalWrite(2, LOW);
sdata1 = 0;
sdata2 = 0;
sdata3 = 0;
sdata4 = 255;
sdata5 = 255;
sdata6 = 255;
sdata7 = 0;
sdata8 = 0;
}
}

Screen 10: Arduino code compilation


5.3.2 NodeMCU code
#define BLYNK_TEMPLATE_ID "TMPLoHQm1vRL"
#define BLYNK_DEVICE_NAME "IoT cable fault detection"
#define BLYNK_AUTH_TOKEN "e9QzNBu_8u38Tf_aq5efX0mkRgVsvUIz"
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h> //provides access to the
microcontroller #include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h> //measurement of time
events SimpleTimer timer;
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Itsmeee"; // Enter your Wifi Username
char pass[] = "123@Nivas"; // Enter your Wifi password
String myString; // complete message from arduino, which consistors of snesors
data char rdata; // received charactors
int firstVal,secondVal,thirdVal,fourthVal,fifthVal; //
sensors void myTimerEvent()
{
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V1, millis() / 1000); //v is all about virtual pin used for represntaion
}
void setup()
{
Serial.begin(9600);
delay(100);
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L,sensorvalue1);
timer.setInterval(1000L,sensorvalue2);
timer.setInterval(1000L,sensorvalue3);
timer.setInterval(1000L,sensorvalue4);
void loop()
{
if (Serial.available() == 0 ) //check for number of characters in the serial buffer
{
Blynk.run();
timer.run();
}
if (Serial.available() > 0 )
{
rdata = Serial.read();
myString = myString+
rdata;
// Serial.print(rdata);
if( rdata == '\n')
{
// Serial.println(myString);
String l = getValue(myString, ',', 0);
String m = getValue(myString, ',', 1);
String n = getValue(myString, ',', 2);
String o = getValue(myString, ',', 3);

firstVal =
l.toInt(); secondVal =
m.toInt(); thirdVal =
n.toInt(); fourthVal =
o.toInt();
myString = "";
}
}
}
void sensorvalue1()
{
int sdata = firstVal;
// You can send any value at any time.
// Please don't send more that 10 values per
second. Blynk.virtualWrite(V2, sdata);
}
String getValue(String data, char separator, int index)
{
int found = 0;
int strIndex[] = { 0, 1 };
int maxIndex = data.length() - 1;

for (int i = 0; i <= maxIndex && found <= index; i++)


{ if (data.charAt(i) == separator || i == maxIndex) {
found++;
strIndex[0] = strIndex[1] + 1;
strIndex[1] = (i == maxIndex) ? i+1 :
i;
}
}
return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
}

Screen 11: NodeMCU compilation

5.4 OUTPUT SCREENS

Screen 12: Blynk console set up


5.5 RESULT ANALYSIS
The result obtained in this system is based on the manual fault that is created which can be
viewed on the LCD display and the Blynk console or Blynk mobile dashboard.

Screen 13: Blynk console

Fig 5.1: Bulbs turned on when there are no faults


Fig 5.2: bulb turned off when there is fault in specific line

Fig 5.3: Connections


CHAPTER – 6
TESTING &
VALIDATION
CHAPTER-6
TESTING AND
VALIDATION

6.1 INTRODUCTION
Testing is a critical element of software quality assurance and represents the ultimate review
of specification design and coding. Testing is the process where that test data is prepared and is
used for testing the modules individually and later the validations given for the fields. Then
the testing takes place, which make sure that all components of the system properly function
as a unit by trying to force the system to fail. Testing is best performed when employee
departments are asked to assist in identifying all possible situations that might arise.
a) Testing is a process of executing a program with the intent of finding an error.
b) A good test is one that has high probability of finding an as-yet undiscovered error.
c) A successful test is one that uncovers as-yet undiscovered error.
All tests should be planned long before. Testing should begin “in the small” and progress
toward testing “in the large”. The first tests planned and executed generally focus on
individual program modules. As testing progresses, testing shifts focus in an attempt to find
errors in integrated clusters modules of ultimately in the entire system. Testing of the
debugged program is one of the most critical aspects of computer programming because
without that work, the system will never produce the output for which it is designed. The
philosophy behind testing is to find errors. Hence as successful test is a one that fined errors.
Testing is the state of implementation that is aimed at ensuring that the system works
accurately and efficiently before live operation commences. Any engineered product can be
tested in one of the two ways.
User Interface Testing
The data that is given by the user should lie on the particular range. When the employee given
wrong data, the system will give error message. According to this, the program was
developed. The value of the data should fall on the given range of value. The following are
some of the testing strategies that are carried out during the testing period.
Code Testing
This examines the logic of the program. For example, the logic for calculating profit, rate
taking the percentages entered by employee was tested and verified with the data that was
carried out. 1.Specification Testing
Executing the specification starting what the program should do and how it should perform
under various conditions. Test cases for various situations and combination of condition in all
the modules were tested.
2. Module Testing
To locate errors, focus is given on the modules, independent of other modules. This is known
as module testing. This enables us to detect error and correct it without affecting any other
modules. Whenever the program was not executing the required function, it was corrected to
get required results. Thus, all the modules are tested from bottom to up starting with the
smallest and lowest level modules and proceeding to next level.
3. System Testing
Once individual module testing is completed, modules are assembled and integrated to
perform as a system. Then the top-down testing begins from upper-level to lower-level
module testing was carried out to check whether the entire system is performing satisfactorily.
This is the test done for the whole system integration after completion of the module testing.
4. Test Data and Output
For all types to tests, dummy data were keyed in and after the testing was over live data were
keyed in from the source documents and concerned Department people were followed to key
in and work on the system.
5. Unit Testing
Unit testing focuses verification efforts on the smallest unit of software design the module.
The unit test is always white box oriented, and the step conducted in parallel for multiple
modules. 6.Integration Testing
Integration testing is a systematic technique for constructing the program structure while at
the same time conducting tests to uncover errors associated with interfacing. The objective is
to take unit tested modules and build a program structure that has been dictated by the design.
7. Top–Down Integration
It is an incremental approach to the construction of program structure. Modules are integrated
by moving downward through the control hierarchy, beginning with main control. Modules
subordinate to the main control modules are incorporated into the structure in either depth first
or breadth first manner.
8. Bottom-Up Integration
Bottom-up integration, as suggests, begins construction and testing atomic modules. Since
are integrated from bottom up, processing required for modules subordinates to a given level
is always available and the need for stubs is eliminated.
9. Validation Testing
At the culmination of integration testing, software is completely assembled as a package,
interfacing errors have been uncovered and corrected, and a final series of software testing
validation testing may begin. Validation succeeds when the software function in a manner
that can be reasonably accepted by a customer.
10. Acceptance Testing
Acceptance test is conducted to enable the customer to validate all requirements. It can range
from an informal test drive to a planned and systematically executed series of tests. Alpha
and beta testing at the developer site. The software is used in a natural setting with the
developer. These tests are conducted sites by the software in an environment, which cannot
be controlled by the developer. The function or performance characteristics conform to the
specification and are accepted. A deviation from specification is uncovered and deficiency
list is created. The validation test was carried out on all modules. Most of the characteristics
conformed to the specifications and where a deviation was encountered the appropriated
during software development.

6.2 DESIGN OF TESTCASES AND SCENARIOS


TEST CASE 1: Test Case for Arduino Setup
Test objective: To verify functionality of Arduino without any faults in cableTest description:
Arduino setup Requirements verified: yes
Test environment: Arduino IDE
Expected result: The bulbs should be lighted, and the screen of LCD displays NF defines no
fault.
Actual result: The bulbs should be lighted, and the screen of LCD displays NF defines nofault.
Test status: pass
TEST CASE 2: Test Case for Arduino Setup
Test objective: To verify functionality of Arduino with faults in cableTest description:
Arduino setup Requirements verified: yes
Test environment: Arduino IDE
Expected result: The bulbs should be turned off and the screen of LCD displays F along with
the distance in terms of KM.
Actual result: The bulbs should be turned off and the screen of LCD displays F along with the
distance in terms of KM.
Test status: pass
6.3 VALIDATION

Fig 6.1: when no fault in the line

Fig 6.2: When no fault is detected in hardware kit


Fig 6.3: When fault occurs in any line
CHAPTER – 7
CONCLUSION
CHAPTER-7
CONCLUSION

In this project on Underground cable fault detection using Arduino was done and the distance
of the fault from the base station in kilometers was displayed for the three individual phases
R,Y and B.Circuit can be tested with different resistor values to simulate various fault
conditions in this project faults up to a distance of 6 km can be detected. When the fault
switches are operated to fault condition then the phase corresponding to that particular switch
is considered as the faultyphase. So, the faulty section can easily be located. In this project we
are focusing on detection of line-line, line-ground and open loop faults that occur in circuits.
As an extension to this project helps in finding different kinds of faults as a future
enhancement to this, we can extendit for finding out faults by using buzzer sound.
Since there is advancement in technology in many areas, we can make use of line testing
robots which can easily identify the faults and help the repairmen to find out and fix the
faults.In other cases, robots can themselves repair the fault that occurs in cords.
REFERENCES

1. “Underground Cable Fault Location”,B. Clegg. New York: McGraw- Hill, 1993.
2. “A line to ground fault location algorithm for underground cable system”, M.-S. Choi, D.-
S. Lee, and X. Yang. KIEE Trans. Power Eng., pp. 267–273, Jun. 2005
3. “Computerized underground cable fault location expertise”, E. C. Bascom .in Proc. IEEE
Power Eng. Soc.General Meeting, Apr. 10–15, 1994, pp. 376–382. J.
4. “A Treatise on Electricity and Magnetism, 3rded, vol. 2”, Clerk Maxwell. Oxford:
Clarendon, 1892, pp.68–73.
5. “Detection of incipient faults in distribution underground cables”,T. S. Sidhu and Z. Xu,
IEEE Trans. Power Del., vol. 25, no. 3, pp. 1363–1371, Jul. 2010.
6. “Detection of Incipient Faults in Distribution Underground Cables”, IEEE Transactions on
Power Delivery, Tarlochan S. Sidhu, ZhihanXu, Vol. 25, NO. 3, JULY 2010.
7. “Locating Underground Cable Faults: A Review and Guideline for New Development”,
Md. Fakhrul Islam, Amanullah M T Oo, Salahuddin. A. Azad1. 2013 IEEE.

You might also like