cancel
Showing results for 
Search instead for 
Did you mean: 

I am using IIS2DH accelerometer sensor with stm32wb55 for Vibration Sensor application. I am having tech query listed below, 1) Range of X ,Y and Z axis raw data. 2) Range of X, Y and Z axis in mg 3)How to calibrate X , Y and Z (Raw data / mg ?)

HPate.7
Associate II

4) Which FFT algorithm is best for my application (RFFT/CFFT)

5) After FFT will i get three output for x , y , z or only 1.

6) Output example of after FFT.

1 ACCEPTED SOLUTION

Accepted Solutions
niccolò
ST Employee

Hi @HPate.7​ ,

you can find the answer to your first questions on the datasheet.

1- the range of the raw data depends on the number of bits used ( from -2^(n-1) to +2^(n-1) where n is the number of bits)

the number of bits depends on the mode you use (described in table 9, page 15)

2- the range in mg depends on the Full Scale you set through bits FS1 and FS0 in register CTRL_REG4 (23h)

it goes from +- 2g to +-16g

3- to retrieve the mg value from the raw data you need the sensitivity in table 3 page 10

following the formula data = sens * raw_data

4- I would use the RFFT for this type of data

5- you can apply the FFT to all axis and have 3 different FFTs or compute the absolute value and have only one FFT to compute

6- it depends on many values, but you can try to visualize the output values in a way you can check the values around 1 Hz , then you proceed to move the sensor one time per second and check if the values are higher there

hope this helps

Niccolò

View solution in original post

5 REPLIES 5
niccolò
ST Employee

Hi @HPate.7​ ,

you can find the answer to your first questions on the datasheet.

1- the range of the raw data depends on the number of bits used ( from -2^(n-1) to +2^(n-1) where n is the number of bits)

the number of bits depends on the mode you use (described in table 9, page 15)

2- the range in mg depends on the Full Scale you set through bits FS1 and FS0 in register CTRL_REG4 (23h)

it goes from +- 2g to +-16g

3- to retrieve the mg value from the raw data you need the sensitivity in table 3 page 10

following the formula data = sens * raw_data

4- I would use the RFFT for this type of data

5- you can apply the FFT to all axis and have 3 different FFTs or compute the absolute value and have only one FFT to compute

6- it depends on many values, but you can try to visualize the output values in a way you can check the values around 1 Hz , then you proceed to move the sensor one time per second and check if the values are higher there

hope this helps

Niccolò

HPate.7
Associate II

Hi @niccolo.ruffini​ ,

Thanks for the clarification.

1) which data i should use for FFT ? (Raw data / mg)

2) how i can use FFT output to get Acceleration peak value [m / s2], Acceleration rms [m / s2], Velocity m/s, Displacement m

Hi @HPate.7​ ,

you are welcome =)

1) I would use mg values, so that it is easier to read the data in FFT format

2)

a) isn't the peak value the maximum value of the acceleration in the timeframe of the FFT? you don't need the FFT, in my opinion

b) the rms is computed even without the FFT, by using the formula

c) for the velocity you should integrate the signal, not the FFT, but the results may be not accurate because of environmental noise

d) for the displacement you should integrate the velocity signal, but the error propagates even further

hope this helps

Niccolò

p.s. if you found a solution to your problem, please, select a best answer to help other users with similar issues

HPate.7
Associate II

Thanks @niccolo.ruffini​ ,

From IIS2DH sensor, i need to collect below details,

please suggest formula to get below value.

1) Acceleration FFT [m / s2] (2 to maximum Hz)

2) Speed FFT [mm / s] (2-1kHz) → Rotation speed [rpm]

3) Acceleration HFFT [m / s2] (2 to maximum Hz) → Sum of amplitude level values of 3 characteristic frequencies (different for each motor)

4) Acceleration peak value [m / s2] (2 to maximum Hz)

5) Acceleration rms [m / s2] (2 to maximum Hz)

6) Speed rms [mm / s] (2-1kHz)

7) Displacement rms [μm] (2-1kHz)

Hi @HPate.7​ ,

I think this could be worth a new post, because it is a totally different question from the one in the original post.

Niccolò