gaolou1991 发表于 2012-9-8 22:09:58

求助啊 L3G4200D 数据采集老是很乱

采集的是角速度。。。可是当L3G4200D放着不动时,三个轴都会发出每次不同的数据??这个为何啊???
再者。。这求角度。。积分的时间到底应该怎么算啊??算上一次取数据到这次取数据的时间差???

john800422 发表于 2012-9-8 22:25:28


陀螺仪本身就会这样, 变化大
所以必须要做滤波和偏移校正

Angle += Gyro*dt
dt为取样时间(读取Sensor的时间), 也就是你想的"上一次取数据到这次取数据的时间差"
Gyro为角速度, 角度 = 角速度*时间

gaolou1991 发表于 2012-9-9 08:46:23

john800422 发表于 2012-9-8 22:25 static/image/common/back.gif
陀螺仪本身就会这样, 变化大
所以必须要做滤波和偏移校正



大神。。。滤波是使用L3G4200D自身的那个滤波器吗???顺便问一下:偏移校正怎么调???买器件跟的说明书里。。没有介绍。。。

john800422 发表于 2012-9-9 12:57:46

使用自身滤波器也是可以, 但积分后还是容易累积误差,
也就是随时间越长, 角度越不精确
所以通常会加上加速度计做辅助

自己先了解一下只做积分的结果

再从简单的软件滤波试试看
像是互补滤波

我的偏移校正方法:
1. 始将陀螺仪静置一段时间, 在这期间内做取样
2. 将取样到的资料作平均数
3. 正常使用陀螺仪时会将读到的数据减掉平均数
例子:
假设陀螺仪静止状态下读到的资料为 10, 20, 16, 18
平均数 = ( 10 + 20 + 16 + 18 ) / 4 = 16
但理论上陀螺仪静止时角速度应为0
所以正确的资料 = 读到的资料 - 16
也就是陀螺仪静止状态下读到的正确资料为 -6, 4, 0, 2

qiangnubing 发表于 2012-10-21 14:07:43

mark                                             

szblue 发表于 2013-1-31 05:43:07

mark记下有用

阿发 发表于 2013-3-19 14:03:05

学到了。谢谢

junwugui 发表于 2013-5-21 10:42:07

也正在使用中

湛泸骏驰 发表于 2013-11-17 11:01:12

MARK;










就是一枪 发表于 2013-11-30 18:35:04

虽然时间有点就远了,现在自己想好好做下IMU,也当做是自己的学习吧。。个人认为即使不动,也是会有漂移的,零漂应该就是这样。。求角度,用一个定时器的话应该就可行

就是一枪 发表于 2013-11-30 18:41:37

john800422 发表于 2012-9-9 12:57
使用自身滤波器也是可以, 但积分后还是容易累积误差,
也就是随时间越长, 角度越不精确
所以通常会加上加速 ...

请问有没有有关L3g4200D做的比较好的例子呢?参考一下啦。还有就是用四元数的时候,一般情况下我们使用角度增量进行四元数更新,我看一本上写用角速度直接进行数据更新更方便,误差也更小?不知是否了解呢?
页: [1]
查看完整版本: 求助啊 L3G4200D 数据采集老是很乱