Zibb

Design Idea

Inertial-navigation system uses silicon sensors

Edited by Bill Travis

Tom Niemi, Rockwell Collins, Cedar Rapids, IA -- EDN, 9/16/2004

A strap-down inertial-navigation system uses silicon sensors to measure displacement without entailing the bulk and expense of moving parts or GPS receivers. For example, a three-axis accelerometer and three angular-rate sensors can determine the position and velocity of a vehicle such as a robot or radio-controlled aircraft. This hardware configuration requires that you read and integrate the sensor outputs and then combine and process them to obtain stabilized location values. Figure 1 shows one such complete system. An inexpensive 8-bit microcontroller can handle the sensor reading and integration tasks, and perform simple lowpass filtering of the accelerometer's output to remove conversion noise. The microcontroller can even run a basic position and velocity algorithm; alternatively, you can pass the preprocessed data to a DSP system. The NEC (www.necelam.com) µPD78F9418A microcontroller has seven ADC inputs, so it can handle the six inputs from the sensors.

Because a Crossbow (www.xbow.com) CXL04M3 accelerometer delivers 0.5V/g (9.8m/sec2), it can directly feed three of the microcontroller's ADC inputs. Each NEC/Tokin CG-16D angular-rate sensor generates only 1.1 mV/°/sec, so it requires the aid of an instrumentation amplifier. The Burr-Brown (www.ti.com) INA118 fills the bill. The microcontroller has enough I/O lines to drive three Varitronix (www.varitronix.com) VIM-503 41/2-digit LCDs that display the x, y, and z location relative to the starting point. One of the fundamental tasks in this application is to initialize the sensors and A/D converters to minimize bias error. Listing 1 shows the code to calibrate the accelerometer. The routine calculates the average value of the accelerometer's outputs over 1000 samples and uses this information to calculate bias-error adjustments for each axis. You apply each bias value by adding it to the readings for that axis. Using the x axis as an example, you determine the vehicle's movement from its starting point by integrating: Multiply the x-axis reading by the time squared, halve that quantity, and then add the result and the bias value to the previous x position. You find velocity by multiplying the bias-corrected x-axis reading by the time and then adding it to the previous x velocity. Click here for a zip file containing Listing 1 and associated source codes.

Check out our Best of Design Ideas section!



Reed Business Information Resource Center

Featured Company


Most Recent Resources

ADVERTISEMENT

ADVERTISEMENT

Feedback Loop


Post a CommentPost a Comment

Related Content

 

By This Author

There are no additional articles written by this author.


ADVERTISEMENT

Knowledge Center



Technology Quick Links

EDN Marketplace


©1997-2009 Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other Reed Business sites