0% found this document useful (0 votes)
391 views

Microcontroller Based Power Transformer Protection System

This document describes Allan Omondi Ochieng's final year project for a Bachelor of Science in Electrical and Electronic Engineering at the University of Nairobi. The project involves designing a microcontroller-based power transformer protection system that can detect currents above normal operating levels and isolate the transformer from the distribution line to prevent overheating and damage. A current sensor interfaces with a PIC16F690 microcontroller to monitor currents. Relays and contactors controlled by the microcontroller isolate the transformer if an overcurrent fault is detected. An LCD, LEDs, and buzzer provide output and alerts. Simulation software was used to test the design before hardware implementation.

Uploaded by

Fuh Vallery
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
391 views

Microcontroller Based Power Transformer Protection System

This document describes Allan Omondi Ochieng's final year project for a Bachelor of Science in Electrical and Electronic Engineering at the University of Nairobi. The project involves designing a microcontroller-based power transformer protection system that can detect currents above normal operating levels and isolate the transformer from the distribution line to prevent overheating and damage. A current sensor interfaces with a PIC16F690 microcontroller to monitor currents. Relays and contactors controlled by the microcontroller isolate the transformer if an overcurrent fault is detected. An LCD, LEDs, and buzzer provide output and alerts. Simulation software was used to test the design before hardware implementation.

Uploaded by

Fuh Vallery
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 77

UNIVERSITY OF NAIROBI

FINAL YEAR PROJECT

DEPARTMENT OF ELECTRICAL AND INFORMATION ENGINEERING

MICROCONTROLLER BASED POWER TRANSFORMER PROTECTION


SYSTEM
PROJECT NO: 009

By

OCHIENG ALLAN OMONDI

REG. NO: F17/1365/2010

SUPERVISOR: PROF. ELIJAH MWANGI

EXAMINER: DR. G.N KAMUCHA

A PROJECT REPORT SUBMITTED TO THE DEPARTMENT OF ELECTRICAL AND

INFORMATION ENGINEERING IN PARTIAL FULFILLMENT OF THE

REQUIREMENTS OF THE DEGREE OF BACHELOR OF ELECTRICAL AND


ELECTRONIC ENGINEERING OF THE

UNIVERSITY OF NAIROBI

APRIL, 2015
i
DECLARATION OF ORIGINALITY FORM

Name of Student ALLAN OMONDI OCHIENG

Registration Number F17/1365/2010

College ARCHITECTURE AND ENGINEERING

Faculty/School/Institute ENGINEERING

Department ELECTRICAL END INFORMATION ENGINEERING

Course Name BACHELOR OF SCIENCE IN ELECTRICAL AND ELECTRONIC


ENGINEERING

Title of the work DESIGN OF A MICROCONTROLLER BASED POWER TRANSFORMER


PROTECTION

DECLARATION

1. I understand what Plagiarism is and I am aware of the Universitys policy in this regard

2. I declare that this final year project is my original work and has not been submitted elsewhere
for examination, award of a degree or publication. Where other peoples work, or my own work
has been used, this has properly been acknowledged and referenced in accordance with the
University of Nairobis requirements.

3. I have not sought or used the services of any professional agencies to produce this work

4. I have not allowed, and shall not allow anyone to copy my work with the intention of passing

it off as his/her own work

5. I understand that any false claim in respect of this work shall result in disciplinary action, in

accordance with University Plagiarism Policy.

Signature _______________________________________________

Date ___________________________________________________

i
Acknowledgement

First and foremost, I thank the Almighty God for His guidance throughout my studies in the
University of Nairobi and the completion of this project.

I am very grateful to my supervisor Professor Elijah Mwangi for his guidance throughout this
project. The sessions that I had with professor inspired me to work harder every time we met.

I also thank the Department of Electrical and Information Engineering and my lecturers for
instilling in me the knowledge that has brought me this far.

Finally, I am grateful to all my classmates and friends who contributed to the success of my
studies in one way or another. I specifically thank Mr. Shaban Otaro, Mr Benard Osawa, and
Awino Felix for being so great friends and brothers.

ii
Dedication

This project is dedicated to my family for their support throughout my academic life. I am
grateful to my brothers Paul, Dan and Ken for always providing a listening ear whenever I was in
need. Lastly to my friend Joy for always being the supportive friend that God gave me.

iii
ABSTRACT

The main intention of this project is to design a microcontroller based system that can be used in
power transformer protection. The system checks the operating parameters of the transformer i.e.
current and reports the quantity that is flowing through the transformer. The system is designed
such that it is able to detect currents above the normal operating level and isolate the power
transformer from the distribution line. This isolation process is to ensure that the transformer is
safe from any excess current levels that can make it to overheat thus get damaged. It gives a
solution to the need to reduce cost of maintenance and ensure that supply of electricity to
consumers is not interrupted for long periods taken while repairing or replacing destroyed
transformers.

A current sensor ACS712x series has been used in this project as the interfacing instrument
between the power transformer and the PIC16F690 microcontroller. The PIC16F690 controls all
operations that the device does. A relay and a contactor have been used as the switching gears to
isolate the transformer from the power system in case a fault occurs. A monochrome LCD has
been used to show system current readings and indicate cases of over-current fault. To warn an
operator of a fault occurrence, LEDs and a piezoelectric buzzer have been used. All these
peripheral devices depend on the microcontroller to make them operate or otherwise. Some of
the tools used in this project include MPLAB - programming software used to write the program
for the microcontroller used in this project. Proteus- simulation software has also been used to
test whether the design works appropriately before its implementation on hardware. Pickit3- has
been used to load program into the microcontroller using MPLAB.

iv
ACRONYMS AND ABBREVIATIONS
PIC Programmable Intelligent Controller

LCD Liquid crystal Display

GND Ground

ASCII American Standard Code for Information Exchange

LED Light emitting diode

MOS Metal oxide semiconductor

GSM Global System for Mobile

PCB Printed circuit board

CT Current transformer

RAM Random access memory

ROM Read only memory

AC Alternating Current

DC Direct Current

ADC Analogue to Digital Converter

CPU Central Processing Unit

CMOS Complementary metal oxide semiconductor

IC Integrated circuit

ACS Allegro current sensor

MSB Most significant bit

LSB Least significant bit

v
LIST OF TABLES

TABLE 3.1 Properties of PIC16F690 .......................................................................................................................16


TABLE 3.2 LCD pins description ..............................................................................................................................17
TABLE 3.3 LCD Instructions [15].............................................................................................................................18
TABLE 3.4 HD44780 instruction set .......................................................................................................................19

TABLE 4.1 Microcontroller Pin Usage ....................................................................................................................22


TABLE 4.2 Bank selection bits ................................................................................................................................29
TABLE 4.3 Value of each bit in Volts and Amperes ................................................................................................37

TABLE 5.1 SIMULATED RESULTS ............................................................................................................................39

vi
TABLE OF FIGURES

Figure2.1 Generation, transmission and distribution of electrical power [2]. .............................. 3


Figure2.2 power system protection [3] ......................................................................................... 4
Figure2.3 unit protection [4] ......................................................................................................... 5
Figure2.4 non-unit protection [4] .................................................................................................. 5
Figure2.5 circuit breaker [4] ......................................................................................................... 6
Figure2.6 Station battery [1] ......................................................................................................... 6
Figure2.7 Electro-magnetic induction [6] ..................................................................................... 8
Figure2.8 Photo of a power transformer [4] ................................................................................. 9
Figure2.9 waveform of a magnetizing inrush current [4] ........................................................... 10
Figure2.10 over-excitation waveform (4) ..................................................................................... 10
Figure2.11 CT Saturation curve [7] .............................................................................................. 11
Figure2.12 Differential protection Scheme [7] ............................................................................. 12
Figure2.13 Restricted Earth Fault Protection [5] .......................................................................... 12
Figure2.14 Over current Phenomenon [9] .................................................................................... 13
Figure2.15 Over current Protection Relay [9] .............................................................................. 13

Figure3.1 microcontroller architecture [5] ________________________________________ 14


Figure3.2 microcomputer memory organization [11] _______________________________ 15
Figure3.3 PIC16F690 Pin diagram [6] ____________________________________________ 15
Figure3.4 The structure of an LCD [15]___________________________________________ 16
Figure3.5 LCD pin arrangement [5] _____________________________________________ 17
Figure3.6 Allegro Microsystems ACCS712 Series ___________________________________ 19
Figure3.7 Current sensor functional block diagram [16]._____________________________ 21
Figure3.8 Relay circuit [17] ____________________________________________________ 21

Figure4.1 microcontroller-LCD interface as done in the simulation software ......................... 23


Figure4.2 microcontroller-LED connection .............................................................................. 24
Figure4.3 microcontroller-relay interface as done on the simulation software........................ 25
Figure4.4 microcontroller-sensor interface as done on the simulation software ..................... 26
Figure4.5 flow chart of the program ......................................................................................... 28
Figure4.6 the Status register ..................................................................................................... 29
Figure4.7 ADCON1 Register..................................................................................................... 29
Figure4.8 The ANSEL register .................................................................................................. 31
Figure4.9 ADCON1 Register..................................................................................................... 31
Figure4.10 Left justification format............................................................................................. 33

vii
Figure4.11 ADC output against input voltage [12] .................................................................... 36

Figure5.1 graph of line current against current display .............................................................. 40


Figure5.2 Relay closed Green blinks .......................................................................................... 41
Figure5.3 LCD Display ............................................................................................................... 41
Figure5.4 Relay Open, Red LED blinking.................................................................................. 42
Figure5.5 Over current Fault....................................................................................................... 42
Figure5.6 Normal transformer operation .................................................................................... 43
Figure5.7 current level approaching fault level .......................................................................... 44
Figure5.8 over current fault ........................................................................................................ 44

viii
TABLE OF CONTENTS

DECLARATION OF ORIGINALITY FORM ................................................................................................................. I


ACKNOWLEDGEMENT ........................................................................................................................................ II

DEDICATION ..................................................................................................................................................... III


ABSTRACT ......................................................................................................................................................... IV

ACRONYMS AND ABBREVIATIONS ...................................................................................................................... V


TABLE OF FIGURES ........................................................................................................................................... VII

CHAPTER 1: INTRODUCTION ............................................................................................................................... 1


1.1 BACKGROUND .....................................................................................................................................................1
1.2 PROBLEM STATEMENT ........................................................................................................................................2
1.3 OBJECTIVES .........................................................................................................................................................2
1.4 SCOPE WORK .......................................................................................................................................................2

CHAPTER 2: LITERATURE REVIEW ....................................................................................................................... 3

2.1 ELECTRIC POWER SYSTEM ..........................................................................................................................................3


2.2 POWER SYSTEM PROTECTION ......................................................................................................................................4
2.2.1 Importance of power system protection ..............................................................................................4
2.2.2 Types of protection systems .......................................................................................................................5
2.2.3 Power Protection elements ...................................................................................................................6
2.2.4 Functional requirement of a protection relay ......................................................................................7
2.3 TRANSFORMER PROTECTION .......................................................................................................................................7
2.3.1 Causes of fault in power transformer ...................................................................................................9
TRANSFORMER PROTECTION SCHEMES...............................................................................................................................9
CHAPTER 3: REVIEW OF COMPONENTS USED .................................................................................................14
3.1 THE PIC16F690 MICROCONTROLLER .........................................................................................................................14
3.2 LIQUID CRYSTAL DISPLAY .........................................................................................................................................16
3.3 CURRENT SENSOR ...............................................................................................................................................19
3.4 RELAY ..................................................................................................................................................................21
3.5 CONTACTOR ......................................................................................................................................................21

CHAPTER 4: DESIGN ..........................................................................................................................................22


4.1 HARDWARE DESIGN ..........................................................................................................................................22
4.1.1 Interfacing LCD to the microcontroller ....................................................................................................22
A) LEDS ...............................................................................................................................................................23
B) AUDIO ALERT ....................................................................................................................................................25
C) RELAY/CONTACTOR CONTROL ...............................................................................................................................25
4.1.3 Sensor interfacing to the microcontroller ................................................................................................26
4.1.4 The Oscillator ............................................................................................................................................26
4.1.6 PCB design ................................................................................................................................................27
4.2 SOFTWARE DESIGN ...........................................................................................................................................27
4.2.1 ADC Program ............................................................................................................................................28

ix
4.2.2 LCD DISPLAY..............................................................................................................................................34
4.2.3 Relay and Fault Signals ............................................................................................................................37
CHAPTER 5: RESULTS AND ANALYSIS .................................................................................................................39

5.1 SIMULATED RESULTS ...............................................................................................................................................39


5.2 ANALYSIS ..............................................................................................................................................................40
5.3 RESULTS AFTER IMPLEMENTATION .............................................................................................................................42
CHAPTER 6: CONCLUSION AND RECOMMENDATINS ..........................................................................................46
6.2 LIMITATIONS AND FUTURE RECOMMENDATIONS ...........................................................................................................47

APENDIX A: CIRCUIT DESIGN .............................................................................................................................48


APENDIX B: PIC16F690 ARCHITECTURE ..............................................................................................................49

APENDIX C: ASSEMBLY LANGUAGE ....................................................................................................................51


APENDIX D: BILL OF MATERIALS ......................................................................................................................... 2

REFERENCES....................................................................................................................................................... 3

x
CHAPTER 1: INTRODUCTION

1.1 BACKGROUND
In the design of electrical power transmission and distribution system, there are various factors
that need to be considered in the quest to satisfy the needs of electricity consumers. Electrical
power systems experience faults at various times due to various reasons. These faults must be
foreseen and safety precautions applied to the power system. The power systems engineer must
include in his design, safety measures in order to avert any destructive occurrences that the
system may undergo at any given time. Power system protection is very essential and necessary
for a dependable electrical power supply. It ensures that the system is protected from itself and
that the consumer is also safe as he benefits from the electrical power supply. An electrical
power system consists of various components such as generators, switches, transmission cables,
transformers, capacitor banks among other components. It cannot therefore operate without an
effective protective device to keep these components safe and the system stable. Faults in a
power system refer to the undesired conditions that occur in the electrical power system. These
conditions may include short circuit, over current, overvoltage, high temperatures among others.

It is clear that over time, there has been an increase in human population, economic growth and
technological advancement. This has continuously made the demand for electrical power to go
high because as technology, human population and economy grows; there is an increase in
demand for power as many more electrical loads are introduced into the supply line. An increase
in load leads to a lot of current drawn from the power line. At times the demand goes above what
the power distributor can supply. The consequence of this is that electrical power overload cases
become common thus posing danger to power system components. This therefore throws in the
need for devices that can monitor the rate of power consumption in accordance with the level
that a given system is designed to sustain. Such a device must be designed to cut off
consumption if the system oversteps its ability thus being dangerous to users and the
components. In this project, we look at the protection of power transformer from various faults
that may occur and may be destructive to the component if left undetected. The transformer is a
very important component in an electrical power system as distribution of electrical power to
consumers is more efficiently effected. Every transformer is designed to comfortably supply a
given load. Cases of overload or short circuits can lead to transformer being damaged. To
combat such occurrence, an elaborate system that monitors these excesses in supply parameters
needs to be built. Such a device controls the flow of electrical power to the load so that the
transformer is not overworked. Over current relays and overvoltage relays have been used for a
long period of time and have been electromechanically controlled. In this system, a
microcontroller is used to monitor cases of electrical faults and communicate to a switch to
isolate the transformer from the system.

1
1.2 PROBLEM STATEMENT
Power system protection is a very important consideration in the design of an electrical power
system. There is need to protect electrical power components from dangerous faults. This is
warranted by the need to increase the life of the components, avoid unnecessary expenditure in
frequent replacement of obsolete components and to ensure that there is a continuous supply of
power to serve the needs of the ever growing economy. This project therefore seeks to design a
microcontroller based system that will intelligently monitor faults and prompt a safety measure
to protect the power transformer in case of power overload.

1.3 OBJECTIVES
The main objective of this project is to design and implement a system that uses microcontroller
and other peripheral devices to protect power transformer. To achieve this the following must be
done.

a) Design and build an over current relay using PIC microcontroller and a current sensor
b) Development, analysis and calibration of the current sensor.
c) Development of the ADC program to convert the analogue sensor output to equivalent
digital form within the PIC microcontroller.
d) Development of the LCD program to display the sensed levels.
e) Development of warning (audio and visual) and relay control system program.

1.4 SCOPE WORK


The investigation carried out in this project is limited to power transformer protection methods.
The extent of the work is to build a device that detects current spikes/overload in the primary and
secondary sides of a single phase transformer and isolate it from the power system.

2
CHAPTER 2: LITERATURE REVIEW

2.1 Electric Power system


An electric Power system refers to a network that constitutes electrical components/machines
used in the supply, transmission and consumption of electric power [1]. The diagram below
illustrates a complete electric power system. It involves generation, transmission and distribution
of electric power to various categories of consumers. The generation plant is normally located far
from the load centre. There are different levels of electric power consumption depending on the
purpose for which a consumer uses electricity. Electrical power consumers may be industrial,
commercial or domestic. These consumers require different levels of electric power supply. In
order to meet their specific needs, certain devices that adjust the voltage levels accordingly have
to be used. Some of those components include: step up and step down transformers, capacitor
banks, protective devices etc.

Figure2.1 Generation, transmission and distribution of electrical power [2].


3
2.2 Power system protection
A branch of electrical power engineering that deals with protection of Power system from faults
is known as power system protection. It does this by isolating the faulted parts of the system
from the rest of healthy electrical network [3]. The diagram below shows a model of a power
protection system.

Figure2.2 power system protection [3]

The main aim of power system protection scheme is to switch off a section that is faulty in the
system from the remaining live system. This ensures that the remaining portion is able to
function satisfactorily locking out chances of damage that may be caused by fault current.

A circuit breaker closes automatically as a result of trip signals it receives from the relay
whenever a fault is detected. The basic philosophy of a power protection system is that system
faults cannot be prevented from flowing in the system but can be stopped from spreading in the
system.

2.2.1 Importance of power system protection


Occurrence of fault is hazardous to both electric power user and the electric system itself. To the
user, life is of most important concern. The main concern of the system is to ensure a stable
supply of electric power to consumer and to ensure that the electrical components do not get
destroyed. In summary, power protection is necessary to:

a) User/Personnel- ensure safety i.e. Prevent injury/accident.


b) Electrical equipment - to protect the equipment from cases of over current,
overvoltage and frequency drift that can destroy the equipment.
c) General Safety -Prevent secondary accidents that occur as a result of system fault
like fire.

4
d) Power Supply Stability- Ensures a continuous and stable supply of electrical
power.
e) Operation Cost -Ensure optimal operating efficiency so as to reduce equipment
maintenance/replacement cost

2.2.2 Types of protection systems


Implementation of power system protection can be done in two ways. These are: the unit
protection and non-unit protection [1].

Unit Protection

The unit protection scheme protects a definite\discrete zone bounded by the protection system.
Differential relay protection is normally employed in this scheme. This is illustrated in Figure 2-
3

Figure2.3 Unit protection [4]

Non-Unit Protection

The Non-Unit protection protects a system\zone and can overlap with another protection zone in
the system. This scheme ensures an isolation of the entire circuit (a larger area) in case a fault
occurs as illustrated in figure 2-4

Figure2.4 Non-unit protection [4]


5
2.2.3 Power Protection elements
There are 4 types of these elements, namely instrument transformers, switchgears, protective
gears and station batteries.

Instrument transformers: these include current transformers and voltage transformers.


Instrument transformers step down current and voltage from the power line to level that
can be measured safely.
Switchgears: switchgears basically include circuit breakers. Circuit breakers are the main
part of a protection system. They break contacts of the system in case of a fault. They
include minimum oil, bulk oil, SF6 , vacuum and air blast circuit breakers. Mechanisms of
operation of circuit breakers include: hydraulic, solenoid, spring and pneumatic [1].

Figure2.5 circuit breaker [4]

Protective gear: consists of protective relays like voltage, current, impedance, frequency
and power relays, based on operating parameter, definite time, inverse time, and stepped
relays, classified according to operating characteristic, differential and over fluxing
relays classified according to logic. When a fault occurs, relay sends signal to relay to the
circuit breaker completing its circuit thus making it to trip [1].
Station batteries: all circuit breakers in a power system operate using direct current. The
current is provided by battery banks that are installed together with the circuit breaker. It
is thus an essential element in a power protection system.

Figure2.6 Station battery [1]

6
2.2.4 Functional requirement of a protection relay
In order for a protection relay to operate effectively, it must have the following qualities[5].

a) Reliability: power protection relays should remain inoperative always as long as a


fault does not occur. But when a fault occurs, they should respond as quickly as
possible.
b) Selectivity: it must only operate on the section that has experienced a fault to
avoid unnecessary power outs due to wrong detections. It should also respond
only when a fault occurs.
c) Sensitivity: The relaying equipment should be highly sensitive so that it can be
relied on to provide the required detection.
d) Speed: the relaying equipment must operate at the required speed. It should not
delay so as to give time for system equipment to get destroyed. It should also not
be too fast to cause undesired operation.

2.3 Transformer protection


Electrical power systems have various devices that aid in the transmission and distribution of
electrical power. One such component is the power transformer. A transformer can be described
as an electrical device used in electric power system to transmit power between different circuits,
applying the principle of electromagnetic induction. The transfer of energy from one circuit to
another makes use of basic magnetic fields. The flow of electric current in a conductor induces
magnetic field around that particular conductor. If another conductor is brought within the effect
of the first conductor, such that they are linked, voltage induction takes place in the second
conductor. Transformer theory and application is based on the principle where magnetic field in
one coil causes voltage induction into another coil. Sizes of transformers vary according to their
applications from the tiny ones used in microphones to the ones weighing hundreds of tones used
system grid. Transformers are used in electronic appliances and in electrical power networks.
Transformers are therefore very important in transmission, distribution and consumption of
electrical power[6].

There are two basic principles that explains the operation of a transformer

Magnetic field can be caused by electric current.


A varying magnetic field linked to a coil induces voltage across the ends of the coil by
means of electromagnetic induction.

7
Figure2.7 Electro-magnetic induction [6]

As shown in the diagram above, as current passes through the primary coil, it causes magnetic
field. The primary and the secondary windings are woven around a core whose magnetic
permeability is very high. This is to ensure that a large percentage of the magnetic flux pass
through the primary windings and the secondary windings.

Power transformers are transformers used in transmission networks for example in transmission
substations. Their power rating is normally more than 200KVA [4]. Substation transformer is
used to step down the utility service voltage. Some of the characteristics of power transformers
include;

33kv and above voltage rating


High operating efficiency close to 100%
They are big in size compared to distribution transformers
Low energy loss due to very little load fluctuations
Operating temperature dependent on the power output rating
Power rating- over 200KVA

8
Figure2.8 Photo of a power transformer [4]

2.3.1 Causes of fault in power transformer


There are many faults that can occur in a transformer owing to a variety of reasons as follows[5]:

a) Winding and core fault is the most frequent type of fault in a power transformer.
This can be attributed to weakening of conductor insulation. Phase faults rarely
occur in the transformer, they may however occur at the terminals of that are
found within the transformer protection zone.
b) Most power transformers use oil for cooling and insulation, oil leakage can also
be a cause of fault in a transformer.
c) The inrush current that occurs momentarily when a transformer is energized can
also be treated as a fault unless conditions are set for its detection.
d) Inter-turn faults may occur and cause rise in hot spots within the transformer
winding.
e) Transformer may experience over fluxing which may be as a result of transformer
operating at low frequency at rated voltage. Over fluxing may also be caused by
overvoltage operation at rated frequency.
f) Sustained overload can also be a cause of fault in a transformer

Transformer Protection Schemes


There are several schemes used in transformer protection. A few are presented below.

Percentage differential protection

This protection scheme is used to protect transformers against internal short circuits. It is an
effective method to protect transformer against internal faults. It may however not be effective in
protecting the transformer against ground fault in case of ungrounded or high impedance

9
grounding. The following factors affect differential current in a transformer and should be taken
into consideration while using differential protection scheme to protect a transformer [5].

Magnetizing inrush current: this is the maximum instantaneous current that a


transformer draws when it is first switched on. Power transformers can draw as high as 8-
30 times its rated current depending on its resistance. Inrush current if not taken care of
can thus be detected by the system as a fault and thus cause unwanted response. The
diagram below shows a typical waveform of inrush current.

Figure2.9 Waveform of a magnetizing inrush current [4]

Over excitation: Over excitation when referring to a transformer means an increase in


magnetic flux in the core above allowable/normal levels. This causes the magnetizing
current to increase. It can lead to destruction of the transformer if the situation is not
taken care of. Over excitation in transformers is caused by overvoltage I the network.

Figure2.10 Over-excitation waveform (4)

10
CT saturation: this is a phenomenon where a CT is no longer able to produce an output
that is proportional to its primary current as per the transformation ratio. The main reason
for this is the property of the core to go into magnetic saturation due to high currents or
large burden at the secondary side. His can cause relay operating current to flow as a
result of distortion of the CT current [ 7].

Figure2.11 CT Saturation curve [7]

Different primary and secondary voltage levels: that is the secondary and voltage CTs are
of different ratios
Phase displacement in delta wye transformers.

Transformer differential relay

In order to take care of the above variables, a differential transformer relay that is less sensitive
(in the range of 15%-60%) is applied.

11
Figure2.12 Differential protection Scheme [7]

Harmonic restraint relay

Differential relay can fail due to magnetizing inrush current. The magnetizing inrush current
waveform normally consists of several harmonics while the internal fault current consists of the
fundamental component. To solve the problem of inrush current, a harmonic restraint relay is
used. It is only effective during inrush current and remains inactive the remaining times.

Restricted Earth Fault

Restricted earth fault protection is used in power transformer to detect the transformers internal
earth fault. This scheme is connected as shown below. It is restricted to the transformer winding;
otherwise, it may operate for any ground fault anywhere in the system. It detects faults with
values below pick up of differential relay.

Figure2.13 Restricted Earth Fault Protection [5]

Over current protection

Over current protection scheme ensures that the transformer is protected from momentary excess
current caused by overload, power surge etc.

In electric power system, over current refers to a situation where more than current intended
flows through a conductor. This leads to excessive heat generation and thus the risk of causing
fire or causing destruction to electrical equipment. Over current is caused by short circuit,
overloading or wrong design.

12
Figure2.14 Over current Phenomenon [9]

This phenomenon can be prevented using over current protection. This scheme is normally used
for large transformers (over 5MV)

Over current protection protects the transformers against currents that rise beyond its rated value.
Over current relay isolates the transformer in case of a fault in the system. This relay is the focus
of this project. It can be implemented using analogue circuitry or digitally using
microcontrollers. This project seeks to apply microcontroller and appropriate software program
to design an over current relay. The diagram below illustrates an over current relay scheme [1].

Figure2.15 Over current Protection Relay [9]

13
CHAPTER 3: REVIEW OF COMPONENTS USED

3.1 The PIC16f690 microcontroller

Microcontroller is basically a computer on a chip. It is a compact microcomputer, designed to


control the operation of embedded electronic systems in various applications such as motor
vehicles, home appliances, office machines, robots, medical devices, vending machines, mobile
radio transceivers, and other electronic devices. Typically, a microcontroller comprise of a
processor, timers, memory, clock/oscillator, and other peripherals. The difference between a
microcontroller and a microprocessor is that a microprocessor is an integrated circuit that only
has CPU but no memory as in the microcontroller. They are used in general purpose
applications.

Figure3.1 microcontroller architecture [5]

As shown in figure 2-16, it can be noted that the microprocessor is actually constituted inside the
microcontroller.

There are two architectures used to organize computers; Harvard architecture and Von Neumann
architecture. Harvard architecture has the data memory separate from program memory while
Von Neumann has both data and program in the same memory location. The advantage of
Harvard architecture over Von Neumann architecture is that the CPU can fetch both data and
instruction simultaneously [11]. This relationship is depicted in figure 2-17.

14
Figure3.2 microcomputer memory organization [11]

The PIC16F690 is a 20 pin, 8-bit microcontroller, with a modified Harvard architecture. It is


manufactured by Microchip Technology. PIC stands for programmable interrupt controller. The
PIC16F690 has a central processing unit, working memory (RAM), program memory (EPROM)
and 20 input/output ports [13]. The work of the CPU is to execute instructions stored in the
program memory. It can also store and retrieve data from the working memory. The diagram
below illustrates the pin arrangement of the PIC16F690. The pins of PIC16F690 can be used for
multiple functions as indicated on the pin diagram in figure 2-18. Pin 1 (VDD) is used for
positive power supply while Pin 20 (VSS) is used as a ground reference. Pins on PORTA can be
used for input/output purposes except pin RA3 which is solely an input pin. All PORTB and
PORTC pins can be used for either input or output functions [14].

Figure3.3 PIC16F690 Pin diagram [6]

15
This microcontroller has the following features that made it an appropriate choice for carrying
out this project.

TABLE 3.1 Properties of PIC16F690


Property name Value/description
Program memory type Flash 4x14
Data memory EEPROM 256bytes
RAM 256bytes
Interrupts stack 13bit 8level
Internal oscillator-software selectable 8MHz-32KHz
3 input/output ports PORTA=6pins(6-bit wide)
PORTB=4pins(4-bit wide)
PORTC=8pins(8-bit wide)
A/D converter 12 Channels of 10-bits
Analogue comparator 2 channels
Wide operating voltage 2 to 5V
Auto shut down and restart option
Programmable on chip voltage reference
Temperature range of operation -40 to 125C
Maximum output current sourced/sunk 25mA
by any I/O pin
Maximum current sourced/sunk in all the 200mA
ports combined
Pin count 20

3.2 Liquid Crystal Display


Liquid crystal display is a type of screen display often used in digital watches, calculators and
computers. The LCD display makes use of two layers of polarising material having solution of
liquid crystal between them [15]. When an electric current passes through the liquid crystal, it
causes them to align and cause light not to pass through them. Each crystal acts like a shutter to
either allow or not allow light to pass through. The principle is illustrated in figure 2-19

Figure3.4 The structure of an LCD [15]

16
Monochrome LCDs produce either dark or blue images while colour LCDs use passive matrix or
thin film transistor to display many colours. In this project, a monochrome LCD is used because
the aim of LCD usage is basically to display numerical figures and characters. LCDs consume
little power thus they can be powered using battery.

This project makes use of HD44780 LCD. It is a 16x2 line LCD with 8-bit wide data bus (D0-
D7). It has three power pins (pins1-3), and three control pins (pins 4-5). The LCD can be
operated either in 4-bit or 8-bit interface. 8bit interface makes use of all the pins while 4-bit
mode uses only 4 data lines plus the other remaining pins. In this project, 8-bit mode is used.

Figure3.5 LCD pin arrangement [5]

TABLE 3.2 LCD pins description


Pin number Symbol Function
1 VSS Ground
2 VCC Power supply (+5V)
3 VEE Adjusting contrast
4 RS Register select
5 R/W Read/Write
6 E Enable pin
7 DB0 Data line zero (LSB)
8 DB1 Data line 1
9 DB2 Data line 2
10 DB3 Data line 3
11 DB4 Data line 4
12 DB5 Data line 5
13 DB6 Data line 6
14 DB7 Data line 7 (MSB)

17
ENABLE PIN: This pin is key in the operation of the LCD. Data can only be latched into the
LCD when high to low signal is passed into this pin. There should be at least 450ns delay
between clearing and setting this pin, because of the higher frequency of the microcontroller
relative to the LCD.

When: E = 0 LCD cannot be accessed

E = 1 LCD can be accessed

R/W: informs the LCD whether the information is supposed to be read or written on the
LCD.When:

R/W = 0 Data is written to LCD


R/W = 1 Data is read from LCD
RS: helps the LCD to identify whether the information is data or command.

When: RS = 0:command

RS = 1: data

D0-D7: these are the data pins, information is sent/received via these pins.

TABLE 3.3 LCD Instructions [15]


Code(hex) Command to LCD instruction register
1 Clear display screen
2 Return home
4 Shift cursor to left
5 Shift display right
6 Shift cursor to right
7 Shift display left
8 Display off, Cursor off
A Display off, Cursor on
C Display on, Cursor off
E Display on, Cursor blinking
F Display on, Cursor blinking
10 Shift Cursor position to left
14 Shift Cursor position to right
18 Shift the entire display to the left
1C Shift the entire display the right
80 Force cursor to beginning of first line
C0 Force cursor to beginning of second line
38 2 lines and 5x7 matrix

18
TABLE 3.4 HD44780 instruction set
Instruction Code
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Clear display 0 0 0 0 0 0 0 1
Cursor home 0 0 0 0 0 0 1 *
Entry mode 0 0 0 0 0 1 I/D S
Display ON/OFF & cursor 0 0 0 0 1 D C B
Cursor/display shift 0 0 0 1 S/C R/L * *
Function set 0 0 1 DL N F * *
Set CGRAM address 0 1 A A A A A A
Set display address 1 A A A A A A A
I/D: 1 = Increment, 0 = Decrement S: 1 = Display shift ON, 0 = OFF
D: 1 = Display ON, 0 = OFF C: 1 = Cursor ON, 0 = OFF
B: 1 = Cursor blink ON, 0 = OFF R/L: 1 = Right Shift, 0 = Left shift
S/C: 1 = Display shift, 0 = Move cursor DL: 1 = 8-bit interface, 0 = 4 bit
N: 1 = two lines, 0 = 1 line F: 1 = 5x10 dots, 0 = 5x7 dots

Carrying out any operation on the LCD requires that instructions be sent via the data lines. This
means that the RS pin has to be set low. The instructions in the tables above are used to write
information to the LCD. The LCD can be used in either of the following configurations,

8-bit configuration: all the eight data pins are used (D0 D7)
4-bit configuration: only four of the data lines are used (D4 D7)

There are two more pins (anode and cathode) that enable data written when it is dark to be seen.

3.3 Current sensor


This is a device that detects electric AC or DC current flowing in a conductor and gives out a
corresponding signal (analogue voltage/current/digital pulse). The detected signal can be used for
various purposes like measuring the amount of current in the conductor, controlling of another
device etc.

Figure3.6 Allegro Microsystems ACCS712 Series

19
The current sensor used in this project is Allegro ACS712ELCTR-30A-T. It is popularly used in
diverse applications in motor control, electric vehicles and in power distribution. It has the
following features [7];

Low-noise analogue signal path


Device bandwidth is set via the new FILTER pin
5 s output rise time in response to step input current
80 kHz bandwidth
Total output error 1.5% at TA= 25C
Small footprint, low-profile SOIC8 package1.2 m internal conductor resistance
2.1 kVRMS minimum isolation voltage from pins 1-4 to pins 5-8
5.0 V, single supply operation
66 mV/A output sensitivity
Output voltage proportional to AC or DC currents
Factory-trimmed for accuracy
Extremely stable output offset voltage
Nearly zero magnetic hysteresis
Ratiometric output from supply voltage [16]

The Allegro ACS712ELCTR-30A-T has a low-offset linear Hall sensor circuit that has a
conduction path made of copper located next to the die. A magnetic field is caused by the current
flowing through the copper conductor. This magnetic field is detected by the integrated Hall IC
which converts it into a voltage proportional to the magnetic flux. A current of 1A flowing in a
conductor produces 66mV. The close proximity of the magnetic signal to the Hall transducer
optimizes the device accuracy. To attain precision, in terms of voltage produced, a low-offset,
chopper-stabilized Bi-CMOS Hall IC is used. It is programmed for accuracy at the factory[16].

20
The sensor measures a maximum of 30A from the load current. This serves as its primary
current. The sensor output voltage is fed into the microcontroller as the analogue input.

Figure3.7 Current sensor functional block diagram [16].

3.4 Relay
A relay is an electrically operated switch. It uses electromagnetic force to close or open contact.
The relay employed in this project can be operated as normally closed or normally open. For this
system, the normally closed mode was used. The relay circuit is illustrated in figure 2-25. The
relay was used to de-energize the contactor coil in case of a fault thus isolating the transformer
from the system.

Figure3.8 Relay circuit [17]

3.5 Contactor
When a relay is used to switch a large amount of electrical power through its contacts, it is
referred to as a contactor. Contactors basically have several contacts, and which are usually (but
not always) normally-open, so that power to the load is shut off when the coil is de-energized
[18]
21
CHAPTER 4: DESIGN

The ultimate objective of this project is to design an automatic over current relay that uses
microcontroller to read transformer currents and automatically isolate the transformer from the
power system in case of a fault. This design is therefore based on the programmable Interrupt
Controller (PIC microcontroller) as the main control element in the system. The design of this
system has been divided into the following sections;

Hardware design
Software design
PCB design

4.1 HARDWARE DESIGN


The PIC16F690 microcontroller has been used as the main device in the development of this
system. Based on the number of input/output pins and the other functional features it was
selected for use in this project. The 20 pins of the microcontroller have been distributed for use
as follows

TABLE 4.1 Microcontroller Pin Usage


Pin Number Pin
function of pins names
Power 1 RA3
pin(VDD)
Sensor 1 RA0
input pin
LEDS 2
control
Buzzer 1
control
Relay 1
control
LCD 3
control
LCD data 8 RC0-
lines RC7
Reset pin 1

4.1.1 Interfacing LCD to the microcontroller


The LM016L LCD display device has been employed in the system implementation. The LCD
operates as a medium for communicating the amount of current flowing in the electric conductor
at any given time. The logical process that avails the readings takes place within the

22
microcontroller using a program and displayed on the LCD. The LCD operates in 8-bit mode, so
8 pins from the microcontroller have been connected to the 8 data pins on the LCD. Since
PORTC of the PIC16F690 is 8-bit wide, it is used for this purpose. So, RC0- RC7 pins of PIC
microcontroller have been connected to D0-D7 of the LCD as illustrated in figure 4-1.

VDD

19 16
RA0/AN0/C1IN+/ICSPDAT/ULPWU RC0/AN4/C2IN+
18 15
RA1/AN1/C12IN0-/VREF/ICSPCLK RC1/AN5/C12IN1-
17 14
RA2/AN2/T0CKI/INT/C1OUT RC2/AN6/C12IN2-/P1D
4 7
RA3/MCLR/VPP RC3/AN7/C12IN3-/P1C
3 6
RA4/AN3/T1G/OSC2/CLKOUT RC4/C2OUT/P1B
2 5
RA5/T1CKI/OSC1/CLKIN RC5/CCP1/P1A
8
RC6/AN8/SS
13 9
RB4/AN10/SDI/SDA RC7/AN9/SDO
12
RB5/AN11/RX/DT
11
RB6/SCK/SCL
10
RB7/TX/CK
PIC16F690

LCD1
LM016L

VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
E
1
2
3

4
5
6

7
8
9
10
11
12
13
14
RV1
100%

10k

Figure4.1 Microcontroller-LCD interface as done in the simulation


software

The register select (RS) pin has been connected to pin 12 (RB5) on the microcontroller. Enable
pin has been connected to RA1 (pin 12). At all times, the R/W line is connected to ground (kept
low) since data in this case is always written into the LCD. A potentiometer of 10K has been
used to vary the brightness contrast of the LCD.

4.1.2 Warning devices and relay control

a) LEDs
In order to indicate the state of the power line, two Light emitting diodes have been used. One
LED emits red light and the other one green light. The green LED is set to blink when the current
flowing through the power system is at a normal level. The red LED should blink at an interval
of half a second whenever the current build up approaches the overload level through to the point
when the relay gets energized. This acts as a visual warning when a fault occurs.

23
The green LED has been connected to the pin RB4 (pin 13) via a current limiting resistor (220)
to ground. The red LED has been connected to pin RA5 (pin 2) also through a current limiting
resistor (220) to ground. The microcontroller pins can give a maximum of 5.3V. LEDs
typically have a forward voltage drop ranging between 1.8V and 3.3V subject to the LED colour.
The value for red LED is about 1.8V. The forward voltage drop is a function of the LED colour
frequency.
For the LED to light, it needs around 20mA of current. The calculation below justifies the
resistor values chosen for the design of this system.
According to Ohms law, resistance is a function of voltage and current, as shown in the
equation below

=

1000
= (5.3 1.8) = 175
20
= , = ,
=

175 is not a standard resistor value, so a value close to it can be chosen. In order to ensure that
the current sourced is as little as possible, the 220 resistor has been chosen such that the
maximum current sourced becomes;

5.3 1.8
= 16
220
The figure 2-2 below illustrates the connection of LEDs to the microcontroller via current
limiting resistors.
VDD

19 16
RA0/AN0/C1IN+/ICSPDAT/ULPWU RC0/AN4/C2IN+
18 15
RA1/AN1/C12IN0-/VREF/ICSPCLK RC1/AN5/C12IN1-
17 14
RA2/AN2/T0CKI/INT/C1OUT RC2/AN6/C12IN2-/P1D
4 7
RA3/MCLR/VPP RC3/AN7/C12IN3-/P1C
3 6
RA4/AN3/T1G/OSC2/CLKOUT RC4/C2OUT/P1B
2 5
D3 RA5/T1CKI/OSC1/CLKIN RC5/CCP1/P1A
8
R2 13
RC6/AN8/SS
9
RB4/AN10/SDI/SDA RC7/AN9/SDO
220 12
RB5/AN11/RX/DT
LED-RED 11
RB6/SCK/SCL
10
RB7/TX/CK
D2 PIC16F690
R3
220
LED-GREEN

Figure4.2 Microcontroller-LED connection

24
b) Audio Alert
In order to provide an audio warning in case of a transformer overload, a piezoelectric buzzer has
been used. The buzzer rating is between 2V-5V with a current rating of approximately 9mA. In
order to achieve the 9mA rating, a resistor of value R= 5V/9mA = 550 is required. A standard
560 resistor has been used. In order to allow for varied range of buzzers to be used, a
Darlington transistor is used as a switch. It is connected to pin RB6 of the microcontroller. The
microcontroller produces 5V that drives the transistor thus allowing current flow in the transistor.
The buzzer is connected between the transistor VDD and the collector. It goes on whenever the
microcontroller pin controlling it is set to high. This results due to an instance of a fault
occurring in the system which is unsuitable for the transformer. This piezoelectric buzzer serves
to give a warning to users to cease overloading the transformer or for a mitigation process to be
conducted.

c) Relay/contactor control
An electromagnetic relay has been employed as a switch to isolate the transformer from the
power system in case a fault occurs. The rating of the relay used is in the model system is 5V.
Due to the fact that the relay might draw a current of higher value than what the microcontroller
can sink or source, a Darlington transistor is used as a switch to run it. It is connected between
the transistor VDD and the Darlington transistor collector. When fault current is detected, the
RB6 pin of the microcontroller is set high. This produces current that drives the Darlington
transistor. The transistor in turn completes the relay coil circuit. The relay is energized through
the principle of electromagnetic induction. It in turn de-energizes the contactor to isolate the
transformer from the system. The relay is used alongside a contactor because; a power
transformer uses high currents that the 5V relay cannot sustain. The relay sends signals to the
contactor which in turn disconnects the circuit and isolates the transformer from the power
system. The process is illustrated in the figure 4.3 below.

RL1
12V B1
12V
R4
10k D1
DIODE

Q1
R1 2N1711

330

VDD 19 16
RA0/AN0/C1IN+/ICSPDAT/ULPWU RC0/AN4/C2IN+
18 15
RA1/AN1/C12IN0-/VREF/ICSPCLK RC1/AN5/C12IN1-
17 14
RA2/AN2/T0CKI/INT/C1OUT RC2/AN6/C12IN2-/P1D
4 7
RA3/MCLR/VPP RC3/AN7/C12IN3-/P1C
3 6
RA4/AN3/T1G/OSC2/CLKOUT RC4/C2OUT/P1B
2 5
RA5/T1CKI/OSC1/CLKIN RC5/CCP1/P1A
8
RC6/AN8/SS
13 9
RB4/AN10/SDI/SDA RC7/AN9/SDO
12
RB5/AN11/RX/DT
11
RB6/SCK/SCL
10
RB7/TX/CK
PIC16F690

Figure4.3 Microcontroller-relay interface as done on the simulation


software

25
4.1.3 Sensor interfacing to the microcontroller
Since the microcontroller can take a maximum of 5V DC input, it cannot be connected directly
to an AC line with high voltages. A current transformer and anACS75x series sensor has been
used. The current transformer stepped down the line current to measurable level of 25A. The
current sensor converts the current to a maximum of 5V. The current transformer is connected to
the pins 4 and 5 of the current sensor. The sensor output is connected to the pin RA0 of the
microcontroller. A zener diode is used to protect the microcontroller from voltage spike. The
figure 4.4 illustrates this process

RL2
12V RV2
RL1
+88.8
12V
AC Amps

39%
10

VDD
4

U3 19 16
VCC IP+

GND IP-

RA0/AN0/C1IN+/ICSPDAT/ULPWU RC0/AN4/C2IN+
ACS755XCB-050 18 15
RA1/AN1/C12IN0-/VREF/ICSPCLK RC1/AN5/C12IN1-
VIOUT

17 14
RA2/AN2/T0CKI/INT/C1OUT RC2/AN6/C12IN2-/P1D
4 7
RA3/MCLR/VPP RC3/AN7/C12IN3-/P1C
3 6
RA4/AN3/T1G/OSC2/CLKOUT RC4/C2OUT/P1B
2 5
RA5/T1CKI/OSC1/CLKIN RC5/CCP1/P1A
1

8
RC6/AN8/SS
13 9
RB4/AN10/SDI/SDA RC7/AN9/SDO
12
RB5/AN11/RX/DT
11
RB6/SCK/SCL
10
RB7/TX/CK
PIC16F690

D5

1M120ZS5
VDD

Figure4.4 Microcontroller-sensor interface as done on the simulation


software

4.1.4 The Oscillator


The function of an oscillator in a microcontroller is to generate a clock signal. The clock signals
are important because they help the parts of the microcontroller to function together. The clock
makes it easier to know when the different parts of the microcontroller are going to change state.
It is important to know how long a given operation takes to accomplish. An internal oscillator
has been used in this design instead of an external crystal oscillator. It is selected in the program.

26
4.1.6 PCB design
After the circuit is successfully tested on the breadboard, it is transferred to a PCB. The process
for designing the PCB is as follows

i. The circuit layout is drawn using software. In this project, proteus has been used. The
components are confirmed to be well placed.
ii. The circuit design is printed on a transparent film. This is used to develop the circuit on a
PCB through etching process.
iii. The needed holes are then drilled and then the components fitted into them.

4.2 SOFTWARE DESIGN


For the microcontroller to operate, it must be programmed, and thus the software design.
Software design is divided into four parts as follows;

LCD Program
Analogue to Digital conversion
Protection program
The main program guide

The flow chart below illustrates the way the program worked. It was used as a guide while
writing the code for the microcontroller.

27
START

INITIALIZATION

READ CURRENT
CURRENTCURRENT
LEVEL

DISPLAY ON
LCD

Does current
exceed rated
value? NO

YES

ENERGIZE RELAY
topCONTACT
Figure4.5 Flow chart of the program

4.2.1 ADC Program


The PIC16F690 has an internal analogue to digital converter module that is 10 bit wide and has
12 channels. For this ADC to be used, it has to be programmed.

a. Bank selection

The data memory is partitioned into four banks which contain the General Purpose Registers
(GPR) and the Special Function Registers (SFR). For a register to be used, the right bank that

28
contains it has to be selected. The first register used in the ADC program is ADCON1 register. It
is contained in bank 1. For bank 1 to be selected, the following instruction is used.

BSF STATUS, RP0

The STATUS register is used to select banks. Its arrangement is shown in figure 3-1. Bits 5
(RP0) and 6 (RP1) are used to select one of the four banks as appropriate.

So in order to select bank1, the RP0 bit is set high (1) while RP1 remains low (0).

BCF STATUS, RP0 ; clear bit 5 of STATUS register

BSF STATUS, RP1 ; set bit 6 of STATUS register.

IRP RP1=1 RP0=0 TO PD Z DC C


Bit 7 Bit 0

Figure4.6 the Status register


TABLE 4.2 Bank selection bits
RP1 RP0 SELECTION

0 0 Bank 0 selected

0 1 Bank 1 selected

1 0 Bank 2 selected

1 1 Bank 3 selected

b. Clock setting

The ADCON1 register is used to select the A/D Conversion clock. Its selection bits are as
illustrated in figure 4-7

U-0 R/W-0 R/W-0 R/W-0 U-0 U-0 U-0 U-0


- ADCS2 ADCS1 ADCS0 - - - -
BIT-7 BIT-0
Figure4.7 ADCON1 Register.
Bit 7 Unimplemented: Read as 0

29
Bit 6-4 ADCS<2:0>: A/D Conversion Clock Select bits

000 = FOSC/2

001 = FOSC/8

010 = FOSC/32

X11 = FRC (clock derived from a dedicated internal oscillator = 500 kHz max)

100 = FOSC/4

101 = FOSC/16

110 = FOSC/64

Bit 3-0 Unimplemented: Read as 0

An internal clock (FOSC/16) of 4MHz, is used, hence selection is ADCS2 = 1, ADCS1 = 0 and
ADCS0 = 1 the relevant code segment is as follows.

MOVLW b'01010000' ; ADC clock at 4MHz/16(TAD=4.0us)

MOVWF ADCON1

The time taken to complete one bit conversion is defined as TAD. The choice of FOSC/16, 4MHz
gives a TAD of 4s.

c. Input configuration

The input pin is selected by setting the TRIS and ANSEL bits. First, the right bank for TRIS is
selected. In this case we are still in bank-1 and since the TRIS register is in bank-1, there is no
problem. The following code segment is employed select pin RA0 as the input pin.

BSF TRISA, 0 ; Set RA0 to input

To set the input pin as an analogue input, we use the ANSEL register which is in bank-2. The
bank is first selected as shown;

BCF STATUS, RP0 ; select Bank -2

BSF STATUS, RP1 ;

30
Since RA0 has been used as an input, ANS0 is configured to analogue input using ANSEL.

ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0


Bit 7 Bit 0

Figure4.8 The ANSEL register

BSF ANSEL, 0 ; Set RA0 to analogue

d. Channel, reference voltage and result format selection

The ADCON0 register controls the microcontroller ADC operation such as channel selection,
power on the ADC circuit, start converting, ADC voltage reference selection and ADC result
format presentation selection.

RW/-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0


ADFM VCFG CHS3 CHS2 CHS1 CHS0 GO/DONE ADON
BIT-7 BIT-0

Figure4.9 ADCON1 Register.


Bit 7 ADFM: A/D Conversion Result Format Select bit
1 = Right justified
0 = Left justified
Bit 6 VCFG: Voltage Reference bit
1 = VREF pin
0 = VDD
Bit 5-2 CHS<3:0>: Analog Channel Select bits
0000 = AN0
0001 = AN1
0010 = AN2
0011 = AN3

31
0100 = AN4
0101 = AN5
0110 = AN6
0111 = AN7
1000 = AN8
1001 = AN9
1010 = AN10
1011 = AN11
1100 = CVREF
1101 = 0.6V Reference
1110 = Reserved. Do not use.
1111 = Reserved. Do not use.
Bit 1 GO/DONE: A/D Conversion Status bit
1 = A/D conversion cycle in progress. Setting this bit starts an A/D conversion cycle.
This bit is automatically cleared by hardware when the A/D conversion has completed.
0 = A/D conversion completed/not in progress
Bit 0 ADON: ADC Enable bit
1 = ADC is enabled
0 = ADC is disabled and consumes no operating current

First the following code segment is used to select the bank-0 where the ADCON0 register is
located.

BCF STATUS, RP0 ; Bank 0

BCF STATUS, RP1

The ADFM is used to select the result format; for this case, the conversion result formats are left
justified, i.e. bit 7 (ADFM) is kept low.

32
Figure4.10 Left justification format
VDD has been used as the voltage reference, thus bit 6 is also kept low. Since AN0 has been
configured as the analogue input, bits 5 to 2 are kept low. The GO/DONE bit is kept low to show
that the conversion is complete.

To enable ADC, BIT- 0 (ADON) BIT is set to 1. The code segment is as follows

MOVLW 0x01 ; Vdd Vref (bit 6), AN0 (0000 of bit 5-2), on (bit 0)

MOVWF ADCON0 ; also LEFT JUSTIFY

e. Acquisition time

Acquisition time is the amount time required to charge the holding capacitor on the front end of
an analogue-to-digital converter. The holding capacitor must be given sufficient time to settle to
the analogue input voltage level before the actual conversion is initiated. If sufficient time is not
allowed for acquisition, the conversion will be inaccurate. The required acquisition time is based
on a number of factors, two of them being the impedance of the internal analogue multiplexer
and the output impedance of the analogue source. An increase in the source impedance will
increase the required acquisition time[12].

To determine the minimum acquisition time, the following relationship is used.

TACQ = Amplifier Settling Time+ Hold Capacitor Charging Time + Temperature Coefficient

= TAMP + TC + TCOFF.............. (eq 4-1)

= 5s + TC + [(Temperature - 25C)(0.05s/C)]...........(equ 4-2)

We can approximate the value of TC using the following equation:

TC = CHOLD(RIC + RSS + RS) ln (1/2047).................. (equ 4-3)

= 10pF(1k + 7k + 10k) ln (0.0004885)

= 1.37s

Where, RSS=sampling switch

33
RIC=interconnect resistance

RS=Input impedance

Assuming day temperature of 40oC

TACQ = 5S + 1.37S + [(40C- 25C)(0.05S/C)]

= 7.12S

Thus a suitable minimum acquisition time is = 7.12Sec

f. Storing the data after conversion

Because left justification format has been selected, the ADRESH of the ADC takes the upper 8
bits of the conversion while the upper two bits of ADRESL are occupied by the lower two bits of
the conversion. The following code segments show how data from the addresses are stored in the
general purpose registers.

MOVF ADRESH, W ; Read upper 8 bits

MOVWF OUTPUTH ; move contents of ADRESH to OUTPUTH

BANKSEL ADRESL ; select the bank where ADRESL is located

MOVF ADRESL, W ; Read lower 2 bits

BCF STATUS, RP1 ; bank- 0

BCF STATUS, RP0 ; select bank-0

MOVWF OUTPUTL ; move contents of ADRESL to OUTPUTL

4.2.2 LCD DISPLAY


The pins of the LCD are connected to the microcontroller as follows; the 8 data lines are
connected to PORTC since 8 bit configuration has been used. The R/W pin is connected to low
(ground) since data is always written into the LCD. The RS pin is connected to pin 12 of the
microcontroller and is used to control instructions or characters sent to the LCD. The Enable pin
was connected to pin 18 of the microcontroller and it was used to enable the LCD to either feed
instruct instruction into the register or write character into it. The following code segments are
used to initialize the LCD;

34
For the LCD to power, it needs some time, thus a delay of 20milliseconds is created. This delay
is called at the start of the initialization. The following code has been used.

CALL Delay20

After powering the LCD, the type of interface is set to 8-bit interface by setting, (DL=1) the
number of line display and character font is also selected by setting N=1 (two lines) and F=0
(font of 5x7). Thus the instruction with 00111000 binary or 38 Hex on the data lines. A delay of
more than 40s is used then a subroutine is called to feed the instruction.

MOVLW b'00111000' ;select 8-bit interface,


CALL Delay50 ; 50Sec used
CALL LCDcom ; instruction subroutine

The entry mode is set as follows; Cursor is made to move to the right and at the same time the
register is incremented by 1- (I/D=1), no display shift (S=0). This results in 00000110 binary or
06 Hex. The code segment is as follows.

MOVLW b00000110 ; Increments display

Display on/off control: the display is set on by setting D=1, while cursor and blinking are put off
(C=0, B=0), resulting in 00001100 binary or 0C Hex. The code segment is as follows.

MOVLW 0Ch ; Display ON, cursor OFF & blink OFF

To take cursor home, 00000010 binary or 02Hex is used. To clear the screen in readiness for
writing, 00000001 binary or 01Hex is used.

MOVLW 0x02 ;takes cursor home


MOVLW 0x01 ;clears LCD display

In order to write into the LCD, data is first taken to the PORTC, then both E and RS pins of the
LCD are set. A small delay is then given to allow data to be written, then enable pin is cleared
and a delay applied.

In order to write characters to the first row on the LCD, a code for the address of the first row
first column is addressed to PORTC. The first row on the LCD starts from 80Hex. This is placed
in a register and incremented up to the number of times equal to the number of characters to be
displayed. In this design, the number of characters to be displayed is 16. In order to know that
we have moved to the last column, the content of the counter is subtracted from 8F. This is done
until the carry bit of the Status register is set. An XOR instruction is also used to identify the end
of text. The entire program code is presented in the appendix.

35
Sending an instruction to the LCD requires that a code be written. First, the value is moved to the
PORTC. For an instruction, RS is set to 0. This is achieved by setting bit-5 of PORTB low. Then
some small delay of 5Sec is applied to the LCD. It is then enabled, (E=1) then another short
delay of 5Sec that gives it time to fetch data is used before clearing the enable bit (E=0) and
calling another delay routine.

The values stored in ADC are in binary form. For them to be displayed on the LCD, they need to
be converted to ASCII values. The 10 bits of the ADC are stored in two registers- ADRESH and
ADRESL. The ADC can encode analogue input up to 1024 (210) different levels. On the other
hand, the full scale analogue voltage from the current sensor is 5V. The resolution of the
converter indicates the number of discrete values it can produce over the range of analogue

values

Figure4.11 ADC output against input voltage [12]


The resolution is the minimum voltage required to cause a change at the output level. It is also
referred to as the least significant bit voltage. It is calculated as follows

= 4 4
N

Where: E =5V

N = (210- 1) = 1023
5
= = 4.9mV/ 3.4
1023

36
The range of the sensor is 0 30A. The voltage output range is 0 - 5V
0.0048875855
( )30 = 0.029
5

The 10 bits and corresponding values of current were calculated as shown in the table below.

TABLE 4.3 Value of each bit in Volts and Amperes


Bit Equivalent voltage (V) Equivalent current
(A)
Bit 0 (LSB) 0.005 0.29
Bit 1 0.010 0.059
Bit 2 0.020 0.117
Bit 3 0.039 0.234
Bit 4 0.078 0.469
Bit 5 0.156 0.938
Bit 6 0.313 1.877
Bit 7 0.626 3.754
Bit 8 1.251 7.507
Bit 9 (MSB) 2.502 15.014
TOTAL 5 30
To be able to display current values, six registers are declared; they included; hundreds, tens,
ones, first_dec , sec_dec and third_dec. Each value is put in its respective register for all the bits
upon testing whether or not each is set.

After assigning the values to the different registers, they are used when writing the values on the
LCD. The upper and lower registers have to be tested as well to establish whether they contain
any value or not so that only those that have values are written. E.g., if the tens register is zero its
place is left blank. The same test is carried out for the ones position until the last decimal value.

4.2.3 Relay and Fault Signals


When the amount of current circulating through the transformer goes beyond the rated value, the
relay is energized so as to isolate the transformer from the power system until the over current
fault is cleared. The relay keeps testing automatically and in case the fault is still present, it keeps
isolating the transformer until the conditions are safe. For the model, a 5V relay has been used
and connected to the secondary side of the transformer. It is driven by pin RB6 of the
microcontroller via a transistor. The need to send an alarm in case of a fault warrants the use of a
5V buzzer and a red LED. In case a fault occurs, the red LED blinks and at the same time, the
buzzer goes on. The red LED and buzzer are controlled by pins RA5 and RB7 respectively.

For demonstration, a preset current value has been set in the program. The microcontroller sets
the relay, buzzer and red LED pins on in case the current amounts reaches this value and off as
long as the current value remains lower than the pre-set value. For the actual power transformer,

37
current rating for a particular transformer is be used. The preset current value in this case has
been set to 15Amperes. This in binary form is as follows;

ADC results = 200He

ADRESH = 80H

ADRESL = 00H

The exact amount of current at which the relay triggers is 15.015A since the binary value is
1000000000, which means that only bit 9 is set and bit 9 contains15.015A. So there is no need of
checking the OUTPUTH register since it would contain zero.

38
CHAPTER 5: RESULTS AND ANALYSIS

5.1 Simulated results


The following results have been obtained after simulating the design on proteus. Table 5.1shows
the state of the relay, LED and buzzer as current increases. A decrease in load resistance makes
current circulating in the primary side of the transformer to increase.

TABLE 5.1 SIMULATED RESULTS


% Load Sensor Display on State State of LED LCD DISPLAY
Resistance output LCD of the the Blink
(V) Relay buzzer
100 0.05V 0.352A OFF OFF GREEN
90 0.06V 0.381A OFF OFF GREEN
80 0.07V 0.44A OFF OFF GREEN
70 0.08V 0.498A OFF OFF GREEN
60 0.09V 0.586A OFF OFF GREEN
50 0.12V 0.704A OFF OFF GREEN
40 0.14V 0.88A OFF OFF GREEN
30 0.19V 1.143A OFF OFF GREEN
20 0.28V 1.701A OFF OFF GREEN
10 0.51V 3.079A OFF OFF GREEN
5 0.89V 5.337A OFF OFF GREEN
2 1.70V 10.234A OFF OFF GREEN
1 2.52V 15.132A ON ON RED OVERCURRENT
FAULT
0 2.52V 15.161A ON ON RED OVERCURRENT
FAULT

39
5.2 Analysis
It Is observed that as the current circulating in the transformer increases, the sensor
output also increases. This is illustrated in the table above. An increase in the sensor
output voltage led to a corresponding increase in the current value displayed on the LCD.

Current displayed on LCD

Figure5.1 Graph of current /Voltage against Resistance

A graph of line current against resistance drawn on matlab shows a trend of decrease in
current as resistance increases. Little resistance means that the load has increased thus
more current is drawn from the transformer. More resistance limits current flow,
signifying reduced load. So as resistance is reduced by varying the rheostat, current
increases up to a point where the relay trips the circuit. This confirms that the system has
been designed well and thus it is able to read and record the current as it changes, and
operate the switches at optimum current levels.
The ADC gave satisfactory results as expected. The input value from the sensor matches
well with the displayed value on the LCD. For example a value of 3.07A displayed on the
LCD corresponds to 0.51V from the sensor.
Proof

40
The value 3.07 calculated from the table will include the following bit values;
1.877+0.938+0.235+0.029=3.07
These values mean that the ADC bits were set as follows;
0001101001.
The above binary representation corresponds with the following sensor resolutions;

0.312+0.156+0.039+0.004=0.511
It can therefore be concluded that the ADC module has been well programmed.
It is also observed that during normal transformer operation, the green LED blinked. The
normal operation range is between 0 and 15.132A. Within this range of, the relay contact
remains intact, the buzzer remains quiet, the red LED remains off and the LCD displays
varying current as the load current is varied from 0 20K. The following figures
illustrate the simulated device operation.
D3
RL1 R2
12V RV2
220
LED-RED
62%

D2
R3
220
10 LED-GREEN

Figure5.2 Relay closed Green blinks

LCD1
LM016L
VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
E
1
2
3

4
5
6

7
8
9
10
11
12
13
14

Figure5.3 LCD Display


Finally, it is observed that when the current is varied up to the pre-set level, of 15.015A,
the relay, buzzer and the red LED are triggered. The buzzer sounds an alarm notifying the
operators of the fault, the relay isolates the transformer from the system, the red LED
blinks to signify that the current level is too much for the transformer to supply. The LCD
displays a notification that there is an OVERCURRENT FAULT. The observations are
as follows.

41
RL1 D3
12V RV2 R2
220
LED-RED

1%
D2
R3
10 220
LED-GREEN

Figure5.4 Relay Open, Red LED blinking


LCD1
LM016L

VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
E
1
2
3

4
5
6

7
8
9
10
11
12
13
14
Figure5.5 Over current Fault

From the observations, the system achieves the function of an over-current relay that
automatically detects over current fault and uses a microcontroller to record the fault, isolate the
transformer from the affected zone and report the fault occurrence so that the system operator is
aware that there is a problem. The advantage of this system over analogue over current relay is
that it automatically recloses once the fault is cleared. The level of accuracy of the system is also
super as compared to analogue operated over-current relay. To take care of inrush current, a
delay of 255Sec x 4 has used. This delay allows the inrush phenomenon to clear so that the
transformer comes back to normal operation before the relay starts its work.

5.3 Results after implementation


The following figures shows the outcome upon implementation on a breadboard.

42
Figure5.6 Normal transformer operation
The figure 4.8 above shows the outcome when the transformer is operating under normal
conditions. The LCD is operating normally and the green LED blinks to show that the system is
responding accordingly. A 20K variable resistor has been used as the load. Varying the resistor
signifies the varying load connected to a transformer. The current reading on the LCD changes as
the resistor is varied up to the preset fault point. The normal operation condition operates as
expected and as depicted in the simulation.

43
Figure5.7 current level approaching fault level
The system as shown in figure 4.9 shows the red LED blinking to warn that the load current is
approaching the rated value of the transformer. This warning is triggered when the current
exceed 7 - 8A. In actual power transformer protection, this visual warning would be triggered
when the current circulating in the transformer is approaching the rated level.

Figure5.8 Over current fault

The system as shown in the figure 5-0 above shows the LCD display when the current
circulating in the transformer exceeds the rated value. The LCD displays OVERCURRENT
FAULT and at the same time, the buzzer is activated to alert the system operator of the fault
occurring in a given transformer. A signal is also sent to the relay to isolate the transformer from
the power system. In this model, a relay and a contactor are used to carry out the process of
transformer isolation from the system. The circuit design is in appendix A.

44
Figure5.9 Lab set up

45
CHAPTER 6: CONCLUSION and RECOMMENDATINS

The main objective if this project has been to design and implement a system that uses a
microcontroller to protect a power transformer. This objective was achieved as the system works
effectively. As the current circulating in the transformer coil varies, the LCD displays the
readings. The relay is able to operate and isolate the transformer in case of an over current fault.
The relay is the main switching element in the system. When energized, it opens its contacts and
de-energizes the contactor thus isolating the transformer to safety in case of adverse current
conditions. The other peripheral devices act as means of sending warning messages in case a
fault occurs.

This system if put to use in power transformer protection can serve the purpose with greater
advantages than the analogue over current relay. Its ability to automatically reclose the circuit
after the fault is cleared warrants the system usability in remote areas that may be too far for an
operator to reach easily and reconnect the transformer back to the supply line. The admirable fact
about it is the accuracy with which it closes and recloses during either normal operation or fault
occurrence.

Every customer desires to optimize the usage of a gadget yet at a low cost. The cost of
implementing the system is relatively cheap as the components used are few and can be cheaply
found in the market. The microcontroller can be used to drive multiple relays using the same
program. The only thing that needs to be done is free more ports for multiple input and outputs.
This will allow for more variables from different transformers and multiple outputs to different
relays.

Owing to the fact that transformers are very important components of the electrical power
system, their safety is paramount. Over current phenomenon can cause damage to transformers.
Damage to a transformer puts interrupts electrical supply to consumers. Blackouts cause
economic derailment and disorients consumers work schedule. This explains why this system is
needed and can help mitigate the effects of fault in a transformer.

In case an over current fault occurs, the power engineers should consider taking time to evaluate
the possible cause of this phenomenon. For example, if there is an overload at the consumer end,
there may be a call to install a new transformer that can withstand the increased load. The other
mitigation option may be to add another supply line to the consumer so that the consumer
demand is met.

This system comes with a power supply that can be directly plugged to 240V source and give the
appropriate operating voltage. The 240V source can be easily cultivated in a power system line.
It can be used in substations or in distribution trans

46
6.2 limitations and Future recommendations
Transformer protection is a very crucial engineering principle. It is clear that the demand for
electricity is increasing fast with increasing population and economic growth. This demands that
more sophisticated transformer protection methods be used in the future in order to maintain a
stable electrical power supply as will be demanded by the growing economy.

Based n the work done in this project, the future may demand that some improvements be made.

Some of the limitations faced in the design and future solutions include;

a) The current sensor does not offer a 100% sensing speed as needs some time do sense and
transfer the signal to the microcontroller. A device with a faster sensing speed should be
established.
b) Instead of using the relay as a switch, a semiconductor switching device such as a
thyristor should be used.
c) Another limitation is that whereas the relay automatically recloses its contacts, the
contactor used has to be restarted physically by an operator. Using a circuit that
automatically recloses the system would be a great solution.
d) Lastly, the method of relaying the information to an operator in a control room far from
the sub-station has not been explored in this project due to time constraint. An area for
future study is how the system can automatically send a message to a control centre and
notify the engineers of the exact location of a faulted transformer. A GSM module can be
used in this case.

47
APENDIX A: Circuit Design

OCHIENG ALLAN OMONDI


F17/1365/2010

RL1
TR1 12V RV2
+88.8 +88.8
AC Amps AC Amps

0%
10

TRAN-2P2S

R4 B1
10k D1 12V
DIODE

Q1
R1 2N1711

330
4

U2
IP+

IP-

ACS755XCB-050
VIOUT

GND
VCC

19 16
RA0/AN0/C1IN+/ICSPDAT/ULPWU RC0/AN4/C2IN+
18 15
RA1/AN1/C12IN0-/VREF/ICSPCLK RC1/AN5/C12IN1-
17 14
RA2/AN2/T0CKI/INT/C1OUT RC2/AN6/C12IN2-/P1D
1

4 7
RA3/MCLR/VPP RC3/AN7/C12IN3-/P1C
3 6
RA4/AN3/T1G/OSC2/CLKOUT RC4/C2OUT/P1B
2 5
D3 RA5/T1CKI/OSC1/CLKIN RC5/CCP1/P1A
8
R2 RC6/AN8/SS
13 9
RB4/AN10/SDI/SDA RC7/AN9/SDO
220 12
RB5/AN11/RX/DT
LED-RED 11
D5 RB6/SCK/SCL
10
RB7/TX/CK
D2 PIC16F690
1M120ZS5 R3
220
LED-GREEN

LCD1
LM016L

BUZ1
R5 D4 RV1
C1
VDD
VSS

VEE
560

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
DIODE

E
0.1uF
BUZZER
99%

1
2
3

4
5
6

7
8
9
10
11
12
13
14
Q2
10K

VDD

2N1711

MICROCONTROLLER BASED TRANSFORMER PROTECTION SUPERVISOR: PROF. ELIJAH MWANGI


EXERMINER: DR. GN KAMUCHA

48
APENDIX B: PIC16F690 Architecture

49
50
APENDIX C: ASSEMBLY LANGUAGE

;******************************************* counta ;counter register

; Written by OCHIENG ALLAN OMONDI * PDel0 ;for creating delay

; University of Nairobi * PDel1 ;creating delay

; Electrical and Information department * DelayH ;for creating delay

;Reg No: F17/1365/2010 DelayL ;for creating delay

;Date: 2nd march, 2015 Countb ;count register

;For PIC16f690 THOUSANDS ;for storing thousands digit value

;clock frequency: 4MHz HUNDREDS ;for storing hundreds value

;******************************************* TENS ;for storing tens digit value

;TOPIC: A MICROCONTROLLER BASED ONES ;for storing ones digit value


TRANSFORMER PROTECTION
FIRST_DEC ;for storing first decimal value
List p = 16f690
SEC_DEC ;for storing second decimal value
Include "P16F690.INC"
THIRD_DEC ;for storing third decimal value
__config _INTRC_OSC_NOCLKOUT &
_WDT_OFF & _CP_ON ENDC
&_MCLRE_OFF&_BOR_ON ;--------------------------------------------------------
;________________ ORG 0H ;first instruction at address 0
;REGISTER DECLARATIONS GOTO START
;________________ errorlevel -302
CBLOCK 0x20

COUNTER ;counter register

OUTPUTH ;for storing ADC values ;____________________________________________


OUTPUTL ;for storing ADC values ; LCD subprogram
Count ;counter register ;____________________________________________
count1 ;counter register LCDINIT

BCF STATUS,RP0 ;Ensure operation in bank 0

51
CALL Delay20 ;Time for LCD to power on SUBLW 8FH ;check characters

MOVLW b'00111000' ;start initialization 8 bit BTFSC STATUS,C ;is there carry?

CALL Delay50 ;delay after LCD goes on GOTO Message ;NO? write

CALL LCDcom ;call LCD instructions GOTO next ;otherwise go to next

MOVLW 0Ch ;Display ON,cursor & blink OFF Message

CALL LCDcom Movf count, w ; move counter value into W


CALL Text ;get character from text table
MOVLW 0X02 ;takes cursor home
CALL CHAR_DISP
CALL LCDcom
XORLW 0x00 ;is it a zero?
MOVLW 0x01 ;clear LCD display
BTFSC STATUS, Z ;skip if zero bit clear
CALL LCDcom
GOTO next ;otherwise go to next subroutine
MOVLW b'00000110' ;Increment display
INCF count, f ;increment counter
CALL LCDcom
GOTO LINE1 ;then go to line 1

next
;---------------------------------------------------------
CLRF COUNTER ;clear counter register
;FIRST ROW DISPLAY
movlw 0xCA ;where next line begins
;---------------------------------------------------------
movwf COUNTER
ROW1
call FIRST_LINE ;write on second line
CLRF COUNTER
MOVLW ""
clrf count ;set counter register to zero
CALL CHAR_DISP
movlw b'10000000'
MOVLW "A"
movwf COUNTER
CALL CHAR_DISP
LINE1
MOVLW "M"
MOVF COUNTER,W ; move to 1st row &
column CALL CHAR_DISP

call LCDcom MOVLW "P"

incf COUNTER, f CALL CHAR_DISP

movf COUNTER,W MOVLW "S"

2
CALL CHAR_DISP BTFSS STATUS,C

;GOTO NORMAL

RETURN GOTO FAULT_ALERT

;======================================= RETURN
================================
FAULT_ALERT
;MAKING COMPARISON TO DETERMINE IF TO
TRIGGER RELAY/BUZZER/LEDs MOVF OUTPUTL,W

;--------------------------------------------------- SUBLW 00h

COMPARE2
BTFSS STATUS,
WARNING
CALL ALERT_CONTROL; buzzer/fan ON
MOVF OUTPUTH,W
return
SUBLW 40H ;compare register value to 40H
ALERT_CONTROL
BTFSC STATUS, C ;skip next if carry bit
clear BCF PORTB, 4

GOTO NORMAL CALL Delay255

GOTO WARNING2 CALL Delay255

RETURN BSF PORTB,7 ;switches on buzzer

WARNING2 BSF PORTB, 6 ;switches ON RELAY

MOVF OUTPUTL,W CALL RED_BLINK0

SUBLW 0X00 CALL disp; display during fault

return
BTFSS STATUS,C disp
CALL RED_BLINK ;buzzer and fan CALL DANGER
return CALL Delay255 ;callDelay255
COMPARE MOVWF 0x01
FAULT CALL LCDcom ;clear LCD
MOVF OUTPUTH,W CALL Delay255
SUBLW 80h CALL ROW1

3
CALL Delay255 RETURN

return DANGER

RED_BLINK0 CLRF COUNTER

BCF PORTB, 4 CLRF count ;set


counter register to zero
BSF PORTA, 5 ;red lights
MOVLW b'10000000'
return
MOVWF COUNTER
RED_BLINK

BCF PORTB, 4 LINE12


BSF PORTA, 5 MOVF COUNTER,W ;1st row, 1ST column
CALL Delay50 ;Hold RED flash for 255msec CALL LCDcom
BCF PORTA, 5 INCF COUNTER, f
CALL Delay50 MOVF COUNTER,W
return SUBLW 90H
;--------------------------------------------------------- BTFSC STATUS,C
; SUBROUTINE TO MAKE GREEN LED blink when GOTO Message2
the current is within normal/rated value
CALL Delay255
;---------------------------------------------------------
CALL Delay255
NORMAL
CALL Delay255
CLRF PORTB
CALL Delay255
CLRF PORTA
RETURN
BSF PORTB, 4
Message2
CALL Delay255
MOVF count, w ;put counter value in W
BCF PORTB, 4
CALL Text2 ;get character from text table
call Delay255
CALL CHAR_DISP
BCF PORTB,7
;switch off buzzer XORLW 0x00 ;is it a zero?

BCF PORTB, 6 BTFSS STATUS, Z


;switches off Relay
INCF count, f

4
GOTO LINE12 ;=======================================
=============================
Text2
;GIVING INSTRUCTIONS TO LCD
ADDWF PCL, F
;----------------------------
DT "OVERCURENT FAULT"
LCDcom

movwf PORTC
RETURN
bcf PORTB, 5 ; (4) Write instruction to display

call Delay5

bsf PORTA,1 ; (5) enable


;=======================================
============================= call Clock

;WRITING THE CHARACTER TO LCD bcf PORTA,1 ; (5)

;---------------------------- CALL Clock

CHAR_DISP CLRF DelayL

MOVWF PORTC movlw 08h ; about 6mS delay @ 4MHz

BSF PORTB,5;set both RS and E movwf DelayH

BSF PORTA,1 ;set E DELOOP

CALL Delay5 NOP ;small delay

BSF PORTB,5 ;set RS NOP

BCF PORTA,1 ;clear E NOP

CALL Delay5 DECFSZDelayH,f

RETURN GOTO DELOOP

;======================================= return
=============================
;=================================
FIRST_LINE
;RELAY, BUZZER AND LED WARNING
MOVF COUNTER,W ;move to 1st row,
first column ;================================

call LCDcom

return

5
;======================================= ; -----------------------------
=======================
; CLOCKING DELAY - 64uS @ 4MHz
;DELAYS at 4MHz
; -----------------------------
;----------------------------
Clock movlw 40h
Delay255 movlw 0xff ;delay 255 mS
movwf DelayL
goto d0
STEP decfsz DelayL,f
Delay100 movlw d'100' ;delay 100mS
GOTO STEP
goto d0
return
Delay50 movlw d'50' ;delay 50mS
;=======================================
goto d0 ======

Delay20 movlw d'20' ;delay 20mS ;TEXT TO DISPLAY

goto d0 ;=======================================
======
Delay5 movlw 0x05 ;delay 5.000ms
Text
d0 movwf count1
ADDWF PCL, f
d1 movlw 0xC7 ;delay 1mS
DT "CURRENT IN AMPS:"
movwf counta
RETURN
movlw 0x01
;<><><><><><><><><><><>
movwf countb
;MAIN PROGRAM <>
Delay_0
;<><><><><><><>><>><><>
decfsz counta, f
START
goto $+2
;clear all the ports
decfsz countb, f
BCF STATUS,RP0 ;select register bank 0
goto Delay_0
BCF STATUS,RP1

CLRF PORTA ;clear all the ports


decfsz count1 ,f
CLRF PORTB
goto d1
CLRF PORTC
return

6
BSF STATUS,5 ;select register bank 1 BSF ANSEL,0 ;Set RA0 to analogue

MOVLW B'00000001' ;setup port A ( BCF STATUS,RP0 ;Bank 0


RA0=input,RA1-2=Output )
BCF STATUS,RP1
MOVWF TRISA
MOVLW 0x01 ;Vdd Vref (bit 6), AN0 (0000
MOVLW .0 ;setup port b of bit 5-2), On (bit 0)

MOVWF TRISB MOVWF ADCON0 ;also LEFT JUSTIFY

CLRF TRISC ;PortC is output CALL Clock ;sampling time

MOVLW b'01101000' ;internal oscillator BCF STATUS,RP1 ;BANK 0

MOVWF OSCCON BCF STATUS,RP0

BCF STATUS,RP0 BSF ADCON0,GO ;Start conversion

BTFSC ADCON0,GO ;Is conversion done?

CALL LCDINIT GOTO $-1 ;No, test again

CURRENT call CURRENT_DISPLAY ;STORING THE RESULTS

CALL COMPARE2 MOVF ADRESH,W ;Read upper 8 bits

CALL COMPARE MOVWF OUTPUTH

goto CURRENT BANKSEL ADRESL

MOVF ADRESL,W ;Read lower 2 bits

;_______________________________ BCF STATUS,RP1 ;BANK 0

;ADC CONVERSION BCF STATUS,RP0

;_______________________________ MOVWF OUTPUTL

ADC_conv BCF STATUS,RP0 ;Bank 0

BSF STATUS,RP0 ;Bank 1 return

MOVLW b'01010000' ;BCD CONVERSION


;ADC clock at 4MHz/16(Tad=4.0us)

MOVWF ADCON1 ;
;--------------------------------------------------------
BSF TRISA,0 ;Set RA0 to input
;DISPLAY THE CURRENT LEVEL
BCF STATUS,RP0 ;Bank 2
;---------------------------------------------------------
BSF STATUS,RP1 ;

7
CURRENT_DISPLAY GOTO BIT7

CALL ADC_conv ;Get the value from the MOVLW .7


conversion
ADDWF ONES, F
CONVERT
MOVLW .5
CLRF THOUSANDS
ADDWF FIRST_DEC,F
CLRF HUNDREDS
MOVLW .7
CLRF TENS
ADDWF THIRD_DEC, F
CLRF ONES

CLRF FIRST_DEC
;WEIGHT FOR BIT7 = 3.754
CLRF SEC_DEC
BIT7
CLRF THIRD_DEC
BTFSS OUTPUTH,5
;WEGHT OF BIT9 = 15.015
GOTO BIT6
BIT9
MOVLW .3
BTFSS OUTPUTH, 7
ADDWF ONES, F
GOTO BIT8
MOVLW .7
MOVLW .1
ADDWF FIRST_DEC,F
ADDWF TENS, F
MOVLW .5
MOVLW .5
ADDWF SEC_DEC,F
ADDWF ONES, F
MOVLW .4
MOVLW .1
ADDWF THIRD_DEC, F
ADDWF SEC_DEC, F

MOVLW .5
;WEIGHT FOR BIT6 = 1.877
ADDWF THIRD_DEC, F
BIT6

BTFSS OUTPUTH,4
;WEIGHT FOR BIT8 = 7.507
GOTO BIT5
BIT8
MOVLW .1
BTFSS OUTPUTH,6
ADDWF ONES,F

8
MOVLW .8 ADDWF THIRD_DEC, F

ADDWF FIRST_DEC, F

MOVLW .7 ;WEIGHT FOR BIT3 = 0.235

ADDWF SEC_DEC, F BIT3

MOVLW .7 BTFSS OUTPUTH,1

ADDWF THIRD_DEC, F GOTO BIT2

MOVLW .2

;WEIGHT FOR BIT5 = 0.938 ADDWF FIRST_DEC, F

BIT5 MOVLW .3

BTFSS OUTPUTH,3 ADDWF SEC_DEC, F

GOTO BIT4 MOVLW .5

MOVLW .9 ADDWF THIRD_DEC, F

ADDWF FIRST_DEC,F

MOVLW .3 ;WEIGHT FOR BIT2 = 0.117

ADDWF SEC_DEC, F BIT2

MOVLW .8 BTFSS OUTPUTH,0

ADDWF THIRD_DEC, F GOTO BIT1

MOVLW .1

;WEIGHT FOR BIT4 = 0.469 ADDWF FIRST_DEC, F

BIT4 MOVLW .1

BTFSS OUTPUTH,2 ADDWF SEC_DEC, F

GOTO BIT3 MOVLW .7

MOVLW .4 ADDWF THIRD_DEC, F

ADDWF FIRST_DEC, F

MOVLW .6 ;WEIGHT FOR BIT1 = 0.059

ADDWF SEC_DEC, F BIT1

MOVLW .9 BTFSS OUTPUTL,7

9
GOTO BIT0

MOVLW .5 MOVLW .10

ADDWF SEC_DEC,F ;Adjusting second decimal place

MOVLW .9 INCF FIRST_DEC, F

ADDWF THIRD_DEC,F SUBWF SEC_DEC, F

BTFSC STATUS, C

;WEIGHT FOR BIT0 = 0.029 GOTO $-3

BIT0 ;At this point it has gone beyond zero thus FIRST-DEC
has extra value
BTFSS OUTPUTL,6
DECF FIRST_DEC, F
GOTO MODIFY
ADDWF SEC_DEC, F
MOVLW .2

ADDWF SEC_DEC,F
MOVLW .10
MOVLW .9
;Adjusting FIRST decimal place
ADDWF THIRD_DEC,F
INCF ONES, F

SUBWF FIRST_DEC, F
;MODIFY EACH REGISTER FOR DISPLAY
BTFSC STATUS, C
MODIFY
GOTO $-3
MOVLW .10
;At this point it has gone beyond zero thus ONES has
;Adjusting third decimal place extra value
INCF SEC_DEC, F DECF ONES, F
SUBWF THIRD_DEC, F ADDWF FIRST_DEC, F
BTFSC STATUS, C

GOTO $-3 MOVLW .10


;At this point it has gone beyond zero thus SEC-DEC ;Adjusting ONES place
has extra value
INCF TENS, F
DECF SEC_DEC, F
SUBWF ONES, F
ADDWF THIRD_DEC, F
BTFSC STATUS, C

10
GOTO $-3 GOTO WRITE1

;At this point it has gone beyond zero thus TENS has BLANK
extra value
MOVLW " "
DECF TENS, F ; otherwise put in a space

ADDWF ONES, F CALL CHAR_DISP

GOTO STEP2

MOVLW .10

;Adjusting TENS place WRITE1

INCF HUNDREDS, F MOVF HUNDREDS,W

SUBWF TENS, F ADDLW30H

BTFSC STATUS, C CALL CHAR_DISP

GOTO $-3 STEP2

;At this point it has gone beyond zero thus MOVLW 0XC4
HUNDREDS has extra value
CALL LCDcom
DECF HUNDREDS, F
MOVF TENS,W
ADDWF TENS, F
BTFSC STATUS, Z ; if not zero

GOTO BLANK2
;COVERTING THEM TO ASCII and DISPLAYING
THE VALUES GOTO WRITE2

MOVLW 0x30

ADDWF ONES,F BLANK2

ADDWF FIRST_DEC,F MOVF HUNDREDS,W

VALUE BTFSC STATUS, Z ; if not zero

MOVLW 0XC3 GOTO SPC

CALL LCDcom GOTO WRITE2

MOVF HUNDREDS,W SPC

BTFSC STATUS, Z ; if not zero MOVLW ""


; otherwise put in a space
GOTO BLANK
CALL CHAR_DISP

11
GOTO STEP3 BTFSC STATUS, Z ; if not zero

WRITE2 GOTO SPC1

MOVF TENS,W GOTO WRITE3

ADDLW30H SPC1

CALL CHAR_DISP MOVLW ""


; otherwise put in a space
STEP3
CALL CHAR_DISP
MOVLW 0XC5
GOTO STEP4
CALL LCDcom
WRITE3
MOVF ONES,W
MOVLW 0XC8
CALL CHAR_DISP
CALL LCDcom
MOVLW 0XC6
MOVF SEC_DEC,W
CALL LCDcom
ADDLW30H
MOVLW "."
CALL CHAR_DISP
CALL CHAR_DISP

MOVLW 0XC7
STEP4
CALL LCDcom
MOVLW 0XC9
MOVF FIRST_DEC,W
CALL LCDcom
CALL CHAR_DISP
MOVF THIRD_DEC,W

BTFSC STATUS, Z ; if not zero


MOVLW 0XC8
GOTO BLANK4
CALL LCDcom
GOTO WRITE4
MOVF SEC_DEC,W

BTFSC STATUS, Z ; if not zero


BLANK4
GOTO BLANK3
MOVLW " "
GOTO WRITE3 ; otherwise put in a space
BLANK3 CALL CHAR_DISP

MOVF THIRD_DEC,W GOTO FINISH

12
WRITE4 CALL CHAR_DISP

MOVLW 0XC9 FINISH

CALL LCDcom RETURN

MOVF THIRD_DEC,W END ;End of program

ADDLW 30H

13
APENDIX D: Bill of Materials

Components Quantity Cost(Ksh)


PIC16F690 1 450

16x2 LCD 1 800

Relay 1 100

transistors 2 50

resistors 5 25

Buzzer 1 50

LEDs 2 20
PCB 1 1200

Diodes 2 20

Current sensor 1 700

potentiometer 1 30

TOTAL COST 3425

2
References

1.generating-transmitting-and-distributing-electricity. [Online]
http://technology.ezinemark.com/generating-transmitting-and-distributing-electricity-
7d30ca53b6b0.html.

2. El-Hawary, M. E. Electrical Power Systems: Design and Analysis. s.l. : John Wiley & Sons,
1995.

3. Yeshwant G. Paithankar, S. R. Bhide. Fundamentals of Power System Protection. s.l. :


2010, 2010. 3.

4. Morton, John. The PIC Microcontroller:. London : Oxford,, 2005.

5. PIC16F631/677/685/687/689/690 Data Sheet. [pdf] s.l. : Microchip Technology Inc, 2006.

6. PIC16F631/677/685/687/689/690 Data Sheet. [pdf] s.l. : Micrichip Technology Inc, 2006.

7. PAC World Magazine. Sachdev, Mohindar S. Redundancy considerations for protective relay
systems, 2010.

8. Verle, Milan. PIC Microcontrollers.

9. Microsystems, Allegro. ACS712 series Datasheet.

10. Alstom. [Online] http://www.alstom.com/Germany/products-and-services.

11. Badri Ram, D. M Vishwakarma. Power System Protection and Switchgear. s.l. : Tata
McGraw-Hill Education,, 2001.

12. Xiangning Lin, Jing Ma, Qing Tian, Hanli Weng. Electromagnetic Transient Analysis and
Novell Protective Relaying Techniques for Power Transformers. s.l. : John Wiley and Sons,
2015.

13. Harlow, James H. Electric Power Transformer Engineering, Third Edition.

14. Greenwald, Peter Ed. Electrical Hazards and Accidents: Their Cause and Prevention. s.l. :
John Wiley and Sons, 1990.

15. Wilmshurst, Tim. Designing Embedded Systems with PIC Microcontrollers. s.l. : Elsevier
Ltd, 2007.

16. Keridge, Charles. Microchip technology: the past and the future. s.l. : Wiley, 1983.

17. Ibrahim, Dogan. PIC BASIC: Programming and Projects. s.l. : Newness, 2001.

3
18. phidgets. http://www.phidgets.com. 2008.

19. All about circuits. [Online] 2015. http://www.allaboutcircuits.com.

20. Pansini, Anthony J. Electrical Transformers and Power Equipment. s.l. : The Fairmont
Press, Inc, 1999.

You might also like