Skip to main content
Visitor II
February 24, 2021
Solved

Fluctuation of gyro angular velocity data of LSM6DSL motion sensor

  • February 24, 2021
  • 2 replies
  • 1501 views

First of all, I apologize for my unprofessional English!

In the process of using STM32 board to collect data from lsm6dsl module, the angular velocity data of gyroscope can be output stably, but there are jumps in the angular velocity of three directions.

0693W000007ZJUXQA4.pngIn the high performance mode I set, the range of the gyroscope is 250dps, the frequency is 52hz, and the peak value of the jump is 2.2dps (the peak value is stable, and it feels like being limited).0693W000007ZJUwQAO.pngAccording to the gyroscope digital chain:0693W000007ZJVBQA4.pngI have opened digital LP filter (lpf2), digital high pass filter (HPF) and digital low pass filter (lpf1), but I have not improved the jump.

0693W000007ZJVGQA4.pngDo you know what the problem is ?

    This topic has been closed for replies.
    Best answer by Eleon BORLINI

    Hi @BWu.4​ ,

    do the screens you posted refer to a scope measure or they are already processed, as it would seem? Is the data processing routine validated?

    Supposing it is a device-related issue (from configuration or from the device itself), how are you acquiring the data? I mean are you in polling mode or in interrupt mode? In both cases, but especially in polling mode, I suggest you to check if you have enabled the BDU bit of the CTRL3_C (12h) register: this to prevent to read MSB and LSB from different data frames. Check also if you are passing through the FIFO...

    I suggest you also to check your configuration code with the examples on Github, such as the lsm6dsl_read_data_polling.c.

    -Eleon

    2 replies

    Explorer
    February 24, 2021

    Writing your question in Chinese language drastically limits the number of possible responders.

    BWu.4Author
    Visitor II
    February 24, 2021

    Thank you for your advice.

    ST Employee
    February 24, 2021

    Hi @BWu.4​ ,

    do the screens you posted refer to a scope measure or they are already processed, as it would seem? Is the data processing routine validated?

    Supposing it is a device-related issue (from configuration or from the device itself), how are you acquiring the data? I mean are you in polling mode or in interrupt mode? In both cases, but especially in polling mode, I suggest you to check if you have enabled the BDU bit of the CTRL3_C (12h) register: this to prevent to read MSB and LSB from different data frames. Check also if you are passing through the FIFO...

    I suggest you also to check your configuration code with the examples on Github, such as the lsm6dsl_read_data_polling.c.

    -Eleon

    BWu.4Author
    Visitor II
    March 1, 2021

    Thanks for your advice;

    I solved the problem by referring to the routine.