Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- STMicroelectronics Community
- MEMS and sensors
- MEMS (sensors)
- Hi, I am using MotionDI library to acquire linear ...

Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Options

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

2022-02-27 09:46 AM

8 REPLIES 8

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

2022-02-28 02:09 AM

Hi,

- What values do you get?
- What values do you expect?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

2022-02-28 10:33 AM

Hi Petr,

In the image attached, I get non-zero accelerometer values till sample number 491. This makes sense as I have kept the sensortile kit in motion. However, after sample # 491, the acceleration values are not correct because my sensortile kit is stationary (expecting no acceleration) and I still get non-zero acceleration along the 3 axis. Why is that so? Please throw some light on this issue.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

2022-03-01 12:46 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

2022-03-05 10:39 AM

Hi @Petr S_O ,

Sorry for the late response. I have re-plotted the graphs with the same type of movement. I rotated the sensortile kit both clockwise and anticlockwise and then left it stationary after 400th sample. Please see attached graphs and corresponding datalog given in excel file. I look forward to your response. Thank you.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

2022-03-07 07:26 AM

Hi Community Members,

Any guidance related to the issue will be appreciated. Looking forward to your responses.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

2022-03-07 12:56 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

2022-06-13 12:09 AM

Hi @Petr S_O

I am using Motion_DI Library for ISM330DLC sensor and getting some output. How can i validate that data and could you please log the data for longer period by changing it's positions and send us for reference. As in the above data is logged for less than 1 second. In above pic i have logged the Yaw,Pitch,Roll. data when the sensor is in steady position.

Thank you.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

2022-07-14 08:51 AM

MEMS accelerometer sensor is based on sensing mass micro-element movement and position inside sensor component body. Movement of micro-element is caused by acceleration of sensor component.

This means, while in still position, only gravitation acceleration does apply to sensor component and thus the total acceleration vector is equal to gravitation acceleration of typical value:

`1 g == 9.81 m/s^2`

Rotation itself does not change acceleration vector size only its direction (with respect to sensor component). On contrary the linear movement adds linear acceleration vector to total acceleration vector and changes size and usually direction of resulting acceleration vector.

Looking to **Datalog.xlsx** data you have sent it seems **X**, **Y**, **Z** acceleration data are raw accelometer data converted from **[mg]** units to **[m/s^2]** units.

Calculating magnitude of acceleration:

`acc = sqrt(acc_x ** 2 + acc_y ** 2 + acc_z ** 2)`

for all values the results are as follows:

- For
**sample number <= 400**the**acc**differs from expected typical value**9.81 m/s^2.**This is most probably caused by manual rotation of sensor component, where any parasitic linear movement adds to total acceleration. Linear movement can be result of any unwanted linear movement while manually (by hand) rotating device, but it can be also caused by pure rotation, where sensor compoment is not positioned on axis of rotation. - For
**sample number > 400**the**acc**is close to expected typical value**9.81 m/s^2**. The device is in still position and this is correct value.

In case real ** linear acceleration** results (i.e.: without gravity vector) are needed, there is output of

**MotionDI** library - **linear_acceleration**:

```
typedef struct
{
float rotation[MDI_NUM_AXES]; /* 6 axes yaw, pitch and roll */
float quaternion[MDI_QNUM_AXES]; /* 6 axes quaternion */
float gravity[MDI_NUM_AXES]; /* 6 axes device frame gravity */
float linear_acceleration[MDI_NUM_AXES]; /* 6 axes device frame linear acceleration */
} MDI_output_t;
```

See also results from **DynamicInclinometer** application based on **MotionDI** library (screenshot taken from **Unicleo-GUI**:(

- Device is tilted and placed on desk
- Linear acceleration is close to zero

Related Content