Ip Based Robot Final

35
1 1.0Introduction 1.1Background With the beginning of human civilization and rapid development in the communication sector, we were able in developing human like creation that would assist him/herin different as well as difficult tasks. In the early part of the first millennium, human invented some sharp and pointed weapons for their daily tasks. These objects were like their machines that would help them for their security and hunting as well. With evolution human discovered different techniques that help in creating complex mechanisms which would perform different repetitive tasks in a simple and easy way. Robot is an electronic and mechanical machine. It interacts with the physical objects with given electronic programming and perform a specific task without any difficulties. It has the ability to perceive and absorb data on physical environment, process it and respond to various stimuli. The tasks are completed through purely mechanical process and motion. Usuallly they contain sensor section to understand the pysical environement. They also possess some parts like motors for their locomotion. They may be either automatic, manual or hybrid. In automatic robot, the robot can freely move according to situation of physical envoroment. Manual robots are controlled by humans. An IP Based Robot is a mechanical and electronic manual machine which is controlled by the user through a private IP. The robot is controlled within an LAN. The project we have undertaken is “IP BASED ROBOT”. It includes the concept of networking, measuring conditions of physical environment and Communication through IP. It provides the real time data of temperature data and real time video streaming. In this project, a robot is assigned with an IP address. It is connected to some Local Area Network. Any device connected to this LAN can control the robot with suitalble authority.A web application with GUI is developed in the project to effectively control the robot. 1.2 Statements of problem We want our robot to be controlled by authenticated user only. The motor at robot should be controlled via WLAN. The authenticated user should be within the coverage area. Robot must transmit temperature information and real time video information to the user.

description

This is Final year project done at IOE, WRC by four students:1. Apil Tiwari2. Sagun Subedi3. Shankar Pandey4. Yogendra Tamang

Transcript of Ip Based Robot Final

Page 1: Ip Based Robot Final

1

1.0 Introduction

1.1 Background With the beginning of human civilization and rapid development in the

communication sector, we were able in developing human like creation that would

assist him/herin different as well as difficult tasks. In the early part of the first

millennium, human invented some sharp and pointed weapons for their daily tasks.

These objects were like their machines that would help them for their security and

hunting as well. With evolution human discovered different techniques that help in

creating complex mechanisms which would perform different repetitive tasks in a

simple and easy way.

Robot is an electronic and mechanical machine. It interacts with the physical

objects with given electronic programming and perform a specific task without any

difficulties. It has the ability to perceive and absorb data on physical environment,

process it and respond to various stimuli. The tasks are completed through purely

mechanical process and motion. Usuallly they contain sensor section to understand the

pysical environement. They also possess some parts like motors for their locomotion.

They may be either automatic, manual or hybrid. In automatic robot, the robot can

freely move according to situation of physical envoroment. Manual robots are

controlled by humans. An IP Based Robot is a mechanical and electronic manual

machine which is controlled by the user through a private IP. The robot is controlled

within an LAN.

The project we have undertaken is “IP BASED ROBOT”. It includes the

concept of networking, measuring conditions of physical environment and

Communication through IP. It provides the real time data of temperature data and real

time video streaming.

In this project, a robot is assigned with an IP address. It is connected to some

Local Area Network. Any device connected to this LAN can control the robot with

suitalble authority.A web application with GUI is developed in the project to

effectively control the robot.

1.2 Statements of problem

We want our robot to be controlled by authenticated user only. The motor at

robot should be controlled via WLAN. The authenticated user should be within the

coverage area. Robot must transmit temperature information and real time video

information to the user.

Page 2: Ip Based Robot Final

2

Cost of Wi-Fi module and IP camera is very high and are rarely available in the market.

It is difficult to place different mechanical and electronics equipment within single base

of the robot. There is also unavailability of simulation software for testing the project

based on IP and Wi-Fi. The Freeduino contains in built USB to TTL converter that can’t

tolerate large voltage spikes.

ENC28J60 Ethernet module is standard Ethernet to serial converter it has RJ45 jack for

Ethernet interface and ports for serial communication. A wireless router along with

ENC28J60 Ethernet module can function as single Wi-Fi module.

There is a software named “IP webcam” distributed from ip-webcam.appspot.com

that can turn the android device into “IP webcam”. Using this software and its services

we can view real time video. A software virtual bread board available from

virtualbreadboard.org can simulate small Arduino program.

1.3 Objective

Our project Wi-Fi based robot will certainly fulfill following objectives:

1.3.1Specific Objectives

1. To control robot in four direction.

2. To monitor temperature continuously.

3. To view visual information i.e. gathering information about environment.

4. To provide control to authorized user only.

1.3.2 General Objectives

1. This project can give information about environment conditions.

2. Different devices can be controlled through IP.

3. Visual and images information can be achieved.

1.4 Methodology

As our proposal was accepted, soon then we started doing our project in defined and

planned way. During the way of converting the theories into the practical we face many

problems, but we never panic as we had the alternative solutions to if the direct way was not

accurate. This can be seen in our project.

ENC28J60 module is used to convert Ethernet signal to serial signal as microcontroller

only accepts the serial data. Two motors are used which are controlled by L293D motor driver

IC. Two digital I/O pins are used for controlling driver IC.

Page 3: Ip Based Robot Final

3

Temperature sensor LM35 is used for temperature measurement and it is connected to

analog pin of Freeduino board.

For GUI, html code was written and Freeduino was made as web- host.

As commercial wired IP camera was unavailable and only wireless camera was easily

available but costs high. So, as alternate we replace IP camera using android phone. “IP

webcam” can convert android phone to IP webcam.

Page 4: Ip Based Robot Final

4

2.0 Literature review

2.1 IP Based Communication and History

IP is a protocol that is responsible for delivering packets from source to

destination host based on IP Address. IP Address is in the packet headers of each

packet.

The history of networking started long back from the invention of electronic

computers around 1950’s. Lots of packet switched networks were developed around

1960’s. ARPANET, Mark I, CYCLADES are some packet switched networks of that

time. ARPANET was leading network and it supported the internetworking between

the networks.

In 1982, TCP/IP was standardized and in January 1, 1982 it was approved for

ARPANET. That day is also known as Flag Day.(History of Internet, n.d.)

Internet was commercialized around 1995 and since then there is flood of

development in IP communication. E-mail, instant messaging, online shopping, social

networking, VoIP, video conferencing and other communication techniques based on

IP were developed at fast rate.(Internet Protocol, n.d.)

2.2 IP Based Projects and Researches

A project named “IP based weather station: MAUSAM PARISUCHAK” was

successfully conducted by ICIMOD, Godavari, Kathmandu. This project mainly

focuses on measuring environmental conditions of the remote environment. There are

temperature and humidity sensors mounted on the surface of the body. The conditions

of temperature and humidity are continuously updated in the web page. They have

used the microcontroller unit as web server. Interested user can get the information by

surfing the IP of the microcontroller.

Another project “Wi-Fi Robot” was also successfully completed by GDG

Kathmandu. This project used Arduino and Wi-Fi Module. The performance of Wi-Fi

Module is very good but it costs high. This project was done just for controlling the

robot in Wi-Fi range. They have also used ultrasound sensor for detecting the obstacle.

But this sensor does not provide any information to the user. They have used inbuilt

Wi-Fi library of the Arduino IDE. The movement of the robot was controlled using

simple Web Based GUI.(wi fi robot, n.d.)

There are many researches going ahead regarding IP based communication.

Internet of Thing (IoT) is the term that is expanding a lot. IoT refers to making

internet-like structure for identifying individual objects so that they can be easily

maintained by the computer or embedded systems. It is sure that internet and wireless

Page 5: Ip Based Robot Final

5

technologies will connect everything such as mobile phones, sensors, cars, TV etc. In

tighter manner in near future.(Internet of Things, internetofthings.fi).

2.3 IP Based Robot

IP based Robots are the electronic machines which are controlled within an

LAN networks. The robot is controlled by the authorized user with the private IP and

control over the movement of the robot is achieved. The user can view the temperature

of the space where the robot is forwarding. In this way the robot can be used to

monitor the temperature and humidity with real-time video transmission.

There are different projects developed based on IP Robots. However, taking those

information we have developed our project based on IP.

Block diagram:

Web Application to Access the Robot

Figure 2.3.1:- Block Diagram of Control Section

A web application is displayed in the computer to give the location of robot

with visual signals through IP camera. The authenticate user will be able to log in to

the web page. It will display the value of temperature in the web page. There will be

buttons in the form to control the direction of movement of the robot. The block

diagram shows the connections of various parts.

Wi-Fi

Modem

User

Input

Page 6: Ip Based Robot Final

6

Figure2.3.2:- Block Diagram of Robot Section

Android mobile is used as an IP camera to stream the online video in the

web page. It is a real time processing. The video signals captured from the android mobile is

transferred to the computers web page through android IP software system. The analog output

from the temperature sensor converted to the temperature in degree Celsius. The signals is

transmitted to the router after converting it in temperature. The analog output from the

temperature sensor is input to the Freeduino, after certain processing, by the Ethernet to serial

converter it is converted to digital signal and send it to the router. Through the LAN the wi-fi

signals are transferred to the web page and it is displayed in degree Celsius.

Android

mobile

Ethernet to Serial

Converter

Freeduino

Wireless Router

WI-Fi Signals

Temperature Sensor

Motors

Page 7: Ip Based Robot Final

7

Flow chart:

Figure:- 2.3.3 Flow Chart of The Project

Calculate Temperature

Display website

Is User

Authenticated

?

Display Control Panel and

Temperature

Update Temperature

Forward

Pressed?

Left

Pressed?

Right

Pressed?

Down

Pressed?

Motor1: Clockwise

Motor2: Clockwise

Motor1: Clockwise

Motor2: Stop

Motor1: Stop

Motor2: Clockwise

Motor1: Anticlockwise

Motor2: Anticlockwise

Stop

Pressed?

Motor1: Stop

Motor2: Stop

Page 8: Ip Based Robot Final

8

3.0 System design

3.1 Hardware design

3.1.1 Freeduino

Figure 3.1.1.1:- Freeduino View

Figure 3.1.1.1:- Freeduino View

Arduino is an open source embedded development platform consisting of a simple

development board and an easy to use development environment for writing, programming

and uploading codes. Freeduino is an Arduino compatible board and it is designed to be a cost

effective alternative to the official Arduino Board. It is compatible with Arduino compatible

shields, tools and the Arduino IDE. (freeduino, n.d.)

Arduino is an open source development platform, which means all the designs files are

available for free. Users may use these freely available design files, which include the board

schematics, PCB Files, codes, etc. in their projects making suitable modifications as their

application may require. A large Arduino user base ensures that you will get an excellent

technical help and assistance, which will greatly reduce your development time and increase

your learning experience.

Another great feature of the Arduino is its modularity approach. There is a wide range

of add on boards, called Shields, which plug onto an Arduino and help you achieve a specific

purpose, greatly simplifying the whole development process. For example, an Arduino motor

shield can plug onto an Arduino and help you control motors directly through the main board.

There are a wide range of such shields including GSM/GPS shields, Robotics shields, Ethernet

Page 9: Ip Based Robot Final

9

Shields, Bluetooth shields and even prototyping shields. Freeduino is completely compatible

with all Arduino compatible shields

Freeduino can be programmed directly through a USB connection to a PC through the

Arduino IDE, which is a simple and easy to use program development environment for

writing, compiling and uploading codes. Our Freeduino comes with Atmega328P

microcontroller.

Features

The board is built on a high quality FR-4(1.6 mm) double sided PCB with a green

solder mask and a clear and legible legend.

Great platform to learn embedded programming.

Compatible with all Arduino compatible shields and the Arduino IDE.

Comes with an Atmega328 with a pre-burnt Arduino boot loader.

Has a standard 6x1 AVR ISP Header.

All I/O pins connected by a female header, perfect for prototyping.

Completely open source, which means all circuits, board files, software, code, etc. are

available for free.

3.1.2 ENC 28J60 Ethernet Module

It is Ethernet module used to interface the internet data to the Arduino. Ethernet

module uses the new microchip ENC 28J60 Stand –Alone Ethernet Controller IC featuring a

host of features to handle most of the network protocol requirements. The board connects

directly to the microcontrollers with a standard SPI Interface with a transfer speed of up to

20MHZ.

Figure3.1.2.1: ENC 28J60 module

ENC 28J60 meets all the specification for IEEE 802.3.It incorporates a number of packet

filtering schemes to limit incoming packets. Communication with the arduino is implemented

via the SPI with data rates with the 10 Mb/s.(interfacing ENC28j60 Ethernet Module, n.d.)

Page 10: Ip Based Robot Final

10

Pin Configuration Features:

The features are listed as follows:

1. It consists of LAN connector with build in transformer.

2. It is a 2 status LEDs on LAN connector.

3. SPI takes place only few pins to add interface to our project. SPI interface with

clock speed 20 MHz is supported.

4. Space between the pin rows is 20 mm (0.8”).

5. It supports full and half duplex communications.

6. It uses a single supply 3.3V/5V.

7. It uses 25 MHz crystal.

Pin No. Name Description

1. SCK(Serial Clock) Clock pulse for synchronizing data

transmission

2. SI Data in for SPI interface

3. SO Data out for SPI interface

4. WOL(Wake On

LAN)

N/C

5. INT(Interrupt) INT out pin, active low(N/C)

6. CLK OUT(Clock

Out)

N/C

7. CS (Chip Select) For Selecting the chip

8. RST(Reset) Reset Signal for the Module(N/C)

9. GND(Ground) To provide the ground

10. VCC To supply power for the module

Table 3.1.2.1:- Pin configuration of ENC28j60 Ethernet Module

Page 11: Ip Based Robot Final

11

3.1.3 L293D Motor Driver:

L293D is a dual H-bridge motor driver integrated circuit (IC). Motor drivers act as

current amplifiers since they take a low-current control signal and provide a higher-current

signal. This higher current signal is used to drive the motors.

Figure 3.1.3.1:-L293D motor driver IC

It is an integrated circuit motor driver that can be used for simultaneous, bi-directional

control of two small motors. The L293 is limited to 600 mA, but in reality can only handle

much small currents unless it is done some serious heat sinking to keep the case temperature

down.The "D" version of it is built in with fly back diodes to minimize inductive voltage

spikes.

Pin Diagram:

The pin diagram is shown in the following diagram. L293D contains two inbuilt H-

bridge driver circuits. In its common mode of operation, two DC motors can be driven

simultaneously, both in forward and reverse direction. The motor operations of two motors

can be controlled by input logic at pins 2 & 7 and 10 & 15. Input logic 00 or 11 will stop the

corresponding motor. Logic 01 and 10 will rotate it in clockwise and anticlockwise directions,

respectively.

Enable pins 1 and 9 (corresponding to the two motors) must be high for motors to start

operating. When an enable input is high, the associated driver gets enabled. As a result, the

outputs become active and work in phase with their inputs. Similarly, when the enable input is

low, that driver is disabled, and their outputs are off and in the high-impedance state.

Page 12: Ip Based Robot Final

12

Figure 3.1.3.2:- Pin configuration of L293D

Pin Number Function Name

1 Enable pin for Motor 1; active high Enable 1, 2

2 Input 1 for Motor 1 Input 1

3 Output 1 for Motor 1 Output 1

4 Ground (0V) Ground

5 Ground (0V) Ground

6 Output 2 for Motor 1 Output 2

7 Input 2 for Motor 1 Input 2

8 Supply voltage for Motors; 9-12V (up to 36V) Vcc 2

9 Enable pin for Motor 2; active high Enable 3,4

10 Input 1 for Motor 1 Input 3

11 Output 1 for Motor 1 Output 3

12 Ground (0V) Ground

13 Ground (0V) Ground

14 Output 2 for Motor 1 Output 2

15 Input2 for Motor 1 Input 2

16 Supply voltage; 5V (up to 36V) Vcc

Table 3.1.3.1:- Pin Configuration of L293D

Page 13: Ip Based Robot Final

13

3.1.4 Temperature sensor LM35

LM35 is an integrated circuit sensor which can be used to measure temperature with an

electrical output proportional to temperature (in degree Celsius).

We choose LM35 to measure temperature because:

1. We can measure temperature more accurately than a using a thermistor.

2. The sensor circuitry is sealed and it is not subject to oxidation.

3. The LM35 generates a higher output voltage than thermocouples and it may not

require that output voltage be amplified.

Figure 3.1.4.1:- LM35 temperature sensor

Page 14: Ip Based Robot Final

14

Pin Description:-

Pin Number Pin Name Function

1. VCC Supply Voltage 5V (+35V to -2 V)

2 Output Gives output in the range +6V to -

1V

3 Ground Ground

Table 3.1.4.1:- pin configuration of LM35

LM35 has an output voltage that is proportional to the Celsius temperature. The scale factor is

.01V/oC. It does not require any external calibration or trimming and maintains an accuracy of

+/-0.4 oC at room temperature and +/- 0.8 oC over a range of 0 oC to +100 oC. Another

important characteristic of the LM35DZ is that it draws only 60 micro amps from its supply

and possesses a low self-heating capability. The sensor self-heating causes less than 0.1 oC

temperature rise in still air.

Working Principle:

The internal circuit diagram of LM35 is as shown below:-

Figure 3.1.4.2:- Internal circuit diagram of LM35

Page 15: Ip Based Robot Final

15

There are two transistors in the center of the drawing. One has ten

times the emitter area of the other. This means it has one tenth of the current density, since

the same current is going through both transistors. This causes a voltage across the resistor

R1 that is proportional to the absolute temperature, and is almost linear across the range. The

"almost" part is taken care of by a special circuit that straightens out the slightly curved graph

of voltage versus temperature.

The amplifier at the top ensures that the voltage at the base of the left transistor (Q1) is

proportional to absolute temperature (PTAT) by comparing the output of the two transistors.

The amplifier at the right converts absolute temperature (measured in Kelvin) into either

Fahrenheit or Celsius, depending on the part (LM35). The little circle with the "i" in it is a

constant current source circuit.

The two resistors are calibrated in the factory to produce a highly accurate temperature

sensor.The integrated circuit has many transistors in it, two in the middle, some in each

amplifier, some in the constant current source, and some in the curvature compensation

circuit. All of that is fit into the tiny package with three leads.

3.1.5 DC MOTORS:

Figure 3.1.5.1:- DC Motor

Page 16: Ip Based Robot Final

16

A DC motor is a widely used device that translates electrical pulses into the

mechanical movement. There are 2 leads in the DC motor:

1: Positive (+) Leads

2: Negative (-) Leads

If we connect the DC source, it moves the motor in a direction. Obviously changing

the polarity of the connection makes the DC motor to move in reverse direction. DC motors

have a rotating armature winding (winding in which a voltage is induced) but non-rotating

armature magnetic field and a static field winding. The speed of the motor can be controlled

by changing the voltage applied to the armature circuit.

3.1.6 Other Hardwares

3.1.6.1 Wireless Router

Figure 3.1.6.1:- Digicom Wireless Router

Page 17: Ip Based Robot Final

17

Supporting the latest ADSL standard, the DAPR 540b/g provides higher performance

(up to 24Mbps downstream and 3.5Mbps upstream) and longer reach from the central office of

your ISP(Internet Service Provider), which gives you smooth media streaming, so you can

watch TV, listen to music, broadcast over the Internet, and experience clear Internet phone

calls. Wireless G technology allows you to connect to 802.11g wireless devices at up to

54Mbps, so you can make full use of your Broadband connection.

54Mbps Wireless G Router DAPR 540b/g integrates full-duplex 10/100Mbps switch,

NAT-router and Wireless AP, which is dedicated to Small Office / Home Office (SOHO)

allowing you to create a wired or wireless network, and let your computer to share a high-

speed DSL network connection. Also, DAPR 540b/g supports WDS wireless bridge offering

seamless bridging to expand your network coverage, making it convenient for you to pick up

the signal during different rooms or offices. When it comes to the installation, Easy Setup

Assistant could lead you through the setup process step-by-step, and even helps with wireless

network settings and security configurations, especially for novice users. Wireless Router

DAPR 540b/g complies IEEE 802.11g standard with transmission rates up to 54Mbps, is

designed to establish a better wireless connection than ever, sharing Internet Access, files-

downloading and so on. Even among rooms with 1-2 walls, DAPR 540b/g can also keep a

useable signal and link rate after passing through the wall.

Features

1WAN port, 4Lan ports, reset/power button, 2 antennas

Support UPnP, DDNS, SIP, static routing&#12289 ; TR069(BCM5354)

Support DMZ hosting, Port Triggering for special applications

Support Logging: Dropped packet, security event, Syslog

Support Filtering: Port, IP packet, URL Keyword, MAC address

Support WMM (Wi-Fi multimedia), Device discovery, DHCP server

Compliance Certificates:CE, FCC, ROHS

Applications

Home and SOHO wireless gateway

The sma enterprise Applications

TV over IP (IPTV)

Voice over IP (VoIP)

Higher data rate broadband sharing

Shared broadband internet access

Audio and video streaming and transfer

PC fie and application sharing

Network and online gaming

Page 18: Ip Based Robot Final

18

Router is a device used for forwarding data packets between computer networks with

an overlay internet work. It is connected to two or more data lines from different networks. A

data packet coming in one of the lines address information is read by the router to determine

the ultimate destination. Routing table or routing policy is used to direct the packet to next

network. Router performs traffic directing functions on the internet.

Router is considered as layer 3 device as its primary forwarding decision is based on

the information in layer 3 IP packet. This process is known as routing. After each router

receiving a packet searches its routing table to find the best match between the destination IP

address of the packet and one of the network address in routing table. After the packet is

encapsulated in layer 2 data link frame for outgoing interface once the match is found.

Forwarding a packet cause the router to lose its historical information about the package. But

forwarding action can be collected into statistical data if so configured.

Another function of router is to decide which packet should be processed first when

multiple queues exist which is managed through quality of service.

Last but not the least a router performs a policy based routing where special rules are

constructed to override the rules derived from the routing table when a packet forwarding

decision is made.(Adminstrator, n.d.)

3.1.6.2 LM 317:It is a voltage regulator invented by Robert C. Dobkin and Robert J. Wildar in

1970.It is a linear variable voltage regulator used in dc to dc conversion. Linear regulators

inherently draw as much current as they supply. Significant power is wasted as heat when the

current difference is multiplied by the voltage difference between the input and output.

Figure3.6.2.1: LM -317

Page 19: Ip Based Robot Final

19

SPECIFICATIONS:

Attribute Value

Vout range 1.25 V – 37 V

Vin – Vout difference 3 V – 40 V

Operation ambient temperature 0℃ – 125℃

Output Imax less than 1.5 A (assuming factory-suggested heat sinking)

Minimum Load Currentmax 10 mA

Table 3.6.2.1:- Pin description of LM317

In our project, we are using the voltage regulator LM 317 to generate the 3.3 V to provide the

power supply to ENC 28J60 for its proper working with safety.

3.1.6.3 LM 7805

It is voltage regulator integrated circuit. It is the member of 78XX series of fixed linear

voltage regulator ICs. The voltage source in the circuit may have fluctuations and will not give

the constant voltage output. This voltage regulator produces the constant 5V output voltage.

Figure3.1.6.3.1: LM 7805 Voltage regulator

Page 20: Ip Based Robot Final

20

Pin Configuration:

Pin No Function Name

1 Input voltage (5V-18V) Input

2 Ground (0V) Ground

3 Regulated output; 5V (4.8V-5.2V) Output

Table 3.1.6.3.1:- Pin Configuration of LM7805

Various other circuit elements are used such as resistor to match the resistance, capacitors to

reduce the interference etc. are used according to the requirement in the circuit.

3.2 Hardware Connection

3.2.1 Interfacing ENC28j60 With Freeduino

` To interface ENC28j60 Ethernet module with Freeduino Kit we must

set up the connection as:

SN Ethernet Module Freeduino DI/O

1. CS 10 - SS

2. SI 11 - MOSI

3. SO 12 - MISO

4. SCK 13 - SCK

5. GND GND

6. VCC 3.3V

Table 3.2.1.1:- Connection Overview of ENC28j60 Ethernet Module and Freeduino

Page 21: Ip Based Robot Final

21

Figure 3.2.1.1:- Interfacing ENC28j60 with Freeduino

ENC28j60 Module is interfaced with Freeduino. Arduino Library, ‘ENC28J60’ from

http://downloads.simplelabs.co.in is used to program the Freeduino. Freeduino is made Web

Server where simple html page is written and stored. We can access the page by entering the

IP address of the Freeduino. (interfacing ENC28j60 Ethernet Module, n.d.)

Figure 3.2.1.2:- Final Page stored in Freeduino

Page 22: Ip Based Robot Final

22

3.2.2 Interfacing L293D with DC motors

The following schematic shows how to connect (interface) the L293D to the motor and

the Freeduino. Each motor takes 3 Freeduino pins.

Using H-bridge we can rotate the motors in both the directions. From the four

terminals of H Bridge we can control a DC motor in forward and reverse direction.

Figure 3.2.2.1:- interfacing L293D with DC motors Circuit Diagram

Figure 3.2.2.2:- H bridge

Page 23: Ip Based Robot Final

23

It works by having 4 elements in the circuit commonly known as corners: high side

left, high side right, low side right, and low side left. By using combinations of these you are

able to start, stop and reverse the current. When left high and right low are connected with left

low and right high are open the direction is clockwise while the reverse is anticlockwise.

By using one L293D we can drive a maximum of two DC motor and one stepper motor. It is

shown in above figure where two motors A and B are controlled. The decision table will look

like

IN1 IN2 Motor 1

0 1 Rotates in one direction

1 0 Rotates in other direction

Table 3.2.3.1:- Decision table

Similar is true for another motor connected to Out3 and Out4 of L293d and can be controlled

through IN3 and IN4.(Motor Control, 2011)

To control the speed of DC motor one can use a Pulse Width Modulated signal on Enable1

and Enable2 pins of L293d, this will result in controlled power input on motor and speed is

controlled.

Figure 3.2.2.3:- Interfacing L293D with dc motor

Page 24: Ip Based Robot Final

24

Coding for controlling motor

Figure 3.2.2.4:- code for controlling dc motor

L293D

Page 25: Ip Based Robot Final

25

3.2.3 Interfacing LM35

Figure 3.2.3.1:- Interfacing LM35 with Freeduino

The Freeduino board is connected to the LM35 temperature sensor. The figure is

shown above in which the wires are connected to the temperature sensor. We have used on

board power source (5V and GND) to power the LM35 and analog pin 0(zero) to read the

analog output from the sensor.

Figure3.2.3.2:-Program for interfacing LM35 with Freeduino

Page 26: Ip Based Robot Final

26

3.3 Software Development

The project is done using different software environment. A final program is written with

many tests and verifications. We have used following softwares:

3.3.1 Arduino 1.04 IDE

Figure3.3.1.1:- Arduino IDE

To program the Freeduino boards we can use Arduino IDE. This software is

released by arduino.cc and is available on its website. This software gives us easy and concise

view to program the boards

Figure 3.3.1.2: - Simple View of Arduino IDE

Page 27: Ip Based Robot Final

27

This software contains inbuilt libraries for development of different prototype. We can

also import different third party libraries for interfacing different equipment with Arduino or

its Clones. This IDE provides its own text-editing view along with compile and verification

options. There is also facility for choosing the required board for the operation.

For programming the Freeduino, we must know some properties. First we should know

which type of board we are going to program. Secondly we must provide appropriate COM

port.

This IDE also provides Serial Monitor function. This function

allows us to view the existing communication. This functionality plays very important role

while interfacing sensors.

There are different menus in the menu bar

File: This menu allows user to open, close, save the files. It also show examples

Edit: This menu is used for copying, pasting, selecting purposes

Sketch: This menu is used for importing libraries. It also shows the location of current

sketch

Tools: This menu is used for selecting board and programmer

Help: This menu gives information about the Arduino IDE and online resources

3.3.2 Virtual Bread Board

Virtual Bread Board is a software development and emulating embedded devices. It can be

taken as Arduino Simulator as it can run the Arduino Programs in virtual environment. This

software can be used for making circuit diagrams and for testing purposes. This software is

available free at www.virtualbreadboard.com.

There are wide varieties of tools for making the software realistic.

Drag and Drop facility provides easy environment for the user.

Page 28: Ip Based Robot Final

28

Figure 3.3.2.1: virtual bread board

3.3.3 XAMPP Server

`XAMPP server is used popularly by web programmer for development of web pages.

XAMPP stands for Cross- Platform, APACHE, MySQL, PHP and PERL. We start the control

panel of XAMPP and each entity are started individually. This allows us to load PHP files and

we can run the PHP codes.

In our project we have used some PHP codes for authenticating the user. This is done

by making a local server with the help of XAMPP and little PHP codes.

Page 29: Ip Based Robot Final

29

Figure 3.3.3.1:- View of XAMPP Control Panel

Page 30: Ip Based Robot Final

30

4.0 TESTING AND VERIFICATION:

Testing includes checking of each component with the real working environment

following with the verification of each component. Similarly in our project we too have had

performed some tests.

We initially run the some programs from Arduino IDE in our Freeduino board to test

the functionality of the Freeduino Board. Testing with many Arduino IDE releases, we came

to find that Arduino IDE 1.04 was best for us.

Temperature sensor was tested with Freeduino Board. There is Serial monitor function

in Arduino IDE that helps us finding values of different sensors. We tested different

algorithms for calculating the temperature. Finally we found the best algorithm that worked

properly.

ENC28J60 Testing was toughest part of the project. We found many circuits in the

web but none of them supported. Finally we got some connection diagram and worked well.

When uploading the program, we saw that programs having size greater than 6.6KB didn’t

work well. So we made reduced the code as far as possible for the proper functioning of the

project.

The “IP Webcam” software was tested with the project. We tried very much on

integrating with our project. We finally managed to obtain visual information of the project

Page 31: Ip Based Robot Final

31

5.0 Scope

5.1.1 Present scope

Potential enhancements leads to multipurpose scope as:

1. Surveillance purpose

2. Industrial purpose

3. Military purpose as spy robot

5.1.2 Future scope

Easily available of commercial Wi-Fi networks leads to the more advantage to our projects.

1. Worldwide coverage by giving public IP to system.

2. Development of robot limits.

3. Image processing.

4. Motion according to working environment.

5. High processing and multiple sensor.

6. Additional of sensors such as humidity and ultrasound will lead the project to the

higher level.

7. Further can be implemented as advanced remote data logger.

8. Other sensor can be added to make it more advance.

Page 32: Ip Based Robot Final

32

6.0 Budgeting

Various components are used in this project. Different components and their prices are as

follows:

SN Component Quantity Cost

1. Arduino Board 1 3,000|-

2. ENC28j60 Ethernet to Serial

Converter

1 2,000|-

3. 12V Motors with wheels 3 1,500|-

4. Temperature Sensor 1 2,00|-

5. Bread Board 2 500|-

6. Router 1 3,000|-

7. Hard Cover Project Report

Printing(Documentation)

8 5,000|-

8. 12V Battery (Power Supply) 1 1,300|-

9. Miscellaneous` 2,000|-

TOTAL 18,500|-

Table 6.1:- Budgeting

Page 33: Ip Based Robot Final

33

7.0 Schedule

To complete the above project, we have divided the project into several subtasks and made a

time-table to finish each tasks in different time.

S

N

Name of the task 24th

Feb

14th

Mar

4th

Apr

24th

May

14nd

Jun

4th Jul 24th

Jul.

9th

Aug

1. Mechanical construction of

body of robot.

2. Motor interfacing and its

installation in robot.

3. Ethernet to serial converter

module interfacing with

microcontroller

4. Web Application preparation

5. Sensors interfacing

6. Visual information management

and its coding

7. Testing and Debugging

8. Documentation

Table 7.1:-Scheduling

Page 34: Ip Based Robot Final

34

8.0 Conclusion and Recommendation

By applying the theories form different sources and our project’s team effort we finally

were able to reach the destination. The path to reach the success were not so easy we thought.

The credit goes to team members whom gave their valuable time and their effort in building

this project.

The outcome of our project is simple and forward, majority can predict the outcome,

phone as camera is mounted on the top of the moving robot. Initially we planned to set up IP

camera but due to the economic availability of this element we came to use android phone as

its alternate. We also concluded that none of the work is difficult if we gave all our mind in

that project.

Finally we achieved output, we were able to interface motor driver IC named

ENC28J60 with Freeduino. This Freeduino is controlled via LAN. Spinning of the motor in

clockwise, anticlockwise and in four direction helps the robot to move. Arduino is controlled

with private IP i.e. only the team member can have the access to the movement of the motor.

This seems to be the drawback of our project but we can enhance our project by making it

control through the public IP. Then all user can have the access to the robot one at a time.

Also advanced form of our project could be the installation of different kind of extra

wanted sensors.

Talking about any kind of element that could be installed, we came to conclusion that

if we could had add RF-module it could have been better. But realizing the complexity of

project we were not able to do that.

Page 35: Ip Based Robot Final

35

9.0 References

1. Adminstrator. (n.d.). Wireless Router. Retrieved from digicom.org:

http://www.digicom.com.hk/index.php?section=products&action=details&id=83#.Uh3V8H9yi

.

2. datasheet for ENC28j60. (n.d.). Retrieved from aldatasheed.com:

http://html.alldatasheet.com/html-pdf/102687/MICROCHIP/ENC28J60/980/2/ENC28J60.html

3. freeduino. (n.d.). Retrieved from freeduino.org: freeduino.org/freeduino_introduction

4. History of Internet. (n.d.). Retrieved from wikipedia:

http://en.wikipedia.org/wiki/History_of_the_Internet

5. interfacing ENC28j60 Ethernet Module. (n.d.). Retrieved from induino.blogspot.com:

http://induino.blogspot.com/2012/07/induinox-user-guide-interfacing-with_5270.html

6. Internet of Things. (n.d.). Retrieved from wikipedial:

http://en.wikipedia.org/wiki/Internet_of_Things

7. Internet of Things. (internetofthings.fi). Retrieved from http://www.internetofthings.fi

8. Internet Protocol. (n.d.). Retrieved from wikipedia: http://en.wikipedia.org/wiki/Internet_Protocol

9. LM317. (n.d.). Retrieved from wikipedia: http://en.wikipedia.org/wiki/LM317

10. LM35 Interfacing. (n.d.). Retrieved from pscmpf.blogspot.com:

http://pscmpf.blogspot.com/2008/12/arduino-lm35-sensor.html

11. Motor Control. (2011). In M. A. Mazidi, J. G. Mazidi, & R. D. McKinlay, The 8051 Microcontroller

and Embedded Systems. Pearson.

12. References. (n.d.). Retrieved from arduino.cc: arduino.cc/references

13. RFC791. (n.d.). Retrieved from ietf.org: http://tools.ietf.org/html/rfc791

14. voltage regulator circuits. (n.d.). Retrieved from circuitstoday.com:

http://www.circuitstoday.com/few-lm317-voltage-regulator-circuits

15. wi fi robot. (n.d.). Retrieved from gdgkathmandu.blogspot.com: gdgkathmandu.blogspot.com/wi-

fi_robot