极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: johnsonzzd

MPU 6050 读角度与单位换算

  [复制链接]
发表于 2012-11-21 16:21:12 | 显示全部楼层
编译不通过,什么原因呢

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2012-11-21 16:28:02 | 显示全部楼层
楼上的解决了 把mpu6050.h和mpu6050.cpp替换成链接的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-11-21 20:59:02 | 显示全部楼层
对了,换成arduino ide最新的版本试试。
回复 支持 反对

使用道具 举报

发表于 2012-12-17 12:23:53 | 显示全部楼层
请问为什么我的只看到这个:
Initializing I2C devices...
Testing device connections...
MPU6050 connection successful

Send any character to begin DMP programming and demo:

就没有别的内容了。我是用V5的传感器扩展板,接线上需要注意什么吗?
回复 支持 反对

使用道具 举报

发表于 2012-12-17 12:51:06 | 显示全部楼层
一切都好了
回复 支持 反对

使用道具 举报

发表于 2012-12-17 12:52:22 | 显示全部楼层
请问这个对DMP操作能输出三个轴向的旋转角度吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-17 16:58:12 | 显示全部楼层
本帖最后由 johnsonzzd 于 2012-12-17 16:59 编辑
zrbwork 发表于 2012-12-17 12:52
请问这个对DMP操作能输出三个轴向的旋转角度吗


程序第130行,从DMP里取出三个轴的角度放入数组ypr里
回复 支持 反对

使用道具 举报

发表于 2012-12-17 22:00:48 | 显示全部楼层
johnsonzzd 发表于 2012-12-17 16:58
程序第130行,从DMP里取出三个轴的角度放入数组ypr里

谢谢回头试试,我主要想得到水平的角度去驱动舵机
回复 支持 反对

使用道具 举报

发表于 2012-12-17 22:01:33 | 显示全部楼层
johnsonzzd 发表于 2012-12-17 16:58
程序第130行,从DMP里取出三个轴的角度放入数组ypr里

谢谢回头试试,我主要想得到水平的角度去驱动舵机
回复 支持 反对

使用道具 举报

发表于 2012-12-28 17:57:33 | 显示全部楼层
zrbwork 发表于 2012-12-17 22:01
谢谢回头试试,我主要想得到水平的角度去驱动舵机

ypr[]中的ypr[0]*180/M_PI是Z轴旋转角度,ypr[1]*180/M_PI是Y轴的旋转角度,ypr[2]*180/M_PI是X轴的旋转角度。
另外MPU6050的库都是使用的四元数矩阵得出的角度,如果想要四元数的程序直接打开mpu6050的库文件夹,里面的helper_3Dmath.h里面就有详细的说明。

另关于YawPitchRoll的说明:http://zh.wikipedia.org/wiki/%E6%97%8B%E8%BD%AC%E7%9F%A9%E9%98%B5
回复 支持 反对

使用道具 举报

发表于 2012-12-28 18:55:37 | 显示全部楼层
不知道这个读出的角度误差大不大?
回复 支持 反对

使用道具 举报

发表于 2012-12-30 19:08:27 | 显示全部楼层
utuu 发表于 2012-11-20 20:33
知道问题出在哪没呢

之前我也是一样的,omiga不跳,alpha乱跳,原因是库文件问题。
https://github.com/jrowberg/i2cdevlib
下载mpu6050的新版库文件就行了。
回复 支持 反对

使用道具 举报

发表于 2012-12-31 14:17:57 | 显示全部楼层
想问楼主这个DMP取得的Yaw,Pitch,Roll精度如何,采样率能到多少,噪声大吗,研究网上的卡尔曼滤波简化算法,研究了半天。得出的三个旋转角还是不准。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-31 22:56:07 | 显示全部楼层
seuabb 发表于 2012-12-31 14:17
想问楼主这个DMP取得的Yaw,Pitch,Roll精度如何,采样率能到多少,噪声大吗,研究网上的卡尔曼滤波简化算法, ...

MPU6050DMP内部工作原理没有公开,最近才公开了寄存器功能。现在只知道,角速度输出速率为8kHz,若开启数字低通滤波功能,则降为1kHz。加速度输出速率1kHz。外部读的速度超过输出速率没有意义,读到的都是不变值。因此我认为DMP的输出速率原则上可以高到8kHz,滞后是不可避免的。
回复 支持 反对

使用道具 举报

发表于 2013-1-1 01:15:50 | 显示全部楼层
我用最新i2cdev下载的6050DMP6代码在328P+6050板上测试,发现loop循环只有50Hz, mpu.getIntStatus(); 和mpu.getFIFOCount();这些都会等很久,搞不懂DMP不会这么慢吧?不知道是不是我板子有问题有没有人这样试过呢?    我是用示波器看        
     // blink LED to indicate activity
        blinkState = !blinkState;
        digitalWrite(LED_PIN, blinkState); 的频率的。
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 07:49 , Processed in 0.041722 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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