Measurement values (mg)
Self-Test Values (LSb)
Above are the results of a self-test done on an IIS2DH accelerometer. The acceptable spec for the self test on all axes is between 17 and 360 LSb, so in all of the above orientations the self-test fails on my accelerometer almost every time on one or more of the axes. Does this mean my sensor is not working? I've tried the self-test on multiple sensors (placed on different PCBs) and they always fail (the results are all similar to the table shown above). Am I performing the self-test incorrectly? Below are the notes from the datasheet that I am following in order to perform and make my calculations.
- The sign of “Self-test output change” is defined by the ST bit in CTRL_REG4 (23h), for all axes.
- I am just taking the magnitude of the difference between the self test enabled and self test disabled results, but I am in Self-Test Mode 0. (ST1 and ST0 are 0 and 1 respestively in CTRL_REG4)
- “Self-test output change” is defined as the absolute value of:
OUTPUT[LSb](Self test enabled) - OUTPUT[LSb](Self test disabled). 1LSb = 4 mg at 10-bit representation, ±2 g full scale
- The FS bits in CTRL_REG4 ( FS[1:0] are set to 00 )
- I am in normal mode, which gives 10-bit representation
- After enabling the ST bit, correct data is obtained after two samples (low-power mode / normal mode) or after eight samples (high-resolution mode)
- I discarded the first two readings before making the passing calculation given in note 5.
I'm not sure what the next step is to diagnose this problem. Any help is much appreciated!!