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

时间:2024-12-19 16:38:14

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

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的时候要特别注意。