540 likes | 748 Vues
High Resolution AMR Compass. Advisor Dr. Andy Peczalski Advisor Professor Beth Stadler Pat Albersman Jeff Aymond Dan Beckvall Marcus Ellson Patrick Hermans. Honeywell. This project’s purpose is to improve the accuracy of a digital compass by using multiple compass IC’s.
E N D
High Resolution AMR Compass Advisor Dr. Andy Peczalski Advisor Professor Beth Stadler Pat Albersman Jeff Aymond Dan Beckvall Marcus Ellson Patrick Hermans 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
Project Motivation • Magnetic ICs in High Demand • Navigation • HDD • Proximity sensing • Position sensing • Increasing Accuracy is Required • Decreasing Size is also Beneficial Honeywell Images from http://phermans.com/w/images/e/e2/HMC105X.pdf
Current Technology • Anisotropic Magnetoresistance • Wheatstone bridge Honeywell Images from http://phermans.com/w/images/9/9f/Appl_note_for_position_sensing.pdf
Current Technology • Analog • 1, 2 or 3 axes sensing • Direct access to bridge • Navigational accuracy depends on ability to read voltages • Digital • 2 or 3 axes • Internal heading calculation • Accurate to 1 degree Honeywell
What is the next step? • Nanowires • AMR sensing abilities • Decreased size • Decreased sensitivity Future Technology Honeywell Images from Prof. Beth Stadler
Feasibility study for the use of nanowires • Not actually working with nanowires • Trying to increase accuracy by using multiple bridges as would be required with nanowires • Providing Honeywell with a new use for nanowires Project Description 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. Project Description Honeywell
Customized hardware is necessary to implement the multiple sensor system. Customized software will be required to manage the implementation. Project Description Honeywell
Digital 2-axis compass • On board ADC • Modifiable sensing range • Speaks I2C • Small package • Improvable accuracy • Barber pole bridges Chosen IC: HMC 6352 Honeywell Image from http://phermans.com/w/images/9/9d/HMC6352.pdf
Software & Algorithms • Firmware • MPLab & CCS Compiler Modeling & Simulations Matlab • User Interface • Visual Basic (VB) Honeywell
Sensor Modeling • Goal: Parameters-> M-file -> Sensor Data • Consists of Many Sub-functions • Noise, Bridge, OpAmp, A2D • Needs to model real world situations Honeywell
MATLAB • Successfully used to simulate single and multiple sensors before our hardware could be designed • Provided a vehicle to test the performance of our heading calculation algorithms • Totaled 1702 lines of MATLAB code 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
MicroController C Code • 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
Visual Basic (VB) Interface • Provides an end-user interface • Synchronizes the compass and the rotation table used to accurately measure moves • Allows for automated data acquisition • Provides a repeatable test benching system • Requires a third board to handle adjusted ground on PMC • Total of 4733 Lines of Code Honeywell
Visual Basic (VB) Interface Commands to perform repeatable data acquisition and benchmark tests. Honeywell
Serial Serial Personal Computer (VB) PMC Controller PIC18F4520 (C) Rot. Table Parallel I2C Sensors Honeywell
Hardware: Abstract • One compass, two boards • Main Board • Microcontroller • Daughter Board • Sensors Honeywell
Hardware: Main Board • Essentially a controller board • Microcontroller • RS-232 Communication • I2C Communication • Interfacing • Daughter Board • Front Panel Honeywell
Initial Design: Daughter Board • Three functional systems • Sensor array • Power MUX • Laser • Constraint: One of the dimensions must be less than 3.5” • Opening of zero-gauss chamber is 3.5” in diameter 3.132” 3.492” 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
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 • Add Physical Jumpers to the I2C bus to individual connect one sensor at a time 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 to determine zero gauss values • Pretesting to determine IC positional offsets • Testing to obtain compass specs • 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 This determines what value we should see when the IC is experiencing zero gauss, aka: parallel to the field direction. Honeywell
Pre-testing (offsets) • Place sensors in artificial magnetic field • Run VB script that finds sensor locations • Uses the zero gauss value of each chip • Works using relativity, sensor 1 = 0, sensor2 = ? From 1 • Bang bang control • Analyze data and find chip placements • Hardcode this to software Honeywell
Raw voltage readings with offsets Honeywell
Raw voltage readings with offsets Honeywell
Accuracy Test Procedure • Determine the B field • Find the zero crossing on each axis • B field should be 90 degrees from zero crossing • Average the 20 axes results • Take measurement • Compare result to actual • Rotate to different position • Repeat steps 2-5 113 deg 23 deg Honeywell
Results Comprise of: • Determining Specs • Comparison of Specs to Controls • Ways to improve • Future for Nanowires? Results Honeywell
Results: Control Comparisons • First Control is the Sensor Heading output • We Don’t know how they compute this • Second Control is performing arctan(x/y) on a single designated sensor • These will be compared with our computation of arctan(x/y) of multiple sensors averaged Honeywell
Results: Specs - Repeatability • Comprised of 5 readings taken at 0, 90, 180,270 • Our Product: Min = +- 0.015 Max = +-0.089 • Control: Min = +- 0.033 Max = +-0.051 • Honeywell: Min = +- 0.030 Max = +- 0.120 Honeywell
Results: Specs - Precision Honeywell