cancel
Showing results for 
Search instead for 
Did you mean: 

XYZ values from AIS2IH are inconsistent with actual values

snack
Associate II

Hi,

 

Post-development testing of the acceleration sensor reveals that the collected XYZ axis values are inconsistent with the actual physical acceleration values, and one axis continuously outputs a value of 0.

What is the specific corresponding relationship between the sensor’s feedback value and the actual physical value?

I also hope you can provide relevant technical parameters (such as sensitivity, zero offset) and calculation formulas for reference, so as to help us troubleshoot the problem quickly.

thank you!!

1 ACCEPTED SOLUTION

Accepted Solutions

@snack wrote:

We suspect that there is a problem with our connection method.


In that case, you would see it in the raw data.

Have you compared against a known-good implementation - such as an ST evaluation/development board?

eg, STEVAL-MKI218V1

via: https://www.st.com/en/mems-and-sensors/ais2ih.html#tools-software

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

View solution in original post

13 REPLIES 13
Federica Bossi
ST Employee

Hi @snack ,

How are you acquiring data? You can use our official examples on Github to implement your code.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Andrew Neil
Super User

@snack wrote:
inconsistent with the actual physical acceleration values

How do you measure those actual physical acceleration values ?

 


@snack wrote:

technical parameters (such as sensitivity, zero offset) and calculation formulas for reference


That would all be in the datasheet ?

See also the supporting documentation - on the 'Documentation' tab of the Product Page.

Also MEMS-Studio and C-Driver-MEMS etc on the 'Tools & Software' tab of the Product Page.

 

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

Thank you for your reply!

We have used the official code, but the measured values still do not match the actual situation. The most intuitive example is that when we apply acceleration on the X-axis, the X-value reads 0 while other axes show values. Could it be that our hardware connection method is incorrect? Could you please help evaluate it? Here is our schematic diagram.

Thank you very much!

snack_1-1765518259223.png

 

Thank you for you reply!

When we apply acceleration to the X-axis, the displayed acceleration value of the X-axis is 0, which is obviously incorrect. We have referred to the data sheet and official code, but still failed to find a solution. Here is our hardware schematic diagram. Could you please help evaluate whether it is reasonable? Thank you very much!

snack_2-1765518939913.png

 

Note that everyone can see all replies - there's no need to repeat stuff to each contributor.

You can mention multiple people in one post using '@'

 


@snack wrote:

when we apply acceleration on the X-axis, the X-value reads 0 while other axes show values


Do you see the same when you move in the other axes?

At rest, do you see ±1g in each axis, according to orientation?

 


@snack wrote:

 

We have used the official code


What code, exactly?

Post a minimum but complete example which illustrates the issue.

How to insert source code

 

PS:


@snack wrote:

the displayed acceleration value of the X-axis is 0


Maybe there's something wrong in how you display it, and/or how you process it?

Have you looked at the raw values received direct from the sensor?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.


@Andrew Neil 

Do you see the same when you move in the other axes?

At rest, do you see ±1g in each axis, according to orientation?


Hi,

The previous examples were all given by me to help you understand quickly. The actual situation is that the X, Y, and Z axes all have acceleration values, and they are all changing. In a stationary state, the Z-axis has an acceleration of 1g, and the X and Y axes have an acceleration of about 0.3g. When the chip is shaken, the acceleration values do not change much.


@Andrew Neil 


Maybe there's something wrong in how you display it, and/or how you process it?

Have you looked at the raw values received direct from the sensor?


This is the original value:

snack_0-1765765352388.png

 


@snack wrote:


This is the original value:

snack_0-1765765352388.png


In the original post you said, "one axis continuously outputs a value of 0" - so is that now fixed?

 


@snack wrote:


In a stationary state, the Z-axis has an acceleration of 1g, and the X and Y axes have an acceleration of about 0.3g.


So what happens if you change the orientation of the device? 

Can you get the X axis to show 1g, in the appropriate orientation?

Can you get the Y axis to show 1g, in the appropriate orientation?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

@Andrew Neil wrote:

@snack wrote:
inconsistent with the actual physical acceleration values

How do you measure those actual physical acceleration values ?


Note that you can get mobile phone apps which will log the phone's internal accelerometer values.

You could try such an app, with your unit strapped to a phone, to see the actual physical acceleration values...

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.


So what happens if you change the orientation of the device? 

Can you get the X axis to show 1g, in the appropriate orientation?

Can you get the Y axis to show 1g, in the appropriate orientation?


 When the chip is shaken, the acceleration values do not change much.