搜索
bottom↓
回复: 15

对MPU6050的采集周期及中断的想法

[复制链接]

出0入0汤圆

发表于 2013-5-3 19:30:07 | 显示全部楼层 |阅读模式
      看了蛮多前辈的程序,都会用单片机的定时器去计时,已获得采集陀螺仪的采样时间,但是我发现MPU6050DATASHEET上面说,MPU6050配置低通滤波器以后采样时间是1KHZ,   而对中断引脚的描述是通过配置以后每当采集完成更新寄存器后就会在中断脚上输出一个低电平。  那我想是不是可以读MPU6050中断脚,发现低电平以后读取各种参数,然后做姿态解算,而采集的间隔就是MPU6050的采集间隔1ms,  这样就不需要单片机再用定时器或者其他的去获得采集时间了

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2013-5-3 22:08:34 来自手机 | 显示全部楼层
可以,只是可能时间上不会太准确。

出0入0汤圆

 楼主| 发表于 2013-5-3 22:28:02 | 显示全部楼层
nnnkey 发表于 2013-5-3 22:08
可以,只是可能时间上不会太准确。

不过刚才我实际测了一下,  不知为何采集中断出现只有125HZ,只有标称的8分之一。  

出0入0汤圆

发表于 2013-5-4 00:48:38 来自手机 | 显示全部楼层
是不是有一个寄存器你赋的是7

出0入0汤圆

 楼主| 发表于 2013-5-4 09:00:26 | 显示全部楼层
nnnkey 发表于 2013-5-4 00:48
是不是有一个寄存器你赋的是7

确实是,太谢谢你了!!!   自己移植程序的时候没注意改这里晕死,

出0入0汤圆

发表于 2013-5-4 22:04:07 | 显示全部楼层
你干嘛要去读取中断的引脚状态,中断来了会通知你的啊,在中断里再进行数据处理

出0入0汤圆

 楼主| 发表于 2013-5-4 23:19:24 | 显示全部楼层
wscjun 发表于 2013-5-4 22:04
你干嘛要去读取中断的引脚状态,中断来了会通知你的啊,在中断里再进行数据处理 ...

额。。 读只是一个大概的意思,  单片机这边用中断处理还是查询都可根据实际来,   由于我的程序流程里,单片机除了采集处理以外就不干其他事情了, 直接查询就可以, 所以表达上就直接用“读|”这个词了

出0入0汤圆

发表于 2013-11-2 22:01:48 | 显示全部楼层
zouyf12 发表于 2013-5-4 09:00
确实是,太谢谢你了!!!   自己移植程序的时候没注意改这里晕死,  ...

仁兄能给我说一下么,是指哪个寄存器的值写7了?我现在也在做这个MPU6050的数据,另外我看数据手册上,好像加计和陀螺的低通滤波频率只能是固定的,可不可以加计的用5Hz,而陀螺的是42Hz呢?

出0入0汤圆

发表于 2013-11-8 19:30:24 | 显示全部楼层
lukefan2008 发表于 2013-11-2 22:01
仁兄能给我说一下么,是指哪个寄存器的值写7了?我现在也在做这个MPU6050的数据,另外我看数据手册上,好 ...

在圆点博士那里找到一段代码,看看对你是否有用:
    const uint8_t param[][2] =
    {
        // {寄存器地址,寄存器值},
        {0x6B,1     }, // 退出睡眠模式,设取样时钟为陀螺X轴。
        {0x19,4     }, // 取样时钟4分频,1k/4,取样率为25Hz。
        {0x1A,2     }, // 低通滤波,截止频率100Hz左右。
        {0x1B,3<<3  }, // 陀螺量程,2000dps。
        {0x1C,2<<3  }, // 加速度计量程,8g。
        {0x37,0x32  }, // 中断信号为高电平,推挽输出,直到有读取操作才消失,直通辅助I2C。
        {0x38,1     }, // 使用“数据准备好”中断。
        {0x6A,0x00  }, // 不使用辅助I2C。
    };

出0入0汤圆

发表于 2013-11-11 13:00:08 | 显示全部楼层
这个我最近也在想,再能读取数据之后就只怎么安排操作时序的问题了,真头疼

出0入0汤圆

发表于 2014-4-26 16:23:20 | 显示全部楼层
敢问楼主,中断的值域是怎么 计算的啊????

出0入0汤圆

发表于 2014-4-26 16:27:46 | 显示全部楼层
这个寄存器  的值是怎么计算呢?  如果我都写入 0x01   那么阈值是多少呢??

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-4-27 23:40:54 | 显示全部楼层
计算运行时间主要是用来在AHRS算法中进行数据修正的

出0入0汤圆

 楼主| 发表于 2014-4-28 18:37:04 | 显示全部楼层
FASHAOYIHAOAMO 发表于 2014-4-26 16:27
这个寄存器  的值是怎么计算呢?  如果我都写入 0x01   那么阈值是多少呢?? ...

好像我没有用到这个寄存器

出0入0汤圆

发表于 2016-5-3 19:01:18 | 显示全部楼层
我也遇到个问题,就是我想动一下就让6050产生中断,但是这个功能还是没有实现。不知道是怎么回事。

出0入0汤圆

发表于 2016-7-15 10:37:55 | 显示全部楼层
weiqifa 发表于 2016-5-3 19:01
我也遇到个问题,就是我想动一下就让6050产生中断,但是这个功能还是没有实现。不知道是怎么回事。 ...

我用MPU6500可以运一下产生中断,MPU6500        MPU_Write_Byte(MPU_MDETECT_CTRL_REG,0x80);//使能运动检测逻辑电路,但是6050好像没有这个控制位  #define MPU_MDETECT_CTRL_REG        0X69        // 我加上
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 15:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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