## Question, MMA8453Q Calibration

cancel
Showing results for
Did you mean:

## Question, MMA8453Q Calibration

344 Views
Contributor III

Dear team,

My customer is using MMA8453Q.

They are using Transient mode of MMA8453Q and are using its interruptions.

In the case that setting MMA8453Q to issue interruption when X,Y values exceed than threshold and Z values are fixed with the value which does not indicates as vertical, they believes that the interruptions are issued continuously.

They want to implement a calibration procedure when host is received the interrupt and prevent the continuously interruptions.

In realizing the above operation, they have following questions.

1.

Is the calibration function is available even for data is 8bit?

If available, is the understanding of below correct?

OUT_X_MSB(Y,Z) contains data which measured data minus set-uped values in OFF_X, OFF_Y,OFF_Z.

2.

Is the wait needed after setting OFF_X, OFF_Y and OFF_Z?

3.

Is the below understanding correct?

If the calibration is correctly set ( as described in AN4069), the read-out data is calibrated into 0 for X,Y. And the read-out data for Z will be 1g.

4.

In the case of using 10bit data;

For example;

OUT_X_MSB=64, OUT_X_LSB=64.

In the above case,

If one wants to calibrate the above values into 0, one cannot set OFF_X register with the doubled values of X count.

Could you show me how to calibrate the values as over the 0.5G into 0 when using 10bit?

Thanks,

Miyamoto

Labels (1)
• ### Accelerometers

50 Views
NXP Employee

Hello Miyamoto,

I hope all is great with you.

The measured acceleration data is stored in the OUT_X_MSB, OUT_X_LSB, OUT_Y_MSB, OUT_Y_LSB, OUT_Z_MSB, and OUT_Z_LSB registers as 2’s complement 10-bit numbers. The most significant 8-bits of each axis are stored in OUT_X (Y, Z)_MSB, so applications needing only 8-bit results can use these three registers and ignore OUT_X,Y, Z_LSB. To do this, the F_READ bit in CTRL_REG1 must be set. When the F_READ bit is cleared, the fast read mode is disabled.

Having said that, I would like to proceed with your questions below:

1.Is the calibration function available even for data is 8bit?

In the MMA845 1, 2, 3Q there are three 8-bit (volatile) offset registers for storing the calibration values, at one register per axis. When the offsets are stored in the OFF_X, OFF_Y and OFF_Z registers the values will be added to the X, Y, and Z output of the device automatically until the device is powered off.

So, the calibration procedure is available in either 10-bit or 8-bit output resolution.

2.Is the wait needed after setting OFF_X, OFF_Y and OFF_Z?

You can add a simple delay, but not necessarily. As mentioned, when the offsets are stored in these registers the values will be added to the X, Y, and Z output of the device automatically until the device is powered off.

3.Is the below understanding correct?

If the calibration is correctly set (as described in AN4069), the read-out data is calibrated into 0 for X,Y. And the read-out data for Z will be 1g.

Indeed, if the calibration procedure is elaborated correctly, the output will tend to 0g(X,Y)/1g(Z) as long as the device is static as the image below:

4. Could you show me how to calibrate the values as over the 0.5G into 0 when using 10bit?

I recommend reviewing the example project from here, in which a simple offset calibration procedure is shown.

For further information, please review the application note AN4069.

I hope this information will be useful for you.

Regards,

David