Beruflich Dokumente
Kultur Dokumente
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.
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 cant 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. 2. 3. 4. To control robot in four direction. To monitor temperature continuously. To view visual information i.e. gathering information about environment. To provide control to authorized user only.
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.
2
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.
technologies will connect everything such as mobile phones, sensors, cars, TV etc. In tighter manner in near future.(Internet of Things, internetofthings.fi).
Block diagram:
User Input
Wi-Fi Modem
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 Signals Android Wireless Router Ethernet to Serial Converter Freeduino mobile Motors
Temperature Sensor
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.
Flow chart:
Display website
Is User Authenticated ?
Forward Pressed?
Calculate Temperature
Left Pressed?
Update Temperature
Right Pressed?
Down Pressed?
Stop Pressed?
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
8
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.
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.)
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. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Name SCK(Serial Clock) SI SO WOL(Wake LAN) INT(Interrupt) CLK Out) Description Clock pulse transmission for synchronizing data
Data in for SPI interface Data out for SPI interface On N/C INT out pin, active low(N/C)
OUT(Clock N/C For Selecting the chip Reset Signal for the Module(N/C) To provide the ground To supply power for the module
10
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 Hbridge 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.
11
Pin Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Function Enable pin for Motor 1; active high Input 1 for Motor 1 Output 1 for Motor 1 Ground (0V) Ground (0V) Output 2 for Motor 1 Input 2 for Motor 1 Supply voltage for Motors; 9-12V (up to 36V) Enable pin for Motor 2; active high Input 1 for Motor 1 Output 1 for Motor 1 Ground (0V) Ground (0V) Output 2 for Motor 1 Input2 for Motor 1 Supply voltage; 5V (up to 36V)
Name Enable 1, 2 Input 1 Output 1 Ground Ground Output 2 Input 2 Vcc 2 Enable 3,4 Input 3 Output 3 Ground Ground Output 2 Input 2 Vcc
12
13
Pin Description:Pin Number 1. 2 3 Pin Name VCC Output Ground Function Supply Voltage 5V (+35V to -2 V) Gives output in the range +6V to 1V Ground
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:-
14
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:
15
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.
16
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 highspeed 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, filesdownloading 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、 ; 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
17
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
18
SPECIFICATIONS:
Attribute Vout range Vin Vout difference 1.25 V 37 V 3 V 40 V Value
Operation ambient temperature 0 125 Output Imax Minimum Load Currentmax less than 1.5 A (assuming factory-suggested heat sinking) 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.
19
Pin Configuration: Pin No 1 2 3 Function Input voltage (5V-18V) Ground (0V) Regulated output; 5V (4.8V-5.2V)
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.
SN 1. 2. 3. 4. 5. 6.
20
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.)
21
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.
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 0 1
IN2 1 0
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.
23
24
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.
25
3.3.1
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
26
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: Edit: This menu allows user to open, close, save the files. It also show examples 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
27
28
29
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 didnt 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
30
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
31
6.0 Budgeting
Various components are used in this project. Different components and their prices are as follows: SN 1. 2. 3. 4. 5. 6. 7. 8. 9. Component Quantity Arduino Board 1 ENC28j60 Ethernet to Serial 1 Converter 12V Motors with wheels 3 Temperature Sensor 1 Bread Board 2 Router 1 Hard Cover Project Report 8 Printing(Documentation) 12V Battery (Power Supply) 1 Miscellaneous` TOTAL Table 6.1:- Budgeting Cost 3,000|2,000|1,500|2,00|500|3,000|5,000|1,300|2,000|18,500|-
32
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 1. Name of the task Mechanical construction of body of robot. Motor interfacing and its installation in robot. Ethernet to serial converter module interfacing with microcontroller Web Application preparation Sensors interfacing Visual information management and its coding Testing and Debugging Documentation Table 7.1:-Scheduling 24th Feb 14th Mar 4th Apr 24th May 14nd Jun 4th Jul 24th Jul. 9th Aug
2.
3.
4. 5. 6.
7. 8.
33
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.
34
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/wifi_robot
35