University of Florida Department of Electrical and Computer Engineering EEL 5666 Intelligent Machines Design Laboratory.

Similar documents
Controlling a Dot Matrix LED Display with a Microcontroller

1. Learn about the 555 timer integrated circuit and applications 2. Apply the 555 timer to build an infrared (IR) transmitter and receiver

CHAPTER 11: Flip Flops

W a d i a D i g i t a l

EVAL-UFDC-1/UFDC-1M-16

Brio-Rmanual:Cursamanual.qxd 08/04/ :25 Page1

Whale 3. User Manual and Installation Guide. DC Servo drive. Contents. 1. Safety, policy and warranty Safety notes Policy Warranty.

Programming PIC Microcontrollers in PicBasic Pro Lesson 1 Cornerstone Electronics Technology and Robotics II

Department of Engineering. A Pulse Induction Metal Detector. ENGN3227 Analogue Electronics. Dr Salman Durrani. Group TA5

Final Design Report 19 April Project Name: utouch

NUCLEAR MAGNETIC RESONANCE. Advanced Laboratory, Physics 407, University of Wisconsin Madison, Wisconsin 53706

Lab 3 Microcontroller programming Interfacing to Sensors and Actuators with irobot

Robot Board Sub-System Testing. Abstract. Introduction and Theory. Equipment. Procedures. EE 101 Spring 2006 Date: Lab Section # Lab #6

MoTeC USA GPS. Part # M GPS BL Available in 10 Hz or 20 Hz. USER MANUAL Version 1.4

VOICE RECOGNITION KIT USING HM2007. Speech Recognition System. Features. Specification. Applications

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Electronic Circuits Spring 2007

PID Control. Proportional Integral Derivative (PID) Control. Matrix Multimedia 2011 MX009 - PID Control. by Ben Rowland, April 2011

MECE 102 Mechatronics Engineering Orientation

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide

Tire pressure monitoring

ETEC Digital Controls PIC Lab 10 Pulse Width Modulation

IR Communication a learn.sparkfun.com tutorial

MODULE BOUSSOLE ÉLECTRONIQUE CMPS03 Référence :

TIRE PRESSURE WARNING SYSTEM

Pulse Width Modulation (PWM) LED Dimmer Circuit. Using a 555 Timer Chip

INTRODUCTION: ABSTRACT:

Automated Bottle Filling System

DRS-6/1 Doppler Radar Sensor

E. K. A. ADVANCED PHYSICS LABORATORY PHYSICS 3081, 4051 NUCLEAR MAGNETIC RESONANCE

Speed Control Methods of Various Types of Speed Control Motors. Kazuya SHIRAHATA

Bi-directional Power System for Laptop Computers

Introduction to Process Control Actuators

Single Transistor FM Transmitter Design

Digital Electronics Detailed Outline

How to Turn an AC Induction Motor Into a DC Motor (A Matter of Perspective) Steve Bowling Application Segments Engineer Microchip Technology, Inc.

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

MANUAL FOR RX700 LR and NR

Glolab Talking Phone Dial Monitor

LEVERAGING FPGA AND CPLD DIGITAL LOGIC TO IMPLEMENT ANALOG TO DIGITAL CONVERTERS

Germanium Diode AM Radio

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

STEPPER MOTOR SPEED AND POSITION CONTROL

Lock - in Amplifier and Applications

Your EdVenture into Robotics You re a Controller

Assembly Instructions: Shortwave Radio Kit

Wireless Home Security System

Digital Single Axis Controller

FREQUENCY RESPONSE OF AN AUDIO AMPLIFIER

dspace DSP DS-1104 based State Observer Design for Position Control of DC Servo Motor

Owner s Manual channel amplifier

APEX Robot Rabbit. Tel:

Global Motion Technology Inc Web THCSA200. Capacitive sensor plasma & Oxy-fuel Torch Height Control

Animated Lighting Software Overview

Introduction to SMPS Control Techniques

Programming Logic controllers

Joule Thief 3.0 Kit. June 2012, Rev Joule Thief 3.0

EXPERIMENT 2 TRAFFIC LIGHT CONTROL SYSTEM FOR AN INTERSECTION USING S7-300 PLC

WHY DIFFERENTIAL? instruments connected to the circuit under test and results in V COMMON.

revolution Contents: Introduction Power 28-pin Project Board with input/output cables

Zigbee-Based Wireless Distance Measuring Sensor System

Controller for AD9850 DDS Modules Andy Talbot G4JNT

The components. E3: Digital electronics. Goals:

An overview of Computerised Numeric Control (C.N.C.) and Programmable Logic Control (P.L.C.) in machine automation

Physical Specifications (Custom design available.)

PolyBot Board. User's Guide V1.11 9/20/08

Design and Construction of Microcontroller- Based Telephone Exchange System

ABB Drives. User s Manual HTL Encoder Interface FEN-31

Chapter 6: From Digital-to-Analog and Back Again

DESIGN OF SMS ENABLED CAR SECURITY SYSTEM

DESIGN AND IMPLMENTATION OF INTELLIGENT MOBILE PHONE DETECTOR

Design and Construction of Variable DC Source for Laboratory Using Solar Energy

Lab Experiment 1: The LPC 2148 Education Board

ARRL Morse Code Oscillator, How It Works By: Mark Spencer, WA8SME

A Lesson on Digital Clocks, One Shots and Counters

Ignition Alert Anti-Theft Security System for Motorbikes with Remote Control Amit Yadav, Anushri Jha, Neelesh Gupta

G-100/200 Operation & Installation

Accurate Measurement of the Mains Electricity Frequency

Modification of an AOR AR-8600 receiver to tune it with a ACECO FC-3002 frequency finder

Video Camera Installation Guide

Microcontroller to Sensor Interfacing Techniques

Application Note AN- 1095

RS-485 Protocol Manual

PIC Application Notes

MicroMag3 3-Axis Magnetic Sensor Module

- 35mA Standby, mA Speaking pre-defined phrases with up to 1925 total characters.

Soft processors for microcontroller programming education

430 Power/Electronics Replacement

INSTRUCTION MANUAL. Magna-Trak Series Magnetic Locator MT200 MT202. Magna-Trak 200 Series Magnetic Locator 1

Electric Landing Gear controllers and sequencer LGC12 / LGC 13C

An Arduino Controlled GPS Corrected VFO

2/26/2008. Sensors For Robotics. What is sensing? Why do robots need sensors? What is the angle of my arm? internal information

Design and Construction of Microcontroller- Based Telephone Exchange System

Transistor Characteristics and Single Transistor Amplifier Sept. 8, 1997

Programmable Single-/Dual-/Triple- Tone Gong SAE 800

Classroom Activities for the Busy Teacher: EV3

ECEN 1400, Introduction to Analog and Digital Electronics

POCKET SCOPE 2. The idea 2. Design criteria 3

A Study of Speed Control of PMDC Motor Using Auto-tuning of PID Controller through LabVIEW

Polaris 9300 & 9400 Series Robotic Cleaner

Transcription:

Date: 8/5/2003 Student Name: Frederick Reitberger TA: Uriel Rodriguez Louis Brandy Vinh Trinh Instructor: A. Arroyo University of Florida Department of Electrical and Computer Engineering EEL 5666 Intelligent Machines Design Laboratory Written Report 3

Table of Contents Abstract... page 3 Executive Summary... page 4 Introduction... page 5 Integrated System... page 5 Mobile Platform... page 6 Actuation... page 6 Sensors... page 7 Behaviors... page 8 Experimental Layout and Results... page 9 Conclusion... page 10 Documentation... page 12 Appendices... page 12 2

Abstract The Treasure Detection Robot hunts for treasure. It uses a metal detector to find coins and other small metal objects, which it values as treasures. The thrill is in the hunt, though, so this robot does not attempt to collect the treasures. If it were to collect the treasures, then it would get bored and lonely once it has found all the treasures that it can find. Once it finds treasure, it performs a little happy dance in order to attract attention to itself. The Treasure Detection Robot wears an eyepatch and a pirate s earring as it searches for buried treasure. 3

Executive Summary The Treasure Detection Robot is a robot that hunts for treasure. A metal detector is used to find metal objects and other treasures. Bump sensors and IR sensors are used to avoid collisions. Twin motors are used to drive around the room. A PIC microprocessor ties everything together. All the controlling software is written in Forth. When treasure is detected, the Treasure Detection Robot will alert those around it by performing a short dance and blinking its LED. After detecting treasure, the Treasure Detection Robot will wander elsewhere looking for more treasure. 4

Introduction This robot is the Treasure Detection Robot, or TDR for short. TDR is a treasure hunting robot. Its job is to hunt around looking for treasures. Treasures are small metal objects such as coins. TDR will determine where treasures are hiding and inform the world that it has found treasure. The rest of this paper focuses on the major systems that are required to implement TDR. Integrated System The brain of this robot is a Microchip PIC 16F877A processor. This processor runs at 20 MHz. All of the code has been written in Forth. I chose Forth because the development tools are fairly good and Forth is a language that I have never used before. Forth is also well suited for microcontrollers. A JDM style serial programming cable was used to program the processor in-circuit. The driving motors are a twin DC motor gearbox. The main sensors that were used are several bump sensors and IR detectors for collision avoidance and a metal detector to find treasures. The main behaviors are collision avoidance, the searching pattern, treasure detection, and announcement when treasures are found. 5

Mobile Platform The platform is a circular platform similar to the TJ robot. I purchased a circular robot platform to greatly simplify the design of TDR. This chassis is useful because it can be driven with two wheels easily and already has holes for the tires and mounting points for the ball-bearing caster and the twin DC motor gearbox. I used AutoCAD to design and build a cradle to attach to the underside of the plastic chassis so that the metal detector search coil is held a small distance away from the motors and other parts of the robot. Actuation The twin motor gearbox is a set of two independently controlled DC motors and gears connected to an axle. These motors are small DC motors that operate at 3V to 5V. The gearbox can select gear ratios of 58:1 or 203:1. The higher ratio delivers more power at a reduced speed, so that is the ratio that has been used. To drive these motors, I have a serial motor driver IC. This motor driver listens to an input line for a specific sequence of serial data, then will adjust its outputs according to the commands it received. One motor driver directly supports two motors and 254 forward and reverse speeds for each motor. 6

Sensors Bump switches are situated a the edge of the robot chassis. These are simply pushbuttons that will be pressed when the robot runs into an obstacle. These will let the robot know that it cannot continue in the direction it was originally traveling and it must turn. These sensors are connected each to a different input port that has an internal pull-up resistor. Two IR detectors are used to identify obstacles before the robot runs into them. Each consists of an IR emitter and IR receiver pair. Each IR detector has an internal oscillator that is used to generate a frequency that the emitter will emit at and the receiver will listen for. The receiver then outputs an analog voltage that is dependent on distance an object is from the emitter. These analog values are read through two analog to digital conversion ports to turn the analog values into digital signals that the robot can act on. The IR detectors are mounted on the sides of the robot and point slightly inward to behave like eyes. The metal detector is the most unique sensor on this robot. A metal detector has been built from scratch that will detect coins about an inch under it. The metal detector works be amplifying an oscillator built around a LC circuit. The inductor in the oscillator is the search loop. As metal passes near the search loop, the inductance of the loop changes and the frequency of the oscillator changes. The oscillating output is then amplified and fed into a 74HC04 Digital Inverter. The inverter is set up so that it will be triggered by the metal detector output and produce a good digital output signal. This output signal is read into the microprocessor by a 16 bit asynchronous counter. When 7

searching for treasure, the count will be cleared and the microprocessor will wait for a specific amount of time, then read how many counts happened in that time. This will give a specific value for a frequency. In order to deal with error and noise, the two most recent readings are averaged together to smooth out the results. Behaviors The first behavior that is required is collision avoidance. Bump sensors are used to determine if the robot has collided with anything, and if it has, then it will back up, turn away from the object, and then continue forward. IR detectors are used for this as well to find large objects before bumping into them. Again, when an obstacle is detected, the robot will turn away from the robot so that it will not hit it. Since the IR detectors work at a distance, they are more effective in keeping TDR from running into objects. Another important behavior is the search pattern. TDR randomly moves for a short while before starting a spiral searching pattern. This will continue for a while before TDR gets bored, then randomly moves to another location to begin the spiraling search pattern again. While traveling the search patterns, TDR will be listening to the metal detector. When it detects treasure, it will stop for a bit and announce that it has found treasure by performing a happy dance and blinking LEDs. Then it will continue on in the search for more treasure. 8

Experimental Layout and Results Experiments were performed to determine how effective the collision avoidance algorithm is. The algorithm works by checking to see if anything is too close to TDR by looking at the IR sensors. If something is seen in only one of the IR sensors, then TDR will turn away from that side. If something is seen in both sensors, then TDR will back up until it does not see anything nearby, and then veer to the left or right randomly. Every few seconds TDR will decide on a new direction to travel. This is fairly effective in keeping the robot from running into anything, although it can still be trapped in a corner and not figure out how to get out. This situation has not been seen in testing though. The metal detector search oscillator oscillates at about 85 khz normally. When a quarter is placed on top of the search loop the frequency increases about 200 to 400 Hz. When the quarter is on the ground underneath the search loop, the frequency change is smaller - on the range of about 100 to 200 Hz. When using discs of carbon steel, the frequency changes are slightly higher, but on the same scale. Experimentation with the PIC microprocessor reading the frequencies was less successful. The readings varied widely for a while and once they settled down, the changes by bringing quarters or carbon steel were much more dramatic. An average reading when no metal was present would be about hex $2080, while bringing metal nearby would change the reading to hex $2A00 or higher. Averaging subsequent readings improved the accuracy along with requiring two positive readings in a row before declaring that treasure has been found. 9

Conclusion Most of the goals set for the Treasure Detection Robot have been met. TDR can wander around a room looking for treasure, and if it is calibrated correctly, then it can reliably determine where treasure lies. Calibration is performed in software before starting the searching, but does not always properly work. The metal detector was the most challenging aspect of the robot. The variation in the metal detector makes it incredibly difficult to get accurate readings consistently. A more consistent or easier to use metal detector would simplify this design greatly. Learning and using the Forth programming language has been both a challenge and a reward. Once I got used to the Forth syntax, I was able to write complex routines quickly. It does a good job of acting like a high level language yet leveraging the power of assembly code. However, there were a few cases where writings routines in assembly might have been easier. Specifically, any routines where I attempt to perform math functions on 16 bit values. My coding style also probably needs improvement, but it works and that is the important thing. If I were to start this project over again, I would probably use a larger platform that has more space for the things I need. The platform I used was quite small which led to difficulties trying to place all of the parts for the robot, such as the IR sensors, battery pack, and any future additions. I also might use an LCD display for calibration and status feedback. To enhance this robot a sound chip could be used to provide audio feedback and an LCD display could 10

also provide useful feedback. A redesigned platform could allow the metal detector to be close to the front of the robot so that metal can be detected sooner, rather than having to drive over the metal before it can be detected. 11

Documentation http://www.elenco.com/user%20manuals/k-26.pdf - Simple Metal detector http://www.olimex.com/dev/pic-p40b.html - Processor Board http://www.pololu.com/products/pololu/0250/index.html#combinations - Motor kit and chassis combination http://home.clara.net/saxons/bfo.htm - Simple BFO metal detector http://www.rfc1149.net/devel/picforth - PIC Forth Compiler Appendices Metal Detector Circuit: 12

Metal Detector Simulation: 13