MMA8451重力加速度计通过写内部校准寄存器进行校准

Posted projectsugar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MMA8451重力加速度计通过写内部校准寄存器进行校准相关的知识,希望对你有一定的参考价值。

|版权声明:本文为博主原创文章,未经博主允许不得转载。

 

AN4069应用笔记中提到MMA8451的三个轴重力校准有两种方法,

第一种方法是简易校准,将贴有MMA8451的设备整体,Z轴正面朝上放在校准平面上。此时X轴,Y轴,Z轴的重力加速度理论值分别为0,0,1g。

第二种方法是精确校准,校准MMA8451对应的设备整体的6个面(立方体),详见AN4069 3.2章。

两种方法分别可以算出X, Y, Z轴的偏差。

 

MMA8451的偏差可以写在偏差寄存器中,之后再从MMA8451读出的加速度值都是自动去除偏差寄存器中的偏差的(User offset correction registers)。

写偏差寄存器需要注意下面几个细节,

1. 偏差寄存器分辨率是2mg,这个与加速度检测值寄存器不同(检测值寄存器我用的±2g的配置,分辨率是0.25mg)。

2. 偏差寄存器复位值是0,掉电会复位。这里要注意,如果想要重新校准偏差寄存器,建议的流程是,

清零偏差寄存器->读取偏差->重新写偏差寄存器。这里划个重点,不清零偏差寄存器去读的偏差是个错误的偏差!

 

另外一个坑是,不要认为复位MCU就可以清零偏差寄存器!除了强制写0清除,只有重新上电MMA8451,才会清零偏差寄存器。在线DEBUG的时候要特别注意。

 

以上是关于MMA8451重力加速度计通过写内部校准寄存器进行校准的主要内容,如果未能解决你的问题,请参考以下文章

FRDM-KL25Z开发板上电试用

Android 加速度计精度(惯性导航)

Android 加速度计精度(惯性导航)

Linux驱动开发-编写MMA7660三轴加速度传感器

ESP32设备驱动-MMA8653FC加速度计驱动

如何进行 MPU6050 加速度计温度校准?