Post on 05-Jan-2016
High Resolution AMR Compass
Honeywell
Dr. Andy PeczalskiProfessor Beth StadlerPat AlbersmanJeff AymondDan BeckvallMarcus EllsonPatrick Hermans
Agenda
Honeywell
•Introduction/Abstract – Marcus E•MATLAB Simulations – Marcus E•Software – Pat H•Hardware – Jeff A•Testing – Pat A•Results – Dan B
Abstract
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.
MATLAB
Honeywell
• 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
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:
Honeywell
• Data Appears Evenly Spaced• ICs at: 0, 36, 72, 108, 144, 180, 216, 252, 288, 324 Degrees
0 50 100 150 200 250 300 350 400-600
-400
-200
0
200
400
600ICs Binary Outputs
B Field Angle
ICs B
inary
Outp
uts
0 50 100 150 200 250 300 350 400-600
-400
-200
0
200
400
600ICs Binary Outputs
B Field Angle
ICs B
inary
Outp
uts
Orientation Simulations
• Single IC Senor Output Wave Form:
Honeywell
• Data Evenly Spaced• ICs at: 0, 9, 18, 27, 36, 45, 54, 63, 72, 81 Degrees
0 50 100 150 200 250 300 350 400-600
-400
-200
0
200
400
600ICs Binary Outputs
B Field Angle
ICs B
inary
Outp
uts
0 50 100 150 200 250 300 350 400-600
-400
-200
0
200
400
600ICs Binary Outputs
B Field Angle
ICs B
inary
Outp
uts
Software
Honeywell
Three software realms involved with this project:
MATLABC
VB
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
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
Honeywell
Personal Computer(VB)
PIC18F4520(C)
PMC Controller
Rot. Table
Sensors
Serial Serial
I2C
Parallel
Final Hardware
Honeywell
• Abstract• Initial Design• Problems with Initial Design• Changes Made• Proposed Final Design
Abstract
• One compass, two boards– Main Board
• Microcontroller
– Daughter Board• Sensors
Honeywell
Initial Design
Honeywell
Main Board
Main Board
• Essentially a controller board– Microcontroller– RS-232 Communication– I2C Communication– Interfacing
• Daughter Board• Front Panel
Honeywell
Initial Design
Honeywell
Daughter Board
Daughter Board
• Three functional systems– Sensor array– Power MUX– Laser
Honeywell
• Constraint: One of the dimensions must be less than 3.5” – Opening of zero-gauss chamber is 3.5” in diameter
Honeywell3.492”
3.132”
Daughter BoardDimensions
• Constraint: One of the dimensions must be less than 3.5” – Opening of gauss-free chamber is 3.5” in diameter
Honeywell
3.132”
0.73”
The Daughter Board meets size requirements
Daughter BoardDimensions
Honeywell
GroundData
Clock
Power
Feedback Networks
Decoupling Capacitor
LED
Daughter BoardHMC6352
Honeywell
Daughter BoardI2C Bus
Data
Clock
• 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 BoardPower MUX
Start Address [Ack] Command [Ack] Stop
• 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
Daughter BoardPower MUX
Photo taken from http://www.locknest.com/newsite/products/qfn/index.htm
• We chose to multiplex power– Advantages
• Saves power• Simplifies troubleshooting
– Disadvantages• Signal loss through MUX• Other unknowns…
Honeywell
Daughter BoardPower MUX
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
Honeywell
Before After
Proposed Final Design
• Due to I2C bus issues, our current design does not work
• Two options1. Power all sensors and use burn-in or jumpers
socket to isolate sensors2. 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
Honeywell
Prototype Final
Test Setup
Honeywell
Accuracy
Honeywell
Precision
RepeatabilityCompare
Compare
ß field
Compare
Prototype Testing
Honeywell
•Given one sensor
•CCS compiler
Final Testing
Honeywell
Elements of Final testing
•Pretesting (zero gauss values)
•Pretesting (offsets)
•Testing (accuracy, precision, repeatability)
Pre-testing (zero gauss)
1. Place sensors in the zero gauss chamber2. Rotate 360 deg. while taking readings3. Analyze data and get zero gauss values
Honeywell
Pre-testing (offsets)
1. Place sensors in artificial magnetic field2. 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 Procedure1. 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
2. Take measurement 3. Compare result to actual4. Rotate to different position5. Repeat steps 2-5
Honeywell
23 deg
113 deg
Results
Honeywell
Results Comprise of:
•Determining Specs
•Comparison of Specs to Controls
•Ways to improve
•Future for Nanowires?
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
Honeywell
Results: Specs - Accuracy
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
Honeywell
•Questions/ Comments?
•Demo Upstairs?