Team Epimetheus Wireless Robot Module

Download Report

Transcript Team Epimetheus Wireless Robot Module

Team Epimetheus
Wireless Robot Module
EE682
Dr. Steven Bibyk
Matt Beerman
John Fatica
Hubert Ho
Erik Justen
Brad Kramer
Matt Rankin
Karl Yeh
02/13/2002
Team Epimetheus
1
Objective
• To build a wireless sensor module using the
robot platform.
• To gain knowledge and experience for
future projects and presentations.
• To have a technical understanding of
projects and designs.
02/13/2002
Team Epimetheus
2
Platform Specification
• Wireless sensor module is to collect data
from the OSU-FIRST robot
02/13/2002
Team Epimetheus
3
Block diagram
Sensor Array
Analog /
Digital
Conversion
Power
Management
Wireless
Communication
Interface
Host MCU
User Interface
/ Receiver /
Video Capture
X10 Video
System
= Power Lines
= Data Lines
02/13/2002
Team Epimetheus
4
Matrix Management
Host
MCU
Power
Sensors Wireless User Int.
P
Matt Beerman
John Fatica
P
P
P
Hubert Ho
Erik Justen
S
Brad Kramer
P
Matt Rankin
Carl Yehman
P
P
S
P
P = Primary Lead
02/13/2002
Video
Team Epimetheus
S = Secondary
5
Micro-Controller Unit
• Microchip PIC (16F877)
– Programmed in assembly using MPLAB
– 4 MHz Clock Speed
– Built-in Synchronous Serial Port (SSP) and Universal
Synchronous/Asynchronous Receiver/Transmitter
(USART)
– 8K of FLASH program memory; 368 bytes data memory
02/13/2002
Team Epimetheus
6
Micro-Controller Unit
• PIC communication with A/D
– PIC to MAXIM A/D communication performed using
Serial Peripheral Interface (SPI) compatible bus
through SSP module.
– PIC acts as the master and generates the clock at a rate
of Fosc/4.
– Data is simultaneously clocked in/out of SSP buffer.
– RPM and Battery Voltage data checked on-board the
PIC for validity.
02/13/2002
Team Epimetheus
7
Micro-Controller Unit
• PIC Communication with PC
– Standard RS232 serial link
– Take advantage of built in USART on PIC
• PIC hardware handles construction/transmission of each byte
and baud rate timing issues
• Achieve transmit speeds up to 19200bps
• Too much error in baud rate calculation past 19200
– Assemble 23 byte data packet and send
02/13/2002
Team Epimetheus
8
Micro-Controller Unit
Code Overview
Main Routine
Data Test Routine
Start
RPM
Valid?
Initialize
PIC
NO
Flag RPM bit
in TX Packet
NO
Flag BATT bit
in TX Packet
YES
Read/Store
ADC Data
BATT
Valid?
Data Test
Routine
Transmit
Data
02/13/2002
Generate 16-bit
Checksum
Team Epimetheus
9
Power Management
• Power Supply
– 12 volt lead acid battery
• +/-12v, +/-10v, +6v, +/-5v
– 3 adjustable regulators
• National Semiconductor
• LM2991
• LM2941
02/13/2002
Team Epimetheus
10
Power Management
• Management
– Monitoring of voltage levels in the battery
– Auto shutdown of the video = Resistor
+12
10Ω/5W
+10
12 V
2941
+6
2941
+5
GND
2991
-5
12 V
10Ω/5W
-10
-12
02/13/2002
Team Epimetheus
11
Sensors
• RPM Sensor (2)
– Purpose
• Will be used to count the number of rotations of a particular
wheel in order to approximately determine the velocity of the
robot.
– RPM Sensor Components
• A pinwheel with alternating reflective and non-reflective
surfaces.
• An Omron reflective sensor (continuous beam)
• A 8-bit binary counter (TI SN74HC590A)
• A 8-bit DAC (National DAC0808)
• An Op-amp
02/13/2002
Team Epimetheus
12
Sensors
• Temperature Sensor (2)
– Thermometrics NTC Thermistor
• Epoxy coated solid state sensor
• Suitable for PCB and probe mountings
• Current Sensors (3)
– One 100 amp sensor for battery current
• F.W. Bell BB-100 Hall effect current sensor
– Two 25 amp sensors for motor current
• Amploc Amp25 current sensor
02/13/2002
Team Epimetheus
13
Wireless Communication
• Requirements
– Send data and video from sensor module to User
Interface computer
– Transmit data up to 100 meters
• Solution
– Wireless Serial link
– Parallax RF product (27987, 27986)
• 433.92 MHz
• 250 feet
02/13/2002
Team Epimetheus
14
Wireless Communication
• Packet Definition
SYNC BYTES
(4 BYTES)
5A5AA5A5
02/13/2002
PACKET INFO
(1 BYTE)
DATA
(16 BYTE)
Team Epimetheus
CHKSUM
(2 BYTE)
15
Server Daemon
• Utilizes java packages
– javax.comm
– java.net
– Cross-platform
• Threads used for opening new network sockets
• Formats serial data for passing to applet
02/13/2002
Team Epimetheus
16
Program Flow
• Wireless Serial Data to
Server Daemon
• Daemon network Thread
passes info to Applet
• Multiple graphics threads
update applet
02/13/2002
Team Epimetheus
17
User Interface
GUI
• Java Applet
• Displays Values and Graphs • RPM Wheel Data (2)
• Temperature Data (2)
• Motor Current Data (2)
• Battery Current Data
02/13/2002
Team Epimetheus
18
Proposed Schedule
W1 W2 W3 W4 W5 W6 W7 W8 W9
Schematic / Algorithm Dev.
Parts Acquisition
Build/Test
Host MCU
Power
Sensors
Wireless / Communications
User Interface
Video
System Integration
02/13/2002
Team Epimetheus
19
Moving Forward
•Continue parts acquisition
•Re-acquire PIC
•Once parts are in:
– Continue sensor work
– Continue UI integration
– Add in wireless comm.
– Test and debug
•Time permitting, incorporate video
02/13/2002
Team Epimetheus
20