23034|35

655

帖子

29

TA的资源

版主

楼主
 

mpu9250 mpu6050 DMP msp430G2553程序使用SPI和IIC直接读取四元素 [复制链接]

 
本帖最后由 lb8820265 于 2015-3-16 23:06 编辑

      发现很多人用MPU6050却对DMP很是畏惧,不敢直接用,经过研究后终于在K60和MSP430G2553上成功通过DMP库直接求出四元素然后转化为欧拉角,可以5ms输出一次欧拉角,速度快,准确,简单。
Msp430G2553程序使用说明:
     程序中包含SPI与IIC两种方式,
IIC: 如果需要切换成IIC,在主函数中 注释mpu_SPI_INIT();,而I2CInit(0x68);则不需要注释
     然后在mpu_DMP.h文件中将#define use_spi注释掉
SPI: 如果需要切换成SPI,在主函数中 注释I2CInit(0x68);,而mpu_SPI_INIT();则不需要注释
    然后在mpu_DMP.h文件中不要将#define use_spi注释掉
两种模式接口如下:
mpu9250spi接口:P1.0---NCS
               P1.5---SCL
               P1.6---ADO
               P1.7---SDA
mpu9250与mpu6050接口
              GND---ADO
                P1.7---SDA
                P1.6---SCL
串口接口P1.1与P1.2波特率9600
上位机采用“虚拟串口”软件,波特率设为9600
开发平台:msp430g2553开发板

K60程序使用:
连接         :i2c 接口 B0 ---SCL      B1---SDA
                spi接口  A15---SCL      A16---SDA      A17---ADO     A14---NCS
                 uart接口 B17---RXD     B16---TXD
上位机采用“虚拟串口”软件,波特率设为115200
开发平台:K60
下面上图:

上图是实物接线。
上图为虚拟示波器,图中的红线是欧拉角,蓝线是加速度值,然后图中表中一个刻度是500个点,可见速度是相当的快的,效果也相当好。

虚拟示波器下载http://pan.baidu.com/s/1dDCOTep注意:首次使用将兼容性改为windows98

最新回复

请问这个示波器该怎么用,为什么我在上面显示不出波形   详情 回复 发表于 2020-5-31 19:59
 
点赞(1) 关注(8)
个人签名QQ:252669569

回复
举报

299

帖子

3831

TA的资源

纯净的硅(初级)

沙发
 
谢谢分享
 
 

回复

6066

帖子

92

TA的资源

裸片初长成(初级)

板凳
 
可以再详细一点,期待能分享更多精华内容!
 
 
 

回复

11

帖子

1

TA的资源

一粒金砂(初级)

4
 
谢谢诶!!!!!!!!!!11
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(初级)

5
 
赞一个                                             
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(初级)

6
 
不错,很有帮助
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

7
 
太感谢了,正要学呢
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(中级)

8
 
你是通过加速度计和陀螺仪计算的四元数,并没有融合地磁数据,我想请教楼主 MPU9250可以用SPI直接读出地磁数据吗。看手册 地磁传感器的数据接口是直接挂在I2C和辅助I2c上的。。。并不能直接SPI读取
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 
priestyoyo 发表于 2015-6-6 17:07
你是通过加速度计和陀螺仪计算的四元数,并没有融合地磁数据,我想请教楼主 MPU9250可以用SPI直接读出地磁 ...

你好,我也遇到同样的问题,请问您解决了吗?就是用SPI读取地磁数据问题,请帮忙解答一下吧,谢谢!
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

10
 
可否稍微详细点
 
 
 

回复

5

帖子

1

TA的资源

一粒金砂(初级)

11
 
我比较好奇,我一直有个疑问。MPU6050能够使用DMP,但是MPU9250能同样使用6050的dmp库吗?或者说,使用dmp库时,在哪里修改,使得其可以用在9250上?
第二个问题,dmp库能调用9250上的磁力计对融合数据进行修正吗?使得输出欧拉角的YAW角不产生漂移?

点评

首先,这里使用的不是官方的DMP库专为mpu6050设计的,只是9250在不用磁力计的时候相当于6050罢了。其实这个非官方的DMP库也有很多问题,相较于官方的库这个得出的欧拉角会有类似锯齿状的波动,我将这个弄出来不过是  详情 回复 发表于 2015-6-28 23:47
 
 
 

回复

655

帖子

29

TA的资源

版主

12
 
TPY00 发表于 2015-6-27 20:14
我比较好奇,我一直有个疑问。MPU6050能够使用DMP,但是MPU9250能同样使用6050的dmp库吗?或者说,使用dmp ...

首先,这里使用的不是官方的DMP库专为mpu6050设计的,只是9250在不用磁力计的时候相当于6050罢了。其实这个非官方的DMP库也有很多问题,相较于官方的库这个得出的欧拉角会有类似锯齿状的波动,我将这个弄出来不过是看到这个比较简单,容易移植,所以要求高还是建议使用官方的库。
第二,官方的库是有9轴合成的,这个没有。
最后我想说,其实这个DMP功能也不怎么好,用比较成熟的姿态合成算法比DMP不会差而且还可调,这里比较常用的有:APM飞控库,freeIMU库,smartIMU库,ST公司iNEMO引擎软件库,Madgwick的梯度下降推到四元素法,Mahony的互补滤波姿态算法,还有各种卡尔曼滤波法等等的。
 
个人签名QQ:252669569
 
 

回复

2

帖子

1

TA的资源

一粒金砂(初级)

13
 
不错不错 学习一下!DMP很神奇啊!
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

14
 
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

15
 
谢谢楼主,学习学习
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

16
 
lb8820265 发表于 2015-6-28 23:47
首先,这里使用的不是官方的DMP库专为mpu6050设计的,只是9250在不用磁力计的时候相当于6050罢了。其实这 ...

你好!你这个代码为我用到MSP430G2553中了,但输出的值变化很大啊,请问是不是我的代码里面哪里没弄好

点评

如果Pitch和roll变化在5度以内就算是正常的了,yaw这个是不准的,会缓慢的变化  详情 回复 发表于 2016-2-24 20:53
 
 
 

回复

655

帖子

29

TA的资源

版主

17
 
jianxi258 发表于 2016-2-24 10:22
你好!你这个代码为我用到MSP430G2553中了,但输出的值变化很大啊,请问是不是我的代码里面哪里没弄好

如果Pitch和roll变化在5度以内就算是正常的了,yaw这个是不准的,会缓慢的变化
 
个人签名QQ:252669569
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

18
 
lb8820265 发表于 2016-2-24 20:53
如果Pitch和roll变化在5度以内就算是正常的了,yaw这个是不准的,会缓慢的变化

Pitch和roll变化在-10度到+10度,但6050的原始数据变化不是很大

点评

这么大的误差确实是有些问题了,也许是延时不对,延时需要和前面定义的相近,如果还是不行那还是不要用这个方法了,这个可定制性不高。  详情 回复 发表于 2016-2-25 10:58
 
 
 

回复

655

帖子

29

TA的资源

版主

19
 
jianxi258 发表于 2016-2-25 09:55
Pitch和roll变化在-10度到+10度,但6050的原始数据变化不是很大

这么大的误差确实是有些问题了,也许是延时不对,延时需要和前面定义的相近,如果还是不行那还是不要用这个方法了,这个可定制性不高。
 
个人签名QQ:252669569
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

20
 
最近在做MSP430F5438A透過SPI與MPU9250溝通,我先讀取whoami的值,先將0x75寫入TXBUF,不過RXBUF始終顯示0xFF,想請教您,是否有需要特別設定clock frequency, 如果能提供些sample code,我會相當感激,最近剛接觸MSP430,對一切都還不是很熟悉。

点评

这个没听说过有什么特别的clock要求,Demo的话invensence官网有,不知道是不是你要的sample code。所有型号器件都有,直接支持430单片机。  详情 回复 发表于 2016-6-3 09:15
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表