# Automotive accelerometer calibration

I would like to design a device which measures acceleration, yaw, pitch and roll for motorsport/automotive application. I plan on using an analog accelerometer, to provide better bandwidth and low pass filtering control of the output voltage signals.

Where I am somewhat confused, is how to account for the installed orientation of the device. I.e. if the device is installed such that a 1G acceleration in the X axis (with respect to the car) is measured as a combination of accelerations across multiple axes with respect to the accelerometer (e.g. 0.3G X, 0.4G Y), what methodology would I employ to 'calibrate' the accelerometer output to produce an accurate measurement?

• Using an analog accelerometer for this is probably a bad idea. Likely what you want to do is use a 6-axis gyro/accelerometer, and use the combination of the realization that gravity is persistent and can only be momentarily masked by accelerations, along with the gyros, to create a model of what is actually happening to your vehicle on an instantaneous basis. Needless to say this kind of model is far beyond the scope of a question on an SE site. – Chris Stratton Jul 14 '18 at 1:13
• Thanks Chris. I think you're right, a 6- or even 9-axis IMU is probably in order here. Does this SO question address this same issue? stackoverflow.com/questions/18252692/… – jars121 Jul 14 '18 at 1:32
• Accelerometers need to be mounted with care. – Tony Stewart EE75 Jul 14 '18 at 2:10
• If you cannot control XY axis , how about Z axis error effects. If you have sufficient data you can normalize the spherical polar coordinates to mainly forward to null the cumulative errors. – Tony Stewart EE75 Jul 14 '18 at 4:20

When I first used accelerometers in the mid '70's, I would attach them to a mass that could be dropped a short safe height onto soft thick foam that would have a compression reasonably equal to the drop height just to be gentle. The cable must be firmly taped so it does not bend much or vibrate. We used Beeswax to attach. ( like toilet wax seal.)

Null offset first. When dropped this would result in -1.00g falling and roughly +x g springing back. Recheck null for hysteresis.

Using a storage scope makes this easy.

0,drop, -1.00, +x , catch 0.00
Measure gain error, adjust and verify.

From later experiences shock testing new products, I learned that a linear spring will produce a shock equal to the ratio of drop height, h to stop depth,d or $g=h/d$ (peak)

• Thanks Tony. The problem I'm trying to solve is that the device will be installed in the car in an unknown orientation by the end user, so any compensation needs to be applied in real-time. This link explores this issue in further detail: patents.google.com/patent/US9581615B2/en – jars121 Jul 14 '18 at 1:09
• Why random orientation. There must be some reference. – Tony Stewart EE75 Jul 14 '18 at 2:12
• @jars121 So, first you worry about accurate measurements and then allow accelerometer to be installed in any orientation... Do you realize that adaptive algorithm described in that link will unavoidably reduce accuracy due to precision of calculations? – Maple Jul 14 '18 at 2:34

I plan on using an analog accelerometer, to provide better bandwidth and low pass filtering control of the output voltage signals.

Analog accelerometer does not mean better bandwidth. Especially if you planning on digitizing it anyway. And built-in low pass filters and motion processing software in some digital accelerometers could be more efficient than you can achieve with analog circuitry + ADC unless you really know what you are doing.

About a year ago I was working on adaptive vehicle suspension project. We used two MPU-6050 for capturing gyro and acceleration data (switched to similar chip with faster SPI interface later). Internal low-pass filtering worked great for us.

Most important thing here is the goal of your project. For example, measuring vibrations that could damage fragile cargo is one thing, measuring passenger comfort (as in our project) is completely different. The primary axis and bandwidth are completely different. Here is an article I've found while researching the subject. It has some good info on sensor mounting and expected signal spectrum.

how to account for the installed orientation of the device.

It will be much easier to mount the sensor aligned with vehicle coordinate system than to process the mixed signals later. Look at some photos here for examples.

Keep in mind that before you install the sensor in the vehicle you need to make sure it is aligned with the sides of the enclosure. For this reason using the enclosure with straight parallel sides is better.

what methodology would I employ to 'calibrate' the accelerometer output to produce an accurate measurement?

There are two types of calibration you can do without additional lab hardware. The accelerometer can be calibrated along all 3 axes by placing each of 6 sides of enclosure on horizontal surface and measuring gravity along vertical axis. The gyro (if you use one) can be calibrated for zero offset.

Aside from this you once again should think about your goal. If you want total vibrations then the above should be enough. If you want to measure road vibrations you need to filter out resonance frequencies of various parts of the vehicle, the biggest contributors being drive train, AC, frame and suspension. Isolating these was the biggest challenge for us, BTW.

UPDATE

Following your clarification on objectives I'd like to add one thing. Even with 6-axis + magnetometer, obtaining precise vehicle attitude is practically impossible without sensor fusion. This is one more reason to use digital accelerometers from InvenSense. Their firmware is cumbersome to setup but built-in DMP provides much better precision than I managed to obtain with home-brew Kalman filter.

• Thanks Maple, really appreciate your input. I should have specified in my original post, that I'm not interested in vibrations. I'm interested in linear acceleration (accelerating, braking and cornering g's), roll, pitch and yaw, which corresponds to a bandwidth of 0-~50Hz. Assume the device is mounted in a random orientation. I think this link provides a solution? st.com/resource/en/design_tip/dm00358510.pdf – jars121 Jul 14 '18 at 2:30
• For that bandwidth you really don't need analog accelerometer. Use built-in low-pass in digital. The requirement for random orientation and high precision at the same time is weird combination for me, but yes, there are methods to do compensation. That one should work for you. – Maple Jul 14 '18 at 2:41
• Thanks Maple. I had initially looked at digital accelerometers, but the built-in low-pass filters tend to be in the 500Hz+ range; I'll continue looking. The orientation requirement is odd I know, but I don't want to rely on precise installation by the end user, and would rather cover all possible installation orientations as part of the design. – jars121 Jul 14 '18 at 2:48
• The MPU-6050 that I've mentioned has low-pass filters from 5 to 256Hz in 7 ranges. I've updated the answer too. – Maple Jul 14 '18 at 3:23

just thinking out the box here.

Let's assume you calibrate the accel inside the box you have so you know it knows directions accurately.

No they install it in whatever orientation.

You power up and they have to go into a calibration routine. You use some math to transform and figure out based on stationary accel readings which way is down. Then you know the opposite is up. Now they do a brief acceleration straight forward. So know you know which way is backward and opposite of that is forward.
No just orthogonal of that is left and right.

You know your orientation and now you save that and they can use the sensor as intended.

• That's exactly the approach I'm hoping to follow. The following link provides the detail, whereby you capture the output for the actual reference (car sitting stationary on a flat surface), which is then used to convert real-time sensor measurements into measurement relative to the actual reference. chrome-extension://oemmndcbldboiebfnladdacbdfmadadm/st.com/resource/en/design_tip/dm00358510.pdf – jars121 Jul 14 '18 at 3:47