High Resolution AMR Compass

Download Report

Transcript High Resolution AMR Compass

High Resolution AMR Compass
Dr. Andy Peczalski
Professor Beth Stadler
Pat Albersman
Jeff Aymond
Dan Beckvall
Marcus Ellson
Patrick Hermans
Honeywell
Agenda
•Introduction/Abstract – Marcus E
•MATLAB Simulations – Marcus E
•Software – Pat H
•Hardware – Jeff A
•Testing – Pat A
•Results – Dan B
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
Abstract
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
Abstract
Customized hardware is necessary to
implement the multiple sensor system.
Customized software to manage the
implementation is also necessary.
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:
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
Software
Three software realms involved with
this project:
MATLAB
C
VB
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
Honeywell
Honeywell
Weighted Averaging
Honeywell
-180
-135
-90
-45
0
45
90
135
180
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
Honeywell
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”
3.492”
Honeywell
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
Decoupling
Data
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:
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
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
1. Power all sensors and use burn-in or jumpers
socket to isolate sensors
2. 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
Compare
Repeatability
Compare
Accuracy
ß 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)
1. Place sensors in the zero gauss chamber
2. Rotate 360 deg. while taking readings
3. Analyze data and get zero gauss values
Honeywell
Pre-testing (offsets)
1. Place sensors in artificial magnetic field
2. Run VB script that finds sensor locations
•
•
•
Finds zero gauss value of each chip
Works using relativity
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: 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 = +- 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?
•Demo Upstairs?
Honeywell