本帖最后由 cerik 于 2014-11-9 21:01 编辑
我使用的是官方的MotinDriver v6.1,使用的的MPU9250,
在我自己的STM32的板子上跑的, 工作方式和配置均为驱动包中原始的配置,没有更改过;
测试方法是:让板子保持静止不动,然后上电观察欧拉角的变化, 下面图示的三条线是我从上电开始测试的一段数据, 发现这漂动让人无法接受.
另外MPU9250的片子还有一个问题,就是上电后磁力计经常初始化不成功,就是没有找到设备地址.并且,初始化成功后,芯片的self-test又总是不失败,向官方要了校验文档,又看了代码,研究了他们的算法,只有一个地方和文档中的对应不起来,相应代码如下:
static int accel_6500_self_test(long *bias_regular, long *bias_st, int debug)函数中的
st_shift_ratio = st_shift_cust / ct_shift_prod - 1.f;//why -1.f??
不知道为什么这里要有个-1的操作.
[attach]AN-MPU-9250A-03 MPU-9250 Accel Gyro and Compass Self-Test Implementation v1 0_062813.pdf[/attach]
[attach]MPU 系统 MotionDriver v6.1,支持各个MPU芯片[/attach] |