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行,不要的一概抛弃(比如我没磁传感器)我就把他条件编译代码全删掉。