Download as pdf or txt
Download as pdf or txt
You are on page 1of 52

DILLA UNIVERSITY

COLLEGE OF ENGINEERING AND TECHNOLOGY

SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING

STREAM: COMMUNICATION

TITLE: DESING OF AUTOMATIC SATELLITE DISH

POSITIONIG SYSTEM USING STEPPER MOTOR

Prepared by ID no

1.Daneal Tsegay 0421/14

2.Desalegn Mulu 0485/14

3.Elias Teshome 0534/14

4.Nebiyat Abera 1279/14

Advisors Mr. Musie. Signature: ........................


ACKNOWLEDGMENT

Firstly, thanks to GOD for everything. Secondly,we would like to express our heartfelt gratitude to
our advisors Mr. Musie.

I
ABSTRACT
In this paper, microcontroller was designed to develop a dish positioning system which can be
operated by using a push button control. The main point of using a dish is to receive signal from
satellites and other broadcasting sources. In order to get the exact angle of position of the dish, it
needs to be adjusted automatically. In order to overcome the difficulty of adjusting manually, this
paper helps in adjusting the position of the dish through a push button control automatically. Push
button control acts as a transmitter whose data is received by a microcontroller. The microcontroller
sends the control signals to the motor through an interface known as motor driver.

Satellite communication opened up a whole world of TV/Radio entertainment with a wide variety of
programs on offer to choose from. A substantial number of people are seen to purchase satellite
dishes as they seek to be the quality of images inherent to the satellite service. Satellite
communication, however, is limited to the orbiting satellites footprint and adverse weather conditions
that may lead to general drifting of the satellite dish, from its originally mounted position .This
therefore makes satellite dishes prone to misalignment from these satellites in space resulting in a
weakened signal strength reception.

Moreover, satellite dishes and antennas are mounted in very precarious locations, in an attempt to
steer clear from any obstructions such as buildings and trees. This imposes a risk when it comes to
installing and servicing those installed dishes for proper alignment. Therefore we propose to design a
dish control system to assist in positioning and general installation of satellite dishes. This system will
seek to use push button, Arduino, two Stepper motor to adjust the dish position. It consists of two
motors that will enable the dish to move both in horizontal and vertical direction. An Arduino will be
used as the controller to interface between the signals from the push button, to adjusting the motors.
In the end, this project seeks to solve the problem of manually adjusting the dish and providing a safe
solution for mounting satellite dishes.

II
Table of Contents
Acknowledgment...............................................................................................................................i

Abstract.............................................................................................................................................ii

List of Figures...................................................................................................................................v

List of Tables....................................................................................................................................vi

Acronys.............................................................................................................................................vii

Chapter One

Introduction........................................................................................................................................1

1.1 Background..................................................................................................................................1

1.2 Statement of the problem.............................................................................................................3

1.3 Objectives....................................................................................................................................4

1.3.1 General objective................................................................................................................4

1.3.2 Specific objectives..............................................................................................................4

1.4 Scope of the project.....................................................................................................................5


1.5 significate of the project..............................................................................................................6

Chapter Two
Review of Literatures........................................................................................................................7
Chapter Three
Methodology.....................................................................................................................................10
3.1. Methodology of the system....................................................................................................10
3.2. Components of Arduino Based Automatic Satellite positioning system............................11
3.3. Component used Description.................................................................................................11
3.3.1 Arduino uno r3.....................................................................................................................11
3.3.2 Liquid Crystal Display (LCD)..............................................................................................17
3.3.3 Stepper motor........................................................................................................................19

III
3.3.4 Push Button.............................................................................................................................20

3.3.5 ULN2003 Stepper Motor Driver.............................................................................................21

3.3.6. Power supply..........................................................................................................................23

3.5 Azimuth and Elevation Angle....................................................................................................25

3.5.2. Elevation Angle.............................................................................................................25


3.5.1.Azimuth Angle...................................................................................................................25
Chapter four

Simulation result and discission...........................................................................................................28

4.1.System Design..........................................................................................................................28

4.2. Simulation Results...................................................................................................................29

Chapter five

Conclusion and recommendation.........................................................................................................35

5.1 conclusion...............................................................................................................................35

5.2 recommendation.....................................................................................................................35

Reference.............................................................................................................................................36

Appendix..............................................................................................................................................37

IV
List of Figures
Figure3. Block diagram of the Automatic Satellite dish positioning System
Figure 3.1: Arduino uno r3

Figure 3.2: Arduino uno r3(Atmega328p) UNO pin configuration


Figure 3.3Liquid Crystal Display (LCD)
Figure 3.4: Stepper motor
Figure 3.5 Push Button
Figure 3.6: ULN2003 Stepper Motor Driver
Figure 3.7 H bridge circuit.

Figure 3.10 Block Diagram of Regulated Power Supply

Figure 3.71 Azimuth and Elevation angle


Figure 3.12 Azimuth angle
Figure 3.13 Elevation Angle
Figure 4.1 Over all circuit Diagram
Figure 4.2 Eutel Sat condition of simulation result
Figure 4.3 Nile Sat condition of simulation result
Figure 4.4 Arab Sat condition of simulation result
Figure 4.5 Bader Sat condition of simulation result
Figure; 4.6 Hotbird Sat condition of simulation result

V
List of Tables

Table 3.1: Specification of Arduino uno

Table 3.2 Pin number of LCD and its function

VI
List of acronyms

LCD Liquid Crystal Oscillator


EEPROM Electrically Erasable Programmable Read Only Memory
PIC Peripheral Interface Control
DC Direct Current
AC Alternative current
ADC Analog to Digital converter
H High
L Low
I/O Input output
LNB Low Noise Bloc

CMOS Completely metallic oxide semiconductor

RISC Reduced instruction set computer

SRAM Static random access memory

USART Universal Synchronous/Asynchronous Receiver/Transmitter

SPI Serial peripheral Interface

ALU Arithmetic logic unit

CPU Central process unit

AVR Automatic voltage regulation

IDE Integrated development environment

FET Field effect transistor

VII
CHAPTER ONE

INTRODUCTION

1.1 Background

The project is designed to develop a dish positioning system which can be operated by using push
button. In order to overcome the difficulty of adjusting manually, this proposed system helps in
adjusting the position of the dish through a simple push button. This system consists of two motors
that enable the dish to move both in horizontal and vertical direction.
A Satellite dish is a dish-shaped type of parabolic antenna designed to receive electromagnetic signals
from satellites, which transmit data transmissions or broadcasts such as satellite television. There are
many commercial communications satellites in the geosynchronous orbit. Before we go through, it is
best first define some terms as applicable to the world of satellite TV reception:

Geostationary satellite: Is the satellite remains a fixed (stationary) in an apparent position relative to
the earth; about 35784 km away from the earth if its elevation angle is orthogonal (90○) to the
equator. Its period of revolution is synchronized with that of the earth in inertial space .Geostationary
satellites are located in orbit directly above the equator and stay in the same place in the sky since
they go around the earth at the same angular speed as that of the earth as it rotates. Satellite locations
may thus be defined by longitude only.

Azimuth: The azimuth angle is the angle at which the earth station‟s disk is pointing at the horizon.
Defining north is 0 deg or 360 deg, east is 90 deg, south is 180 deg, and west is 270 deg.

Elevation: The elevation angle is the angle by which the antenna bore sight must be rotated to lock on
to the satellite.

Geo Orbit position is the longitude position around the geostationary orbit. The satellites are all
approximately fixed in the sky above the equator. Negative orbit position numbers are degrees West

1
from Greenwich meridian. Positive numbers are degrees east. The use of East and West longitudes is
popular for public use since the numbers are smaller. Use of degrees East only (0 to +360deg, going
East from Greenwich) however is our preference since the satellites go around this way and it makes
sense for the numbers to keep increasing if the satellite moves forwards. Trying to do orbit
calculations is bad enough without having numbers that keep switching forwards and backwards.
Many satellite operators also use the 0 to +360 deg method, but may additionally provide the “deg
West” notation for some output publications.

2
1.2 Statement of the problem

There are many reasons and problems which motivate us to seek for solutions and suggestions. The
majority of the satellite dish user need to adjust the position of theirs Satellite Dish every time when
there is occurs misalignment/disposition of their Satellite dish to the satellite which it receives the
signal from. With the proposed work, the users of Satellite Dish can save their time and Money by
selecting the desired Satellite channel and the system adjust the azimuth and Elevation position of the
Satellite dish automatically.

3
1.3 Objectives of the project

1.3.1 General objective


To design satellite dish positioning system by automatically control of the Elevation and Azimuth
angle using to micro controller.

1.3.2 Specific objective


The specific objectives of this project is:

 To write the code for the system

 To simulate the design of the system

 To know how the system is operating

 To design motor driver specification.

4
1.4 Scope of the project

In the recent days the Satellite communication opened up a whole world of TV/Radio entertainment
with a wide variety of programs on offer to choose from. Most Satellite dish antennas are designed to
mount directly on the roof of the Residential house, Hotel. Most Satellite dish/Receiver that used in
Communication Company are already used the Automatic Dish Positioning System to the sake of the
quality information exchange. This system can also be used in, Recreational Cars. A method for
positioning a satellite dish antenna mounted on a parked vehicle in order to receive signals from a
plurality of satellites located in a geosynchronous belt, a receiver in the vehicle connected to receive
signals from the satellite dish antenna and an electronic compass connected to the mount of the
satellite dish antenna for generating a direction signal corresponding to the magnetic direction of the
satellite dish antenna, said method comprising.

5
1.5 Significant of the project

Design of satellite dish positioning system can provides different advantages. Some of these are:

 To reduce the difficulty the satellite dish of adjusting to get the exact angle.

 To have wide range of Satellite Channel choice for the User

 To reduce the maintenance cost in adjusting the satellite dish

 To reduce the time wasted for the adjustments of the Satellite dish

6
CHAPTER TWO

LITRATURE REVIEW

Parabolic antennas referred to as "dish" antennas had been in use long before satellite television. The
term "satellite dish" was coined in 1978 during the beginning of the satellite television industry, and
came to refer to dish antennas that send and/or receive signals from communications satellites.

There are a number of studies for improving the control circuit for positioning satellite dish.

In 4, Jan 2000, Chuong, B. and C. Barry present the design of Positioning mechanism informs an
installer of the quality of the signal received by the receiver coupled to the antenna while the installer
is positioning the antenna. The system is consisted from a signal generator and a display. A signal
generator determining the strength of signals received from the antenna provides a strength signal to a
display at a positional antenna, where the display assists an installer for accurate pointing of the
antenna toward a satellite .

The drawbacks of this Positioning mechanism is that in spite of the signal strength measuring system
the dish aligning still too difficult because the physical movement of the motors is performed
manually by the installer.

Me MeKyaw, Chaw MyatNwe andHlaMyoTun from Department of Electronics Engineering,


Mandalay Technological University present the design of the control unit for aligning a satellite dish
consists of the hardware and software. This unit was consisted of hardware components which remote
controller, PIC, microcontroller, relay driver and DC motor based servo mechanism. And the software
will determine a desired position of the dish and send the command to the motor through the
microcontroller. The control unit works when the remote send the command to microcontroller to
calculate the resolution and save degree and pluses in the EEPROM when remote send the degree to
the microcontroller the motor will be driven the motor stopped if the count is equal the desired degree.
The control unit uses the IR module to receive the pulses form remote to the microcontroller. The

7
advantage of the control unit can be used remote to control of the Dc motor and microcontroller for
calculation. The limitations of the control unit described above are First IR sensor‟s accuracy depend
on the environment temperature which mean that the system will have a random levels of accuracy.
Second IR sensor must have a line of sight communication. Third radiation form the sun causes
interferences in the IR sensor reading specially at mid-day. Lastly but not last IR sensor quality
depend on company.

Rafael, M.C., J.B. Gonçalves, and P.P.L. developed the positioning circuit consisted from satellite
receiver, GPS module, computer, dish and motors. GPS determine the longitude and latitude of the
dish it connected to the computer using serial bus. Satellite receiver is responsible for measuring the
signal strength received from the satellite periodically and it sends these measurements to the
computer via serial bus. Computer responsible for controlling the whole system it receives the dish
position from the GPS module and the signal strength from the receiver then it calculates the azimuth
and elevation angles. The program moves the motors according to the azimuth and elevation angles.
Since the dish is assumed to be in the correct position the signal strength may be weak and for
insuring that the dish in the correct position with good signal strength the satellite receiver sends a
periodic report about the signal strength to the computer then the computer uses these reports to align
the dish so it receives good signal strength from the satellite.

The benefits of this poisoning circuit it uses GPS module for determining the longitude and latitude
and it uses computer program for calculating the azimuth and elevation angles. The drawbacks of this
poisoning circuit it‟s wired. Wires restrict the user to stay within a small geographic area. In January,
2007 MuhibulHaqueBhuyan from Department of Electronics and Telecommunication Engineering,
Daffodil International University present the design and implementation of wireless position control
system using a computer for calculating azimuth and elevation angles after requesting for both of the
satellite location and the antenna location. The program has a function to find out the time needed for
each DC motor to be powered on to adjust its corresponding angle. the powering time for each motor
is sent to IR sensor by using parallel port then the DC motors are positioned to the specified angles.

8
The limitations of this positioning control system are. First since DC motors are controlled by timing
information's any small increasing or decreasing in these information's the system will not be aligned
to the correct position. Second IR communication is susceptible to sun interference making them
preferred only in night. Third the software used for calculating elevation and azimuth is too difficult
for ordinary people that they have to enter the angle of the satellite they wish to receive it's channels
they have to enter their position longitude and latitude so users must use another software to locate
themselves.
In our project we proposed that the design of satellite dish positioning system consists of the hardware
and software. This unit consisted of hardware components which are push button , arduino , motor
driver and two stepper motors based . And the software will determine a desired position of the dish
and send the command to the motor through the microcontroller. Push button send the degree to the
microcontroller the motor will be driven the motor stopped if the count is equal the desired degree.
The limitation of Automatic dish positioning system we have designed uses an open loop control
system, but we use closed loop control system makes the system very stable and efficient.

9
CHAPTER THREE
3, METHODOLOGY

3.1. Methodology of the system

Block diagram of the Automatic Satellite dish positioning System

Power
supply

LCD
Display

Push button Motor Driver

ARDUNIO (ULN2003A)
UNO
(ATmega32
8P) Stepper
Motor

Satellite
Dish

3.4.1. Working principle of the block diagram

The power supply provides power to the Arduino. The Arduino Uno used to controls the Stepper
motor. Follow the schematic to connect the Arduino to the motor driver, and the driver to the Stepper
Motor. The motor can be driven by a 9-36 volt power sources depending on the load present. The

10
Arduino Board is programmed using the Arduino IDE software. In other word water tube used to
transmit water to the plant land. The Push Button takes the input from the Users‟ desired Satellite
Channel and this push button sends the signal to the Arduino and the Arduino adjust the Azimuth and
Elevation Angle of the satellite dish depending on the user selection. The system uses open loop
control because the stepper has the capacity of make the thing Precise.

3.2. Components of Arduino Based Automatic Satellite positioning system

The components are as follows: -

 Arduino Uno R3 microcontroller (The brain of the system).

 Stepper Motor

 Push button

 Motor drive

 Liquid crystal display (LCD).

 Power supply

3.3. Component used Description

This project uses Arduino Uno to controls the motor and to display the selected satellite channel.
Follow the schematic to connect the Arduino to the motor driver, and the driver to the stepper motor.
The motor can be driven by a 9 -36-volt power sources. The Arduino Board is programmed using the
Arduino IDE software. The push button from the user take the desired channel and sends the signal to
the Arduino. The stepper motor adjust the satellite dish until the desired/ good signal is received. All
components are used in this project described as follow.

3.3.1. ARDUINO UNO R3

Arduino is an open-source physical computing platform based on a simple microcontroller board, and
a development environment for writing software for the board. Arduino can be used to develop

11
interactive objects, taking inputs from a variety of switches or sensors, and controlling a variety of
lights, motors, and other physical outputs. The boards can be assembled by hand or purchased
preassembled; the open-source IDE can be downloaded for free. The Arduino programming language
is an implementation of Wiring, a similar physical computing platform, which is based on the
Processing multimedia programming environment. This project uses Arduino Uno to controls the
motor. Follow the schematic to connect the Arduino to the motor driver, and the driver to the satellite
Dish. The motor can be driven by a 9- 36 volt. The Arduino Board is programmed using the Arduino
IDE software.

Figure 3.1: ARDUINO UNO R3

The Arduino has several different kinds of pins each of which is labeled on the board and use for
different functions.

 GND: Short for „Ground‟. There are several GND pins on the Arduino, any of which can be
used to ground on its circuit.

 5V and 3.3V: Most of the simple components used with the Arduino run happily off of 5 or
3.3 volts.

12
 Analog: The areas of pins under A0 through A5 on the UNO are Analog In pins. These pins
can read the signal from an analog sensor (like level sensor) and convert it into a digital value.

 Digital: Across from the analog pins are the digital pins (0 through 13 on the UNO). These
pins can be used for both digital input (like telling if a button is pushed) and digital output like
powering an LED. 

 PWM: some of the digital pins (3, 5, 6, 9, 10, and 11 on the UNO act as normal digital pins).

The other components are which includes in Arduino boards are:

 Power (USB): Every Arduino board needs a way to be connected to a power source. The
Arduino UNO can be powered from a USB cable coming from computer or a wall power
supply. The USB connection is also used to load code onto Arduino board.

 Reset Button: Just like the original Nintendo, the Arduino has a reset button. Pushing it will
temporarily connect the reset pin to ground and restart any code that is loaded on the Arduino.
This can be very useful if our code doesn‟t repeat, but we want to test it multiple times.

 Power LED Indicator: This LED should light up whenever plug Arduino into a power source.
If this light doesn‟t turn on, there‟s a good chance something is wrong item.

13
Table 3.1: Specification of ARDUINO UNO

Features Specification

Microcontroller ATmega328p

Operating voltage 5v

Input voltage 7-12v

Digital I/O pins 14(of 6 provide PWM output)

Analog Input pins 6

DC current per I/O pin 40mA

DC current for 3.3v pin 50mA

Flash Memory 32KB(ATmega328) of which 0.5KB

Clock Speed 16MHz

ATMEGA 328P MICRO CONTROLLER

The ATmega328P is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC
architecture. By executing powerful instructions in a single clock cycle, the ATmega328P achieves
throughputs approaching 1 MIPS per MHz allowing the system designed to optimize power
consumption versus processing speed The ATmega328P provides the following features: 4K/8K bytes
of In-System Programmable Flash with Read-While-Write capabilities, 23 general purpose I/O lines,
32 general purpose working registers, three flexible Timer/Counters with compare modes, internal
and external interrupts, a serial programmable USART, a byte-oriented 2-wire Serial Interface, an SPI
serial port, a 6-channel 10-bit ADC and five software selectable power saving modes. The Idle mode
stops the CPU while allowing the SRAM, Timer/Counters, USART, 2-wire Serial Interface, SPI port,

14
and interrupt system to continue functioning. The Power-down mode saves the register contents but
freezes the Oscillator, disabling all other chip functions until the next interrupt or hardware reset. In
Power-save mode, the asynchronous timer continues to run, allowing the user to maintain a timer base
while the rest of the device is sleeping. The ADC Noise Reduction mode stops the CPU and all I/O
modules except asynchronous timer and ADC, to minimize switching noise during ADC conversions.
In Standby mode, the crystal/resonator Oscillator is running while the rest of the device is sleeping.
This allows very fast start-up combined with low power consumption. The AVR core combines a rich
instruction set with 32 general purpose working registers. All the 32 registers are directly connected to
the Arithmetic Logic Unit (ALU), allowing two independent registers to be accessed in one single
instruction executed in one clock cycle.

Figure 3.2: ARDUINO (ATMEGA328P) UNOpinconfiguration

15
PIN DESCRIPTIONS

VCC: Digital supply voltage.

GND: Ground.

Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The Port
B output buffers have symmetrical drive characteristics with both high sink and source capability. As
inputs, Port B pins that are externally pulled low will source current if the pull-up resistors are
activated. The Port B pins are tri-stated when a reset condition becomes active, even if the clock is not
running. Depending on the clock selection fuse settings, PB6 can be used as input to the inverting
Oscillator amplifier and input to the internal clock operating circuit.
Depending on the clock selection fuse settings, PB7 can be used as output from the inverting
Oscillator amplifier. If the Internal Calibrated RC Oscillator is used as chip clock source, PB7...6 is
used as TOSC2...1 input for the Asynchronous Timer/Counter2 if the AS2 bit in ASSR is set.

Port C (PC5:0)

Port C is a 7-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The
PC5...0 output buffers have symmetrical drive characteristics with both high sink and source
capability. As inputs, Port C pins that are externally pulled low will source current if the pull-up
resistors are activated. The Port C pins are tristated when a reset condition becomes active, even if the
clock is not running.

PC6/RESET

If the RSTDISBL Fuse is programmed, PC6 is used as an I/O pin. Note that the electrical
characteristics of PC6 differ from those of the other pins of Port C. If the RSTDISBL Fuse is not
programmed, PC6 is used as a Reset input. A low level on this pin for longer than the minimum pulse
length will generate a Reset, even if the clock is not running.

Port D (PD7:0)

16
Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The Port
D output buffers have symmetrical drive characteristics with both high sink and source capability. As
inputs, Port D pins that are externally pulled low will source current if the pull-up resistors are
activated. The Port D pins are tri-stated when a reset condition becomes active, even if the clock is not
running.

VCC

AVCC is the supply voltage pin for the A/D Converter, PC3:0, and ADC7:6. It should be externally
connected to VCC, even if the ADC is not used. If the ADC is used, it should be connected to VCC
through a low-pass filter. Note that PC6...4 use digital supply voltage, VCC.

AREF

AREF is the analog reference pin for the A/D Converter.

DC7:6(TQFP and QFN/MLF Package Only)

In the TQFP and QFN/MLF package, ADC7:6 serve as analog inputs to the A/D converter. These
pins are powered from the analog supply and serve as 10-bit ADC channels.

17
3.3.2 Liquid Crystal Display (LCD)

LCD (Liquid Crystal Display) screen is an electronic display module and find a wide range of
application. A 16x4 LCD display is very basic module and is very commonly used in various devices
and circuit. The modules are preferred over seven segments and other multi segment LEDs. The
reasons being: LCDs are economical; easily programmable; have no limitation of displaying special &
evencustom characters (unlike in seven segments), animations and so on.

Figure 3.3Liquid Crystal Display (LCD)

18
Table 3.2 Pin number of LCD and its function

PIN NO. SYMBOL FUNCTION

1 VSS Ground

2 VDD + 3 V or + 5 V supply voltage for logic

3 V0 Input voltage for LCD

4 RS H/L register select signal

5 R/W H/L read/write signal

6 E H ->L chip enable signal

7 D0 H/L data bus line

8 D1 H/L data bus line

9 D2 H/L data bus line

10 D3 H/L data bus line

11 D4 H/L data bus line

12 D5 H/L data bus line

13 D6 H/L data bus line

14 D7 H/L data bus line

19
3.3.2. Stepper motor

A stepper motor or step motor or stepping motor is a brushless DC electric motor that divides a full
rotation into a number of equal steps. The motor's position can then be commanded to move and hold
at one of these steps without any feedback sensor (an open-loop controller), as long as the motor is
carefully sized to the application in respect to torque and speed.

Fundamental operation of the Stepper Motor DC brushed motors rotate continuously when DC
voltage is applied to their terminal. The stepper motor is known by its property to convert a train of
input pulses (typically square wave pulses) into a precisely defined increment in the shaft position.
Each pulse moves the shaft through a fixed angle.

Stepper motors effectively have multiple "toothed" electromagnets arranged around a central
gear-shaped piece of iron. The electromagnets are energized by an external driver circuit or
a microcontroller. To make the motor shaft turn, first, one electromagnet is given power, which
magnetically attracts the gear's teeth. When the gear's teeth are aligned to the first electromagnet, they
are slightly offset from the next electromagnet. This means that when the next electromagnet is turned
on and the first is turned off, the gear rotates slightly to align with the next one. From there the
process is repeated. Each of those rotations is called a "step", with an integer number of steps making
a full rotation. In that way, the motor can be turned by a precise angle.

Figure 3.4: Stepper motor

20
There are two basic winding arrangements for the electromagnetic coils in a two phase stepper motor:
bipolar and unipolar.

Unipolar Stepper Motors

A unipolar stepper motor has one winding with center tap per phase. Each section of windings is
switched on for each direction of magnetic field. Since in this arrangement a magnetic pole can be
reversed without switching the direction of current, the commutation circuit can be made very simple
(e.g., a single transistor) for each winding. Typically, given a phase, the center tap of each winding is
made common: giving three leads per phase and six leads for a typical two phase motor. Often, these
two phase commons are internally joined, so the motor has only five leads.

A micro controller or stepper motor controller can be used to activate the drive transistors in the right
order, and this ease of operation makes unipolar motors popular with hobbyists; they are probably the
cheapest way to get precise angular movements.

Bipolar Stepper Motor

Bipolar motors have a single winding per phase. The current in a winding needs to be reversed in
order to reverse a magnetic pole, so the driving circuit must be more complicated, typically with
an H-bridge arrangement (however there are several off-the-shelf driver chips available to make this a
simple affair). There are two leads per phase, none are common.

3.3.3. Push Button

A push-button or simply button is a simple switch mechanism for controlling some aspect of a
machine or a process. Buttons are typically made out of hard material, usually plastic or metal. The
surface is usually flat or shaped to accommodate the human finger or hand, so as to be easily
depressed or pushed. Buttons are most often biased switches, though even many un-biased buttons
(due to their physical nature) require a spring to return to their un-pushed state.

21
Figure 3.5 Push Button

3.3.4. ULN2003 Stepper Motor Driver

The Mini Stepper Driver is small size and easy to use. It used ULN2003 to amplify the control signal
from the Arduino. The Drive voltage can up to 15v.

Figure 3.6: ULN2003 Stepper Motor Driver

Features

 The easiest module to learn how to control the Stepper and finish the simple project.

 The logic control voltage:3~5.5V

 Motor Supply Voltage: 5~ 15V

 It can sink 500mA from a 50V supply, but you'd better limit the driver voltage under 15v.

 Operating temperature: -25 degree Celsius ~ +90 degree Celsius

22
Step motor is to a machine to convert pulse to angle displacement. So if you give stepper driver a
certain pulse signal, it will drive step motor to a certain angle. The Users can control the angle the
stepper moved by the number of the pulse. And you also can control the speed of the stepper rotate by
the frequency of the pulse.

H bridge motor driver circuit

An H bridge is an electronic circuit that enables a voltage to be applied across a load in either
direction. These circuits are often used in robotics and other applications to allow DC motors to run
forwards or backwards.In general an H-bridge is a simple circuit, containing four switching
element, with the load at the center, in an H-like configuration:

Figure 3.7 H bridge circuit.

The switching elements (Q1..Q4) are FET transistors, in some high-voltage applications IGBTs.
Integrated solutions also exist but whether the switching elements are integrated with their control
circuits. The diodes (D1..D4) are called catch diodes and are usually of a Schottky type.

The top-end of the bridge is connected to a power supply (battery for example) and the bottom-end is
grounded.

In general all four switching elements can be turned on and off independently, though there are some

23
obvious restrictions.

3.3.6. POWER SUPPLY

The input to the circuit is applied from the regulated power supply. The Ac. input i.e.,220V from the
mains supply is step down by the transformer to 12V and is fed to a rectifier. The output obtained
from the rectifier is a pulsating Dc voltage. So in order to get a pure Dc voltage, the output voltage
from the rectifier is fed to a filter to remove any Ac components present even after rectification. Now,
this voltage is given to a voltage regulator to obtain a pure constant dc voltage.

220VAC Transforme Filter Regulator


Rectifier
r 5DC
Figure 3.10 Block Diagram of Regulated Power Supply

Transformer
Usually, DC voltages are required to operate various electronic equipment and these voltages are 5V,
9V or 12V. But these voltages cannot be obtained directly. Thus the AC input available at the mains
supply i.e., 220V is to be brought down to the required voltage level. This is done by a transformer.
Thus, a step down transformer is employed to decrease the voltage to a required level.
Rectifier
The output from the transformer is fed to the rectifier. It converts A.C. into pulsating D.C. The
rectifier may be a half wave or a full wave rectifier.A full bridge rectifier was chosen because they
have less ripple than a half bridge rectifier because the frequency is twice as fast.level from 220 V AC
to required voltage level to fed the system.This means the filter has to supply the voltage for only half
as long so it has less time. We have used Transformer with rating of 220/12V which steps down the
voltage.
Filter

24
Capacitive filter is used in this project. It removes the ripples from the output of rectifier and
smoothens the D.C. Output received from this filter is constant until the mains voltage and load is
maintained constant. However, if either of the two is varied, then D.C voltage received at this point
changes. Therefor a regulator is applied at the output stage
Voltage regulator
As the name itself implies, it regulates the input applied to it. A voltage regulatoris an electrical
regulator designed to automatically maintain a constant voltage level in this project, power supply of
5V and 12V are required in order to obtain the voltage levels.

3.5 Azimuth and Elevation Angle

Azimuth and elevation are angles used to define the apparent position of an object in the sky, relative
to a specific observation point. The observer is usually (but not necessarily) located on the earth's
surface.

Figure 3.11 Azimuth and Elevation angle

25
3.5.1.Azimuth Angle

The azimuth (az) angle is the compass bearing, relative to true (geographic) north, of a point on the
horizon directly beneath an observed object. The horizon is defined as a huge, imaginary circle
centered on the observer, equidistant from the zenith (point straight overhead) and the nadir (point
exactly opposite the zenith). As seen from above the observer, compass bearings are measured
clockwise in degrees from north. Azimuth angles can thus range from 0 degrees (north) through 90
(east), 180 (south), 270 (west), and up to 360 (north again).

Figure 3.12 Azimuth angle

3.5.2. Elevation Angle

The elevation (el) angle, also called the altitude, of an observed object is determined by first finding
the compass bearing on the horizon relative to true north, and then measuring the angle between that
point and the object, from the reference frame of the observer. Elevation angles for objects above the
horizon range from 0 (on the horizon) up to 90 degrees.

Figure 3.13 Elevation Angle

26
Flow chart of the Automatic Satellite dish positioning system

Start

Initialize LCD and Ports

Display the
Read the Satellite channel from the push
Satellite Name on
button
LCD

NO IsRead the
Azimuth and
Elevation angle at
a desired value?

YES
Get

Turn on the azimuth and Elevation‟s stepper updated

Motors angle

Steps both motors depends on the selected


Satellite Channel

IsRead the Azimuth and


NO Elevation angle at a
desired value?

YES

End

27
Flow chart description

The flow chart description is as follow:


 Initializing the 16*4 alphanumeric LCD and ports.

 Take the input from the User using the Push Button,

 Depending on the User selection of the Satellite channel, the Microcontroller


reads the input and display it on the Liquid Crystal Display(LCD)

 The Azimuth and Elevation‟s Stepper Motors initialize.

 Depending on the User selection of the Satellite channel, both stepper motor
steps according to the elevation and Azimuth angle we declared which
corresponds to the Satellite Channel name.

 In the next User selection of the Satellite channel, the Microcontroller reads the
input and display it on the Liquid Crystal Display (LCD).

 Subtract the Azimuth and Elevation angle of the Present selection of the Satellite
Channel from the previous and get the updated the Azimuth and Elevation angle.

 Depending on the updated angle, both stepper motor steps and finally end.

28
CHAPTER FOUR

4. RESULT AND DISCUSSION


4.1.System Design
The Arduino Based automatic Satellite dish positioning system interface module is
designed to take the selected Satellite channel in this project the system uses five (Nile
Sat ,Arab Sat, Eutel Sat, Bader Sat and Hot Bird Sat) Satellite channel /condition.

ATMEGA 328P MICRO CONTROLLER is the brain of the project which initiates the
stepper motor Driver and the corresponding Stepper Motor. The Elevation and Azimuth
angle of the Satellite dish is adjusted by making the corresponding pushbutton pin of the
microcontroller high.

Figure 4.1 Over all circuit Diagram

The circuit diagrams works on the three push button the first push button consider as
“NEXT”, the second push button consider as ”BACK “ and the third push button
consider as” OK” which is connected to the Microcontroller is high then the

29
microcontroller reads the input and display it the corresponding satellite name, its
Elevation angle and itsAzimuth angle. At the same time the microcontroller also activates
the motor drive to activate the both stepper motor depend on the state of the pushbutton.

When we first run the circuit initiates, then LCD will display the text ”Welcome to
auto sat finder ”and” press next” is displayed and the system waits until the user to enter
the desiredsatellite channel by pressing the pushbutton. For the time being the system
operates for five satellite channel. The system response for the five channel is as
followed.

4.2. Simulation Results

Eutel Sat Condition:

When the first pushbutton pressed(next), the microcontroller analog pin A0 is HIGH and
the microcontroller activates the LCD that to display the “SatName=EutelSatAzi=186
degree Ele=81 degree”. After display the text on the LCD press the third pushbutton(ok )
,the microcontroller analog pin A3 is high then microcontroller sends the signal to the
motor driver that to steps the elevation and azimuth‟s stepper motor to find the exact
position of the satellite dish depends on the angle which is defined on the microcontroller.

30
Figure 4.2 Eutel Sat condition of simulation result

Nile Sat Condition

When the first pushbutton pressed(next), for the second time, the microcontroller analog
pin A0 is HIGH and the microcontroller activates the LCD that to display the
“SatName=NileSatAzi=261degree Ele=38 degree”. After display the text on the LCD
press the third pushbutton(ok ) ,the microcontroller analog pin A3 is high then
microcontroller sends the signal to the motor driver that to steps the elevation and
azimuth‟s stepper motor to find the exact position of the satellite dish depends on the
angle which is defined on the microcontroller.

31
Figure 4.3 Nile Sat condition of simulation result

Arab Sat Condition:

When the first pushbutton pressed(next) for the third time, the microcontroller analog pin
A0 is HIGH and the microcontroller activates the LCD that to display the
“SatName=ArabSatAzi=220 degree Ele=78 degree”. After display the text on the LCD
press the third pushbutton(ok ) ,the microcontroller analog pin A3 is high then
microcontroller sends the signal to the motor driver that to steps the elevation and
azimuth‟s stepper motor to find the exact position of the satellite dish depends on the
angle which is defined on the microcontroller.

32
Figure 4.4 Arab Sat condition of simulation result

Bader Sat Condition

When the first pushbutton pressed(next), for the fourth time, the microcontroller analog
pin A0 is HIGH and the microcontroller activates the LCD that to display the
“SatName=NileSatAzi=150 degree Ele=90 degree”. After display the text on the LCD
press the third pushbutton(ok ) ,the microcontroller analog pin A3 is high then
microcontroller sends the signal to the motor driver that to steps the elevation and
azimuth‟s stepper motor to find the exact position of the satellite dish depends on the
angle which is defined on the microcontroller.

33
Figure 4.5 Bader Sat condition of simulation result

Hotbird Sat Condition

When the first pushbutton pressed(next), for the last time, the microcontroller analog pin
A0 is HIGH and the microcontroller activates the LCD that to display the
“SatName=NileSatAzi=178 degree Ele=67 degree”. After display the text on the LCD
press the third pushbutton(ok ) ,the microcontroller analog pin A3 is high then
microcontroller sends the signal to the motor driver that to steps the elevation and
azimuth‟s stepper motor to find the exact position of the satellite dish depends on the
angle which is defined on the microcontroller.

34
Figure; 4.6 Hotbird Sat condition of simulation result

35
CHAPTER FIVE

CONCLUSION AND RECOMMENDATION

5.1 Conclusion

Thus the “ARDUINO BASED AUTOMATIC DISH POSITIONING SYSTEM” has


been designed successfully. It has been developed by integrated features of all the
hardware components used. Presence of every module has been reasoned out and placed
carefully, thus contributing to the best working of the unit. The system has been tested to
function automatically. Thepushbutton takes the input from the users and sends the signal
of the selected satellite channel to the microcontroller. And according to the selected
satellite channel from the user both Azimuth and Elevation‟s Stepper motors steps. Thus,
the functionality of the entire system has been tested thoroughly and it is said to function
successfully. Auto-based Dish positioning system serves as a reliable, efficient and time
consuming system for receive the Broadcasting Channel. Automatic dish positioning
system is not only allows user to reduce the human power, but it also allows user to see
accurate changes in it. It is slightly cheaper in cost and consumes less power.

5.2 Recommendation
We have designed an AUTOMATIC DISH POSITIONING SYSTEM but in our design
there are some parts which must be done in future. These are:

 We have used Push button to take the input from the user but we can do much
better by using the Infrared ray remote (IR) to have a wide variety of satellite
channel choice and to maximize the efficiency of the system.

 The Automatic dish positioning system we have designed uses an open loop
control system, by adding some sensors like Reed sensor, magnetic sensor to
senses the current position of the Satellite dish and tells the Microcontroller to
adjust the Satellite dish very precisely. So using the closed loop control system
makes the system very stable and efficient.

36
REFERENCES
[1]Feder, Barnaby J. (15 November 2002). "Taylor Howard, 70, Pioneer In Satellite TV
for the Home". New York Times.Retrieved19 July 2014.

[2]Somerfield, Harry (30 September 1990). "Satellite dishes getting smaller, sharper in
future". The Tuscaloosa News(Tuscaloosa, Alabama) Retrieved 7 August 2014.

[3]Brooks, Andree (10 October 1993). "Old satellite dish restrictions under fire new laws
urged for smaller models". The Baltimore Sun. Retrieved 1 July 2014.

[4] Giarrusso, Michael (28 July 1996). "Tiny Satellite Dishes Sprout in Rural Area".Los
Angeles Times (Los Angeles: Los Angeles Times). Retrieved 1 July 2014.

[5] https://www.sparkfun.com (Electronic components with datasheets). Accessed on


May27, 2018

[6] https://www.engineersgarage.com/ 16 x 2 LCD Datasheet _ 16x2 Character LCD


Module PINOUT - EngineersGarage.html. Accessed on May27, 2018

[7]Liptak, Bela G. (2005).Instrument Engineers' Handbook: Process Control and


Optimization. CRC Press.p. 2464. ISBN 978-0-8493-1081-2

[8] "Push buttons and much more" thebuilderssupply.com. Retrieved 11 April 2013.

[9]https://www.wikipedia.com/ULN2003 Stepper Motor Driver - Elecrow.html .Accessed


on May27, 2018

[10]https://www.wikipedia.com Azimuth - Wikipedia, the free


encyclopedia.htm.Accessed on May27, 2018

37
APPENDIX: ARDUINO C CODE OF THE SYSTEM

#include <LiquidCrystal.h>

#include <Stepper.h>

#define TOTAL 5

int stepsPerRevolution = 200;

int stepsPerRevolution1 = 200;

// initialize the stepper library on pins 8 through 11:

Stepper myStepper(stepsPerRevolution, 0, 1, 2, 3);

Stepper myStepper1 (stepsPerRevolution, 4, 5, 6, 7);

int stepCount = 0;

int stepCount1 = 0; // number of steps the motor has taken

int show = -1;

int currentelv = 0;

int currentaz = 0;

int buttonpin1 = A0;

int buttonpin2 = A1;

int buttonpin3 = A2;

int stateold =LOW;

int currentstate = LOW;

int stateoldup =LOW;

38
int currentstateup = LOW;

int stateolddown =LOW;

int currentstatedown = LOW;

int stateoldreset =LOW;

int currentstatereset = LOW;

int stateoldmode=LOW;

int currentstatemode = LOW;

int stateoldok=LOW;

int currentstateok = LOW;

LiquidCrystal lcd(13, 12, 11,10, 9, 8);

struct details

String name;

int count2;

int count;

}emp[TOTAL]={{"EUTELSAT",81,186},

{"NILESAT",38,261},

{"ARABSAT",78,220},

{"BADER",90,150},

{"HOTBIRD",67,170}};

void setup() {

39
// put your setup code here, to run once:

pinMode(buttonpin1, INPUT);

pinMode(buttonpin2, INPUT);

pinMode(buttonpin3, INPUT);

lcd.begin(16, 4);

lcd.print("WELLCOME TO AUTOSATFINDER");

delay (5000);

lcd.clear();

lcd.setCursor(0,2);

lcd.print("PRESS NEXT");

int bounce (int x,int y){

int pinstate = digitalRead(y);

if(pinstate !=x){

delay(5);

pinstate = digitalRead(y);

return pinstate;

void loop() {

40
// put your main code here, to run repeatedly:

currentstateup = bounce(stateoldup,A0);

if(currentstateup ==HIGH &&stateoldup ==LOW ){

if(show>=4){show=4;}

else { show++;}

upfun(show);

stateoldup = currentstateup;

currentstatedown =bounce(stateolddown,A1);

if(currentstatedown==HIGH &&stateolddown ==LOW ){

if(show<1){show=0;}

else {show--;}

downfun(show);

stateolddown = currentstatedown;

currentstateok =bounce(stateoldok,A2);

if(currentstateok==HIGH &&stateoldok==LOW ){

currentelv = emp[show].count2;

currentaz = emp[show].count;

postion(currentelv,currentaz);

currentpostion(show);

41
}

stateoldok = currentstateok;

void upfun(int x){

lcd.clear();

lcd.setCursor(0,0);

lcd.print("[BACK]");

lcd.setCursor(8,0);

lcd.print("[NEXT]");

lcd.setCursor(0,1);

lcd.print("satNAME = ");

lcd.print(emp[x].name);

lcd.setCursor(0,2);

lcd.print("Elev = ");

lcd.print(emp[x].count2);

lcd.setCursor(0,3);

lcd.print("Azi = ");

lcd.print(emp[x].count);

void downfun(int x){

lcd.clear();

42
lcd.setCursor(0,0);

lcd.print("[BACK]");

lcd.setCursor(8,0);

lcd.print("[NEXT]");

lcd.setCursor(0,1);

lcd.print("satNAME = ");

lcd.print(emp[x].name);

lcd.setCursor(0,2);

lcd.print("Elev = ");

lcd.print(emp[x].count2);

lcd.setCursor(0,3);

lcd.print("Azi = ");

lcd.print(emp[x].count);

void postion(int x,int y){

myStepper.step(x);

myStepper1.step (y);

void currentpostion(int x){

lcd.clear();

lcd.setCursor(0,0);

43
lcd.print("CURRENT POSTION");

lcd.setCursor(0,1);

lcd.print("SatName");

lcd.print(emp[x].name);

lcd.setCursor(0,2);

lcd.print("Elev");

lcd.print(emp[x].count2);

lcd.setCursor(0,3);

lcd.print("Azu");

lcd.print(emp[x].count);

44

You might also like