搜索
bottom↓
回复: 52

新手上路,MPU6050的DMP问题

[复制链接]

出0入0汤圆

发表于 2013-6-8 20:41:50 | 显示全部楼层 |阅读模式
潜水看了一些帖子,
目前,我已经能读到MPU6050普通的加速度,陀螺仪,温度这样的值,
但看了DMP的效果,确实很诱人,有几个疑问,希望前人搞过的解答一下了,
1)怎样开启DMP,是配置某个寄存器使能一下呢,还是要给MPU6050刷新固件?(需不需要每次上电都刷?)
2)除了配置寄存器,是不是还要移植库,对平台有没有依赖?(目前网上流传的代码有AVR和SMT32的,能不能移植到cortex-M?)
3)开启DMP后,用来做四轴,还需要哪些读取哪些值?
谢谢大家了。

本帖子中包含更多资源

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

x

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入25汤圆

发表于 2013-6-8 20:46:52 | 显示全部楼层
Gif
用什么软件做的

出0入0汤圆

 楼主| 发表于 2013-6-8 20:54:54 | 显示全部楼层
本帖最后由 aki_studio 于 2013-6-8 20:56 编辑
rei1984 发表于 2013-6-8 20:46
Gif
用什么软件做的


貌似新手不能发外链,你搜一下 coocox MPU6050 driver
你的进度怎么样了?想找个进度差不多的人交流,大家一起解决遇到的问题

出0入0汤圆

发表于 2013-6-8 21:17:26 | 显示全部楼层
http://www.amobbs.com/thread-5528472-1-1.html
建议楼主看看这篇帖子

出0入0汤圆

 楼主| 发表于 2013-6-8 22:10:03 | 显示全部楼层
wscjun 发表于 2013-6-8 21:17
http://www.amobbs.com/thread-5528472-1-1.html
建议楼主看看这篇帖子

多谢,我潜心看看,能解释上面的疑问,我就在这里跟帖给大家交代下过程。

出0入0汤圆

发表于 2013-6-9 13:32:38 | 显示全部楼层
使用DMP,那个FSYNC 引脚要用到吗?

出0入0汤圆

 楼主| 发表于 2013-6-9 21:52:47 | 显示全部楼层
不清楚哦,我在试编译那个帖子提供的代码,很容易就可以编译通过,
跟了下代码
dmp_load_motion_driver_firmware(..)
        mpu_load_firmware(..)
                   mpu_write_mem(..)
                   mpu_read_mem(..)
                   memcmp(..)  失败在这一行了
...
看功能看起来像是我提的第一个疑问:1)是不是要给MPU6050刷新固件?
是先写,后读,再比较,却在这里失败了

出0入0汤圆

发表于 2013-6-9 21:57:34 | 显示全部楼层
你使用stm32读6050的数据么?能把程序发给我一份么?谢谢啦,779331420@qq.com

出0入0汤圆

 楼主| 发表于 2013-6-9 22:14:16 | 显示全部楼层
马学家 发表于 2013-6-9 21:57
你使用stm32读6050的数据么?能把程序发给我一份么?谢谢啦,

用的这个帖子的代码
http://www.amobbs.com/thread-5528472-1-1.html

貌似是MSP430平台的,默认编译时会提示遇到错误,
#error  Which gyro are you using? Define MPUxxxx in your compiler options.
加上MPU6050 和 (EMPL_TARGET_MSP430或MOTION_DRIVER_TARGET_MSP430) 这两个宏就可以编译过了

我也刚开始看,这个帖子当是笔记吧,遇到的问题将会记录在这里

出0入0汤圆

 楼主| 发表于 2013-6-9 22:23:44 | 显示全部楼层
现在将I2C的读写都打印出来,
>>>>> start
mpu_i2c_write [01]: 6b --> 80
mpu_i2c_write [01]: 6b --> 00
mpu_i2c_read  [06]: 06 <-- 00 5c ff 9b 05 58
mpu_i2c_write [01]: 1b --> 18
mpu_i2c_write [01]: 1c --> 00
mpu_i2c_write [01]: 1a --> 03
mpu_i2c_write [01]: 19 --> 13
mpu_i2c_write [01]: 1a --> 04
mpu_i2c_write [01]: 38 --> 00
mpu_i2c_read  [01]: 6a <-- 00
mpu_i2c_write [01]: 6a --> 20
mpu_i2c_write [01]: 37 --> 80
mpu_i2c_write [01]: 6b --> 40
mpu_i2c_write [01]: 6c --> 3f
mpu_i2c_write [01]: 6b --> 01
mpu_i2c_write [01]: 6c --> 00
mpu_i2c_write [01]: 38 --> 01
mpu_i2c_write [01]: 38 --> 00
mpu_i2c_write [01]: 23 --> 00
mpu_i2c_write [01]: 6a --> 00
mpu_i2c_write [01]: 6a --> 04
mpu_i2c_write [01]: 6a --> 40
mpu_i2c_write [01]: 38 --> 01
mpu_i2c_write [01]: 23 --> 78
mpu_i2c_write [01]: 19 --> 09
mpu_i2c_write [01]: 1a --> 03
mpu_write_mem..
mpu_i2c_write [02]: 6d --> 00 00
mpu_i2c_write [16]: 6f --> 00 00 70 00 00 00 00 24 00 00 00 02 00 03 00 00
mpu_read_mem..
mpu_i2c_write [02]: 6d --> 00 00
mpu_i2c_read  [16]: 6f <-- 00 2b fd e9 7c d6 f3 d3 3d ff 2f 89 2e ad ff cf
memcmp..
dmp_load_motion_driver_firmware: -2
... ...

先把代码跑起来再慢慢理解了

出0入0汤圆

 楼主| 发表于 2013-6-10 01:12:29 | 显示全部楼层
上面的dmp_load_motion_driver_firmware问题确认为i2c驱动没写好,
支持一次性写16字节之后,就pass了。明天再继续

出0入0汤圆

发表于 2013-6-10 10:07:36 | 显示全部楼层
aki_studio 发表于 2013-6-10 01:12
上面的dmp_load_motion_driver_firmware问题确认为i2c驱动没写好,
支持一次性写16字节之后,就pass了。明 ...

我刚学stm32,大二的,楼主也是大学生吧

出0入0汤圆

 楼主| 发表于 2013-6-10 19:44:53 | 显示全部楼层
本帖最后由 aki_studio 于 2013-6-10 19:54 编辑

回楼上,楼主已经工作了(原来是学物理的,仅懂一点电子,对控制理论一窍不通)
本帖告一段落,开启DMP读取欧拉角和四元数OK。
之前所提的三个疑问解答如下:
1)参照lotsbiss的帖子,需要给mpu6050刷新固件(见dmp_load_motion_driver_firmware函数)
2)移植mpu的运动库,没有平台依赖性(但是会用到浮点运算,比较烂的CPU就不要考虑了)
3)可以通过运动库读取到欧拉角和四元数(暂时不知道怎么用到PID上)
下面将继续学习PID,
特别录制了一段实际效果,向 lotsbiss 和 wscjun 致谢,这是我正在做的四轴控制板,多谢大家。

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2013-6-11 11:21:31 | 显示全部楼层
新手上路啊,顶一下

出0入0汤圆

发表于 2013-6-11 14:25:47 | 显示全部楼层
新手刚上路   
大三学生    学发动机的
完全不懂电子。。。
也想自己做个四轴
LZ给点指点吧
现在还不知道从哪里入手

出0入0汤圆

发表于 2013-6-11 14:27:01 | 显示全部楼层
aki_studio 发表于 2013-6-10 19:44
回楼上,楼主已经工作了(原来是学物理的,仅懂一点电子,对控制理论一窍不通)
本帖告一段落,开启DMP读取欧 ...

LZ
gif  里那个测试软件什么啊?能共享么?

出0入0汤圆

 楼主| 发表于 2013-6-12 07:44:16 | 显示全部楼层
reAper07 发表于 2013-6-11 14:27
LZ
gif  里那个测试软件什么啊?能共享么?

软件用vc写的,私有软件,
是这样实现的:实时解析下位机传上来的欧拉角(xyz轴的旋角),然后用openGL的glRotatef(...)对十字架做旋转,就完成了(openGL俺也只会些皮毛)

另外,
无刷四轴真危险,昨天给朋友演示一下就打坏了3个浆,这两天要淘宝新的浆,只看资料不调代码了

PID要怎么调??
哪位搞过的,介绍些比较好的帖子来看啊。。。。(表示在学校时,连PID都没听过,现在看的是稀里糊涂)

出0入0汤圆

发表于 2013-6-12 13:37:01 | 显示全部楼层
新手上路,顶一个!

出0入0汤圆

发表于 2013-7-31 14:38:03 | 显示全部楼层
问一下,欧拉角怎么读出来的,在文件上都没看到具体的操作。

出0入0汤圆

发表于 2013-9-1 12:13:56 | 显示全部楼层
我也一直卡在dmp_load_motion_driver_firmware(..),返回-2.楼主到底是怎么解决的?

出0入0汤圆

发表于 2013-9-2 01:10:28 | 显示全部楼层
高手,学习。。。。

出0入0汤圆

发表于 2013-9-5 13:46:54 | 显示全部楼层
mark。。。。。。

出0入0汤圆

发表于 2013-10-16 13:08:06 | 显示全部楼层
aki_studio 发表于 2013-6-12 07:44
软件用vc写的,私有软件,
是这样实现的:实时解析下位机传上来的欧拉角(xyz轴的旋角),然后用openGL的 ...

你好,我想问问传过来的三个欧拉角是说的是物体绕自身坐标轴旋转的角度么?我试过用这三个值直接glRotatef(xrot, 1.0 ,0.0 ,0.0);     //x轴旋转分量 glRotatef(yrot, 0.0 ,1.0 ,0.0);     //y轴旋转分量 glRotatef(zrot, 0.0 ,0.0 ,1.0);     //z轴旋转分量   这样是不行的,会出现旋转顺序的问题,那么我想问的是,是不是要通过传回来的三个物体绕自身坐标轴旋转的角度,解算出物体一次绕世界坐标系的旋转轴向以及算出旋转的角度?那么是不是要用四元数法来解算?(w,x,y,z)里面的x,y,z是不是就是传回来的三个角度?

出0入17汤圆

发表于 2013-11-26 20:13:59 | 显示全部楼层
monroeking 发表于 2013-9-1 12:13
我也一直卡在dmp_load_motion_driver_firmware(..),返回-2.楼主到底是怎么解决的?

我也卡在这里了,同求解决方案!

出0入0汤圆

发表于 2013-11-27 00:02:55 | 显示全部楼层
ilovepp 发表于 2013-11-26 20:13
我也卡在这里了,同求解决方案!

后来解决了,是I2C程序没写正确。

出0入0汤圆

发表于 2013-11-27 20:13:50 | 显示全部楼层
aki_studio 发表于 2013-6-10 19:44
回楼上,楼主已经工作了(原来是学物理的,仅懂一点电子,对控制理论一窍不通)
本帖告一段落,开启DMP读取欧 ...

楼主请问下图片中的左侧黑色那部分,有白色数据在走的也是VC程序的一部分 ?

出0入0汤圆

发表于 2013-11-27 22:56:48 | 显示全部楼层
aki_studio 发表于 2013-6-12 07:44
软件用vc写的,私有软件,
是这样实现的:实时解析下位机传上来的欧拉角(xyz轴的旋角),然后用openGL的 ...

还想请教下楼主:VC和openGL怎么联系起来啊?openGL怎么读到VC解析出来的XYZ的值啊?

出0入0汤圆

发表于 2013-11-28 09:15:21 | 显示全部楼层
mark!                                                               

出0入0汤圆

发表于 2014-1-24 20:07:36 | 显示全部楼层
我的QQ是7066482,楼主能加我的QQ聊聊么?想请教上位机的问题,定重谢!

出0入0汤圆

发表于 2014-3-3 13:16:19 | 显示全部楼层
Mark!-----

出0入0汤圆

发表于 2014-3-6 10:26:39 | 显示全部楼层
MARK!!                  

出0入0汤圆

发表于 2014-3-10 14:28:13 | 显示全部楼层
本帖最后由 huang_1688 于 2014-3-10 14:29 编辑

强人啊,时间长会不会飘 ?

出0入0汤圆

发表于 2014-3-12 10:11:31 | 显示全部楼层
这个上位机软件很爽

出0入0汤圆

发表于 2014-3-18 14:53:04 | 显示全部楼层
本帖最后由 huang_1688 于 2014-3-18 14:58 编辑

http://v.youku.com/v_show/id_XNjg2NjkxODY0.html
楼主,根据你 VC 编写的那个G i f,我也自己搞了调试软件,下位机还没开始搞。谢谢你

出0入0汤圆

发表于 2014-5-27 20:24:45 | 显示全部楼层
最近刚好也要用这个芯片!

出0入0汤圆

发表于 2014-6-21 08:20:42 | 显示全部楼层
也在搞MPU6050

出0入0汤圆

发表于 2014-7-15 21:51:49 | 显示全部楼层
aki_studio 发表于 2013-6-10 01:12
上面的dmp_load_motion_driver_firmware问题确认为i2c驱动没写好,
支持一次性写16字节之后,就pass了。明 ...

楼主,是怎么解决的啊?我也卡这了,希望楼主传授下

出0入0汤圆

发表于 2014-7-15 21:56:49 | 显示全部楼层
monroeking 发表于 2013-11-27 00:02
后来解决了,是I2C程序没写正确。

请问你具体是怎么解决的?我也是这个问题,麻烦你了

出0入0汤圆

发表于 2014-7-15 23:31:39 | 显示全部楼层
shishine 发表于 2014-7-15 21:56
请问你具体是怎么解决的?我也是这个问题,麻烦你了

I2C读与写的时序一定要正确,程序就能顺利进行下去,你是移植的么?

出0入0汤圆

发表于 2014-7-15 23:46:53 | 显示全部楼层
monroeking 发表于 2014-7-15 23:31
I2C读与写的时序一定要正确,程序就能顺利进行下去,你是移植的么?

对,我先用自己的I2C读取了基本的数据,确定I2C可以之后再移植的。现在卡在那个地方了

出0入0汤圆

发表于 2014-8-4 23:48:07 | 显示全部楼层
huang_1688 发表于 2014-3-18 14:53
楼主,根据你 VC 编写的那个G i f,我也自己搞了调试软件,下位机还没开始搞。谢谢你 ...

这个是怎么实现的啊?
还请详细解释一下,好炫的样子

出0入0汤圆

发表于 2014-8-4 23:59:26 | 显示全部楼层
上位机挺好的样子

出0入0汤圆

发表于 2014-8-5 10:47:32 | 显示全部楼层
LZ你的三维姿态图有软件吗,可不可以传一份上来,还有DMP的文件也传上来?

出0入0汤圆

发表于 2014-8-7 09:11:32 | 显示全部楼层
yanpenghao 发表于 2014-8-4 23:48
这个是怎么实现的啊?
还请详细解释一下,好炫的样子

http://www.amobbs.com/forum.php? ... p;page=1#pid7444034

出0入0汤圆

发表于 2014-8-7 16:09:29 | 显示全部楼层
huang_1688 发表于 2014-8-7 09:11
http://www.amobbs.com/forum.php?mod=viewthread&tid=5573259&page=1#pid7444034

谢谢了,已发邮件,请注意查收

出0入0汤圆

发表于 2014-8-9 10:23:35 | 显示全部楼层
aki_studio 发表于 2013-6-10 01:12
上面的dmp_load_motion_driver_firmware问题确认为i2c驱动没写好,
支持一次性写16字节之后,就pass了。明 ...

lz,我也遇到同样的问题,ID能读,但就是死在memcmp这里

出0入0汤圆

发表于 2014-8-19 11:06:18 | 显示全部楼层

出0入0汤圆

发表于 2014-8-22 22:12:31 | 显示全部楼层
这么刷固件库额,每次开机都要刷一次吗

出0入0汤圆

发表于 2014-9-25 20:20:25 | 显示全部楼层
不错,不错,真不错

出0入0汤圆

发表于 2014-9-25 20:37:51 | 显示全部楼层
公司的广泛大使馆的

出0入0汤圆

发表于 2014-10-4 20:49:20 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2014-10-11 10:33:54 | 显示全部楼层
路过,能顶一下吗

出0入0汤圆

发表于 2014-10-13 12:32:41 | 显示全部楼层
路过,也纠结过。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-9 13:16

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

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