-阿发- 发表于 2013-10-16 12:28:53

奋斗了几天IIC终于从MPU6050读出了数据

今天看到了串口打印出来的数字,激动了半天,之前的状况是不管怎么样 打印出来的数据都是0xff,今天重新看了下原来51程序上的IIC和MPU通信的程序,发现了没有添加应答信号,添加上之后虽能正常读出数据,可是用示波器跟踪发现了两段波形有点问题,悬在了中间,但是出于时钟线的低脉冲过程,所以没有影响数据的传出,调了半天没能去除。使用的STM32F103c8的主控,接口为SCL---PB.6;SDA---PB7。借用的原子哥的IIC函数。

Making 发表于 2013-10-31 13:34:57

怎么判断他是否 准不准呢 ?

-阿发- 发表于 2013-11-1 17:01:06

Making 发表于 2013-10-31 13:34 static/image/common/back.gif
怎么判断他是否 准不准呢 ?

X轴加速度和Z轴加速度的数据做一下反正切然后乘上57.3得到横滚角度数,串口打印出来后用手翻转看看是不是会按照你偏转的度数变化就可以简单的测试是不是准确了。
ROL = -atan2(AX,AZ)*57.3;
PITCH = atan(AY,AZ)*57.3;

DiaoMao_Huang 发表于 2013-11-1 17:09:32

祝贺啊!!

wenziheni 发表于 2013-11-2 21:19:43

{:victory:}{:victory:}{:victory:}{:victory:}

ES_SHARE 发表于 2013-11-3 13:52:56

楼主,我想问一下!读出来的数据能后怎么转换啊?是不是有个DMP库呀!在哪里有这个库

liudongyu 发表于 2013-11-3 17:47:17

好东西~~谢楼主~~

-阿发- 发表于 2013-11-5 13:34:18

ES_SHARE 发表于 2013-11-3 13:52 static/image/common/back.gif
楼主,我想问一下!读出来的数据能后怎么转换啊?是不是有个DMP库呀!在哪里有这个库 ...

是有DMP库的,在论坛里我以前好像见过,官网上应该可以找到。我没有看过这个库,如果想看静止情况下得到的数据对不对的话可以简单的用楼上我说的那个反三角函数算一下。如果要是动态中计算出姿态的话需要用到数据融合之类的东西,欧拉角,四元数;我也不是太懂。慢慢悠悠的到现在我的四轴才开始调节平衡。废了两个电调和好几个桨了(满眼都是泪。。。)。现在这个程序是用STM32F103c8主控,简单利用NRF无线模块发送小霸王游戏手柄数据控制油门加减和PID调节。现在可以将MPU的数据转换成角度去得到四路PWM波。我的还没有调好,不知道是我调节方法不对还是程序有问题。

宁采儿 发表于 2013-12-26 11:57:57

-阿发- 发表于 2013-11-5 13:34
是有DMP库的,在论坛里我以前好像见过,官网上应该可以找到。我没有看过这个库,如果想看静止情况下得到 ...

请问这位朋友你将原始数据转化为角度部分的代码用的是匿名的吧,我也是,你的能读出正常的角度么?我的不行,差的太远了。

-阿发- 发表于 2013-12-26 12:02:24

宁采儿 发表于 2013-12-26 11:57
请问这位朋友你将原始数据转化为角度部分的代码用的是匿名的吧,我也是,你的能读出正常的角度么?我的不 ...

是可以正常读出来的,你可以考虑是不是真的是2ms进入一次中断。不然的话会有延时,我遇到过你这种问题。

宁采儿 发表于 2013-12-26 12:13:57

-阿发- 发表于 2013-12-26 12:02
是可以正常读出来的,你可以考虑是不是真的是2ms进入一次中断。不然的话会有延时,我遇到过你这种问题。 ...

我下载你的代码看一下,不知道是不是这个传感器坏了还是什么,这个问题困扰我好久了

firstzys 发表于 2014-1-14 10:38:52

先标记一下

xuanfong1 发表于 2014-4-22 12:36:10

学习学习,不错不错。

zjzly 发表于 2014-12-8 19:00:13

学习,{:smile:}

hua911007 发表于 2015-1-6 09:42:48

赞一个{:smile:}
页: [1]
查看完整版本: 奋斗了几天IIC终于从MPU6050读出了数据