High Resolution Compass with Multiple Anisotropic Magnetic Sensors

From Tron

Revision as of 01:09, 21 May 2008 by Beck04vall (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search


[edit] Project purpose

The purpose of the team’s project is to increase the accuracy of a single AMR IC compass by incorporating multiple ICs. The goal is to increase the accuracy of a magnetic sensor by the number of multiple ICs used. This will be done by obtaining data from within the linear regions of operation for each sensor and applying a weighted averaging algorithm. The team is required to completing the project by April 29, 2008. Sensors and test equipment will be provided by Honeywell and the University of Minnesota’s Electrical Engineering Department.

[edit] Motivation & Background

Magnetic sensors are used in navigations systems, magnetic hard drives, proximity sensors, position sensors just to name a few areas of applications. With this said, it is becoming more and more important to minimize the size of such sensors while maintaining or increasing accuracy and resolution. A proposed method of decreasing sensor size is to use nanowire technology, which is many times smaller than the current IC sensors being produced. However, these individual nanowires are not very accurate. The question then becomes whether or not combining multiple nanowires together would boost accuracy to match or exceed current IC sensors while still being much smaller in overall size. With this being the motivation, it will be the group’s task to determine whether multiple sensors can be combined to give a significant increase in accuracy and resolution.

Due to the fact that nanowire technology is still in its early stages and requires highly sophisticated equipment and procedures, the project can be simplified to a proof of concept using alternate sensors. With personal navigation becoming more and more in demand amongst today’s consumers it has sparked the interest of many magnetic IC sensor companies to create chips for use in various types of compasses. For example, Honeywell manufactures several ICs with the sensitivity required to measure the earth’s magnetic field and provide electronic developers with the ability to judge direction accurately. These magnetic and compass ICs are very small and fairy low cost which will work well for the group’s proof of concept.

The goal of the team project is to combine many independent magnetic or compass ICs together to significantly increase the resulting accuracy and resolution. Since this is a proof of concept size, cost, power consumption, and the like are not important in the final product. It will then be assumed that the outcome of combining multiple ICs to increase accuracy will be the same for combining multiple nanowires in the future. If all goes well, this will have produced reasonable evidence and algorithms that combing multiple nanowires with low accuracy can be combined to create a highly accurate and small magnetic sensor solution.

[edit] Team members

[edit] Tentative tasks and schedule

Our project was completed in May 2008, at which time our Scheduling and Tasks were moved

[edit] Research

[edit] Magnetic ICs

A comparison of the ICs Honeywell has offered for us to chose from for this project along with a description of how AMR IC's work. Also highlights the one we think would best fit this project.

[edit] Placement and Orientation

An overview of how magnetic sensing is done with and IC and possible sensor orientations.

[edit] Specifications & Requirements

The requirements for the final product are straight forward and simple. It should consist of two compasses or the equivalent, from which one will be composed of a single AMR sensor and the other of multiple identical AMR sensors. The specs for each compass should be determined accurately and identically for each device to be used for comparison purposes. Specifically, each compass should be tested for repeatability, precision, accuracy, and effective resolution with the goal to increase each by X fold, where X represents the number of chips used in the multiple chip compass design.

Because this project is a proof of concept there have been no restrictions on power consumption, overall size, budget, or likewise other than the need to stay within obvious safety boundaries and to use common sense. The only requirement is that the direction should be computed and displayed within a reasonable time frame, such as within approximately 1 second.

When the product has been completed and testing has been done to determine the specs for each compass and final conclusion should be made as to whether multiple sensors can significantly increase accuracy over an individual sensor. Furthermore, if the proof of concepts passes some thought should be done to determine if this concept will/should hold true for nanowire sensors in the future.

[edit] Detailed Proposal

This is a detailed proposal of each board and how everything should function.

[edit] Hardware Design

[edit] Schematic Ideas

[edit] Conceptual Schematic

The results of our brainstorming ideas relating to what we will need and how we will lay things out on the macro level.

[edit] Main Board
  • Power Components
  • Serial Communication Components
  • Microcontroller
  • Microcontroller Programming Jack
  • LCD (connector)
  • Status LEDs (connector)
  • Daughter Board Connector

Microcontroller Pinout

[edit] Daughter Board
  • Sensors
  • Power MUX
  • Main Board Connector
  • Possibly on board battery and regulator
[edit] Block Schematic

To the right is a draft of the major electrical components we are looking to place on our boards. Wiring and minor electrical components (resistors, diodes) have been left off at this point.

[edit] PCB Layout

Some graphics of our PCB hardware.

[edit] Parts

A list of parts and their pertinent specs.

[edit] Software Design

The following software is provided by the University and will be used to complete the project.

  • VB - Used to move precision rotary table while recording sensor data.
  • Matlab - Used to simulate various aspects of the design. Specifically, algorithms for data collect and manipulation.
  • C - Used to write and program the PIC micro-controller.

[edit] VB

VB was used to interface to the rotation table and to automate data collection and calibration of our compass.

In total we had 4733 lines of VB code.

[edit] MATLAB

MATLAB was used to simulate our sensors and ultimately to determine the best orientation for them on our Dauthger board

In total we had 1702 lines of MATLAB code.

[edit] C

C was used to interface to the sensors themselves, process a new heading and transmit data over serial to the controlling computer. This code was developed under MPlab and is contained in a .MCP formatted for version 8.0. The C was compiled into assembly using CCS version 4.0

In total we wrote 1326 lines of C that compiled into 2532 lines of assembly.

[edit] Testing and Verification

Due to our specifications for accuracy, testing must be done with a piece of equipment that a equal or higher degree of accuracy when compared to our device. The High Precision Rotary Table has angular accuracy on the order of thousands of a degree and will provide more than the accuracy required to adequately test our device.

There are three main items of interest that will need to be determined for our device before it can be adequately compared with other devices. Specifically, repeatability, precision, and accuracy need to be measured. Many times these get lumped together and treated as one, but it is important to understand the differences between them and to measure each correctly. Below outlines procedures that may be used to determine each as well as description as to what each one actually is.

[edit] Test Plan

Prior to testing:

  1. Determine precisely chip positions from a designated reference chip; this is done using similar steps to 1, 2 and 3 of accuracy.
  2. Software compensation for misaligned chips
  3. Align magnetic field with Helmholtz Coils (cuts down on directional error);the testing environment will be no greater than 2 gauss as suggested by Lucky
  4. Make sure that your table (and the holes that are made in it for holding the rotating table and the board) that is between the Helmholtz Coils is perpendicular to the Helmholtz coil chassis and those chassis are parallel to each other.

[edit] Accuracy

Definition: Accuracy is most easily understood and is usually reported as maximum possible difference from the true value. In our case with a compass it can be expressed as how near to the true reading does it point, ex) +-5 degrees.

Plan: The accuracy measurements can be done once you determine the magnetic direction with high accuracy. You set your rotating table zero point and read the measurement from the compass after rotating the table by 10, 20 ..... degrees. The magnetic direction can be determined through

  1. Place daughter board in zero gauss chamber to determine Magnetometer offsets. The values outputted while in the chamber are our “0 value readings.”
  2. Rotate each sensor until one axis output is exactly a 0 value reading (raw data). The B field is aligned 90 degrees from that 0 reading. Note, we can determine actual direction by how the current flows through the Helmholtz Coils.
  3. Perform steps 1 and 2 on both X and Y axis of each IC and average the result for the most accurate result. This result will then be assumed to be the true direction of the B field.
  4. Turn off the device (this isn’t needed)
  5. Turn on Device (this isn’t needed)
  6. Rotate the device around.
  7. Take a measured reading (using our algorithm).
  8. Compare reading to known B field
  9. Repeat steps 8 and 9 for sufficient results
  10. Analyze data

[edit] Precision

Definition: Precision can be defined as the smallest unit increment a product can measure. For example, if our compass is rotate a known 10.0 degrees, and the compass readout changes by 10.1 degrees it could be said to have a precision of 0.1 degrees. This is different form accuracy in the sense that it may have a very precise reading, lets say tenths of degrees, but may have a large offset representing bad accuracy.

  1. Take a measured reading (using our algorithm).
  2. Rotate the device a known amount
  3. Take a measured reading (using our algorithm).
  4. Compare difference between measured rotation and known rotation
  5. Repeat steps 1 and 4 for sufficient results
  6. Analyze data

[edit] Repeatability

Definition: Repeatability may seem as if it is a function of accuracy and precision but it is not. The best way I can describe this is with an example. Lets assume the compass and hand has an accuracy of =-5 degrees and a precision of 0.1 degrees. Now assume the when position at 0 degrees the compass reads 4.1 degrees, very inaccurate with moderate precision. Now rotate the compass around and then place it again facing 0 degrees. If the compass were to know read 4.2 degrees it would have good repeatability of 0.1 degrees, if it now read 2.1 degrees it would have bad repeatability, of 2 degrees.

  1. Rotate to known position
  2. Turn off the device
  3. Rotate the device precisely 360 degrees, always in the same direction as to prevent backlash(optional)
  4. Turn on the device
  5. Take measurement
  6. Repeat steps 2 and 5 for sufficient results
  7. Analyze data

Some of this is a little vague, which we understand. As we get the prototype put together and test it we can create a better and more detailed plan based on the kind of results we get. For instance, we can determine how many times we need to repeat x steps to get a good amount of data and standardize that and also the moves to be made.

In conclusion, accuracy is somewhat a function of precision and repeatability. A product can not be more accurate than it is precise or repeatable separately. However, a product may also be extremely precise and repeatable but still be very inaccurate, for example if it always outputs 12.34 degrees when position at 0 degrees it is very inaccurate but very precise and repeatable at the same time. Another confusion people sometimes have is that of resolution. Resolution is the degree to which a measurement may be made. For example, our compass may read to the thousands place, this would be its resolution, however it may not be a very accurate reading past the tenths place. The compass may not even be precise or repeatable to the the thousands place, but it would still be its resolution. In practice resolution is usually equal to or greater than accuracy or precision.

[edit] Results

[edit] Accuracy

The graph above shows how far off our three different headings were from an actual known heading. As you can see our ten sensor heading that is represent in red has the closest overall heading.

[edit] Repeatability

The repeatability data above shows that the single control sensor has a more repeatable heading than our sensor array. This is expected because our array has many sensors accumulating their variance. Our array is still more repeatable than the Honeywell heading which is represented in blue.

[edit] Percision

Our readings in red are clearly more closely clustered around zero degrees error than the control headings.

Results Comparison
Test Type Single Sensor Sensor Array Improvement
Accuracy 2.169 1.135 47.65%
Precision 0.162 0.078 51.69%
Repeatability 0.174 0.096 44.70%

As the table shows we achieved and average or overall improvement of 48%.

[edit] Lab Equipment

[edit] Available Equipment

Below is a list of equipment that the ECE department and Professor Beth Stadler has made available to use and we plan on using.

[edit] Newport #495A High Precision Rotary Table
[edit] Newport PMC200 Motion Controller
[edit] Guass Meter
[edit] Two Large Diameter Hemholtz Coils
  • Used to create a small EMF large uniform magnetic field

[edit] Proposed Equipment

The following equipment may be useful for the project and is not offered within the department.

  • High Accuracy Gauss Meter with computer interface

[edit] Related documents and Data sheets

[edit] Project Documents

[edit] Related Documents

[edit] Honeywell Magnetic Sensors
[edit] Data Sheets
[edit] Mirror copies
[edit] Matlab

[edit] Final Documentation

  • Board Layouts
  • Micro Controller Code (C from CCS)
  • Final Compass/PMC VB Program
  • PMC VB Program - Application for Controlling JUST the PMC200
  • Executive Summary Brochure
  • Poster
  • Data and Graphs
  • About the Data
  • Run1
  • Run2
  • Final Presentation
  • Final Report
Personal tools