Document 7659994

Download Report

Transcript Document 7659994

High Resolution AMR Compass
Advisor Dr. Andy Peczalski
Advisor Professor Beth Stadler
Pat Albersman
Jeff Aymond
Dan Beckvall
Marcus Ellson
Patrick Hermans
Honeywell
Abstract
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.
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
Future Technology
•What is the next step?
•Nanowires
•AMR sensing abilities
•Decreased size
•Decreased sensitivity
Honeywell
Images from Prof. Beth Stadler
Project 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
Project 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
Project Description
Customized hardware is necessary to
implement the multiple sensor system.
Customized software will be required
to manage the implementation.
Honeywell
Chosen 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/HMC6352.pdf
Software & Algorithms
• Modeling & Simulations
• Matlab
• Firmware
•MPLab & CCS Compiler
•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:
ICs Binary Outputs
ICs Binary Outputs
600
600
400
400
ICs Binary Outputs
Outputs
200
200
00
-200
-200
-400
-400
-600
-600 0
0
50
50
100
100
150
150
200
200Angle
B Field
B Field Angle
250
250
300
300
350
350
400
400
• 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:
ICs Binary
ICs
Binary Outputs
Outputs
600
600
400
400
ICs Binary
Binary Outputs
ICs
200
200
0
0
-200
-200
-400
-400
-600
-600
0
0
50
50
100
100
150
150
200
200
B Field
FieldAngle
Angle
B
250
250
300
300
350
350
400
400
• 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
-180
-135
-90
-45
0
45
90
135
180
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
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
3.132”
• Constraint: One of the
dimensions must be less
than 3.5”
– Opening of zero-gauss
chamber is 3.5” in diameter
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:
Start
Address
[Ack]
Command
[Ack]
Stop
– 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
1. Power all sensors and use burn-in or jumpers
socket to isolate sensors
2. Multiplex I2C bus
3. Add Physical Jumpers to the I2C bus to individual
connect one sensor at a time
Honeywell
Testing
Prototype
Final
Honeywell
Test Setup
Honeywell
Precision
Compare
Repeatability
Compare
Accuracy
ß 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)
1. Place sensors in the zero gauss chamber
2. Rotate 360 deg. while taking readings
3. 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)
1. Place sensors in artificial magnetic field
2. 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
3. Analyze data and find chip placements
4. Hardcode this to software
Honeywell
Honeywell
Honeywell
Accuracy
Test Procedure
1. Determine the B field
•
•
•
2.
3.
4.
5.
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
Results Comprise of:
•Determining Specs
•Comparison of Specs to Controls
•Ways to improve
•Future for Nanowires?
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
Precision
Precision: Deviation of True Amount Moved and Heading Moved in
Degrees
10
Honey Precision
8
Ctrl Precision
6
Proc Precision
4
2
0
0
50
100
150
200
250
300
350
400
-2
-4
-6
-8
-10
True Heading in Degrees (from PMC)
Honeywell
Results: Specs - Accuracy
Accuracy
Accuracy: Deviation From True Heading in Degrees
80
60
PMC-Honey Heading
PMC-Ctrl Heading
40
PMC-Proc Heading
20
0
0
50
100
150
200
250
300
350
400
-20
-40
True Heading in Degrees (from PMC)
Honeywell
How 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
Future 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
Conclusion
•Questions/ Comments?
•Thanks for your Attention and Time!
Honeywell