有没有人成功移植MPU6050的DMP库
官网上的程序是基于430的,本人目前正移植DMP库到STM32上,按照官网的说明,将i2c_write和i2c_read改为自己的函数,中断改为active_high,把timestamp去掉了。编译成功后运行,发现没有读到四元数,fifo为空。若我不使用DMP库,程序能正确运行,fifo也有数据。觉得问题出在没有正确使用DMP库,我看了下代码,将固件库写入MPU6050没有出错,其他代码也是从官网样例程序直接copy过来了,现在不知道该怎么办?论坛中已经有人成功移植了,想请教请教,我的问题出在哪? 同样期待中 我们的软件也没有成功移植,现在在请在一位数学博士老师在协助搞。 我后来又转向了MSP430,选择官方程序使用的类似的单片机型号,copy官方的代码,已经能运行DMP,读到了四元数 Mxj 发表于 2013-5-8 09:01 static/image/common/back.gif我后来又转向了MSP430,选择官方程序使用的类似的单片机型号,copy官方的代码,已经能运行DMP,读到了四元 ...
想問一下 yaw 會漂走嗎? 楼主能再贴出来数据么? 怎么没找到MPU6050的官网,楼主给发个链接呗 残忆视觉 发表于 2013-5-9 16:13 static/image/common/back.gif
怎么没找到MPU6050的官网,楼主给发个链接呗
http://www.invensense.com/
这个就是了 我在pic32上移植成功了 并不很难 做好timer i2c exInt的接口就好了 直接读取四元数 wscjun 发表于 2013-5-9 18:22 static/image/common/back.gif
http://www.invensense.com/
这个就是了
MPU6050的DMP库,咋没找到呢 残忆视觉 发表于 2013-5-9 20:12 static/image/common/back.gif
MPU6050的DMP库,咋没找到呢
嗯,这个在support标签下的developers corner子标签下面,在这里注册之后就能找到了。我当初也是找了好久。 风见流雅 发表于 2013-5-9 19:42 static/image/common/back.gif
我在pic32上移植成功了 并不很难 做好timer i2c exInt的接口就好了 直接读取四元数 ...
那个四元数怎么处理了?能不能给个计算公式? 风见流雅 发表于 2013-5-9 19:42 static/image/common/back.gif
我在pic32上移植成功了 并不很难 做好timer i2c exInt的接口就好了 直接读取四元数 ...
能不能具体指教一下详细做法呢? 求教啊 ???求大神详细教程一下, wscjun 发表于 2013-5-9 21:37 static/image/common/back.gif
嗯,这个在support标签下的developers corner子标签下面,在这里注册之后就能找到了。我当初也是找了好久 ...
能发到论坛上来吗 h4-breeze 发表于 2013-6-16 01:04 static/image/common/back.gif
能发到论坛上来吗
发什么??DMP的库??这个帖子里面有的哦http://www.amobbs.com/thread-5528472-1-1.html wscjun 发表于 2013-6-16 14:48 static/image/common/back.gif
发什么??DMP的库??这个帖子里面有的哦http://www.amobbs.com/thread-5528472-1-1.html ...
嗯,对,刚刚找到了,谢谢你 楼主,430那个程序怎样改动能得到四元数,我用的TI官方的那个MSP430F5529开发板,程序一点头绪都没有啊。。。 Mxj 发表于 2013-5-8 09:01 static/image/common/back.gif
我后来又转向了MSP430,选择官方程序使用的类似的单片机型号,copy官方的代码,已经能运行DMP,读到了四元 ...
能不能问下那个四元数该怎么处理?能不能给个计算公式?我现在就是想测量下角度,
dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors, &more);
if (sensors & INV_WXYZ_QUAT )
{
q0=quat / q30;
q1=quat / q30;
q2=quat / q30;
q3=quat / q30;
Pitch= asin(-2 * q1 * q3 + 2 * q0* q2)* 57.3; // pitch
Roll = atan2(2 * q2 * q3 + 2 * q0 * q1, -2 * q1 * q1 - 2 * q2* q2 + 1)* 57.3; // roll
Yaw = atan2(2*(q1*q2 + q0*q3),q0*q0+q1*q1-q2*q2-q3*q3) * 57.3;
}我的水平时候经过补偿很准,但是垂直的时候都数是85都 roll 好东西,正在学习中 cctsao1008 发表于 2013-5-8 13:36 static/image/common/back.gif
想問一下 yaw 會漂走嗎?
我的偏航也会漂 谢谢楼主 正在调试中。。。。
{:smile:}{:smile:}{:smile:} 在论坛搜索STM32 mpu6050 机能看到那些帖子了,已经有很多人做出来了,还有一些错误提示呢,加油吧 有个已经移植成功的帖子的, 可以看一下, 直接拿过来用啊!! Mxj 发表于 2013-5-8 09:01
我后来又转向了MSP430,选择官方程序使用的类似的单片机型号,copy官方的代码,已经能运行DMP,读到了四元 ...
你用MSP430是什么编译器啊我怎么编译总是出错啊我用的是哦IAR 电气工程化动自 发表于 2014-4-2 19:43
你用MSP430是什么编译器啊我怎么编译总是出错啊我用的是哦IAR
我用的也是IAR,TI官方也有他们自己的编译器,你可以去试试 Mxj 发表于 2014-4-3 08:47
我用的也是IAR,TI官方也有他们自己的编译器,你可以去试试
那你用的是官方的MPU9150驱动程序吗? 我在编译的时候老是显示错误 电气工程化动自 发表于 2014-4-3 13:20
那你用的是官方的MPU9150驱动程序吗? 我在编译的时候老是显示错误
电气工程化动自 发表于 2014-4-3 13:20
那你用的是官方的MPU9150驱动程序吗? 我在编译的时候老是显示错误
能不能分享你一份你的MPU6050或MPU9150驱动程序啊 电气工程化动自 发表于 2014-4-3 13:21
能不能分享你一份你的MPU6050或MPU9150驱动程序啊
隔的时间有点久,也不知道对不对了,是MPU6050的代码,你试试 Mxj 发表于 2014-4-3 16:05
隔的时间有点久,也不知道对不对了,是MPU6050的代码,你试试
非常感谢你啦我正在调试 我相信应该可以的啦 电气工程化动自 发表于 2014-4-3 16:23
非常感谢你啦我正在调试 我相信应该可以的啦
楼主,你用的是什么型号的MSP430单片机,不会真的是5528的吧,我在改装成5438时,和449是老出问题 但是5528的单片机网上都是那种封装的,无法焊接 请教一下楼主是用的什么型号的单片机 cctsao1008 发表于 2013-5-8 13:36
想問一下 yaw 會漂走嗎?
yaw
漂移是跟磁力计的引入有关系吧,没有磁力计去纠正积分时间久了就飘了.. 我也是FIFO 一直为空 invensense mpu6050 DMP库移植mark!!!
页:
[1]