I'm using an accelerometer from a different manufacturer to detect tilt over an extended period of time. I have the accelerometer securely mounted to a stationary object away from any vibration. Over the course of two and a half days, I've found the readings slowly change in value. I've made sure it's not a defective accelerometer by performing this experiment multiple times using different accelerometers but the same exact manufacturer and part number.
Below are graphs of the type of drift I see over time. You'll notice a change of about 0.006G on X, 0.009G on Y and .05G on Z. Note in the final graph below, the magnitude continually drops over time. I have no idea why this is. It should always be 1 or very close to 1.
Two questions:
Thanks in advance for any information anyone might be able to provide.
Hi,
Thank you for writing. I´d recommend you to use our software technique "AutoZero calibration". As you may know, the offset error can be caused by the following:
- device to device variations
- mechanical stress from packaging and mounting
- shifts due to temperature and aging
If you are repeatedly using AutoZero (i.e: during initialization), to compensate for offset drift, you won’t require offset calibration, hence the accuracy of the device would be highly improved (including repeatability).
As for Zero-g offset, it is necessary to do a calibration to exactly know what the offset is. Please look at the following documentation that could be really useful to implement the auto-zero and the offset calibrations and our recommendations for tilt sensing applications using three-axis accelerometers:
+ AN4069, “Offset Calibration of the MMA8451, 2, 3Q”:
https://www.nxp.com/docs/en/application-note/AN4069.pdf
+ AN3447, “Implementing Auto-Zero Calibration Technique for Accelerometers”: https://www.nxp.com/docs/en/application-note/AN3447.pdf
*AN3447 was written for the MMA73xxL accelerometer family, but the principle is the same, hence you can apply the same technique to the MMA845x
+ AN4399, “High Precision Calibration of a three-axis Accelerometer”: https://www.nxp.com/docs/en/application-note/AN4399.pdf
I’m not sure which accelerometer are you using or planning to use, but for this application I would like to recommend you the MMA8451Q accelerometer: https://www.nxp.com/docs/en/data-sheet/MMA8451Q.pdf
Regards,
Jose
NXP Semiconductors
Hi Jose - Thank you for the reply. A couple of questions:
Hi,
Answering question 1.
Autozero calibration, how often? It really depends on the application, typically, what cause this drift you are worried about is the environment around the accelerometer (temperature changes, magnetic fields, electrostatic events, normal aging, etc…), so, with the first autozero calibration you can compensate the error caused by the manufacture of the board, but doing “repeatedly AutoZero” you can compensate all these variable causes of drift. You need to perform tests to see if under the environment of your application, once a month is enough to do the calibration to ensure that drift will not affect the performance of your system.
Answering question 2.
You are correct, the accuracy of the MMA8451 is 2.64%.
Unfortunately, all the NXP accelerometers have an accuracy of 2.6% or 2.5%
Regards,
Jose
NXP Semiconductors