590 likes | 798 Views
High Resolution AMR Compass. Dr. Andy Peczalski Professor Beth Stadler Pat Albersman Jeff Aymond Dan Beckvall Marcus Ellson Patrick Hermans. Honeywell. Introduction/Abstract – Marcus E MATLAB Simulations – Marcus E Software – Pat H Hardware – Jeff A Testing – Pat A
E N D
High Resolution AMR Compass Dr. Andy Peczalski Professor Beth Stadler Pat Albersman Jeff Aymond Dan Beckvall Marcus Ellson Patrick Hermans Honeywell
Introduction/Abstract – Marcus E • MATLAB Simulations – Marcus E • Software – Pat H • Hardware – Jeff A • Testing – Pat A • Results – Dan B Agenda Honeywell
This project’s purpose is to improve the accuracy of a digital compass by using multiple compass IC’s. These will work together to collectively improve the accuracy of the overall system. Abstract Honeywell
One benchmark is to try to increase the accuracy of the system by the number of sensors used. Increased precision and repeatability is also desired. Abstract Honeywell
Customized hardware is necessary to implement the multiple sensor system. Customized software to manage the implementation is also necessary. Abstract Honeywell
MATLAB • Used to simulate single and multiple sensors before our hardware was complete • Provided a vehicle to test the performance of our heading calculation algorithms • 1702 lines of MATLAB simulations Honeywell
Sensor Placement • The placement of the sensors must create a system accurate across 360 degrees • Each individual bridge of each sensor can be simulated independently in MATLAB • Multiple arrangements can be simulated to determine the best implementation Honeywell
Orientation Simulations • Single IC Senor Output Wave Form: • Data Appears Evenly Spaced • ICs at: 0, 36, 72, 108, 144, 180, 216, 252, 288, 324 Degrees Honeywell
Orientation Simulations • Single IC Senor Output Wave Form: • Data Evenly Spaced • ICs at: 0, 9, 18, 27, 36, 45, 54, 63, 72, 81 Degrees Honeywell
Three software realms involved with this project: • MATLAB • C • VB Software Honeywell
C • Written in MPLab • Version 8.0 • CCS complier • Version 4 • Run on PIC 18f4550 • 1326 Lines of C • 2532 Lines of Assembly Honeywell
Sensor Communication • Sensor Commands • Heading • Adjusted voltages • Raw voltages • Calibrate • Re-address • Number of Summed measurements Honeywell
Serial Communication • Allows Compass to display results • Very helpful in debugging • Allows for VB to control sensor • Easy to implement in CCS • 115200 Baud allowable from the 20Mhz crystal Honeywell
Weighted Averaging Honeywell
VB • Provides an end-user interface • Synchronizes the compass and the rotation table • Allows for automated data acquisition • Provides a repeatable test benching system • Requires a third board to handle adjusted ground on PMC • 4733 Lines Honeywell
Serial Serial Personal Computer (VB) PMC Controller PIC18F4520 (C) Rot. Table Parallel Sensors I2C Honeywell
Final Hardware • Abstract • Initial Design • Problems with Initial Design • Changes Made • Proposed Final Design Honeywell
Abstract • One compass, two boards • Main Board • Microcontroller • Daughter Board • Sensors Honeywell
Initial Design Main Board Honeywell
Main Board • Essentially a controller board • Microcontroller • RS-232 Communication • I2C Communication • Interfacing • Daughter Board • Front Panel Honeywell
Initial Design Daughter Board Honeywell
Daughter Board • Three functional systems • Sensor array • Power MUX • Laser Honeywell
Daughter Board Dimensions • Constraint: One of the dimensions must be less than 3.5” • Opening of zero-gauss chamber is 3.5” in diameter 3.132” Honeywell 3.492”
Daughter Board Dimensions • Constraint: One of the dimensions must be less than 3.5” • Opening of gauss-free chamber is 3.5” in diameter 0.73” 3.132” The Daughter Board meets size requirements Honeywell
Daughter Board HMC6352 Feedback Networks Power LED Clock Ground Data Decoupling Capacitor Honeywell
Daughter Board I2C Bus Clock Data Honeywell
Daughter Board Power MUX • Design challenge: • Need to assign unique address to each sensor • Each sensor is factory installed with address 0x42 • In order to change addresses, a command must be sent to a sensor on the bus • This command message contains: • How to change address of individual sensor if every sensor is receiving the command? Honeywell
Daughter Board Power MUX • Solution: Need to isolate communication to individual sensor • How? • Burn-in Socket • Use a network of jumpers • Multiplex I2C to each sensor • Multiplex power to each sensor Honeywell Photo taken from http://www.locknest.com/newsite/products/qfn/index.htm
Daughter Board Power MUX • We chose to multiplex power • Advantages • Saves power • Simplifies troubleshooting • Disadvantages • Signal loss through MUX • Other unknowns… Honeywell
Problems with Initial Design • Problems • Main Board • None • Daughter Board • I2C bus • When powered off, the sensors interfere with I2C bus • 5V data signal is pulled down to 2.5V • Therefore communication will not work • Problems not related to design • Sensor 3 will not communicate • Will not hinder project; algorithm will still work • Slight loss of sensitivity at sensor 3’s axes of sensitivity (27° and 117 °) Honeywell
Changes to Initial Design • I2C bus fix • Remove MUX and feed power to all sensors • Cut I2C traces • Add jumpers to I2C vias and address them one by one • Connect all jumpers to I2C bus Honeywell
Changes to Initial Design • Other changes • No laser mount • Laser mounted directly to plexi-glass case • Saves cost ($25) Honeywell
Changes to Initial Design • Other changes • Main Board Layout Before After Honeywell
Proposed Final Design • Due to I2C bus issues, our current design does not work • Two options • Power all sensors and use burn-in or jumpers socket to isolate sensors • Multiplex I2C bus Honeywell
Proposed Final Design • Option 1: Power all sensors and use socket/jumpers • Advantages • No MUX needed • Reduces surface area of board • Reduces signal loss of MUX • Sleep mode on sensors • Save power • I2C bus has not been tested in this mode Honeywell
Proposed Final Design • Option 1: Power all sensors and use socket/jumpers • Disadvantages • Sockets can be expensive • Footprint of HMC6352 is not common • Hard to find socket • No disadvantages if we add jumpers Honeywell
Proposed Final Design • Option 2: Multiplex I2C bus • Advantages • No need for a socket • Sleep mode to save power (not tested) • Disadvantages • Side effects of multiplexing I2C unknown Honeywell
Testing • Prototype Final Honeywell
Test Setup Honeywell
Precision Accuracy Repeatability Compare Compare ß field Compare Honeywell
Prototype Testing • Given one sensor • CCS compiler Honeywell
Final Testing • Elements of Final testing • Pretesting (zero gauss values) • Pretesting (offsets) • Testing (accuracy, precision, repeatability) Honeywell
Pre-testing (zero gauss) • Place sensors in the zero gauss chamber • Rotate 360 deg. while taking readings • Analyze data and get zero gauss values Honeywell
Pre-testing (offsets) • Place sensors in artificial magnetic field • Run VB script that finds sensor locations • Finds zero gauss value of each chip • Works using relativity • Bang bang control • Analyze data and find chip placements • Hardcode this to software Honeywell
Raw voltage readings with offsets Honeywell