OpenEdv-开源电子网

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

希望原子哥能写个mpu6050的教程

[复制链接]

68

主题

212

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2013-5-7
在线时间
28 小时
发表于 2013-6-11 15:59:28 | 显示全部楼层 |阅读模式
mpu6050最近好像很火的样子,集加速度计,陀螺仪,温度传感器一身,原子哥写个教程吧,我弄了好几天都没读出数据来。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

125

帖子

0

精华

高级会员

Rank: 4

积分
844
金钱
844
注册时间
2013-4-27
在线时间
120 小时
发表于 2013-6-11 19:45:07 | 显示全部楼层
工程中包含其中2个C文件,主程序添加2个头文件,直接调用MPU6050中的函数可以读取数据,I2C引脚在ii_analog.h中修改宏定义即可

MPU6050.rar

3.91 KB, 下载次数: 2101

回复 支持 反对

使用道具 举报

68

主题

212

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2013-5-7
在线时间
28 小时
 楼主| 发表于 2013-6-11 20:18:12 | 显示全部楼层
回复【2楼】红木甲板:
---------------------------------
我试了试,读出的数据好像有问题 ,特别是陀螺仪的x轴
ACC:  X=14772   Y=2344   Z=5136  
GYRO:  X=0   Y=2313   Z=0  
ACC:  X=15504   Y=2372   Z=8032  
GYRO:  X=65535   Y=64507   Z=65535  
ACC:  X=15772   Y=1772   Z=4656  
GYRO:  X=65535   Y=64507   Z=514  
ACC:  X=16560   Y=464   Z=64808  
GYRO:  X=65535   Y=63993   Z=771  
ACC:  X=17528   Y=65300   Z=62516  
GYRO:  X=65278   Y=65278   Z=0  
ACC:  X=15668   Y=64992   Z=60600  
GYRO:  X=65278   Y=64507   Z=65535  
ACC:  X=12812   Y=65320   Z=56768  
GYRO:  X=65535   Y=64251   Z=257  
ACC:  X=14144   Y=24   Z=54732  
GYRO:  X=0   Y=64507   Z=0  
ACC:  X=11700   Y=63996   Z=54644  
GYRO:  X=0   Y=0   Z=0  
ACC:  X=13136   Y=64396   Z=54680  
GYRO:  X=0   Y=257   Z=0  
ACC:  X=15240   Y=64640   Z=56196  
GYRO:  X=65278   Y=2313   Z=514  
ACC:  X=17832   Y=63788   Z=63472  
GYRO:  X=63736   Y=3855   Z=1542  
ACC:  X=12192   Y=56760   Z=2796  
GYRO:  X=63222   Y=2313   Z=2056  
ACC:  X=7716   Y=51836   Z=3464  
GYRO:  X=63479   Y=2056   Z=1542  
ACC:  X=4428   Y=50200   Z=1804  
GYRO:  X=64250   Y=1285   Z=1799  
ACC:  X=65436   Y=48116   Z=916  
GYRO:  X=65021   Y=514   Z=1285  
ACC:  X=63316   Y=48668   Z=64820  
GYRO:  X=65278   Y=514   Z=257  
ACC:  X=64580   Y=49148   Z=65404  
GYRO:  X=65535   Y=0   Z=65535  
ACC:  X=64832   Y=49168   Z=64944  
GYRO:  X=65535   Y=0   Z=0  
ACC:  X=63932   Y=48692   Z=64312  
GYRO:  X=65535   Y=0   Z=65535  
ACC:  X=63948   Y=49036   Z=64504  
GYRO:  X=65535   Y=65535   Z=65535
我的main函数是
#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "iic_analog.h"
#include "MPU6050.h"
int main(void)
 {
  u16 acc_x,acc_y,acc_z,gy_x,gy_y,gy_z;
delay_init();      //延时初始化
uart_init(9600);//串口初始化为9600
Sys_Configuration();
MPU6050_Inital();
while(1)
{
    acc_x= getAccX();
acc_y= getAccY();
acc_z= getAccZ();
gy_x= getGyroX();
gy_y= getGyroY();
gy_z= getGyroZ();

printf("ACC:  X=%d   Y=%d   Z=%d  \n",acc_x,acc_y,acc_z);
printf("GYRO:  X=%d   Y=%d   Z=%d  \n",gy_x,gy_y,gy_z);
delay_ms(50);
}    
 }

能帮我看看是哪里的问题么?
回复 支持 反对

使用道具 举报

8

主题

125

帖子

0

精华

高级会员

Rank: 4

积分
844
金钱
844
注册时间
2013-4-27
在线时间
120 小时
发表于 2013-6-11 21:24:46 | 显示全部楼层
数据特别大65535什么的应该是溢出了,MPU6050是三轴加速度和三轴角加速度,静止状态角加速度应该在0左右,加速度数值会受重力加速度影响
回复 支持 反对

使用道具 举报

8

主题

125

帖子

0

精华

高级会员

Rank: 4

积分
844
金钱
844
注册时间
2013-4-27
在线时间
120 小时
发表于 2013-6-11 21:29:43 | 显示全部楼层
准确的讲那个不是溢出啊,其实是负数
回复 支持 反对

使用道具 举报

68

主题

212

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2013-5-7
在线时间
28 小时
 楼主| 发表于 2013-6-12 16:07:26 | 显示全部楼层
回复【5楼】红木甲板:
---------------------------------
总感觉你给的程序有点问题,sda在读数据的时候io要配置成输入啊,你的程序忘了配置了好像

对了,你要做四轴还是平衡车?现在做到啥地步了?
回复 支持 反对

使用道具 举报

8

主题

125

帖子

0

精华

高级会员

Rank: 4

积分
844
金钱
844
注册时间
2013-4-27
在线时间
120 小时
发表于 2013-6-13 12:57:38 | 显示全部楼层
回复【6楼】maxuejia:
---------------------------------
想做个四轴飞控的,开没开工,要考研,估计明年才正式开始做吧
回复 支持 反对

使用道具 举报

68

主题

212

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2013-5-7
在线时间
28 小时
 楼主| 发表于 2013-6-16 15:34:01 | 显示全部楼层
回复【7楼】红木甲板:
---------------------------------
我知道问题所在了,是数据类型的问题,是signed。。直接抄的网上的main函数。。。也没仔细看
回复 支持 反对

使用道具 举报

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
发表于 2013-8-31 10:33:25 | 显示全部楼层
回复【8楼】maxuejia:
---------------------------------
哥们,你那个程序你修改完,读出的数据准确吗
回复 支持 反对

使用道具 举报

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
发表于 2013-8-31 10:37:07 | 显示全部楼层
回复【7楼】红木甲板:
---------------------------------
哥们,你开始做四轴了吗
回复 支持 反对

使用道具 举报

8

主题

125

帖子

0

精华

高级会员

Rank: 4

积分
844
金钱
844
注册时间
2013-4-27
在线时间
120 小时
发表于 2013-8-31 13:12:09 | 显示全部楼层
回复【10楼】qq382663074:
---------------------------------
飞控板定制PCB了,自己做着玩的,我不玩国赛,不用陪各位国赛控制组童鞋蛋疼了
回复 支持 反对

使用道具 举报

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
发表于 2013-8-31 13:19:05 | 显示全部楼层
回复【11楼】红木甲板:
---------------------------------
恩恩,你那两个头文件测试过了,能用是吧?我等会试试你的头文件
回复 支持 反对

使用道具 举报

8

主题

125

帖子

0

精华

高级会员

Rank: 4

积分
844
金钱
844
注册时间
2013-4-27
在线时间
120 小时
发表于 2013-8-31 13:21:39 | 显示全部楼层
回复【12楼】qq382663074:
---------------------------------
就是买MPU6050送的驱动代码,直接修改宏定义里面的引脚,然后直接调用函数读数据就可以了
回复 支持 反对

使用道具 举报

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
发表于 2013-8-31 14:21:14 | 显示全部楼层
回复【13楼】红木甲板:
---------------------------------
恩恩,对了,你有用上位机调试过吗
回复 支持 反对

使用道具 举报

8

主题

125

帖子

0

精华

高级会员

Rank: 4

积分
844
金钱
844
注册时间
2013-4-27
在线时间
120 小时
发表于 2013-8-31 14:38:19 | 显示全部楼层
回复【14楼】qq382663074:
---------------------------------
还没,用串口调试助手看的数据,原始数据还行
回复 支持 反对

使用道具 举报

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
发表于 2013-8-31 15:54:30 | 显示全部楼层
恩恩,好的
回复 支持 反对

使用道具 举报

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
发表于 2013-9-4 10:51:20 | 显示全部楼层
回复【16楼】qq382663074:
---------------------------------
哥们,那个接口在哪里设置?怎么没找到
回复 支持 反对

使用道具 举报

50

主题

270

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2013-2-2
在线时间
0 小时
发表于 2013-9-4 11:09:21 | 显示全部楼层
---------------------------------回复【15楼】红木甲板:
---------------------------------
找到了
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2013-9-13
在线时间
2 小时
发表于 2013-9-13 02:39:28 | 显示全部楼层
用过,居然可以用....
不过貌似加速度和偏移值错了
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2013-9-13
在线时间
2 小时
发表于 2013-9-13 02:39:46 | 显示全部楼层
回复【19楼】huoteihj:
---------------------------------
是位置调转了....
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2014-4-26
在线时间
1 小时
发表于 2014-12-7 23:06:27 | 显示全部楼层
去阿莫论坛上看看http://www.amobbs.com/thread-5581033-1-1.html
这是我写的教程
如果要下载所有的东西,我已经整理放在
http://pan.baidu.com/s/1o69Kkxs
回复 支持 反对

使用道具 举报

12

主题

91

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2014-10-9
在线时间
145 小时
发表于 2015-3-23 19:22:56 | 显示全部楼层
回复【21楼】12ycli:
---------------------------------
谢谢大神的资料
回复 支持 反对

使用道具 举报

68

主题

212

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2013-5-7
在线时间
28 小时
 楼主| 发表于 2015-3-25 00:20:04 | 显示全部楼层
回复【21楼】12ycli:
---------------------------------
厉害啊
回复 支持 反对

使用道具 举报

4

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2014-5-30
在线时间
4 小时
发表于 2015-4-20 00:50:32 | 显示全部楼层
回复【23楼】maxuejia:
---------------------------------
我用的一楼的程序读出来的数据都是0xffff,  怎么回事啊?
也许似乎大概是,然而未必不见得。
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-5-5
在线时间
7 小时
发表于 2015-5-22 21:55:33 | 显示全部楼层
用20楼的程序读出来都是-1,有人知道什么回事吗?菜鸟一枚啊啊啊
回复 支持 反对

使用道具 举报

9

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2015-4-22
在线时间
0 小时
发表于 2015-8-2 01:12:30 | 显示全部楼层
STM32 不是有硬件IIC吗,为什么大家都用软件模拟啊?
回复 支持 反对

使用道具 举报

24

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2015-7-24
在线时间
32 小时
发表于 2015-8-2 20:00:05 | 显示全部楼层
回复【26楼】小白110:
---------------------------------
容易移植
回复 支持 反对

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2016-4-27
在线时间
5 小时
发表于 2016-4-27 23:56:26 | 显示全部楼层
12ycli 发表于 2014-12-7 23:06
去阿莫论坛上看看http://www.amobbs.com/thread-5581033-1-1.html
这是我写的教程
如果要下载所有的东西 ...

大神,你的链接失效了,能再发一个吗,感激不尽
回复 支持 反对

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2016-4-27
在线时间
5 小时
发表于 2016-4-27 23:57:34 | 显示全部楼层
小丶胖 发表于 2015-3-23 19:22
回复【21楼】12ycli:
---------------------------------
谢谢大神的资料

大神,您还有上面的资料吗,上面的链接失效了
回复 支持 反对

使用道具 举报

9

主题

92

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1134
金钱
1134
注册时间
2014-7-25
在线时间
176 小时
发表于 2016-4-28 17:13:54 | 显示全部楼层
小白110 发表于 2015-8-2 01:12
STM32 不是有硬件IIC吗,为什么大家都用软件模拟啊?

硬件IIC会有BUG,
回复 支持 反对

使用道具 举报

28

主题

86

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-5-19
在线时间
64 小时
发表于 2017-11-5 20:02:44 | 显示全部楼层
兄弟 还在么。想请问一下。我用了你的代码,但是打印不出来数据。。。我在宏定义下改了下管脚,打印出来的数据全是0
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-6 22:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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