ST意法半导体
直播中

李伟

8年用户 210经验值
私信 关注
[问答]

LSM6DS3传感器不动时噪音

嗨,我正在使用LSM6DS3传感器,这是我第一次使用传感器类型。我正在尝试读出陀螺仪数据,但当传感器不动时它非常噪音。这是我的日志:
-120

-93
-127
-69
-79
-41
-85
-97
-72
-57
-85
-108
-59
-42
-58
-56
-66
-91
-73
-81
-64
-107
-60
-48
-77
-96
-80
-68
-57
-75
-71
-56
-64
-68这是我的配置:
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL1_XL,0x61);

LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL2_G,0x6c);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL3_C,0x44);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL4_C,0x02);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL5_C,0x00);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL6_C,0x00);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL7_G,0x40);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL8_XL,0x00);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL9_XL,0x38);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL10_C,0x38);有人可以给我建议吗?索里为我的坏女人。

#lsm6ds3

以上来自于谷歌翻译


以下为原文




Hi, i am working with LSM6DS3 sensor, this is the first time i work with type of sensor. i am trying to read out gyro z data, but it very noise when sensor is immobile.Here is my log:
-120

-93
-127
-69
-79
-41
-85
-97
-72
-57
-85
-108
-59
-42
-58
-56
-66
-91
-73
-81
-64
-107
-60
-48
-77
-96
-80
-68
-57
-75
-71
-56
-64
-68and here is my config:
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL1_XL, 0x61);

LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL2_G, 0x6c);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL3_C, 0x44);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL4_C, 0x02);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL5_C, 0x00);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL6_C, 0x00);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL7_G, 0x40);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL8_XL, 0x00);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL9_XL, 0x38);
LSM6DS3_WriteReg(LSM6DS3_REGISTER_CTRL10_C, 0x38);Someone can give me advice? Sory for my bad eglish.

#lsm6ds3

回帖(3)

李伟

2019-2-12 15:05:23
我试着计算角度,但它漂移了。这是我的代码
temp = LSM6DS3_ReadGyroZ();
 
 if(校准< 200){
 if(temp< GyroLowZ)
 GyroLowZ = temp;
 if(temp> GyroHighZ)
 GyroHighZ = temp;
 calibration ++;} else {
 
 if(temp> GyroHighZ || temp< GyroLowZ){
 AngleZc =(float)(temp * k * dt);
 } else {
 AngleZc = 0;
 }
 AngleZ + = AngleZc;
 } k = 0.07(比例= 2000dps),dt = 0.0025。我曾使用过
校准功能在启动时有200次,但效果不佳。

以上来自于谷歌翻译


以下为原文




I try to caculate angle but it was drifted. here is my code
temp = LSM6DS3_ReadGyroZ();

if (calibration < 200) {
if (temp < GyroLowZ)
GyroLowZ = temp;
if (temp > GyroHighZ)
GyroHighZ = temp;
calibration++;} else {

if (temp > GyroHighZ || temp < GyroLowZ) {
AngleZc = (float) (temp * k * dt);
} else {
AngleZc = 0;
}
AngleZ += AngleZc;
}with k=0.07(scale= 2000dps), dt=0.0025.I had used an
calibration  funtion with 200 times when start but it isnt effective.
举报

李伟

2019-2-12 15:24:11
有人帮我请!!!!!

以上来自于谷歌翻译


以下为原文




someone help me please!!!!!
举报

李恬恬

2019-2-12 15:31:54
你找到了解决这个问题的方法吗?我有同样的问题。

以上来自于谷歌翻译


以下为原文

did u found a solution for this issue? I have same problem.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分