/************************************************************************************ * STM32 LSM6DSL 陀螺仪数据采集 * 说明: * 从大学就开始知道MEMS,一直没自己碰过,调试B-L475E-IOT01A,观察数据的时候没有意识 * 到需要对数据进行补偿,以为传感器有问题,向左栋、张浩请教了才知道本身存在误差,需要补偿。 * * 2017-12-28 深圳 宝安西乡 曾剑锋 ***********************************************************************************/ 一、参考资料 1. LSM6DSL http://www.st.com/zh/mems-and-sensors/lsm6dsl.html 2. Datasheet http://www.st.com/resource/en/datasheet/lsm6dsl.pdf 二、Gyroscope output 1. 静态寄存器数据(顺序:OUTX_L_G, OUTX_H_G, OUTY_L_G, OUTY_H_G, OUTZ_L_G, OUTZ_H_G): 4, 0, cd, ff, 1, 0 2. 数据模式:LSM6DSL_GYRO_FS_2000 3. 静态数据转换后(单位:mdps):"gyrZ":70.000000, "gyrY":-3570.000000, "gyrX":280.000000 三、误差补偿 1. 之前一直没有考虑到传感器数据补偿的问题,所以无法理解这里的-3570代表的意思,也就是静态误差,补偿一下就是了。 2. STM32 LSM6DSL代码跟踪请参考: https://github.com/ZengjfOS/Modbus_TCP/blob/master/docs/0016_SW4STM32_B-L475E-IOT01A_Gyroscope_Hacking.md