OpenEdv-开源电子网

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

MPU6050中加速度计的校准

[复制链接]

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
发表于 2013-8-10 20:03:04 | 显示全部楼层 |阅读模式
各位高手,大家好,小弟最近在用MPU6050时遇到了个问题:传感器在水平放置时,Z轴输出的数据只有大约+0.5G左右,翻过来,理论上应该是-1G,但实际大约是-1.5G左右,其他两个X,Y轴输出正常,这是传感器坏了,还是MPU6050的加速度计没有校准?关于陀螺仪的校准,我觉得比较简单:在传感器静止不动时,测出陀螺仪各轴的偏移值,保存,以后每次的测量数据减去这个偏移值就行了。加速度计如果是没校准的话,该如何校准,期待各位的帮助。还有个问题就是关于ADC的输出值:MPU6050中每个轴的ADC是16位的,假设加速度计的量程是±2g,ADC的16位数据中,最高位为符号位,剩下的15位为数值位,2的15次方为32768,也就是当测量的加速度为2g时,输出值为32768,测量的加速度1g时,输出值为16384,这验证了数据手册上的传感器分辨率16,384  LSB/g,我现在的问题是,量程选为2G,静止时Z轴输出的数据才3000+,翻转180°,输出数据-10000+,而X,Y轴的输出原始数据范围是±6000左右,目前卡在这里,求各位大神帮帮忙~~
下面是测试时的图片:




再来张四轴的图片,希望DIY的飞控能早日搞起:




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-10 20:25:42 | 显示全部楼层
没搞过这个,帮顶.同时期待楼主早日搞定.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2013-8-10 20:32:35 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
感谢原子哥
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-10 20:38:10 | 显示全部楼层
 虽然我没搞过,不过论坛有人分享过代码,你看看这个:http://www.openedv.com/posts/list/14911.htm
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-8-10 21:52:26 | 显示全部楼层
硬件平台是自己做的还是买的?
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2013-8-11 09:02:17 | 显示全部楼层
回复【5楼】lsj9383:
---------------------------------你指的是哪个
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-8-11 10:36:43 | 显示全部楼层
回复【6楼】戴上耳机听歌:
---------------------------------
核心板。
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-8-11 10:42:53 | 显示全部楼层
话说你陀螺仪的校准方式,真是原始.....
大四轴不清楚,小四轴是肯定不行。

如果你能保证陀螺仪校准的数据的绝对正确,那么也没必要用加速度数据了。
无非就是直接转换 欧拉角。
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-8-11 10:45:02 | 显示全部楼层
把数据发回来,描图看,你这种调试方式,根本就不能直观看到数据的特性。
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2013-8-11 10:46:48 | 显示全部楼层
我在国外的MWC上也看到了同样的问题:
void ACC_init () {
  i2c_writeReg(MPU6050_ADDRESS, 0x1C, 0x10);             //ACCEL_CONFIG  -- AFS_SEL=2 (Full Scale = +/-8G)  ; ACCELL_HPF=0   //note something is wrong in the spec.
  //note: something seems to be wrong in the spec here. With AFS=2 1G = 4096 but according to my measurement: 1G=2048 (and 2048/8 = 256)
  //confirmed here: http://www.multiwii.com/forum/vi ... &start=10#p7480
  #if defined(FREEIMUv04)
    acc_1G = 255;
  #else
    acc_1G = 512;
  #endif

这是MWC开源飞控作者的代码,他的加速度计的量程选择的是+-8g,理论上1G对应的ADC输出值为4096,但他实际的测量输出值也只有2048,跟我的问题基本上一样。现在我只能这么理解了:加速度的ADC为15位或者是国外所说的“I have found that the MPU-6050 accelerometer sensitivity is half that stated in the datasheet for all ranges; ie 1g output is ~1024, ~2048, ~4096 and ~8192 for ranges 16, 8, 4 and 2 g respectively.”
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2013-8-11 10:48:30 | 显示全部楼层
回复【9楼】lsj9383:
---------------------------------
嗯,我有调试用的上位机,只是没上图,关于陀螺仪的校准,你是否有更好的方法啊
回复 支持 反对

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-8-11 11:06:59 | 显示全部楼层
回复【11楼】戴上耳机听歌:
---------------------------------
我没看过其他的飞控代码。
就是要自己想才爽。
我用的不是mpu6050.不知道它的寄存器设置是怎么回事儿。

有电子罗盘的话,就用ahrs吧,适合大四轴。
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2013-8-11 11:10:57 | 显示全部楼层
好吧
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2013-8-12 09:12:21 | 显示全部楼层
问题找到了,输出数据应该为5位数,我却只用了4位来显示,唉
回复 支持 反对

使用道具 举报

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2013-8-13
在线时间
0 小时
发表于 2013-8-31 08:38:12 | 显示全部楼层
 楼主 你的飞行器 看起来很不错 多少钱入手啊 。。 赶脚你的速度好快啊  我们的飞行器还没到呢。。。
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2013-8-31 09:04:01 | 显示全部楼层
回复【15楼】bjyddx:
---------------------------------
去年弄的,差不多花了1800+
回复 支持 反对

使用道具 举报

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2013-8-13
在线时间
0 小时
发表于 2013-8-31 10:29:15 | 显示全部楼层
回复【16楼】戴上耳机听歌:
---------------------------------
真是有先见之明。。。。  腻害啊。。。  难道要自己做飞控 么  那岂不是太难了么
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2013-8-31 14:45:51 | 显示全部楼层
回复【17楼】bjyddx:
---------------------------------
估计不是自己做飞控,4天不可能的
回复 支持 反对

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2013-7-20
在线时间
1 小时
发表于 2013-10-18 23:41:06 | 显示全部楼层
回复【楼主位】戴上耳机听歌:
---------------------------------我用mpu6050的时候也碰到问题了,你是怎么选着量程2g的?
回复 支持 反对

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2014-5-31
在线时间
0 小时
发表于 2014-6-6 19:37:48 | 显示全部楼层
回复【18楼】戴上耳机听歌:
---------------------------------
哥们儿,刚刚搞mpu6050,能把代码给小弟学习学习吗
回复 支持 反对

使用道具 举报

6

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2013-8-23
在线时间
5 小时
发表于 2014-7-7 22:48:51 | 显示全部楼层
回复【20楼】刘俊:
---------------------------------
今天弄得咋样了,我也在找数据融合的方法,现在连个温度都不能正常显示,咋两一起探讨可以么+q或微信 759646015
我即狂澜,且无法被力挽
回复 支持 反对

使用道具 举报

25

主题

139

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
259
金钱
259
注册时间
2014-5-10
在线时间
0 小时
发表于 2014-7-7 23:11:48 | 显示全部楼层
我也在研究MPU6050,我用四元数法可以读出角度值来,  是内部自己融合的数据,还算稳定
愈挫愈勇
回复 支持 反对

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2014-5-31
在线时间
0 小时
发表于 2014-7-14 11:29:07 | 显示全部楼层
回复【21楼】OIKSMT32:
---------------------------------
已经算出了姿态角
回复 支持 反对

使用道具 举报

15

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
286
金钱
286
注册时间
2014-2-17
在线时间
39 小时
发表于 2014-7-29 10:26:18 | 显示全部楼层
回复【22楼】非常完美:
---------------------------------
怎么搞怎么搞?能分享么?我现在只能读出3个加速度值,3个角速度值,还有温度的数值,怎么将其转变为角度值,然后又怎么去控制平衡呢?好苦恼
你和他之间是否已经有了真感情

 

别隐瞒

 

对我说

 

别怕我伤心
花自飘零水自流,生命不息,奋斗不止
回复 支持 反对

使用道具 举报

15

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
286
金钱
286
注册时间
2014-2-17
在线时间
39 小时
发表于 2014-7-29 10:31:16 | 显示全部楼层
回复【18楼】戴上耳机听歌:
---------------------------------
飞控做好了么?怎么实现稳定性调节呢?
花自飘零水自流,生命不息,奋斗不止
回复 支持 反对

使用道具 举报

25

主题

139

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
259
金钱
259
注册时间
2014-5-10
在线时间
0 小时
发表于 2014-7-29 16:35:51 | 显示全部楼层
回复【24楼】开荤的唐僧:
---------------------------------
DMP  融合数据,就是MPU6050内部的数字运动处理器处理的结果
愈挫愈勇
回复 支持 反对

使用道具 举报

15

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
286
金钱
286
注册时间
2014-2-17
在线时间
39 小时
发表于 2014-8-18 15:36:35 | 显示全部楼层
回复【26楼】非常完美:
---------------------------------
谢谢,我自己再多去了解了解
花自飘零水自流,生命不息,奋斗不止
回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2014-7-7
在线时间
0 小时
发表于 2014-11-7 17:24:36 | 显示全部楼层
看上去好炫酷啊! 楼主可以把代码发给我参考一下吗?万分感谢!1052178169@qq.com
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2014-11-7 17:34:16 | 显示全部楼层
回复【28楼】浮木无文:
---------------------------------
已发
回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2014-7-7
在线时间
0 小时
发表于 2014-11-7 21:28:20 | 显示全部楼层
回复【29楼】戴上耳机听歌:
---------------------------------
多谢
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2014-7-21
在线时间
0 小时
发表于 2014-12-3 10:57:25 | 显示全部楼层
求代码,我测得的2g量程和4g量程都是16384,8g量程和16g量程都是4096,楼主可知怎么回事?而wmc的代码中将加速度得到的原始数据右移了3位,将陀螺仪的原始数据右移了两位,想不明白,楼主知道为什么吗
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-12-3
在线时间
0 小时
发表于 2014-12-3 16:45:43 | 显示全部楼层
回复【31楼】风过暖城:
---------------------------------我也遇到这种问题,我QQ:472670161   ,我水平放是1G,翻转过来是2G。。
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2015-1-12
在线时间
4 小时
发表于 2015-2-9 20:44:37 | 显示全部楼层
楼主请问怎么解决的呀我差不多也是类似的问题,加速度的校准,xy轴都还好,主要是,z轴,正放0.7G,倒放1.3G,不知道怎么处理呢
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2014-12-16
在线时间
2 小时
发表于 2015-7-10 16:33:42 | 显示全部楼层
貌似那电机比较水
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2015-7-12 20:33:25 | 显示全部楼层
回复【34楼】yc_xpg:
---------------------------------
最开始玩的入门级别的,最便宜的电机,xxd2212 kv1000的
回复 支持 反对

使用道具 举报

7

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2014-9-8
在线时间
16 小时
发表于 2015-8-9 22:05:32 | 显示全部楼层
回复【35楼】戴上耳机听歌:
---------------------------------
能给我发一份6050角度矫正的的程序吗,万分感谢1697944661@qq.com
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
38
金钱
38
注册时间
2015-8-8
在线时间
10 小时
发表于 2015-10-28 17:24:23 | 显示全部楼层
回复【35楼】戴上耳机听歌:
---------------------------------
可以就把帖子上的调试代码发给我参考一下吗?谢谢楼主    wgq9410@163.com
回复 支持 反对

使用道具 举报

6

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2016-1-16
在线时间
23 小时
发表于 2016-3-2 10:14:49 | 显示全部楼层
零点偏移都是自己测得嘛?
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
30
金钱
30
注册时间
2015-2-11
在线时间
0 小时
发表于 2016-6-16 10:01:47 | 显示全部楼层
你很心细啊,不过估计是你自己做错了,mwc作者也应该错了,我设置的量程±2g,那么我1g的时候输出值在大约15210左右,2g到32768是正常的,所以量程没有问题,你对寄存器的配置出了问题,此外你注意到了加计有零飘这点很对,消除方法需要借助辅助设备,6面体,同一个轴正反一次,加和除以2就是那个轴的加速度计的零飘了,希望对你有帮助
回复 支持 反对

使用道具 举报

13

主题

101

帖子

0

精华

高级会员

Rank: 4

积分
509
金钱
509
注册时间
2016-1-4
在线时间
87 小时
发表于 2016-11-24 17:00:35 | 显示全部楼层
好贴,顶一个
回复 支持 反对

使用道具 举报

gych 该用户已被删除
发表于 2017-5-16 00:40:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

gych 该用户已被删除
发表于 2017-5-16 00:41:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-21 14:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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