faculty review presentation group 7 jason dumbaugh artiom bell koltan riley ii kift knight...
TRANSCRIPT
Faculty Review PresentationGroup 7
Jason DumbaughArtiom Bell
Koltan Riley II
KIFTKnight Industries Five Thousand
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Purpose:– School of Electrical Engineering and Computer Science exit
requirement– To build a fun, working Senior Design project that won’t break
the bank.– To develop a project that is useful to the military, as well as
other government agencies.– To introduce a product that the everyday consumer will be able
to use.– To learn the dynamics of as many electrical components as
possible (Bluetooth, GPS, Microcontroller programming, sensors)
Project Overview
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Knight Rider’s K.I.T.T. had:• Pursuit Mode – high-speed
driving mode where KITT was in control of the car, allowing for autonomous movement.
• Infrared Tracking Scope – allowed KITT to sense objects within 10 miles
• Global Positioning System – KITT was outfitted with a state of the art GPS system, allowing it to locate its objectives.
Inspiration
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
KIFT has:• Pursuit Mode – The ability to drive itself without user input.• Tracking Scope – KIFT is be able to sense dangerous walls and
other objects and maneuver around them.• Global Positioning System – KIFT is be able to locate objectives
and drive to them without a driver.
Key Design Objectives
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• KIFT should have a minimum of 30 minutes battery life while in operation
• GPS should sample KIFT’s current position every one second• Sonar sensors should trigger evasion within 18 inches of an
object• KIFT should be able to switch seamlessly between MANUAL
mode and PURSUIT mode
Project Goals
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Color: Jet Black• Total vehicle length: 17.25 “• Total vehicle height: 5.75”• Total vehicle weight: 4.4 lb• Total vehicle ground clearance: 1.25 “• Total sensors: 3• Total battery sources: 2• Total battery life: ~45 min.• Vehicle max speed: 21 mph• Vehicle min speed: 0 mph
Project Specifications
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Block Diagram
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Bluetooth Controller
Bluetooth Module
MicrocontrollerGPS
Sensor 1
Sensor 2
Sensor 3
Drive Train
Responsibility Chart
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Mobility
PCB Prototyping
Sensors
Bluetooth
GPS
Power
Programming
0% 20% 40% 60% 80% 100%
JasonArtiomKoltan
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
HARDWARE
Hitari K.I.T.T. • 1:15 scale Replica of vehicle
in Knight Rider• Cost Efficient for a RC
Vehicle ($65 USD)• K.I.T.T. comes fully
assembled
Chassis Selection
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Downsides of using Hitari K.I.T.T. • Not easily modifiable
– Shell is heavy– Shell isn’t quick release– Schematics not available
• Too small, no room for components
• Too many internal circuits• Factory installed circuit cards
make modification and manipulation difficult.
Chassis Selection
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Evader• 1:10 scale to 2WD stadium
truck• Reasonable cost for a
Hobby RC Vehicle ($100 USD)
• Due to the minimal use of circuit cards in the Evader, the chassis is light enough to increase battery efficiency
• Ample space for our circuitry
Chassis Selection
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
KIFT chassis
• Integration of KITT theme: • Maintaining KITT light
scanner• Jet black paintjob• Bright headlights
Design Objectives
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Need Bluetooth connection• Should be capable of Class II minimum• Should be able to implement Bluetooth 2.0 or Bluetooth 2.1 +
EDR• Needs to support most Bluetooth profiles• Should be cost efficient
Communication Interface
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Bluegiga WT32• HID (Human Interface
Device) profile and many others
• Bluetooth 2.1 compliant• Integrated Antenna• Class II: ~30m range• USB, UART, PCM, SPI• Low Power Consumption• Cheap ~$50
Bluetooth ® Chip Selection
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Bluetooth ® Mate RN-41• Simplicity in establishing
communication.• Specifically designed to
work with Arduino development boards.
• Capable of operating in harsh RF environments such as WiFi, and ZigBee.
Bluetooth ® Chip Selection
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Playstation3 SIXAXIS• Bluetooth Capabilities• The Range of Motion within
30 ft.• SIXAXIS™ Technology• Battery Life ( 30 Hrs.)• Rechargeable (USB Charger)• High amount of input
buttons
Bluetooth ® Controller
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Negatives of Playstation3 SIXAXIS
• Proprietary hardware difficult to get a technical manual or schematics.
• Modifying the pairing sequence of the Bluetooth is challenging due to the fact that Playstation 3 controller is design to always pair with a PS3 system
Bluetooth® Controller
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
MSI Wind netbook• Bluetooth Capabilities• Ability to pair with multiple
Bluetooth devices• The Range of Motion within
30 ft.• Battery Life ( 6 Hrs.)• Rechargeable• High amount of input
buttons
Bluetooth® Controller
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
LPC2148• 60MIPs ARM processor with 512k
flash• Runs with simple robust protocol
on UART, SPI, I2C• All FAT, USB, and peripherals are
accessible from Java Programs• USB device• All I/O pins are 5 V tolerant• Enumerates as a USB mass storage
Microcontroller Selection
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
ALFATxp• Can be easily used with any
microcontroller including PIC, AVR
• 2 Serial Ports• More prototyping room• Supports MultiMedia Card
(MMC) and Secure Digital• All features of the
Uberboard• Java Virtual Machine • Unoccupied I/Os
Microcontroller Dev Board
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Downsides of using ALFATxp• Expensive• Limited support from
manufacturer• Difficult to program• Bulky and too large for
chassis
Microcontroller Dev Board
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Arduino Mega• Inexpensive• Massive support network
through forums• Large amounts of sample
code available• Small size• Expandable board capability
Microcontroller Dev Board
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Arduino Mega Specifications• AVR Atmel ATmega1280
microcontroller• 54 Digital I/Os
– 12 of which are capable of PWM
• 14 Analog inputs• 5V operating voltage• 4 UARTs• Powered by USB, Barrel
Jack, or 7-12V battery input
Microcontroller Dev Board
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
EM-408• Inexpensive• Easy to implement in project• Lightweight• Relatively small• Easy to mount to chassis• Optional MMCX antenna connection
GPS Selection
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
EM-408 specifications• SiRF III Chipset• 20-Channel Receiver• Extremely high sensitivity : -159dBm• 10m Positional Accuracy / 5m with
WAAS• Hot Start : 8s / Warm Start : 38s / Cold
Start : 42s• 75mA at 3.3V• 20gram weight• Outputs NMEA 0183 and SiRF binary
protocol
GPS Selection
Devantech SRF05• Easiest technology to adopt
(Sonar)• Lightweight• Inexpensive• Easy to implement into
project• Code readily available
Sonar Sensor Selection
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Devantech SRF05 specifications• TTL Interface (0 and 1)• Min range: 3cm radial• Max range: 4m radial• 40kHz frequency• Easy to manipulate• Moderately priced ~$30 each• Need 4 sensors
Sonar Sensor Selection
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Power Supply
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Primary: Duratrax Starter Battery Pack – required for the EVADER.
• Secondary: 9V battery – designed to power the other
electrical components of the vehicle (GPS, Bluetooth, Sensors, Microcontroller)
Primary Power Supply
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Duratrax Starter Box Power Pak DTXP4600
• Contains: AC wall Charger, 2 1500mAh 7.2V 6 cell flat battery (Ni-Cd) packs
• Charger: Capable of fully recharging the battery pack in a 2-3 hour time frame.
• Inexpensive ~$40
Secondary Power Supply
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Source: 9V Battery• Capable of providing the necessary constant voltages to the
electrical components.• Components operate at either 3.3V or 5V
Other Interfacing Aspects
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• GPS– Connected to MegaKIFT’s UART 2 (RX2 and TX2) via a 5-pin surface
mounted header• Bluetooth
– Connected to MegaKIFT‘s UART 1 (RX1 and TX1) via a single 6-pin header• Propulsion
– The MegaKIFT sends out two PWM signals through two 3-pin headers for Left/Right and Forward/Reverse controls
• Sensors– Three 3-pin headers are used from the Digital pins of MegaKIFT
• KIFT Scanner– The KIFT light scanner is connected to a single 6-pin header on MegaKIFT
MegaKIFT’s PCB layout
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
MegaKIFT’s PCB layout
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Sponsored by:
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
MegaKIFT v1.0• Based off of Arduino Stacker• Custom PCB design for the
layout of electrical components of KIFT.
PCB Prototype
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
SOFTWARE
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• GPS module:
Serial2.begin(4800);
pinMode(GPS_RX,INPUT);pinMode(GPS_TX,OUTPUT);
Serial2.println("$PSRF103,00,00,00,01*24"); //disables GGASerial2.println("$PSRF103,01,00,00,01*27"); //disables GLLSerial2.println("$PSRF103,02,00,00,01*26"); //disables GSASerial2.println("$PSRF103,03,00,00,01*27"); //disables GSVSerial2.println("$PSRF103,04,00,01,01*21"); //enables RMCSerial2.println("$PSRF103,05,00,00,01*21"); //disables VTG
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• GPS module:
char dataformat[7] = "$GPRMC";messageline[0] = Serial2.read(); if(messageline[0] == 36){ //checks for ‘$’ i++; for(i=1;i<70;i++){ messageline[i] = Serial2.read(); } if (strncmp(messageline, dataformat, 6) == 0) { for(i=0;i<69;i++){ Serial.print(messageline[i]); }
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• GPS module:
$GPRMC,005745.000,A,2836.0507,N,08111.8536,W,0.66,103.92,291109,,*15
Latitude: 2836.0507Longitude: 8111.8536
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Sonar Sensors:
#define SS1_PIN 25 //defines pin variable
pinMode(SS1_PIN,OUTPUT); //sets as output
digitalWrite(SS1_PIN, LOW); // pulls low delayMicroseconds(2); //delays 2uS digitalWrite(SS1_PIN, HIGH); //pulls high delayMicroseconds(10); //delays 10uS digitalWrite(SS1_PIN, LOW); //pulls low again pinMode(SS1_PIN,INPUT); //changes to input
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Sonar Sensors:
//waits for SS1 pin to run high with pulse return, //times out after 30mspulseTime = pulseIn(SS1_PIN, HIGH, 30000);
delay(50);objDistance = pulseTime/148; //converts to
inchesSerial.println(objDistance);pinMode(SS1_PIN,OUTPUT); //resets output
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Autonomous Mode:
#define PWM1_PIN 45#define PWM2_PIN 7
pinMode(PWM1_PIN,OUTPUT);pinMode(PWM2_PIN,OUTPUT);
TCCR5A = B00100001; // Phase and frequency correct // PWM change at OCR5A
TCCR5B = B10010; // prescaling the system clock
OCR5A = 14970; // 66.8002672HzOCR5B = 1497; // 10% duty cycle
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Autonomous Mode:
objDistance[1] = runSonar1();objDistance[2] = runSonar2();
if((objDistance[1] > 24) && (objDistance[2] > 24)){ while((objDistance[1] > 24) && (objDistance[2] > 24)){ CENTER(); FWD(); }}
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Autonomous Mode:
else if((objDistance[1] < 24) && (objDistance[2] > 23)){ while((objDistance[1] < 24) && (objDistance[2] > 23)){ LEFT(); FWD_avert(); } } else if((objDistance[1] >23) && (objDistance[2] < 24)){ while((objDistance[1] >23) && (objDistance[2] < 24)){ RIGHT(); FWD_avert(); } }
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Autonomous Mode:
else if((objDistance[1] < 24) || (objDistance[2] < 24)){ EVADE(); }
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Autonomous Mode:
void EVADE(){ REV_STOP(); for(i=0;i<15;i++) REV(); FWD_STOP(); objDistance[1] = runSonar1(); objDistance[2] = runSonar2();
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Autonomous Mode:
if(objDistance[1] < objDistance[2]){ LEFT(); for(i=0;i<10;i++){ FWD(); } } else{ RIGHT(); for(i=0;i<10;i++){ FWD(); } }
Programming
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Autonomous Mode:
void STOP(){ OCR5B = 1400; OCR5B = 1500;}
void FWD(){ OCR5B = 1625; objDistance[1] = runSonar1(); objDistance[2] = runSonar2(); if((objDistance[1] < 24) || (objDistance[2] < 24)) REV_STOP();}
void REV(){ CENTER(); OCR5B = 1340; objDistance[3] = runSonar3(); Serial.print("Reverse Sensor: "); Serial.println(objDistance[3]); if(objDistance[3] < 18) FWD_STOP();}
void REV_STOP(){ OCR5B = 1220; delay(20); STOP(); Serial.println(OCR5B);}
void FWD_avert(){ if((millis() - temp_millis) > 100){ LEDsequence(); temp_millis = millis(); } OCR5B = 1625; //delay(10); //Serial.println(OCR5B); objDistance[1] = runSonar1(); objDistance[2] = runSonar2(); if((objDistance[1] < 24) || (objDistance[2] < 24)) REV_STOP(); //loop();}void FWD_STOP(){ Serial.println("Forward STOP"); OCR5B = 1400; OCR5B = 1625; delay(15); STOP(); Serial.println(OCR5B);}
void CENTER(){ Serial.println("CENTER"); OCR4B = 1400; OCR4B = 1504;}
void LEFT(){ Serial.println("LEFT"); //for(i=1504;i>1272;i--) OCR4B = 1250;}void RIGHT(){ Serial.println("RIGHT"); //for(i=1504;i<1931;i++) OCR4B = 1931;}
Testing
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• Stage 1– GPS acquisition– Sensor response
• Stage 2 – PWM control with sensors– Bluetooth pairing
• Stage 3– Autonomous mode using sensors– GPS location algorithm– User interface
Testing
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Video
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
Project Details
Project Timeline
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
• September: Began PCB design. Acquired ALFATxp development board and Evader chassis. Acquired and programmed GPS module.
• Early October: Acquired first Bluetooth module. Acquired and programmed sonar sensors.
• Late October: Acquired second Bluetooth module and attempted pairing with SIXAXIS controller. Acquired Arduino Mega development board.
• Early November: Produced initial object avoidance algorithm. Ordered custom PCB.
• Mid-November: Incorporated object avoidance algorithms with Pursuit Mode. Installed components on MegaKIFT PCB. Decided to switch to laptop interface.
• Late November: Acquired final circuit board and installed components. Final testing.
Kift’s finances
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
End of Presentation
Demonstration
UCF SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
KITT at CES 2009 in Las Vegas