Professional Documents
Culture Documents
A PROJECT REPORT
Submitted at
Submitted by
1) Nitin Kumar Gupta 0812EC091066 2) Prateek Gurjar 0812EC091080 3) Rashida Singapurwala 0812EC091090 Electronics and Communication Department
ACKNOWLEDGEMENT
We offer our sincere appreciation to all the people providing support to this project. The completion of any inter disciplinary project depends upon the co-ordination, support and combined effort of several resources of knowledge, skill, labour and time, the precious guidance, spiritual help of guides. First and Foremost, we would like to pay the depth of gratitude with sense of heartfelt and indebtedness to our project guide Mr. Vinit Gupta (Faculty, Electronics and Communication Department) for the assistance he extended.
CERTIFICATE
This is to certify that: Nitin Kumar Gupta 0812EC091066 Prateek Gurjar 0812EC091080 Rashida Singapurwala 0812EC091090 Have completed their major project work, titled
CONTENTS
Chapter No 1.
Page No. 4
2. 3.
Physical & Technical Specifications System Description 3.1 Introduction 3.2 Block Diagram & Description 3.3 Schematic Circuit Diagram 3.4 List of Components 3.5 Flow-Chart
6 7 13 20 22 16 16
4. 5.
Design Objective
Primary objective of the project is to design an intelligent, robust and economic robot which may be used in surveillance and espionage of environment which have applications in military services, banks etc.
1) Physical description
Dimension- 25 x 10 cm 2 motors with high torque 100 rpm Medium size tiers Chassis colour- Red
2) Technical Description
Power Supply Requirement: 5 V Operating Temperature: Room temperature Operating voltage for XBEE: 3.3V Nature of Display: Graphical user interface designed in MATLAB environment
possible. The acquisition of images (producing the input image in the first place) is referred to as imaging.
Camera:A webcam is a video camera that feeds its image in real time to a computer or computer network. A webcam is generally connected by a USB cable, FireWire cable, or similar cable to the pc. Here we can connect also webcam of laptop.
Motor Driver Section:A L293D is an Integrated Circuit (IC) chip with a High Voltage/High Current Darlington Transistor Array. It allows you to interface TTL signals with higher voltage/current loads. The chip takes low level signals (TLL- which operate at low voltages and low currents) and acts as a relay of sorts itself, switching on or off a higher level signal on the opposite side. By this IC we can run any electrical device upto 32Volts DC like Motors, relays, DC fans etc. Multilayer Capacitors (C9-C15) are used as filter capacitor for filtering any kind of high frequency noise coming back from motors. This noise can harm the functioning of Microcontroller. LEDs are used to indicate logic level on the lines. X1-1,X1-2 X2-1,X2-2
are the terminal points where motors/relays can be connected. These can be connected with any I/O pin of the controller.
Power Supply:The Power Supply Section Consists of 230 V AC supply to the 12V AC Transformer. The secondary of the transformer connect with the Bridge rectifier which is made of the combination four IN4007diode. Using Bridge rectifier we can get 12V pulsating DC which is filtered by a smoothing capacitor. After these supply is given to the 7805 IC which converts 12Vdc supply into the 5 V DC supply. This IC consists of three pin that is 12 V dc for input Middle pin for GND and remaining one for 5V DC. Led are use to indicate Power on.
ATMEGA8:28 Pin DIP Microcontrollers with 8 KB Flash, 2 KB EEPROM, 6 Channel 10 Bit ADC & 3 PWM Channels. Very cheap and popular AVR 8-bit Microcontroller with lots of good features.
Atmel's ATMega8 8-Bit Processor in 28 pin DIP package. 8K of program space. 23 I/O lines, 6 of which are 10bit Analog to Digital converter capable. Runs up to 16MHz with external crystal. Package can be programmed in circuit.
Features:
High-performance, Low-power AVR 8-bit Microcontroller Advanced RISC Architecture 131 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static Operation Up to 16 MIPS Throughput at 16 MHz On-chip 2-cycle Multiplier Nonvolatile Program and Data Memories 8K Bytes of In-System Reprogrammable Flash Endurance: 10,000 Write/Erase Cycles Optional Boot Code Section with Independent Lock Bits In-System Programming by On-chip Boot Program True Read-While-Write Operation 512 Bytes EEPROM
1K Bytes Internal SRAM Programming Lock for Software Security JTAG (IEEE std. 1149.1 Compliant) Interface Boundary-scan Capabilities According to the JTAG Standard Extensive On-chip Debug Support Programming of Flash, EEPROM, Fuses and Lock Bits through the JTAG Interface Peripheral Features Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode Real Time Counter with Separate Oscillator Four PWM Channels 8-channel, 10-bit ADC Byte-oriented Two-wire Serial Interface Programmable Serial USART Master/Slave SPI Serial Interface Programmable Watchdog Timer with Separate On-chip Oscillator On-chip Analog Comparator Special Microcontroller Features Power-on Reset and Programmable Brown-out Detection Internal Calibrated RC Oscillator External and Internal Interrupt Sources Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby, and Extended Standby
Software Selectable Clock Frequency Operating Voltages 2.7 - 5.5V for ATmega8L 4.5 - 5.5V for ATmega8 Speed Grades 0 - 8 MHz for ATmega8L 0 - 16 MHz for ATmega8
XBEE Module Transceiver:XBee is the brand name from Digi International for a family of form factor compatible radio modules. The first XBee radios were introduced under the MaxStream brand in 2005[2] and were based on the 802.15.4-2003 standard designed for point-to-point and star communications at over-the-air baud rates of 250 kbit/s.[3] Two models were initially introduceda lower cost 1 mW XBee and the higher power 100 mW XBee-PRO.[4] Since the initial introduction, a number of new XBee radios have been introduced and all XBees are now marketed and sold under the Digi brand. The XBee radios can all be used with the minimum four connections power (3.3 V), ground, data in and data out (UART), with other recommended lines being Reset and Sleep.[5] Additionally, most XBee families have some other flow control, I/O, A/D and indicator lines built in. A version of the XBees called the Programmable XBee has an additional onboard processor for users code. The Programmable XBee and a new surface mount (SMT) version of the XBee radios were both introduced in 2010.[6] An extensive collection of XBee projects complete with photos, videos, information and documentation can be found on the Digi XBee Project Gallery. The gallery is regularly updated and projects can be submitted to the site.
The graphical user interface is designed in MATLAB environment using the guide function. The following is the screenshot for the GUI
The axis is used for the onscreen display which receives the images from the webcam connected to the system. The buttons forward, left, right, backward are used to control the robot in respective directions. The stop button is used to cease its motion. The distance tab is used to calculate the object distance before which the start ca, and calibrate tabs are used for detecting the initial parameters of the object. The exit tab is used for exiting from the GUI. By default the mode in which our robot operates is the manual mode which requires a human operator. In the automatic mode after pressing the calibration tab the robot travel its path automatically and when in the proximity of the object at 20cm it sidetracks the object.
Coding in Arduino
int i; void setup() { Serial.begin(9600); pinMode(13,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT); pinMode(11,OUTPUT); for(i=0;i<=25;i++) { digitalWrite(13,LOW); delay(50); digitalWrite(13,HIGH); delay(50); } digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); } void loop() { //reading the data from computer
if(Serial.available()) { i = Serial.read(); digitalWrite(13, LOW); } if(i == 'b' ) { digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,HIGH); digitalWrite(11,LOW); } if(i == 'f' ) {
digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); } if(i == 'r' ) { digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); } if(i == 'l' ) { digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); } if(i == 's' ) { digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,HIGH); } if(i == 'a' ) { digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(25); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); i=0; } if(i == 'p' ) { digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,HIGH); digitalWrite(11,LOW); delay(25); digitalWrite(8,LOW); digitalWrite(9,LOW);
digitalWrite(10,LOW); digitalWrite(11,LOW); i=0; } if(i == 'd' ) { digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); delay(25); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,HIGH); i=0; } if(i == 'v' ) {digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(25); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,HIGH); i=0; } if(i == 'x' ) { digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(1000); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); delay(800); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(1500); digitalWrite(8,HIGH);
digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(800); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(2000); digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(800); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); delay(1500); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); delay(800); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH); i=0; } }
Software:MATLAB:MATLAB is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numerical computation. Using MATLAB, you can solve technical computing problems faster than with traditional programming languages, such as C, C++. Here we have use matlab for image signal processing that is image of the object present in the path of robot is taken by the camera. And after taking image we have calculate the maximum distance of the robot from the object by making GUI. By selecting particular coordinates we can move the robot in the left or in the right direction as the object is placed in the path of the robot. Here we are working in two mode one is manual and another one is automatic. In manual System we have put the switches to perform specific task. By pressing switch we have to perform function as we wants. In automatic mode the whole system automatically works without taking any instruction.
For taking image we have used 3 toolboxes from matlab. For camera interfacing -> Image acquisition box For image processing :-> Image processing box For hardware interfacing :-> instrument tool box.
Ardunio:Ardunio Software used for to program is and you can use any version of it to make a program for this device. You can download it from the given below link. http//www.ardunio.com
Bootloader:Bootloader is used to flash the program in the controller memory. By using Ardunio software we can flash the program on the microcontroller through pc with the help of serial cable which is connected to DB9 connector both side. Or we can connect the board with the pc or laptop by using serial to USB converter. BY this software we can load hex file in the controller.
3.5Flowchart:-