ECE 511: MICROPROCESSORS

Similar documents
ECE 511: FINAL PROJECT REPORT GROUP 7 MSP430 TANK

University of Texas at El Paso Electrical and Computer Engineering Department

Mechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-4: Electric Actuators

Activity 4: Due before the lab during the week of Feb

OBSTACLE EVADING ULTRASONIC ROBOT. Aaron Hunter Eric Whitestone Joel Chenette Anne-Marie Cressin

Object Detection for Collision Avoidance in ITS

Automobile Prototype Servo Control

Obstacle Avoiding Robot

An External Command Reading White line Follower Robot

Introduction. Theory of Operation

ECE 477 Digital Systems Senior Design Project Rev 8/09. Homework 5: Theory of Operation and Hardware Design Narrative

Abstract. 1. Introduction

WDTCTL = WDTPW + WDTHOLD; P1DIR = 1; // P1.0 output, all others input. sits here as long as the pin is high while (P1IN & 8); while (!

Four Quadrant Speed Control of DC Motor with the Help of AT89S52 Microcontroller

High Speed Continuous Rotation Servo (# )

International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering. (An ISO 3297: 2007 Certified Organization)

I. INTRODUCTION MAIN BLOCKS OF ROBOT

DC motor control using arduino

An Autonomous Self- Propelled Robot Designed for Obstacle Avoidance and Fire Fighting

Design and Development of Novel Two Axis Servo Control Mechanism

The Design of Intelligent Wheelchair Based on MSP430

VOICE CONTROLLED ROBOT WITH REAL TIME BARRIER DETECTION AND AVERTING

Implementation of a Self-Driven Robot for Remote Surveillance

ADVANCED SAFETY APPLICATIONS FOR RAILWAY CROSSING

Sensors and Sensing Motors, Encoders and Motor Control

Name & SID 1 : Name & SID 2:

AUTOMATIC RESISTOR COLOUR CODING DETECTION & ALLOCATION

ME 461 Laboratory #5 Characterization and Control of PMDC Motors

EE152 Final Project Report

Brushed DC Motor Microcontroller PWM Speed Control with Optical Encoder and H-Bridge

EEL5666C IMDL Spring 2006 Student: Andrew Joseph. *Alarm-o-bot*

Wheeled Mobile Robot Obstacle Avoidance Using Compass and Ultrasonic

Embedded Robotics. Software Development & Education Center

University of Florida Department of Electrical and Computer Engineering Intelligent Machine Design Laboratory EEL 4665 Spring 2013 LOSAT

University of Florida Department of Electrical and Computer Engineering EEL 5666 Intelligent Machines Design Laboratory GetMAD Final Report

Sensors and Sensing Motors, Encoders and Motor Control

Autonomous Following RObot Initial Design Review

Voice Guided Military Robot for Defence Application

Group #17 Arian Garcia Javier Morales Tatsiana Smahliuk Christopher Vendette

Chapter 7: The motors of the robot

Undefined Obstacle Avoidance and Path Planning

ANGULAR POSITION CONTROL OF DC MOTOR USING SHORTEST PATH ALGORITHM

EXPERIMENT 6: Advanced I/O Programming

Walle. Members: Sebastian Hening. Amir Pourshafiee. Behnam Zohoor CMPE 118/L. Introduction to Mechatronics. Professor: Gabriel H.

MASTER SHIFU. STUDENT NAME: Vikramadityan. M ROBOT NAME: Master Shifu COURSE NAME: Intelligent Machine Design Lab

III. MATERIAL AND COMPONENTS USED

MOBILE ROBOT LOCALIZATION with POSITION CONTROL

LDOR: Laser Directed Object Retrieving Robot. Final Report

MSP430 Interfacing Programs

Robotic Swing Drive as Exploit of Stiffness Control Implementation

PCB & Circuit Designing (Summer Training Program) 6 Weeks/ 45 Days PRESENTED BY

International Journal of Advance Engineering and Research Development. Wireless Control of Dc Motor Using RF Communication

VEX Robotics Platform and ROBOTC Software. Introduction

PATH PLANNING OF LINE FOLLOWER ROBOT

ECE 445 Spring 2017 Autonomous Trash Can. Group #85: Eshwar Cheekati, Michael Gao, Aditya Sule

Timer A (0 and 1) and PWM EE3376

International Journal of Advance Engineering and Research Development

RC Servo Interface. Figure Bipolar amplifier connected to a large DC motor

Mapping device with wireless communication

Advanced Mechatronics 1 st Mini Project. Remote Control Car. Jose Antonio De Gracia Gómez, Amartya Barua March, 25 th 2014

Training Schedule. Robotic System Design using Arduino Platform

WifiBotics. An Arduino Based Robotics Workshop

MOBILE ROBOT CRUISE CONTROLLER

Gesture Controlled Car

New Approach on Development a Dual Axis Solar Tracking Prototype

Prototype Realization

EE 314 Spring 2003 Microprocessor Systems

Castle Creations, INC.

Administrative Notes. DC Motors; Torque and Gearing; Encoders; Motor Control. Today. Early DC Motors. Friday 1pm: Communications lecture

DC-Motor Driver circuits

INTELLIGENT SELF-PARKING CHAIR

ILR #1: Sensors and Motor Control Lab. Zihao (Theo) Zhang- Team A October 14, 2016 Teammates: Amit Agarwal, Harry Golash, Yihao Qian, Menghan Zhang

Citrus Circuits Fall Workshop Series. Roborio and Sensors. Paul Ngo and Ellie Hass

Introduction to the VEX Robotics Platform and ROBOTC Software

Building an autonomous light finder robot

MULTI ROBOT COMMUNICATION AND TARGET TRACKING SYSTEM AND IMPLEMENTATION OF ROBOT USING ARDUINO

Brushed DC Motor PWM Speed Control with the NI myrio, Optical Encoder, and H-Bridge

Design and Implementation of DC Motor Speed Control Based on TMS Microcontroller

Critical Design Review: M.A.D. Dog. Nicholas Maddy Timothy Dayley Kevin Liou

Motion Control of a Three Active Wheeled Mobile Robot and Collision-Free Human Following Navigation in Outdoor Environment

Jaguar Motor Controller (Stellaris Brushed DC Motor Control Module with CAN)

Lab Exercise 9: Stepper and Servo Motors

OPTICS IN MOTION. Introduction: Competing Technologies: 1 of 6 3/18/2012 6:27 PM.

MICROCONTROLLER BASED SPEED SYNCHRONIZATION OF MULTIPLE DC MOTORS IN TEXTILE APPLICATIONS

PCB & Circuit Designing (Summer Training Program 2014)

Programming PIC Microchips

For Experimenters and Educators

Solar Powered Obstacle Avoiding Robot

HAND GESTURE CONTROLLED ROBOT USING ARDUINO

POLITECNICO DI MILANO

Fish robots are underwater robots and submersibles that

SELF BALANCING ROBOT. Article. 2 authors, including: Nabil Lathiff Microsoft

Final Report Metallocalizer

Programmable Logic Controller (PLC):-

CURIE Academy, Summer 2014 Lab 2: Computer Engineering Software Perspective Sign-Off Sheet

RoboTurk 2014 Team Description

Design and prototype of the Sucker vacuuming robot

Based on the ARM and PID Control Free Pendulum Balance System

Devastator Tank Mobile Platform with Edison SKU:ROB0125

Chapter 1 - Introduction to Mechatronics. Questions

Transcription:

ECE 511: MICROPROCESSORS A project report on SNIFFING DOG Under the guidance of Prof. Jens Peter Kaps By, Preethi Santhanam (G00767634) Ranjit Mandavalli (G00819673) Shaswath Raghavan (G00776950) Swathi Guruduth (G00841388) Vignesh Ravishankar (G00771987)

ABSTRACT: Sniffing dog is a smart toy that is capable of working on both independent and synchronized control of the geared motors, servo motor and the IR sensors. The controller is built around a 16 bit Microcontroller to provide fast and reliable control operations. In addition, geared motors are used for the locomotion of the robot, while the servo motors are used like a hinge support to make a 180 degree horizontal scan. The IR sensors are used for proximity sensing and edge detection with very high capabilities to accurately detect objects at a specified distance. The controller uses two ports to control the integral peripherals of the robot, that is, it can be used to horizontally scan with the aid of a servo motor while simultaneously perform edge detection while in motion. The aim of our project was to control and monitor the motion of a robot that navigates and tracks objects using an IR sensor. The purpose of this project is to demonstrate how simple algorithms can produce useful behavior in a robot. The dog flinches away when approached by an object and is drawn towards the object until certain distance when the object moves away. The prototype contains proximity sensors that constitute the tracker and follows the moving object. Depending on the distance between the object and the robot, it makes a decision to move forward or backward. The dog moves in right or left direction according to the movement of object. The prototype also has an edge-detecting IR sensor that prevents it from falling off an edge. 2

INDEX CONTENTS PG NO A. Motivation 4 B. Block Diagram 4 C. Hardware Description 5 D. Software Interfacing 7 E. Results and Conclusion 9 F. Reference 9 G. Appendix 10 1. List of team members and their tasks 10 2. Parts list 10 3. Schematic Diagram 11 3

A.MOTIVATION: In current lifestyle, all applications are preferred to be automatic so as to save a lot of time and man power. A 'Robot' is one such device that automates our work. They are applicable in various fields such as automobile, laboratories, space, material handling, mining, micro surgery to household applications as well. The motivation to our project was to design a robot that is cost effective and be applicable in daily life. The theme was to build a toy so we named our robot as 'Sniffing Dog'. The concept behind the prototype is similar to working of an automated vacuum cleaner that can be made to run on ground or over any platform as well. B.BLOCK DIAGRAM: The block diagram in the Figure 1, consists of two L293D drivers, one of which is used to drive two geared motors and the other one to drive the servo motor. The drivers are directly interfaced to the MSP430 microcontroller. The analog infra-red range finding sensor is mounted on the servo motor. A pair of IR sensors, each of which is placed at the front and rear of the prototype for edge detection. Figure 1: Block Diagram 4

C.HARDWARE DESCRIPTION: 1. MSP430G2553 MICROCONTROLLER MSP430G2553 series is an ultra-low-power mixed signal microcontrollers with built-in 16-bit timers, up to 24 I/O capacitive-touch enabled pins, a versatile analog comparator, and built-in communication capability using the universal serial communication interface. In addition, it also has a 10-bit analog-to-digital (A/D) converter. It is the heart of the circuit, holds the logic to run each of the peripherals. Typical applications include low-cost sensor systems that capture analog signals, convert them to digital values, and then process the data for display or for transmission to a host system. Figure 2: MSP430 microcontroller Figure 3: Geared Motors Figure 4: Servo Motor 2. GEARED MOTOR AND SERVO MOTOR The GM9 motor, when driven by a 3V power supply runs at 40RPM generating a torque of 44.4oz (It draws 400mA at stall and 50mA during free run).it has a 7mm double-flat output shaft (there is no output on the other side), a built-in clutch and built-in mounting screw holes. These units have an overall size of 70.2mm (2.76") x 30.4mm (1.20")x 22.6mm (0.89").Geared motors consist of two gear wheels that run in a housing with minimal play. One gear wheel is rigidly interconnected with the drift shaft, the other generates the torque. Two gear flats are directed with compressed air into the turn direction and one gear flat against the turn direction. The S03N Standard Servo has two ball bearings on the output shaft. These ball bearings decrease internal friction and allow for slightly increased torque. Speed (sec/60deg): 0.23, Torque (Kg-cm/Oz-in): 2.40/35, Size (mm): 39.5x20x39.6, Weight (g/oz): 41/1.44 are the specification of the servo motor being used. It is a type of motor used in applications that require precise positioning. The servo drive receives a command signal from a control system, amplifies the signal, and transmits electric current to a servo motor in order to produce motion proportional to the command signal. Typically the command signal represents a desired velocity, but can also represent a desired torque or position. 5

3. L293D L293D is a dual H-bridge motor driver integrated circuit. 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. 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 directions. The motor operations of two motors is 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 is in the high-impedance state. Figure 5: L293D driver 4. IR SENSOR AND ANALOG INFRA-RED RANGE FINDING SYSTEM IR sensor The model is 276-0142. This is just used for edge detection system. IR Range Finding System - 10cm to 80cm takes a continuous distance reading and reports the distance as an analog voltage with a distance range of 10cm (~4") to 80cm (~30"). The interface is 3-wire with power, ground and output. Features include less influence on the color of reflective objects, reflectively, line-up of distance output/distance judgment type, detecting distance ranges from 10cm to 80cm, external control circuit is unnecessary and has low cost. The Output Voltage ranges from 2V to 0.2V 6

Figure 6: IR sensor for edge detection Figure 7: Analog IR range finding system D. SOFTWARE INTERFACING: The software interfacing is segregated into two parts: 1) Motors(geared motors and servo motor) 2) IR sensor Brief procedure: Once the motor is turned on, the servo motor starts a horizontal scanning of the area around the vehicle. The IR sensor which is mounted on the servo motor checks for the object within its proximity. If an obstacle is sensed, the servo stops scanning and an angular motion is actuated by the geared motors which positions the vehicle in line with the object. After this process, the servo repeats the horizontal scan and IR sensor starts sensing again. If the object is in the same position, a forward motion is actuated by the geared motors and the vehicle starts moving towards the object. Once the IR sensor senses the object to be very close, a reverse motion is actuated by the geared motors and the vehicle moves back. The software interfacing of motor has two parts: 1) Interfacing of geared motors to the MSP430 on P2.0, P2.1, P2.3, P2.4 through L293D Forward Stop Back 2) Interfacing of the servo motor to the MSP430 on P2.2 through L293D Timer configuration for PWM Servo Scan A separate software module is been written for each section mentioned above: Code for Geared motors: forward() // This code actuates a forward motion in the Geared motors P2OUT = 0x09; for (i = 0; i < 3; i++) for (j = 0; j < 50000; j++) sensor(); 7

stop()// This code makes the vehicle to stop. It calls another function for aligning the vehicle with the object. P2OUT = 0x00; for (i = 0; i < 3; i++) for (j = 0; j < 50000; j++); DCMotor_turnAccordingToServoMotorAndMoveForward(); back() // This module actuates a backward motion in the geared motors and calls a function sensor() which checks the IR sensor output to monitor the object continuously P2OUT = 0x12; for (i = 0; i < 2; i++) for (j = 0; j < 10000; j++) sensor(); P2OUT = 0x00; for (p = 0; p < 50000; p++); Code for servo motor: Timer configuration to generate PWM: Servo scanning: WDTCTL = WDTPW + WDTHOLD; TA1CCTL1 = OUTMOD_7; TA1CTL = TASSEL_2 + MC_1; TA1CCR0 = PWM_Period - 1; TA1CCR1 = PWM_Duty; P2DIR = BIT2; P2SEL = BIT2; TA1CCR1 = servo_lut[x] \\ This makes the servo to rotate to an angle x where x=30,60,90,120,150 8

E. RESULT AND CONCLUSIONS: The Sniffing Dog was completed as per the proposal. The project was planned to be executed in three phases starting with identifying and procuring the required components as per design to carrying out standalone testing of the individual components to the eventual interfacing of all the components with software. The opportunity to learn was immense as we came across several challenges along the path, before we finally crossed the line. Few highlights of these are the realization of the importance of using the correct port numbers. We realized that overall complexity of the code could be reduced by making suitable port choices. With an uphill task of interfacing 3 peripherals on one MSP430, we understood how wisely the timers could or could not be used. The proximity sensing was challenging with need for accurate calibration to extract optimum performance through which we realized several workarounds to tackle issues pertaining to these.the dog moved forward and scanned simultaneously in search of the object. Once it detected the object, our sniffing dog stopped and successfully aligned with the object and eventually completed the sniffing action like an actual dog. The edge detection was successfully put into place to ensure that the dog always stayed on top of the table. The prototype working is as shown in the link below: http://www.youtube.com/watch?v=wogri81tnts&feature=youtu.be F. REFERENCES: http://courses.cs.washington.edu/courses/cse466/11au/calendar/04-interrupts-posted.pdf http://www.ti.com/product/msp430g2553 http://mitchtech.net/msp430-launchpad-pwm/ http://e2e.ti.com/group/microcontrollerprojects/m/msp430microcontrollerprojects/494158.aspx http://batchloaf.wordpress.com/2012/09/28/basic-example-program-for-msp430g2231 http://myweb.wit.edu/johnsont/classes/462/adc%20for%202%20sensors.html http://www.uniobuda.hu/journal/kuljic_simon_szakall_17.pdf 9

G. APPENDIX: 1. List of team members and their tasks Gear motor standalone testing and interfacing - Shashwath and Ranjit. Servo motor standalone testing and interfacing - Vignesh and Preethi. IR sensor standalone and interfacing - Swathi. 2. Parts list TI MSP430G2553 microcontroller ---- 1 Geared Motors ---- 2 Servo Motor ---- 1 Sharp Analog IR Range Finding System (AERS) ---- 1 IR Sensors ---- 2 L293D drivers ---- 2 270 Ω Resistors ---- 2 10KΩ Resistors ---- 4 Battery holder ---- 1 AA batteries ---- 4 10

3. SCHEMATIC DIAGRAM 11