cancel
Showing results for 
Search instead for 
Did you mean: 

orientation and movement values in LIS2DW12 accelerometer

Msaga.1
Associate II

Hello We are working with accelerometer LIS2DW12.

we did tests on the different movements of the accelerometer and the graphs we see (the graphs were made with the x_physical y_physical z_physical values). However we see graphs that are not as we expected;

when we look at a 'free fall' movement we expect to see all axis intersect in value 0, however it is not the case.

For example:

  1. 0693W00000BbSy9QAF.jpgin this image we see free fall when the orientation bit raised on zh (meaning the fall was on zl), but I do not see intersection of all axis ( Z is not even close) and I do not see intersection on 0 - x&y intersect on ~300 . Please explain this.
  2. 0693W00000BbT1GQAV.jpghere we do see intersection , however it is around value ~360 and not 0. Please explain why we see it.

More images :

0693W00000BbT2OQAV.jpghere we see that the intersection is ~200

0693W00000BbT2iQAF.jpghere we see that the intersection is ~250 (at 31)

0693W00000BbT2nQAF.jpghere we don't see intersection and the values are not as expected from free fall.

Please help me understand our results.

25 REPLIES 25

Hi @Eleon BORLINI​ ,

>>you can tune the X_OFS_USR (3Ch), Y_OFS_USR and (3Dh), Z_OFS_USR (3Eh) registers (see datasheet p. 55) to minimize the offset value

I have written to the registers however nothing has changed, can you explain it to me?

Thank you

Eleon BORLINI
ST Employee

Hi @Msaga.1​ ,

1) The threshold is needed for the internal state machine (the free fall block) to recognize how much close to the 0g level the free fall event shall be. In the graph you are showing, all the axis are close to 0g and the device should correctly detect the free fall with a proper setting of the threshold. This could be tuned trying multiple drops and checking the best threshold for your application.

2) Do you have problems to detect the free fall (axis below defined threshold) also with higher ODRs? 3 points should be enough but aren't too many...

By the way, enabling the low noise filter should also affect the noise performances in LP, according to the Table 11 in the datasheet, p.15.

3) + I have written to the registers however nothing has changed, can you explain it to me?

A spurious offset due to soldering, or the specific application setup could affect the correctness of the acceleration zero level. But are you writing values in the registers without seeing any variation of the data, at least in the steady state?

-Eleon

Msaga.1
Associate II

1) thank you

2) no , but I want to keep my ODR low (12.5 Hz)

3) I am writing values in the registers without seeing any variation of the data, at least in the steady state

Hi @Msaga.1​ ,

so probably it is an issue coming from the combination of the small drop and the low ODR...

Couldn't you just double the ODR?

-Eleon

Msaga.1
Associate II

No I cant double the ODR, then how do i solve the problem? i still dont see those 3 point and i SHOULD.

Hi @Msaga.1​ ,

understood... what if you slightly increase the free fall threshold, so that you'll probably have more point in a "free-fall condition"?

3 points are a bit few, in practice...

-Eleon

Msaga.1
Associate II

@Eleon BORLINI​  tank you, but why should it work? in theory even without threshold , if I look at a graph made by the x,y,z values I got. I should see points.

The threshold is only if I want the accelerometer to tell me that the movement was free fall.

Hi @Msaga.1​ ,

but isn't your target the reading of the accelerometer interrupt, when the free fall is happening?

The increase of the threshold would increase the probability (number of points) to make this interrupt rising, detecting the correct free-fall movement.

Another question: in order to avoid spurious effects coming from a single device, did you have the possibility to test another LIS2DW12?

-Eleon

Msaga.1
Associate II

Hi @Eleon BORLINI​ ,

What I want is to look at the graphs I make from the x,y,z values and 'see' the free fall (x number of points with the value 0,0,0 - x depending on the hight of the free fall)

so i dont care much for the interrupts.

>>in order to avoid spurious effects coming from a single device, did you have the possibility to test another LIS2DW12?

I tested this on multiple devices but unfortunately the same result.

Hi @Msaga.1​ ,

please note that the recommended threshold for recognizing a free fall event with the internal interrupt is FF_THS = 0b011 corresponding to ~ 10 x 31.25 mg = 312 mg (see the document), and not strictly zero, since spurious acceleration during the free fall might occur (for example rotations that ends up in linear acceleration, or torsional effect).

For this reason, I suggest you to use a similar threshold.

-Eleon