OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3499|回复: 8

MPU9250 数据不稳定问题

[复制链接]

12

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2016-7-4
在线时间
31 小时
发表于 2017-7-24 12:47:35 | 显示全部楼层 |阅读模式
1金钱
最近在调MPU9250,参考了网上很多资料,手册也看过一遍,用串口查看返回的数据,陀螺仪会有上下20多的波动,搞不懂什么情况。
求前辈指点。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2016-7-4
在线时间
31 小时
 楼主| 发表于 2017-7-24 12:51:20 | 显示全部楼层
在线等,这么大的波动,肯定不能再用滤波去除了,一会用上位机打印图像看下数据抖动趋势。
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2770
金钱
2770
注册时间
2015-6-1
在线时间
394 小时
发表于 2017-7-24 13:13:48 | 显示全部楼层
小兄弟,建议你多看几遍手册,有几个寄存器你肯定配置有点儿问题的。比如是否开启加速计的滤波等。9250跟6050手册是不一样的,精度上也有区别,我遇到过这个问题,看手册改寄存器解决。
自在随心
回复

使用道具 举报

12

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2016-7-4
在线时间
31 小时
 楼主| 发表于 2017-7-24 14:08:44 | 显示全部楼层
[mw_shl_code=applescript,true]// ¶¨òåMPU9250Äú2¿μØÖ·
//****************************************
#define        SMPLRT_DIV                0x19        //íóÂYòÇ2éÑùÂ꣬μäDíÖμ£o0x07(125Hz)
#define        CONFIG                        0x1A        //μíí¨ÂË2¨ÆμÂ꣬μäDíÖμ£o0x06(5Hz)
#define        GYRO_CONFIG                0x1B        //íóÂYòÇ×Լ켰2aá¿·¶Î§£¬μäDíÖμ£o0x18(2»×Լ죬2000deg/s)
#define        ACCEL_CONFIG        0x1C        //¼óËù¼Æ×Լ졢2aá¿·¶Î§¼°¸ßí¨ÂË2¨ÆμÂ꣬μäDíÖμ£o0x01(2»×Լ죬2G£¬5Hz)

#define        ACCEL_XOUT_H        0x3B
#define        ACCEL_XOUT_L        0x3C
#define        ACCEL_YOUT_H        0x3D
#define        ACCEL_YOUT_L        0x3E
#define        ACCEL_ZOUT_H        0x3F
#define        ACCEL_ZOUT_L        0x40

#define        TEMP_OUT_H                0x41
#define        TEMP_OUT_L                0x42

#define        GYRO_XOUT_H                0x43
#define        GYRO_XOUT_L                0x44       
#define        GYRO_YOUT_H                0x45
#define        GYRO_YOUT_L                0x46
#define        GYRO_ZOUT_H                0x47
#define        GYRO_ZOUT_L                0x48

               
#define MAG_XOUT_L                0x03
#define MAG_XOUT_H                0x04
#define MAG_YOUT_L                0x05
#define MAG_YOUT_H                0x06
#define MAG_ZOUT_L                0x07
#define MAG_ZOUT_H                0x08


#define        PWR_MGMT_1                0x6B        //μçÔ′1üàí£¬μäDíÖμ£o0x00(Õy3£ÆôóÃ)
#define        WHO_AM_I                  0x75        //IICμØÖ·¼Ä′æÆ÷(ĬèÏêyÖμ0x68£¬Ö»¶á)


//****************************

#define        GYRO_ADDRESS   0xD0          //íóÂYμØÖ·
#define MAG_ADDRESS    0x18   //′Å3¡μØÖ·
#define ACCEL_ADDRESS  0xD0 [/mw_shl_code]

这个用模@I2C写的寄存器地址,和9250的datasheet对照过没有问题啊。。。。。
回复

使用道具 举报

0

主题

145

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2017-6-19
在线时间
55 小时
发表于 2017-7-24 14:25:17 | 显示全部楼层
20多度还是什么,如果是AD值、那正常、10+位的AD肯定会有偏差的
回复

使用道具 举报

12

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2016-7-4
在线时间
31 小时
 楼主| 发表于 2017-7-24 15:03:20 | 显示全部楼层
jokeym 发表于 2017-7-24 14:25
20多度还是什么,如果是AD值、那正常、10+位的AD肯定会有偏差的

C:\Users\Administrator\Desktop
这个是返回的陀螺仪读的寄存器值图像
回复

使用道具 举报

12

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2016-7-4
在线时间
31 小时
 楼主| 发表于 2017-7-24 15:04:32 | 显示全部楼层
我有点蒙   读寄存器的值 到底返回的数是什么意思
图像.png
回复

使用道具 举报

12

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2016-7-4
在线时间
31 小时
 楼主| 发表于 2017-7-25 09:36:23 | 显示全部楼层
读的是原始数据,上下有波动,又看了下资料,dmp处理后的数据还是很稳的,不过我还是不懂,原始数据采集的是什么量。
回复

使用道具 举报

0

主题

145

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2017-6-19
在线时间
55 小时
发表于 2017-7-26 16:52:16 | 显示全部楼层
寄存器读出来的当然是AD值咯、你得用AD值算出实际需要用到的数据
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-18 08:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表