570 likes | 716 Views
UNIVERSITY OF CENTRAL FLORIDA TRANSIT TRACKING SYSTEM. Who is TTS?. 7. Karl Banks , CpE Chris Dorros , CpE Monica Nguyen , EE Tyler Zaino , CpE SPONSOR: David Norvell , PE, LEED AP, C.E.M. Energy Manager Sustainability & Energy Management University of Central Florida. GROUP.
E N D
UNIVERSITY OF CENTRAL FLORIDA TRANSIT TRACKING SYSTEM
Who is TTS? 7 • Karl Banks, CpE • Chris Dorros, CpE • Monica Nguyen, EE • Tyler Zaino, CpE SPONSOR: • David Norvell, PE, LEED AP, C.E.M. Energy Manager Sustainability & Energy Management University of Central Florida GROUP
What is TTS? • System for tracking the university’s shuttles • Harmony of hardware and software • System of subsystems • Effort to increase the use of UCF shuttle service and ultimately decrease traffic around the university (or so we hope)
Goals & Objectives • Support all shuttles both on campus and off campus • Equip all shuttles with their own unique transmitter unit • No monthly cellular contract • Waterproof and thoroughly resistant to continuous exposure to severe weather conditions • Cross-browser compatible • Display each active bus route in color-coded fashion • Allow user to filter map data by the route of each bus
Requirements & specifications • GPS data accurate to a maximum differential of 10 m • 3 mile line of sight radius of the main receiver tower • Standard 12V power supply unit • No more than 5 lbs • No larger than 12” x 12” x 5” • Full functionality for 10,000 users at any given time see what I did there?
Hardware design presented by: monicanguyen
Block diagrams Transmitting System Receiving System
globalsat EM-406A • 20-channel receiver • Built in patch antenna • Hot Start: 1s, Warm Start: 38s, Cold Start: 42s • Led indicator: off- receiver switch off; on- signal searching, flashing- position locked • Extremely high sensitivity of -159dBm (note: which can pick up signals 1000x weaker then the typical signal at the -160dBW level) • 10m Position Accuracy • Accepts supply voltage input range of 4.5V~6.5V DC • Power Consumption of 44mA • Operating Temperature of -40°C to 85°C 30mm
ADXL213AE • Dual Axis Accelerometer • Sensor measurement range of +/- 1.2g • Turn on time of 20ms • Accepts supply voltage range of 3V ~ 6V DC • Operating temperature of -40°C to 85°C 5mm
Accelerometer schematic • A single 0.1 μF capacitor is connected from VCC to GND which adequately decouples the accelerometer from noise on the power supply • 0.1uF capacitors are added at XFilter and YFilter pins to implement low-pass filtering for antialiasing and noise reduction • A 1MΩ resistor is added to the circuit to set the period to complete one duty cycle
Atmel atmega2560 • Low power 8-bit microcontroller • Clock Rate of 16MHz • 4 serial I/O • Has analog to digital converter • Operating temperature of -40°C to 85°C • As opposed to ATmega328 16mm
Types of communications • Satellite • Greatest coverage • Requires monthly fees • Cellular • Second greatest coverage • Requires monthly fees • Radio Frequency • Least coverage • No monthly costs
Digi 9Xtend (transmitting) • Low power and FCC (Federal Communications Commission) approved • Operates within 900MHz frequency ISM band • Modem uses frequency band of 902-928MHz • Outdoor RF line-of-sight: range of up to 40 miles with high gain antenna • Receiver sensitivity of -110dBm • Tx current: 730mA; Rx current: 80mA for power output of 1W • Accepts supply voltage range of 2.8V ~ 5.5V DC • Transmit power output of 1mW ~ 1W • Operating Temperature of -40°C to 85°C
Rf continued • Utilizes Frequency Hoping Spread Spectrum (FHSS) • Agility to avoid interference by hoping to a new frequency on every packet transmission or re-transmission • Overall • Vast range coverage • Requires minimal power • Small form factor saves board space 37mm 61mm
DIGI A09-hasm-675 • 900MHz Dipole Antenna • Gain of 2.15 dBi +/- 1 • Frequency 915MHz (902MHz ~ 928MHz) 171mm
Maxstream a09-f8nf-m • Fiberglass Omni-directional 900MHz • Frequency 915MHz (902MHz ~ 928MHz) • Gain of 8.1 dBi • Maximum power input of 100W • RoHS Compliant (Restriction of Hazardous Substances) 65in
Digi 9XTend (receiving) • Weather Proof • Outdoor RF line-of-sight: range of up to 40 miles with high gain antenna • Receiver Sensitivity -110dBm • Rx current: 110mA; Tx current: 900mA for power output of 1W • Low power Supply Voltage 7-28V • Operating Temperature -40°C to 85°C 5.5in
Microcontroller Code &RF Communication presented by: chrisdorros
Arduino Development Platform • What is Arduino? • An open source electronics development platform • Why Arduino? • Extensive libraries speed up development time • Easier to load code onto our board - especially useful for SW updates • Large community of developers • Written in C language
Microcontroller Code Structure • Written in C • Basic outline of code: • Initialization • Pin numbers • RF modem parameter settings • Runtime (infinite loop) • Collect GPS & Accelerometer data • Transmit over RF modem • Functions – both initialization and runtime
GPS • Serial (UART) connection between GPS and Microcontroller • Baud rate: 9600 bps • Data is received in NMEA format: • $GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,30.0,M,*18 UTC Time Protocol header Latitude Longitude Position Fix Indicator East/West Indicator Altitude (Mean Sea Level) North/South Indicator Dilution of Precision # of Satellites Used Checksum Altitude Units
Accelerometer • Analog input, converted to Digital signal via Analog to Digital converter built into Microcontroller • Maps input voltage from 0 and 5V to integers between 0 and 1023
Accelerometer • Required to determine if bus engine is running • Data collected from the accelerometer is run through an algorithm on the microcontroller to calculate this • Calculation is done onboard since fast sampling (on the order of milliseconds) is required • Equation and algorithm in work – need to gather sample data from a bus while the engine is running
RF Modem (Transmitting) • Digital pins required for RF modem operation controlled via code • Example pins: Shutdown, CTS, RTS • Pins controlled in software • Packaged GPS & Accelerometer data is sent to the RF modem via Serial interface • Baud rate: 9600bps • Send out every quarter second
RF Modem (Transmitting) • Configuration required for RF Modems to communicate • Source / destination addresses • Baud rate of RF transmission • Configured using AT commands through same serial channel • “+++” to enter command mode • “ATMYCD12<CR>” • AT – command prefix • MY – source address • CD12 – Hexadecimal value for address chosen
Loading Code onto Microcontroller • Arduinobootloader is flashed onto bare microcontroller hardware using Atmel In-System Programmer via ICSP pins • Developed code loaded via RS-232 interface to microcontroller • This allows for fast, easy software updates to the tracking device via the RS-232 interface Atmel AVRISP mkII In-System Programmer 1.00cm
RF Modem (Receiving) • Receives data from each tracking unit • Programmed via RS232 interface to computer with X-CTU software (Digi) • Utilizing Server-Client model • allows sharing of same frequency between multiple devices • Polling mode • round-robin approach • requests data from each RF modem in the tracking units • any data in their serial buffers will be received
RF Modem (receiving) • Each packet of information will be in the same format, separated by carriage returns • Sample output: • <<TTS:23;28.607;-81.19986;142235;02062011;1:TTS>> Latitude Bus ID # Engine status Protocol tail Longitude Time (hhmmss) Date (ddmmyyyy) Protocol header
Data Collection & Processing presented by: tylerzaino
Data Processing Server • Written in C# • Outputs an executable file • Has built in libraries to read from the COM port and write to the database easily • Possibly export it as a Windows service so it will always execute on boot • Deployed on a dedicated computer running Windows • The RF modem must be connected to the COM port of the computer at all times
Data Processing Server • Collects the data from the RF modem through the COM port of the server • Bus Identifier • Unique integer that represents the shuttle the coordinates are being sent from • Longitude and Latitude coordinates • A floating point number that represents the real-time location of the shuttle • Accelerometer data • Boolean value representing the real-time state of the shuttle • Time • Time the bus data is collected
Data Processing Server • Process the packets of data • The data will be received in packets from the microcontroller • The Data Processor must analyze these packets and strip down the data into useable information • This information will be stored within the program to be analyzed
Data Processing Server • Analyze the data • Check to ensure all the data is accounted for within the packet • This ensures that information is written to the database that isn’t missing any crucial components • Check to ensure the coordinate points fall within a predetermined system boundary • This ensures that any incorrect coordinates don’t make their way to the database • This is calculated by using the hardcoded variables, CENTER_X, (Latitude of the tower) CENTER_Y, (Longitude of the tower), RADIUS (Line of sight of the tower)
Data Processing Server • Pass the data to the database for the webserver • Coded within the program using a MySQL library to write to the online database • All data will be written to the table DATA_BUS_COORDS in the database
Web Application presented by: karl banks
DATABASE: BUS • ID : integer • isActive : boolean
DATABASE: BUS COORDS • busID : integer • coordY : double • coordX : double • accelerometerData : boolean • time : integer
DATABASE: BUS STOP • ID : integer • name : string • coordX : double • coordY : double • isActive : boolean
DATABASE: Route • ID : integer • name : string • color : string • isActive : boolean
User Interface Technologies • Maps • Google • Bing • Yahoo • MapQuest • Application Programming Interface (API) • Provides access and makes use of services and resources provided by another particular software program • Computer Program vs. Web Application • Interactivity vs. system requirements • Compatibility is key