Final Presentation

Download Report

Transcript Final Presentation

Liz Lyons
Mike Scherban
Oscar Orihuela
What Is Knightro Kart?
An interactive, Android
controlled vehicle race system
consisting of two independent
cars and controllers.
 Vehicles are controlled by
Android powered mobile
devices or tablets
 Consists of two
independent vehicles, a
track utilizing infrared, and
two independent remote
controls
System Block Diagram
Walkthrough
System Specifications
Bluetooth Communication Range
<30 m
Vehicle Speed
20 MPH max
Battery Life
>1 hr
Number of Users
2
Remote Control
Mobile device is used in landscape mode. It utilizes
hardware level sensor data, and interprets it to tell the
MSP430 how to direct the vehicle.
Why Android?
 Essentially free – No new hardware costs,
free SDK, familiar languages
 Open source platform, easy to learn
Programming
Language
Devices
Readily
Available?
Familiarity
Cost to
Develop
Android
Java/XML
Yes
High
Free
iOS
Objective-C
No
Medium
$99/year
Windows
Phone
.NET
framework/
Visual
C++/XNA
No
Low
Free
Target APIs 10 (Android 2.3.3 Gingerbread and higher),
approximately 94.2% of Android market
Ice Cream
Sandwich
Jelly Bean
Eclair
Honeycomb
Gingerbread
Froyo
Target APIs 10 (Android 2.3.3 Gingerbread and higher),
approximately 94.2% of Android market
Ice Cream
Sandwich
Jelly Bean
Eclair
Honeycomb
Gingerbread
Froyo
Wireless Communication Choices
Bluetooth
(Class 2)
Wi-Fi Direct
Wi-Fi
(traditional)
Protocol
LMP, L2CAP, SDP
IEEE 802.11 a/g/n
IEEE 802.11
Communication
Distance
Radio dependent,
≈ 10 meters min
200 meters MAX
200 meters MAX
Speed
3 Mbps MAX
250 Mbps MAX
250 Mbps MAX
API Requirement
5 or higher
14 or higher
1 or higher
Power
2.5 mW
Varies
Varies, may be 40x
Bluetooth
ISM Band
2.4 to 2.485 GHz
2.4 GHz or 5 GHz
2.4 GHz or 5 GHz
Difficulty
Low
High
High
Remote Control Requirements
Android device must:
 Have Bluetooth capability
 Contain accelerometer sensors
 Have touch screen
 Run Android 2.3.3 Gingerbread or newer OS
User Interface
Home screen displays current lap,
accelerometer values, and connected
devices (if any)
Menu allows user to control the state of
the remote control application
• Connect A Device – connect to a
vehicle
• Start – send signal to BT module
signifying ready to race
• Reset Remote Control – reset
application variables, sever
connections
• Exit – close the application and
disconnect any active Bluetooth
connections
User Interface
When user selects “Connect a Device”
from the menu they are presented with
a list of paired devices.
• User can also search for unpaired,
discoverable devices in the area
If connection is successful, the name of
the connected device will be displayed
on the main remote control screen.
User Interface
Home screen displays current lap,
accelerometer values, and connected
devices (if any)
Menu allows user to control the state of
the remote control application
• Connect A Device – connect to a
vehicle
• Start – send signal to BT module
signifying ready to race
• Reset Remote Control – reset
application variables, sever
connections
• Exit – close the application and
disconnect any active Bluetooth
connections
Handling Accelerometers
Accelerometers are seen by
the devices relative to an
imagined coordinate system.
 We use the Y (left/right)
and Z (forward/back) axis
values to control the cars
Bit Assignment
7
6
5
4
3
2
1
0
LEFT
RIGHT
SPEED 4
SPEED3
SPEED2
SPEED1
STOP
REVERSE
Special Signals
WAKEUP:
0xFF
RESET:
0xBB
Bit Assignment
7
6
5
4
3
2
1
0
LEFT
RIGHT
SPEED 4
SPEED3
SPEED2
SPEED1
STOP
REVERSE
Action (Conditions)
Speed 1
(2 < ZAccel < 3.5)
Speed 2
(3.5 < ZAccel < 4.5)
Speed 3
(4.5 < ZAccel < 5.5)
Speed 4
(5.5 < ZAccel)
Reverse
(ZAccel < -2)
Stopped
(-2 < ZAccel < 2)
Left
(YAccel < -2)
Right
(YAccel > 2)
Straight
(-2 < YAccel < 2)
0x84
0x44
0x04
0x88
0x48
0x08
0x90
0x50
0x10
0xA0
0x60
0x20
0x81
0x41
0x01
0x82
0x42
0x02
Bluetooth Module
Roving Networks RN-41
 Minimal configuration


Baud rate
Auto slave, SPP
 Built in antenna
 Automatically pushes & pulls data via UART RX/TX pins
 Runs own Bluetooth stack
 Low power
 3.3V
 100m range
Microcontroller
MSP430G2553
Atmega168 w/ Arduino
3.3V
5V
16KB flash
16KB flash
C, Assembly
C, Assembly
16MHz
16MHz
UART & PWM support
UART & PWM support
2.75”
2.75”
Microcontroller
MSP430G2553
3.3V
16KB flash
C, Assembly
16MHz
UART & PWM support
• Same voltage as Bluetooth module
• No voltage level shifting
• More feature rich IDE
• Viewable registers
• Real time setting/variable
adjustment
• Disassembly
• SW breakpoints
• G2553 variant
• HW UART support
Microcontroller
MSP430G2553 (28 pin TSSOP)
Surface mount package
Function
# of Pins
UART
2
Start Line Signal
1
LEDs
5
Motors
4
Start Alert Signal
2
Programming and Debugging
 Code Composer Studio free license
 JTAG used to take advantage of IDE debugging
features
 Connect through TI USB FET device to 14 pin header
Motor Signals
 LEFT/RIGHT uses digital signals
 FWD/REV take advantage of hardware PWM support
 PWM used to add variable speed
Slow
Fast!
Microcontroller Comm.
 MSP430Module: UART, 9600 baud rate,
interrupts*
 TrackVehicle: Port interrupt*, debounced
 VehicleVehicle: Watch for port low to high change
 *Interrupts: To catch events when they happen,
opposed to hanging code and waiting to catch them
 Interrupt code is ran regardless of which code is
currently being executed
Low Power Mode
 Bluetooth module separate from MSP430
 Allows BT pairing while MSP430 is asleep
 MSP430 goes to sleep at power on and when not in
race mode
 Turns off clocks and CPU
 Command from phone will wake the car for use
 Only executes code in an interrupt
MSP430 Software Flowchart
Printed Circuit Board
 Most components will be on a custom printed circuit
board designed in Eagle
Printed Circuit Board
Motors
BT Module
and status
LEDs
LEDs
Track
signal
JTAG
Power
MSP430
Ready signals
Infrared Features
 Each race vehicle contains IR phototransistors
 Biased by IR light
 START line consists of an array of IR LEDs
 Triggers phototransistors on vehicle, enables lap counter
 Infrared also used for vehicle to vehicle
communication
Race Vehicle
 9.6V battery pack







required
Potential to travel
20 mph
2 D.C. motors
1st Motor controlling
FWD and REV motion
2nd Motor controlling turning left and right
17 inches long
7 inches wide
8 inches tall
Motor Options
 Race car requires 2 motors
 1st Motor controls – FWD & REV motion – D.C. motor
 2nd Motor controls – Turning - D.C. or Servo
D.C. Motor
Servo Motor
Less Expensive
More Expensive
Requires Less Voltage
to function
Requires Higher
Voltage to function
Slower Reaction Time
Faster Reaction Time
H-Bridge
 MSP430 does not have sufficient voltage to run motors
 H-bridge directs secondary power supply to motors
 High/low signals received by H-bridge cause motors to
spin in a certain direction
 Ex: Clockwise / Counter-Clockwise / Stand Still
H-Bridge - Typical
 Typical H-Bridge configuration
 Motor represented by inner
circle
 Switches represent transistors
 Motor is at a stand still
H-Bridge - Clockwise
 The H-bridge
is causing the D.C. motor to spin
clockwise
H-Bridge – Counter Clockwise
 The H-bridge
is causing the D.C. motor to spin
counter clockwise
SN754410 vs. L298N
SN754410
L298N
Max Motors
2 DC motors
2 DC motor
Max Continuous
Current
1 Amp
2 Amp
VCC1 Supply
Voltage Range
3.3V - 5.5V
4.5V – 7V
Max VCC2 Supply
Voltage
36V
46V
SN754410
 Cost efficient : $2.16 per chip
 Detailed documentation
 Manufacturer: Texas Instruments
 2Chips per car needed due to current restrictions
 Each motor takes up to 1 Amp
SN754410 Pin Out
Car Interior Schematic
Cooling
 SN754410 includes built in thermal shutdown
 Generates enough heat to trigger shutdown
 Aluminum heat sinks added to prevent shutdown
 Fans to assist in cooling
Power Supply
Input
Voltage
Voltage
Regulator
SN754410
9V
5V
Race Car
9.6V
Does Not
Require
MSP430
9V
3.3V
Testing
 Had LEDs light up at certain events.
 Connection successful
 Byte received
 Once we knew communication was successful, we tested
with LEDs, SW breakpoints, and the register viewer to
confirm correct bytes.
 LEDs were used to confirm the correct motor output from
PCB, using the tilt of the phone
 Tested that the H-bridge received the correct logic and
output the correct signals using a multimeter and motors
 Finally tested that the car moved in accordance with the
orientation of the phone
LED Notifications
MSP430 asleep.
Awaiting wake up
Ready to race,
waiting for other car
Racing!
Issues Encountered
 UUID assignment varies based on device receiving
connection, had to look for the UUID corresponding
to hardware (not android devices)
 Surface mount devices smaller than anticipated
 Overheating of the H-Bridge, heat sinks required
 Syncing vehicles to start at the same time
Roadblocks
 App occasionally takes more than one attempt to make
a connection
 Track LED spacing may be too large to trigger
phototransistor 100% of the time
 Cars slow down after continuous usage
 Heat issue: heatsinks and fans multiplied the usage time
 Needs a few seconds to cool down and run at normal
speed
 Unavoidable infrared light occasionally triggers
phototransistors
What We Would Do Differently
 For a more successful project we could have combined
headers on the PCB to make the wiring easier and less
cluttered
 Use modulated infrared to prevent accidental triggers
and allow outside usage
 Use an H-bridge that supports more current and heat
To Date Costs
Expenses
Passive Comonents
$
20.00
RC Vehicles
$
PCBs
Remote Control
$
$
45.00
-
MSP430s
$
6.00
Photo Transistors
$
2.00
IR Lights
$
5.00
H-Bridge Chip
$
8.00
Bluetooth Modules
$
50.00
JTAG Programmer
$
100.00
Batteries
$
10.00
Wood For Track
$
8.00
Fans
$
28.00
Aluminum Heatsinks
$
6.00
Wiring and Cabling
$
20.00
Total:
$
102.00
410.00
Questions?