OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 23588|回复: 32

关于mpu6050的上电后姿态全初始化为0的问题

[复制链接]

7

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2014-5-12
在线时间
35 小时
发表于 2015-6-17 22:44:47 | 显示全部楼层 |阅读模式

我这里本来有一个stm32的程序,上电后的姿态会在几秒内稳定到实际姿态,倾斜着放就是倾斜着的姿态,



原子哥的程序写的也很好,但是发现原子哥给的程序上电(复位)后,无论板子怎么放,起初姿态总是是0,当然这样有这样的好处,比如平衡车直接用姿态的俯仰来作为误差来控制........我放在一起参考,发现其实两个程序都是移植DMP,基本 一模一样的,纳闷为什么一个初始化为0,一个读出实际值,无奈也分析不了DMP,只能比对两程序.发现一点细节差异....



把两个位置修改一下....可以得到复位后不为 0的姿态....其余与修改前一致



//·?????:0,????
//    ????,?§°?
u8 run_self_test(void)
{
int result;
//char test_packet[4] = {0};
long gyro[3], accel[3]; 
result = mpu_run_self_test(gyro, accel);
if (result == 0x7)                                                   //if (result == 0x3)   这里别用0x03,第一个位置
{
/* Test passed. We can trust the gyro data here, so let's push it down
* to the DMP.
*/
*************************************************************88888

/·?????:0,????
//    ????,?§°?
u8 mpu_dmp_init(void)
{
u8 res=0;
//MPU_IIC_Init();  //??????IIC×???
if(mpu_init()==0) //??????MPU6050
{  
res=mpu_set_sensors(INV_XYZ_GYRO|INV_XYZ_ACCEL);//?è???ù?è?????????÷
if(res)return 1; 
res=mpu_configure_fifo(INV_XYZ_GYRO|INV_XYZ_ACCEL);//?è??FIFO
if(res)return 2; 
res=mpu_set_sample_rate(DEFAULT_MPU_HZ); //?è?????ù??
if(res)return 3; 
res=dmp_load_motion_driver_firmware(); //????dmp????
if(res)return 4; 
res=dmp_set_orientation(inv_orientation_matrix_to_scalar(gyro_orientation));//?è????????·??ò
if(res)return 5; 
res=dmp_enable_feature(DMP_FEATURE_6X_LP_QUAT|DMP_FEATURE_TAP| //?è??dmp????
    DMP_FEATURE_ANDROID_ORIENT|DMP_FEATURE_SEND_RAW_ACCEL|DMP_FEATURE_SEND_CAL_GYRO|
    DMP_FEATURE_GYRO_CAL);
if(res)return 6; 
res=dmp_set_fifo_rate(DEFAULT_MPU_HZ); //?è??DMP????????(×??ó??????200Hz)
if(res)return 7;   
res=run_self_test(); //×??ì
// if(res)return 8;            //这个屏蔽掉,这里还不能return....................................................第二个位置
res=mpu_set_dmp_state(1); //????DMP
if(res)return 9;     
}else return 10;
return 0;

fishing,or drying the net...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

朱一尘 该用户已被删除
发表于 2016-5-21 11:25:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 1 反对 0

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-6-17 23:32:17 | 显示全部楼层
不错,谢谢分享。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2015-4-7
在线时间
1 小时
发表于 2015-10-5 14:26:40 | 显示全部楼层
屌屌屌,DMP也是四元数
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2015-1-28
在线时间
9 小时
发表于 2015-12-21 14:21:14 | 显示全部楼层
亲测有效,谢谢楼主
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2016-1-19
在线时间
9 小时
发表于 2016-1-23 16:28:32 | 显示全部楼层
非常非常感谢楼主!!!!!
回复 支持 反对

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2016-2-17
在线时间
9 小时
发表于 2016-2-19 13:50:21 | 显示全部楼层
谢谢哈
回复 支持 反对

使用道具 举报

3

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-2-14
在线时间
6 小时
发表于 2016-3-11 18:17:38 | 显示全部楼层
有没有大神解析一下的?原子哥
回复 支持 反对

使用道具 举报

朱一尘 该用户已被删除
发表于 2016-5-21 11:27:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

3

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
237
金钱
237
注册时间
2015-12-3
在线时间
33 小时
发表于 2016-6-14 17:02:14 | 显示全部楼层
赞一个
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2014-11-15
在线时间
15 小时
发表于 2016-7-28 13:36:02 | 显示全部楼层
不错,问题是如何让它迅速达到稳定状态,有没有什么好办法
回复 支持 反对

使用道具 举报

二十三画生27 该用户已被删除
发表于 2016-12-26 16:07:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-6-25
在线时间
9 小时
发表于 2017-2-7 00:34:16 | 显示全部楼层
谢谢楼主,这下楼主真是帮了大忙了,说实话为了改这个东西我已经看了一个星期的代码了,要不是楼主,不知道还得改到什么时候呢
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-6-25
在线时间
9 小时
发表于 2017-2-7 00:38:29 | 显示全部楼层
朱一尘 发表于 2016-5-21 11:25
本人最近由于研究四旋翼,开始接触了stm32,对于这个问题刚刚进行了测试,下面来说下我的理解!
******* ...

谢谢解释,看了之后受益匪浅
回复 支持 反对

使用道具 举报

7

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2014-5-12
在线时间
35 小时
 楼主| 发表于 2017-2-10 16:06:01 | 显示全部楼层
朱一尘 发表于 2016-5-21 11:25
本人最近由于研究四旋翼,开始接触了stm32,对于这个问题刚刚进行了测试,下面来说下我的理解!
******* ...

当初毕业前时间仓促,整体代码没细查,确实自检是问题所在,要细究还得看run_self_test()代码...
fishing,or drying the net...
回复 支持 反对

使用道具 举报

哎哎哎 该用户已被删除
发表于 2017-3-17 00:38:09 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-7-15
在线时间
7 小时
发表于 2017-8-9 17:18:30 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2017-8-13
在线时间
0 小时
发表于 2017-8-13 02:29:28 | 显示全部楼层
这么改,复位后会有大概十几秒到二十秒的错误数据传回来,这是怎么回事
回复 支持 反对

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2017-6-18
在线时间
29 小时
发表于 2017-9-25 23:51:46 | 显示全部楼层
非常不错   亲测可用  谢谢楼主了  
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2017-11-21
在线时间
1 小时
发表于 2017-11-24 13:42:00 | 显示全部楼层
感谢感谢
回复 支持 反对

使用道具 举报

26

主题

355

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1770
金钱
1770
注册时间
2017-4-1
在线时间
432 小时
发表于 2018-4-23 19:29:04 | 显示全部楼层
谢谢楼主 我也在找这个
回复 支持 反对

使用道具 举报

5

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2011-9-6
在线时间
10 小时
发表于 2018-9-3 15:02:02 | 显示全部楼层
本帖最后由 jingjiafei 于 2018-9-3 15:49 编辑

我改了这两个地方后,要10多秒才会稳定,怎么回事
回复 支持 反对

使用道具 举报

20

主题

86

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1107
金钱
1107
注册时间
2017-10-6
在线时间
173 小时
发表于 2018-9-8 20:31:42 | 显示全部楼层
不过这样做的话,YAW就会飘的很厉害,这该怎么解决?
回复 支持 反对

使用道具 举报

0

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2018-2-18
在线时间
14 小时
发表于 2018-9-9 22:57:21 | 显示全部楼层
亲测可用啊,太谢谢楼主了,顶!!
回复 支持 反对

使用道具 举报

20

主题

55

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
387
金钱
387
注册时间
2016-12-5
在线时间
61 小时
发表于 2018-9-17 10:31:17 | 显示全部楼层
32初学者 发表于 2018-9-8 20:31
不过这样做的话,YAW就会飘的很厉害,这该怎么解决?

我也是遇到了这种情况,请问,你解决了吗?
回复 支持 反对

使用道具 举报

20

主题

86

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1107
金钱
1107
注册时间
2017-10-6
在线时间
173 小时
发表于 2018-9-17 18:43:34 | 显示全部楼层
dai410257573 发表于 2018-9-17 10:31
我也是遇到了这种情况,请问,你解决了吗?

没有呢
回复 支持 反对

使用道具 举报

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2019-7-11
在线时间
36 小时
发表于 2019-10-21 17:05:24 | 显示全部楼层

解决了吗?YAW很飘
回复 支持 反对

使用道具 举报

2

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2019-8-12
在线时间
22 小时
发表于 2020-4-21 09:17:11 | 显示全部楼层
这样得出来的值是相对于世界坐标系的吧
回复 支持 反对

使用道具 举报

0

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
359
金钱
359
注册时间
2016-9-5
在线时间
62 小时
发表于 2020-6-22 16:02:10 | 显示全部楼层
之前朱一尘老哥解释了一下,现在该用户已被删除,哪位老哥能够再次解释一下这样改的原因呢,看了一下DMP,没太搞懂这样改的理由
回复 支持 反对

使用道具 举报

5

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
432
金钱
432
注册时间
2020-5-8
在线时间
66 小时
发表于 2020-6-22 16:53:12 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

2

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2019-3-19
在线时间
17 小时
发表于 2020-10-1 20:47:17 | 显示全部楼层
大哥啊,你太棒了~
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-9-18
在线时间
3 小时
发表于 2021-4-6 15:48:36 | 显示全部楼层
很好很实用,赞一个。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-9-18
在线时间
3 小时
发表于 2021-4-6 15:49:03 | 显示全部楼层
楼主知道,为什么原始数据不稳定,而欧拉角稳定呢?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 04:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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