420 likes | 556 Views
Navigational Aid for a Blind Individual Electrical/ Computer Engineering Team . P12016: Curtis Beard Aalyia Shaukat David Taubman Oliver Wing. P12015: Bob Evans Jackson Lamp David Sachenik David Yip. Summary. Introduction/Review Power Calculations Battery User Input (Keypad )
E N D
Navigational Aid for a Blind IndividualElectrical/ Computer Engineering Team P12016: Curtis Beard AalyiaShaukat David Taubman Oliver Wing P12015: Bob Evans Jackson Lamp David Sachenik David Yip
Summary • Introduction/Review • Power Calculations • Battery • User Input (Keypad) • Microcontroller • Navigation Algorithm • Schematics • Magnetometer • RFID Reader/Antenna/Tags • Testing Procedures • Bill of Materials
P12015: Power Calculations Battery is 3.7V, 1000mA*hr, 3.70 W*hr Voltage Output: 3.3V *For (10) 20 minute intervals of navigation
P12016: Power Calculations Battery is 3.7V, 1100mA*hr, 4.01W*hr Voltage Output: 3.3V *For (10) 20 minute intervals of navigation
P12015: Battery PRT-00339 • 3.7 V • 1000 mAh • 2.09” x 1.3” x 0.225” • 0.770 oz • 2-pin JST-PH connector
P12016: Battery Tenergy Li-ion 17500 • 3.7V • 1100mAh • 0.71” x 2.09” (Diameter x Height) • 1.04 oz. • Molex 51021 2-Pin Connector
Comparison of Voltage Regulation output and POK – Threshold Reached Indicator
User Input (Keypad) • 7 Pin Connection • Contact rating: 20mA, 24VDC • 2.52” L x 2.01” W x 0.28” H • 0.26 ounces
Microcontroller Selection • Flow Chart • Memory Usage • Clock Speeds • Approx. Number of Instructions processes for algorithm
Navigation Algorithm /* performs dijkstras algorithm upon the building graph */ "dijkstra(graph *g, int start) { inti,j; boolintree[MAXV]; int distance[MAXV]; int v; int w; int weight; intdist; for (i=1; i<=g->nvertices; i++) { intree[i] = FALSE; distance[i] = MAXINT; parent[i] = -1; } distance[start] = 0; v = start; while (intree[v] == FALSE) { intree[v] = TRUE; for (i=0; i<g->degree[v]; i++) { w = g->edges[v][i].v; weight = g->edges[v][i].weight; if (distance[w] > (distance[v]+weight)) { distance[w] = distance[v]+weight; parent[w] = v; } } v = 1; dist = MAXINT; for (i=1; i<=g->nvertices; i++) if ((intree[i] == FALSE) && (dist > distance[i])) { dist = distance[i]; v = i; } } }
Mapping Data Structures RFIDTag • Representation of an RFID tag. May be implemented as a 64 bit integer. Tags are stored in an array in FLASH and are referenced with an index value. StaticNode • Basic node in a map graph. Composed of multiple RFIDTags, destinations, and references to other Nodes using NodeVectors. StaticNodes are stored in an array FLASH and are referenced with an index value. • Elements • numTags: The number of tags referenced by this Node. • tags: The array of RFIDTagindicies referenced by this Node. • numDestinations: The number of destinations associated with this Node. • destinations: The array of destinations associated with this Node. • numNodes: The number of NodeVectors leading to other nodes associated with this Node. • nodes: The array of NodeVectors leading to other nodes associated with this Node.
Mapping Data Structures Node • Nodes are used as proxies to the StaticNode structures held in ROM. They consist of an index value which is used to identify the StaticNode they correspond to as well as a “visited” bit which is used by both the path finding and path following algorithms. An array of these is loaded into memory on system startup in an array which mimics the StaticNode array. • Elements • node: The index of the StaticNode this Node represents. • visited: The visited status of the node. NodeVector • Represents a link from one node to another. Includes heading and distance information, which is used to determine edge costs in the navigation algorithm and to direct the user during the path following stage. • Elements • node: The index of the Node referenced by this NodeVector. • heading: The direction of the referenced node. • distance: The distance to the referenced node.
Mapping Data Structures Destination • Structure representing a destination using an integer identifier and a heading/distance vector. • Elements • id: The room number or other identification code of the Destination. • heading: The direction of the Destination from the host Node. • distance: The distance to the Destination from the host Node.
MCU Specs • TI MSP430F5438A • 16-bit ISA • 25 MHz Clock • 16 KB SRAM/256 KB FLASH • 8 USCI interfaces with support for SPI, I2C, and other serial protocols • 18 Programmable PWM Outputs • Extremely low power operation—1.05 mW to 35 mW active mode, 1.1 μW to 300 μW sleep mode
Magnetometer ST Micro Electronics LSM303DLH Tilt Compensated Compass • Supply Voltage 3.3V • Current in Operating Mode 0.83mA • 16-bit data out • I2C serial interface
RFID Antenna/Reader/Tags • HperLink Wireless 900 MHz 8 dBi Flat Patch Antenna (HG908P) • Skytek M9 Module • Alien Briggs Tag Type ALN-9640 Squiggle Inlay
Block Diagrams/Schematic • USB Interface with Microcontroller • USB Transient Suppressor • USB Charging Circuit • Linear Regulator • Keypad • RFID Reader • PWM (Motors) • Magnetometer
Testing Procedures • Battery & PCB • Keypad • MCU • Magnetometer • RFID Reader
Battery & PCB testing • Test Points (TPs) will be placed in the PCB to verify functionality. • Voltage of test points will be measured and compared with their theoretical values. • When the battery is fully charged, all test points should be within +/- 10% of theoretical value.
Keypad Testing • Input Room Numbers/Destinations -Monitor MCU data collection -Feedback from vibrating motors • Powering on/off
MCU Testing • When possible, testing is performed while debugging the MCU. • Navigation algorithm will be tested in the following cases: • Known tag ID and destination supplied; path returned in < 1s. • Known tag ID and unknown destination supplied; failure reported in < 1s. • Unknown tag ID and known destination supplied; failure reported in < 1s. • Interfaces with other devices will be tested individually prior to the code being integrated with the main program.
Magnetometer Tests • Correct indication of Northern Direction -With/Without interference (Different areas within building) -Flat surface vs. Tilted at various angles -Walking motion test • Data interface with microcontroller • Power consumption test • Heat Dissipation
RFID Reader/Antenna Tests • Antenna Position/Polarity • Read distance • Optimal reading angles • Read Time • Power Consumption Test • Heat Dissipation
? Questions