Title: High Resolution AMR Compass
1High Resolution AMR Compass
Advisor Dr. Andy Peczalski Advisor Professor Beth
Stadler Pat Albersman Jeff Aymond Dan
Beckvall Marcus Ellson Patrick Hermans
Honeywell
2Abstract
This projects purpose is to improve the accuracy
of a digital compass by using multiple compass
ICs. These will work together to collectively
improve the accuracy of the overall system.
Honeywell
3Project 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/HMC1
05X.pdf
4Current Technology
- Anisotropic Magnetoresistance
- Wheatstone bridge
Honeywell
Images from http//phermans.com/w/images/9/9f/Appl
_note_for_position_sensing.pdf
5Current 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
6Future Technology
- What is the next step?
- Nanowires
- AMR sensing abilities
- Decreased size
- Decreased sensitivity
Honeywell
Images from Prof. Beth Stadler
7Project Description
- 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
Honeywell
8Project Description
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.
Honeywell
9Project Description
Customized hardware is necessary to implement the
multiple sensor system. Customized software will
be required to manage the implementation.
Honeywell
10Chosen IC HMC 6352
- Digital 2-axis compass
- On board ADC
- Modifiable sensing range
- Speaks I2C
- Small package
- Improvable accuracy
- Barber pole bridges
Honeywell
Image from http//phermans.com/w/images/9/9d/HMC63
52.pdf
11Software Algorithms
- Modeling Simulations
- Matlab
- Firmware
- MPLab CCS Compiler
- User Interface
- Visual Basic (VB)
Honeywell
12Sensor Modeling
- Goal Parameters-gt M-file -gt Sensor Data
- Consists of Many Sub-functions
- Noise, Bridge, OpAmp, A2D
- Needs to model real world situations
Honeywell
13MATLAB
- 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
14Sensor 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
15Orientation 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
16Orientation Simulations
- Single IC Senor Output Wave Form
- Data Evenly Spaced
- ICs at 0, 9, 18, 27, 36, 45, 54, 63, 72, 81
Degrees
Honeywell
17MicroController 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
18Sensor Communication
- Sensor Commands
- Heading
- Adjusted voltages
- Raw voltages
- Calibrate
- Re-address
- Number of Summed measurements
Honeywell
19Serial 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
20Weighted Averaging
Honeywell
21Honeywell
22Visual 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
23Honeywell
24Visual Basic (VB) Interface
Commands to perform repeatable data acquisition
and benchmark tests.
Honeywell
25Serial
Serial
Personal Computer (VB)
PMC Controller
PIC18F4520 (C)
Rot. Table
Parallel
I2C
Sensors
Honeywell
26Hardware Abstract
- One compass, two boards
- Main Board
- Microcontroller
- Daughter Board
- Sensors
-
Honeywell
27Hardware Main Board
- Essentially a controller board
- Microcontroller
- RS-232 Communication
- I2C Communication
- Interfacing
- Daughter Board
- Front Panel
Honeywell
28Initial 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
29Daughter Board
I2C Bus
Clock
Data
Honeywell
30Daughter 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?
Start Address Ack Command Ack Stop
Honeywell
31Daughter 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/p
roducts/qfn/index.htm
32Daughter Board
Power MUX
- We chose to multiplex power
- Advantages
- Saves power
- Simplifies troubleshooting
- Disadvantages
- Signal loss through MUX
- Other unknowns
Honeywell
33Problems 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 3s axes of
sensitivity (27 and 117 )
Honeywell
34Changes 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
35Changes to Initial Design
- Other changes
- No laser mount
- Laser mounted directly to plexi-glass case
- Saves cost (25)
Honeywell
36Proposed 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
37 Testing
Honeywell
38Test Setup
Honeywell
39Accuracy
Precision
Repeatability
Compare
Compare
ß field
Compare
Honeywell
40Prototype Testing
Honeywell
41Final 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
42Pre-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
43Pre-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
44Raw voltage readings with offsets
Honeywell
45Raw voltage readings with offsets
Honeywell
46Accuracy
- 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
47 Results
- Results Comprise of
- Determining Specs
- Comparison of Specs to Controls
- Ways to improve
- Future for Nanowires?
Honeywell
48 Results Control Comparisons
- First Control is the Sensor Heading output
- We Dont 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
49Results 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
50Results Specs - Precision
Honeywell
51Results Specs - Accuracy
Honeywell
52How Can We Improve
- Currently using arcTan(x/y) to compute heading
- This assumes we have X and Y which need to be 90
degrees apart - In practice this is not true, we found this is
actually only within -8 degrees - Use different algorithms, better weighting
- More Sensors
Honeywell
53Future For Nanowires?
- Nanowires are inherently less accurate
- Means greater room for improvement
- Small enough to use more than 10 bridges
- Weighting should have more of an effect
- Will have completely different obstacles
- All in all, from the results of this feasibility
test they look very promising
Honeywell
54 Conclusion
- Questions/ Comments?
- Thanks for your Attention and Time!
Honeywell