Electronic – Acceleration sensor gives wrong values

accelerometeravrmeasurementposition;sensor

I am trying to measure distances with the 3 axis accelerometer that is part of the LSM9DS1. I measure the acceleration in X-axis and Y-axis every 5ms and double integrate it over the time.

I can already correctly measure the movement along the X- or Y-axis with a precision of +-1cm.

The problem is that when I move the module in which the sensor is contained along one axis, the data shows me that there is also an acceleration along the other axis.

Because of this I get wrong distances when I move the module freely around the table.
Has anyone experienced such behavior before and knows an answer?

The data sheet of the LSM9DS1

Best Answer

Sensors will not always provide ideal behaviour. Each accelerometer that is manufactured would give slightly different results for the same scenario, due to the unique physical characteristics of each. To get accurate results you really need to calibrate each sensor individually. This requires testing under different conditions.

The issue you are facing is due to what is called cross-axis effect. This is the tendency of a value on one axis to affect the output of another. This is generally caused by an imperfect alignment of the sensor axes during manufacture. This is inevitable, as perfect orthogonality is nearly impossible to achieve. There is no way to correct this by modifying the sensor - the only way to compensate for this is to perform calibration testing to determine how much values on each axis impact one another and adjust the outputs accordingly.

You may also want to look at another method of obtaining displacement rather than simply double integrating, as this can produce extremely large errors over time and distance and can result in a large velocity and displacement drift.