mma8652fc self test

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

mma8652fc self test

1,343 Views
mfrech
Contributor II

We having some issues using the self test of the mma8652. During our production we we have three consecutive steps, where we perform the self test of the mma8652 and in all three steps the self test sometimes fails.

Self test is performed the following way:

  1. Read XYZ in 8-bit mode without ST bit set
  2. Read XYZ in 8-bit mode with ST bit set
  3. if deltaZ = abs(z2 - z1) > 24 ==> SUCCESS, otherwise FAILED

according to datasheet on the Z axis a delta of 48 LSB (782 LSB for 12bit mode) should be detected. For many devices this test succeeded.

But we also have some devices, that fail in one of the 3 production steps. Even if they passed the first production step, they fail in the second one. Or sometimes they pass the 1st and 2nd step and fail in the final 3rd step.

I just checked 3 devices, that failed in the first step and they show a change in Z Axis of ~9 LSB, the other axis show almost no change. Although, all three axes show correct absolute values.

Could you give me any feedback on the self-test?

Am I doing something wrong?

Will these devices still work as intended?

Do we have to adopt the limit for the deltaZ?

Regards,

Manuel

Labels (1)
Tags (2)
0 Kudos
4 Replies

869 Views
mfrech
Contributor II

Alright, I know read 12bit values and check the Z axis results

if((Z_st - Z_no_st) > 50)

     return true;

else

     return false;

Thanks for your help.

Maybe its worth adding the 50 LSB limit for the self test change in Z axis to the datasheet.

Regards,

Manuel

0 Kudos

869 Views
mfrech
Contributor II

Okay, could not find that 50 LSB in the datasheet. So the 50 LSB in 12bit should then be 3 LSB in 8 bit mode.

I think I will also change the resolution during self test to 12bit...

In other posts regarding other accelerometers I read, that change in all axes should be considered. Is that correct?

So deltaX + deltaY + deltaZ > 50 (in 12bit mode) ==> test passed?

0 Kudos

869 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Manuel,

Deflections in the X and Y axis are just artifacts of the self-test control and can be ignored.

Regards,

Tomas

869 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Manuel,

The way you are performing the self-test is correct. The reason why the Z axis self-test output does not correspond to the typical value specified in the datasheet is that the self-test is not factory trimmed. The internal min spec is 50 LSBs at ±2g and 12-bit mode. So the change of ~9 LSB in 8-bit mode means a successful self-test.

Regards,

Tomas

PS: If my answer helps to solve your question, please mark it as "Correct". Thank you.