cancel
Showing results for 
Search instead for 
Did you mean: 

What's best and way to calculate velocity from acceleration for IIS3DWB and what degree of accuracy should one expect with IIS3DWB accelerometer?

AGosw.3
Associate

I am using IIS3DWB for machine condition monitoring product development project.

I am using the below integration for velocity conversion as per MotionSP but unable to estimate speed RMS (not even 50% closer to the reference values).

----------------------

MotionSP_TD_SpeedEvalFromCircBuff - perform a speed estimation using a numerical integration method (Trapezoidal Rule) on the acceleration values

Formula used:

           /* vi = vi-1 +[(1-GAMMA)*DELTA_T]*ai-1 + (GAMMA*DELTA_T)*ai (in mm/s) */

---------------------

What's best and accurate way to calculate speed from acceleration considering industrial application?

ST's timely support would be much appreciated.

1 ACCEPTED SOLUTION

Accepted Solutions
Eleon BORLINI
ST Employee

Hi @AGosw.3​ ,

as anticipated by email, I'm checking the formula with our experts and developers of the MotionSP library.

My general suggestion, beyond the correct application of the integration formula, is to periodically run a (software) calibration of the accelerometer, for example using the MotionAC accelerometer calibration library, part of the X-CUBE-MEMS1, which provides real-time accelerometer calibration through offset and scale factor coefficients used to correct accelerometer data.

-Eleon

View solution in original post

7 REPLIES 7
Eleon BORLINI
ST Employee

Hi @AGosw.3​ ,

as anticipated by email, I'm checking the formula with our experts and developers of the MotionSP library.

My general suggestion, beyond the correct application of the integration formula, is to periodically run a (software) calibration of the accelerometer, for example using the MotionAC accelerometer calibration library, part of the X-CUBE-MEMS1, which provides real-time accelerometer calibration through offset and scale factor coefficients used to correct accelerometer data.

-Eleon

AGosw.3
Associate

Hi @Eleon BORLINI​ 

Thank you for your response and would wait for the formula. Regarding the accelerometer calibration, appreciate if you could please share MotionAC accelerometer calibration library (Src) so as we could use it for our custom board MCU.

Thanks again,

AGosw

I would also like this library as I also have a custom MCU

Hi @Eleon BORLINI ,

 

Is there similar library for LSM6DSV16X IMU? OR Do you have any suggestions to get reliable accelerometer/ velocity value form the sensor?

 

Kind regards,

Fehmi K.

Hi @FKara.3 ,

 

For the speed calculation from acceleration data you can again use MotionSP library since the library only matters to have 3-axis acceleration data in input.

About the pre-calibration, for the accelerometer-related part of the LSM6DSV16X, you can use the MotionAC accelerometer calibration library as well. The gyroscope part can be calibrated using MotionGC gyroscope calibration library (always in X-CUBE-MEMS1 expansion for STM32Cube).


- Eleon

Hello @AGosw.3 ,

Currently i am also facing the same issue, the computed  speed rms is 40-50% differnet from the industrial grade Vibrameter.  

I would like to know, whether you were able to solve this issue of speed mismatch by integrtaing Motion AC calibration library as suggested in the answer ?  

Hello @Eleon BORLINI ,

In our current PDM project, we are facing the similar issue where the speed rms values calculated by ST's Motion SP Middleware using the data from IIS3DWB sensor is not matching with that of our reference device i.e  SPM Portable Vibration meter (VIB-15) used at industrial level for vibration monitoring. The frequency bandwith of this device is from 2-1000 Hz and full scale range is upto 20g. While the max frequecy of IIS3DWB is 6.6KHz and scale range is from +-2g to +-16g. 

 

So to bring IIS3DWB bandwidth in range of Vibrameter we have used sensor internal Low Pass Filter and tested at both the cut off frequency of 600Hz (ODR/45) and 1300Hz (ODR/20) and we are able to match the acceleration data upto 80-85% with the vibrameter. But issue still remains with the rms speed calculated from Motion SP Lib as the calculated speed value is almost double of the value measured using the reference device. 

 

So can you please tell what are the configuration which we can try to manipulate to get more accurate result of speed rms. We are looking for somewhere around 85-90% accuracy with the reference device. 

 

Looking for a quick response.