gadwgdsk77gg 发表于 2013-5-19 18:31:34

lotsbiss 发表于 2013-5-19 16:47 static/image/common/back.gif
这个真不清楚···
我用的时候没有在这卡过
都是直接就过去了··

可不可以把你那个程序分享一下呢?在线等待

gadwgdsk77gg 发表于 2013-5-19 18:32:37

gadwgdsk77gg 发表于 2013-5-19 18:31 static/image/common/back.gif
可不可以把你那个程序分享一下呢?在线等待

苦逼了2天,飞行器上基本没有什么问题,卡在这个传感器上好久了

WUST_LJS 发表于 2013-5-19 19:24:46

感谢分享!!

mtjjjjj 发表于 2013-5-19 20:05:50

顶了,很好的资料

gadwgdsk77gg 发表于 2013-5-19 22:36:56

你的移植好的stm32的程序不可以分享吗

windless 发表于 2013-5-20 16:43:33

mcu1234mcu 发表于 2013-5-16 09:34 static/image/common/back.gif
请问这个函数是什么意思?

reg_int_cb(void (*cb)(void), unsigned char port, unsigned char pin) ...

我看了很多,这个也不清楚是什么意思,用pic32移植很方便,库函数跟msp430很相近。

wscjun 发表于 2013-5-21 00:10:24

楼主你好,我想问一下“四元数,默认是long,得转换成float后除以 1073741824.0f,然后就能使用了,顺序是wxyz
为什么是除以1073741824

lotsbiss 发表于 2013-5-21 09:12:55

wscjun 发表于 2013-5-21 00:10 static/image/common/back.gif
楼主你好,我想问一下“四元数,默认是long,得转换成float后除以 1073741824.0f,然后就能使用了,顺序是w ...

这个我也不知道
官方给的范例里就这么处理的
在源代码\simple_apps\msp430\motion-driver-client\motion-driver-client.py里面
有QUAT_SENS= 1073741824.0这么一句

lotsbiss 发表于 2013-5-21 09:16:54

mcu1234mcu 发表于 2013-5-16 09:34 static/image/common/back.gif
请问这个函数是什么意思?

reg_int_cb(void (*cb)(void), unsigned char port, unsigned char pin) ...

cb应该是call back的缩写,用来初始化tap_cb,android_orient_cb这一类函数的
我直接把这个给注释掉了
因为我只需要四元数

michael.yang 发表于 2013-5-21 09:29:22

markmarkmark

wscjun 发表于 2013-5-21 10:03:35

yssdsz 发表于 2013-5-18 20:44 static/image/common/back.gif
mark~~~~

哈哈 看头像就知道飞思卡尔的哈{:biggrin:} 亲切

wscjun 发表于 2013-5-21 10:04:31

lotsbiss 发表于 2013-5-21 09:12 static/image/common/back.gif
这个我也不知道
官方给的范例里就这么处理的
在源代码\simple_apps\msp430\motion-driver-client\motion- ...

嗯 {:biggrin:} 谢谢你的回答哈

tianxingweichen 发表于 2013-5-21 21:38:23

有谁能给我解释一下DMP是什么东西吗

xiaoquguang 发表于 2013-5-22 09:42:51

资料很好,谢谢了

rantingting 发表于 2013-5-22 11:28:17

以前来过,不过现在发现这个东西超级好

gadwgdsk77gg 发表于 2013-5-22 12:11:09

移植的时候能不能不使用中断,而定时去读取FIFO的内容?

windless 发表于 2013-5-22 17:32:48

gadwgdsk77gg 发表于 2013-5-19 16:39 static/image/common/back.gif
楼主大哥,可否帮忙解决一下问题
程序初始化到
result =


请问你这个问题解决了没,我这里也是跟你一样的情况单独写入一个字节校验后是对的,但是写16个就不行了,就第一个字节对。

mcu1234mcu 发表于 2013-5-23 16:16:32

tianxingweichen 发表于 2013-5-21 21:38 static/image/common/back.gif
有谁能给我解释一下DMP是什么东西吗

Digital Motion Processor

mcu1234mcu 发表于 2013-5-24 09:35:42

本帖最后由 mcu1234mcu 于 2013-5-24 09:37 编辑

3333333333333333333333

mcu1234mcu 发表于 2013-5-24 09:48:07

楼主的地磁加上了吗?我这加上怎么感觉还是不对,读取地磁的ID没有问题,
mpu_set_sensors(INV_XYZ_GYRO | INV_XYZ_ACCEL | INV_XYZ_COMPASS);
修改了这个地方

159hjx 发表于 2013-5-24 16:15:20

楼主鼎力,谢谢分享{:handshake:}

kang732816702 发表于 2013-5-24 18:06:19

MARK   以后有用

wingerchen 发表于 2013-5-25 00:19:46

arduino的好用,上个图show一下:

用processing做上位机,代码就在i2cdevlib-master\Arduino\MPU6050\Examples\MPU6050_DMP6\Processing\MPUTeapot,要用到一个库,被墙了,还是坛子里的兄弟帮下下来了,在下面帖子里:http://www.amobbs.com/forum.php?mod=viewthread&tid=5535757&page=1&extra=#pid6704771

wingerchen 发表于 2013-5-25 00:22:33

不过他的PROCESSING里的代码,串口数据的同步对位处理不太好,之前一直对不上,小改了一下就OK了,注意看上图,在serialCount++;前加上 if(aligned>0)
            

hughqfb 发表于 2013-5-25 21:16:23

好资料!

mcu1234mcu 发表于 2013-5-28 11:35:05

楼主,你的地磁进行了融合了吗?

qszms 发表于 2013-5-29 13:57:40


MAKE收藏

lucky_jeck 发表于 2013-5-29 18:35:20

好玩意,赞一个。

贺喜 发表于 2013-6-3 17:54:41

看起来很强大的样子可是..不用不起

ZMHCISS 发表于 2013-6-4 14:36:39

现在应该是6轴的,没融合磁数据

geniuscode 发表于 2013-6-6 11:52:54

正在学习,搞出来了,免费发布!

mcu1234mcu 发表于 2013-6-7 09:59:06

楼主,我发现一个问题由DMP产生的四元数计算得到的pitch角在90度的时候相差比较大,测量值在85度左右,你那什么情况?

khk 发表于 2013-6-8 19:19:53

好深奥。。。

aki_studio 发表于 2013-6-8 23:27:51

刚看到代码有这个宏 AK89xx_SECONDARY
估计是 AK8973 指南针,请问DMP必须要指南针参与运算吗?

ICPACHONG 发表于 2013-6-8 23:33:38

楼主把上位机也分享一下呗!{:biggrin:}

catluoq 发表于 2013-6-10 12:46:59

我用Atmega16和BASCOM,弄出了6050的DMP四元数,初始状态的读数是1.0.0.0,数据很稳定,灵敏度也不错,但就是不太明白,W值是什么意义,望楼主解答。

liang_work 发表于 2013-6-12 00:04:50

顶起,记下先。

wingerchen 发表于 2013-6-12 05:01:36

gadwgdsk77gg 发表于 2013-5-19 16:39 static/image/common/back.gif
楼主大哥,可否帮忙解决一下问题
程序初始化到
result =


恰恰应该是I2C的问题。我用软件I2C,也搞了很久,发现地址得移位,类似这个:
I2C_SendByte(slave_addr<<1);   //发送设备地址+写信号
就是把0x68变成0xd0.
之前单字节读写不需要移位也能正常读加速度数据。一直卡在读出FIRMWARE数据对比哪里。发狠一点点调试,才发现这个问题,貌似某位老大曾经提示过这个。。。。。。

贴给你参考一下:
int msp430_i2c_write(unsigned char slave_addr,
                     unsigned char reg_addr,
                     unsigned char length,
                     unsigned char const *data)
{
    unsigned long start, cur;
    if (!length)
      return 0;

   
    I2C_Start();                  //起始信号
    I2C_SendByte(slave_addr<<1);   //发送设备地址+写信号
    I2C_SendByte(reg_addr);    //内部寄存器地址,
    int i;
    for(i=0;i<length;i++)
    I2C_SendByte(data);       //内部寄存器数据,
    I2C_Stop();                   //发送停止信号

    return 0;
}

int msp430_i2c_read(unsigned char slave_addr,
                  unsigned char reg_addr,
                  unsigned char length,
                  unsigned char *data)
{
    unsigned long start, cur;
    if (!length)
      return 0;

   
   
    int i;
    //for(i=0;i<length;i++)
    //data=Single_ReadI2C(reg_addr++);
    /**/
    I2C_Start();                   //起始信号
    I2C_SendByte(slave_addr<<1);    //发送设备地址+写信号
    I2C_SendByte(reg_addr);   //发送存储单元地址,从0开始
    I2C_Start();                   //起始信号
    I2C_SendByte((slave_addr<<1)+1);//发送设备地址+读信号
    for(i=0;i<length;i++)
    {
      data=I2C_RecvByte();       //读出寄存器数据
      if(i<length-1)
          I2C_SendACK(0);                //接收应答信号
    }
    I2C_SendACK(1);   //NACK
    I2C_Stop();                  //停止信号
   
    return 0;
}

wingerchen 发表于 2013-6-12 05:04:59

lotsbiss 发表于 2013-4-12 14:22 static/image/common/back.gif
没短消息权限,我就在这说吧
移植时注意MPU6050的i2c的地址(st.hw->addr),有0x68和0x69这2种,如果是网 ...

这个是关键中的关键啊。
写入FIREWARE读出不对的,估计基本是这个原因。

wingerchen 发表于 2013-6-12 05:58:33

attach://118386.jpg

MSP430F5438+MPU6050+PYTHON 跑起来了,谢谢LZ!

yat 发表于 2013-6-15 12:05:05

mark   MPU6050直接内置融合引擎

xixiangfeng 发表于 2013-6-15 21:50:36

LZ你好,我的DMP移植成功了,但是发现3问题:
1、静置传感器,通过上位机软件显示出姿态在慢慢漂移,好长一会儿才稳定。
2、我的上位机软件延迟比较厉害,没你的那么顺畅,不像是上位机软件问题,而像是FIFO中数据变化满,我的采样率1000,FIFO rate 100。
3、yaw的值变化幅度很小。
麻烦LZ帮我解决解决,谢谢了!
另外不懂dmp_set_orientation(inv_orientation_matrix_to_scalar(gyro_orientation) 函数及那个校正矩阵怎么回事?
谢谢!

yilinwang 发表于 2013-6-16 10:52:26

mark 强大,

eedesign 发表于 2013-6-16 11:26:50

可以直接融合吗 ?、

reAper07 发表于 2013-6-16 21:20:06

学习中。。。

bushiniu 发表于 2013-6-16 21:24:43

这个必须顶~~~楼主好人

lxh413458727 发表于 2013-6-17 09:58:54

哈哈,这都被你发现了,顶。

ajdd 发表于 2013-6-17 12:40:17

wangjt1988 发表于 2013-4-11 00:19 static/image/common/back.gif
楼主太给力了!   还有一个资料,gitlab上有大神上传过一个基于arduino的dmp,测试过,也可以用在stm32上
顶 ...

兄弟,你测试过没有?

yyd0076 发表于 2013-6-20 13:53:17

mark←_←.LZ好人

wzyllgx 发表于 2013-6-20 14:41:54

听说6050的Z轴有问题,是不是啊?

elmerhe 发表于 2013-6-21 09:12:30

楼主您好我是一名大学生 在做有关陀螺仪项目想和您请教点东西可以加下qq吗562790554

elmerhe 发表于 2013-6-21 10:54:07

求指导啊

zhcj66 发表于 2013-6-21 15:29:44

楼主 有mpu9150的代码吗

lorinis 发表于 2013-6-27 21:29:28

很好,学习中。

孤单片机器人 发表于 2013-6-28 01:14:28

很棒的一个文件

电子爱好者ABC 发表于 2013-6-29 22:40:20

学习了{:lol:}

芽芽小宝 发表于 2013-7-7 13:27:31

楼主,得到的四元数稳定吗,静止不动的时候会不会有跳动。四元数如何进一步转化为角度呢?方便加个QQ交流一下吗,381700163

芽芽小宝 发表于 2013-7-7 20:57:56

例程中gyro_orientation这个矩阵是做什么的?对应dmp_set_orientation函数。

iove 发表于 2013-7-7 21:46:28

楼主,真心好资料!原来一直没有找到关于这个DMP的说法。谢谢

灵魂重新 发表于 2013-7-8 13:18:08

高人在此,顶顶收藏

芽芽小宝 发表于 2013-7-8 22:13:03

四元数计算的初始角度如何确定?

芽芽小宝 发表于 2013-7-11 10:25:55

我读取FIFO,有时候挺长时间才能读上来(我是在一个死循环里反复读取,成功后break),有时候会很快,可能是什么原因?

I爱电子 发表于 2013-7-13 10:41:36

怎么那个PDF下载下来是.attch格式的?

pcsegment 发表于 2013-7-13 21:07:35

z值得收藏!

cshp138 发表于 2013-7-13 22:18:23

我就说为啥datasheet里提到DMP,但就是找不到相关使用文档,非常感谢LZ贡献

wujohn 发表于 2013-7-24 19:53:21

求你那么神器上位机啊!

a20084666 发表于 2013-7-24 20:15:28

顶了果然是好东西

智涅 发表于 2013-7-30 21:46:32

I爱电子 发表于 2013-7-13 10:41 static/image/common/back.gif
怎么那个PDF下载下来是.attch格式的?

可以直接+.pdf

windxiang 发表于 2013-7-31 12:44:59

哪里有上位机软件呢.

qinkaiabc 发表于 2013-7-31 14:54:56

学习ing{:loveliness:}楼主真给力

dongfo 发表于 2013-7-31 15:05:50

有空再研究

7inspire 发表于 2013-8-1 20:49:53

楼主用的什么上位机,怎么使用呀,

universe.will 发表于 2013-8-2 11:02:38

mark{:time:}

cdd329958 发表于 2013-8-3 09:43:31

catluoq 发表于 2013-6-10 12:46 static/image/common/back.gif
我用Atmega16和BASCOM,弄出了6050的DMP四元数,初始状态的读数是1.0.0.0,数据很稳定,灵敏度也不错,但就 ...

我用AVR读取MPU6050两周了,没结果,能交流一下吗?Q:1092503627

catluoq 发表于 2013-8-3 10:48:47

看看http://www.amobbs.com/forum.php?mod=redirect&goto=findpost&ptid=5539014&pid=6811835,我把自己完整的 C 代码和 BASCOM 代码都贴出来了。

I爱电子 发表于 2013-8-7 22:07:57

智涅 发表于 2013-7-30 21:46 static/image/common/back.gif
可以直接+.pdf

谢谢啊。知道了。

aaasjc 发表于 2013-8-7 22:16:29

好东西,先顶起

智涅 发表于 2013-8-10 01:46:39

mp_load_motion_driver_firmware()    一运行这个程序串口发送就乱码了,是打开失败的原因吗?是硬件模块决定的吗?我试过几次打开成功的,有什么办法解决吗?

Wo1168 发表于 2013-8-11 15:57:04

搞了好几天了。。请问他提供的源码文件inv_mpu.c中,开头让你自己定义的这几个函数怎么弄呀??
reg_int_cb(void (*cb)(void), unsigned char port, unsigned char pin)//我用的MSP430F1611模拟IIC,这个函数怎么改呀?
labs(long x)//他貌似说在TI提供的工具里,在哪哇,,,找不到额。。
fabsf(float x)//这个就直接看不懂了,望指教。。
谢谢~

bfk2003 发表于 2013-8-11 22:24:29

看看看看

xiefy21 发表于 2013-8-12 21:41:31

mark……
顶一个…

寻找钢叉的猹 发表于 2013-8-19 16:18:57

上位机好给力啊,求楼主给看看哪弄的上位机。

pengxq 发表于 2013-8-19 16:22:21

额膜拜正在学习中

pengxq 发表于 2013-8-19 16:22:47

mark,好东西

电子人cjyi 发表于 2013-8-19 20:41:09

MARK!!楼主的帖好有价值~~谢谢分享~

mummy108 发表于 2013-8-29 16:41:48

@夏伟~感谢楼主的资源

PANGKUN 发表于 2013-8-29 18:31:11

是不是这个啊

PANGKUN 发表于 2013-8-29 18:32:03

中文资料里有这两句

linhui102 发表于 2013-8-29 18:43:46

可以弱弱的问下:MPU6050直接内置融合引擎的意思是直接出来的就是角度吗?

佳哥517 发表于 2013-8-29 22:06:28

上位机很好用的样子。。。。

祥云千里 发表于 2013-8-30 13:08:04

顶一个,就是感觉不好弄

dlongry 发表于 2013-8-31 15:57:17

为什么我的mpu6050 (在优信上面买的10几元的模块)在mpu_init()的时候老是打印roduct ID read as 0 indicates device is either incompatible or an MPU3050,然道不是全部的mpu6050都支持dmp?

小瓜瓜 发表于 2013-8-31 18:28:16

我也在弄这个

neozoic 发表于 2013-8-31 19:21:48

还有这种隐藏大招啊{:titter:}

leexy 发表于 2013-8-31 19:28:28

不错   支持一下

dlongry 发表于 2013-8-31 19:57:35

已经可以了,原来是I2c驱动的原因,我在重新写了下I2C之后就可以了。但是出现了一个问题bias has not been modified ......

monroeking 发表于 2013-8-31 20:51:39

很不错的资料,先顶一下。

linhui102 发表于 2013-8-31 20:53:51

现在正努力通过6050求出姿态角,roll pitch yew,四元数,。。。好吧!我承认我连这些概念都没搞懂。。

wurenzuhe 发表于 2013-9-1 15:25:21

请问楼主 这个得到的数据是角度吗?还是别的?

NJ8888 发表于 2013-9-1 15:31:27

dlongry 发表于 2013-8-31 15:57 static/image/common/back.gif
为什么我的mpu6050 (在优信上面买的10几元的模块)在mpu_init()的时候老是打印roduct ID read as 0 indica ...

跟踪代码能看到的,我确定有个叫DMP_test的代码可以用的,只是自己要把些地方处理下,我一行行拷贝,每行都看过,把所有相关代码拷到一个文件中,大约快3000行,不要的一概抛弃(比如我没磁传感器)我就把他条件编译代码全删掉。
页: 1 [2] 3 4
查看完整版本: 终于不用纠结姿态融合的问题了,MPU6050直接内置融合引擎