2021-02-24 01:01 AM
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.
In 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).According to the gyroscope digital chain:I have opened digital LP filter (lpf2), digital high pass filter (HPF) and digital low pass filter (lpf1), but I have not improved the jump.
Do you know what the problem is ?
Solved! Go to Solution.
2021-02-24 07:55 AM
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
2021-02-24 01:08 AM
Writing your question in Chinese language drastically limits the number of possible responders.
2021-02-24 01:11 AM
Thank you for your advice.
2021-02-24 07:55 AM
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
2021-02-28 05:13 PM
Thanks for your advice;
I solved the problem by referring to the routine.