MPU6050工作原理陀螺仪传感器怎么和RS485接在一起啊

后使用快捷导航没有帐号?
请完成以下验证码
查看: 46436|回复: 20
看看大牛讲MPU6050
在线时间631 小时
威望1107分
芯币7979枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
本帖最后由 dj狂人 于
16:51 编辑
& && &&&MPU6050模块是InvenSense公司推出的一款低成本的6轴传感器模块,包括三轴加速度,三轴角速度。
其体积小巧,用途非常广。做平衡小车,四轴飞行器,飞行鼠标等等,都是必不可少而且是最优的传感器解
决方案。本人根据自己的一些实际工作经验和使用体会来谈谈MPU6050的相关问题吧,抛砖引玉,如有不当
之处,欢迎大家批评指正。
& && & 不论是做平衡还是四轴飞行器,关键的问题在于两方面,一是模块姿态的确定,通常需要用到积分运算
与卡尔曼滤波算法,需要较强的数学功底与编程能力,二是稳定控制,方法比较单一,就是经典的PID控制算
法,难点在于需要根据实际情况调整PID的参数,需要做实验确定,不难,只是费时间。因此以下主要分析姿
态确定问题。
& && & 虽然6050模块能够输出三轴加速度和三轴角速度的数据,但实际应用的时候,直接使用的确不是这些量,
而是需要根据这些数据解算出三轴的角度数据。比如平衡小车,需要算出 模块的俯仰角,然后控制算法根据角
度大小控制小车轮子的移动。四轴飞行器需要根据俯仰角度、滚转角度,和飞行指令来调节四个电机的转速。
& && & 从6轴的原始数据得到三轴的角度计算是一个比较复杂的运动学解算过程,有的童鞋可能会说,不就是三轴
角速度积分不就行了吗?这就是没有实践,想当然的说法。有三点需要注意的问题:
1.三轴姿态的解算不能直接积分。因为三轴是有耦合的,只有在三轴角度为小角度的时候可以这么算,角度大了以后,
比如60度了,这么算的误差就很大。标准的做法是用四元数的方法做姿态解算,积分的方法可以用4阶龙格-库塔法,或
者4阶Gill法。详情请参考:航空航天器运动的建模——飞行动力学的理论基础 肖业伦著 北京航空航天大学出版社。
2.积分运算的累积误差。角速度积分运算是有累积误差的,累积误差在短时间内表现不明显,只要零点漂移处理得好了,
1分钟以内的漂移都不大,但时间长了,就会有累积误差,5分钟就漂到不知道哪里去了。
3.角速率零点漂移。所谓零点漂移就是模块静止的时候,我们认为正常的输出应该是0,或者均值为0的数据,但是实际
上6050的输出不是,可能在2°/s或者其他,而且每次都不一样,如果不校准,别说1分钟了,10秒钟误差就有20度。
根据上面的分析,似乎要获得角度非常困难呀。又有些聪明的朋友会想,用角速率积分这么麻烦,我不怎么算好了,条条
大路通罗马,为啥非得用这个方法。6050不是能输出加速度吗?我用重力在3轴的分量的反正切值,作为滚转角和俯仰角不久行了。
用加速度计算的确也是一种方法,但使用加速度也有三方面的问题:
1.无法在动态情况下使用,使用重力的来解算姿态的前提条件是模块本身没有加速度,因此模块输出的三轴加速度值,
正好是重力在模块本体坐标系下的分量,从而能够求出俯仰和滚转的姿态角度。一旦模块运动起来,这种方法就傻了,
因为模块无法分辨出哪些是重力的分量,那些是模块本身的加速度引起的。目前市面上很多倾角仪就是这种思路,但问题
就是没法在动态情况下使用,最简单的测试方法就是把模块水平放置桌面上,缓慢运动,发现X,Y轴的角度基本不变化,
都在0度左右,一旦快速运动起来,X,Y轴就显示有很大的角度了。而实际上模块一直水平,没有变化。
2.精度差。6050模块的加速度本身的精度不高,就算是在静态情况下,角度测量的精度也只能到1°左右。
3.三轴耦合问题。利用加速度求解姿态的时候,也会有三轴耦合的问题,因为姿态表示与坐标旋转顺序有关,这样只有一种
一个轴能用反正切值计算,另一个轴不能用反正切值计算。
& && &&&那么怎么才能得到高精度不漂移的三轴角度呢?陀螺仪精度高,但时间长了会有漂移,加速度动态精度差,但没有长期漂移。
能否综合利用陀螺仪和加速度计的特点,优势互补获得准确的姿态角度呢?答案是肯定的,方法就是用卡尔曼滤波做数据融合。
大致的思路是将模块的姿态用四元素表示,作为系统的状态量,模块的姿态运动学方程作为滤波的状态转移方程,加速度信息作
为滤波的观察量信息,然后利用卡尔曼滤波的计算方法迭代计算更新,详细的过程可以参考惯性导航方面的书籍。不过卡尔曼滤波
算法比较复杂,需要用到矩阵运算等等,数学功底和编程基础要求都较高,不是初学者能够快速掌握的。而且MPU6050模块是IIC
接口输出的,也给初学者带来了不少障碍与困难。
在线时间631 小时
威望1107分
芯币7979枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
这是从别的论坛中看到的,觉得不错就转过来了。不懂这样是否侵权,如果有的话告知下,马上删
在线时间631 小时
威望1107分
芯币7979枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
论坛里面有在DIY四轴的吗,一起讨论下
在线时间1543 小时
威望6430分
芯币4323枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 6430, 距离下一级还需 3570 积分
五彩晶圆(高级), 积分 6430, 距离下一级还需 3570 积分
总能在你这里,看到PID等等之类的,一些详细的说明。O(∩_∩)O哈哈~
是因为最近在折腾这方面的。发现网上的资料的都好散,有详细讲的但又不到那个层次比较费理解,发现些通俗易懂的就转过来了&
在线时间631 小时
威望1107分
芯币7979枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
总能在你这里,看到PID等等之类的,一些详细的说明。O(∩_∩)O哈哈~
哈哈&&是因为最近在折腾这方面的。发现网上的资料的都好散,有详细讲的但又不到那个层次比较费理解,发现些通俗易懂的就转过来了
呵呵,支持。&
在线时间1543 小时
威望6430分
芯币4323枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 6430, 距离下一级还需 3570 积分
五彩晶圆(高级), 积分 6430, 距离下一级还需 3570 积分
哈哈&&是因为最近在折腾这方面的。发现网上的资料的都好散,有详细讲的但又不到那个层次比较费理解,发现 ...
呵呵,支持。
在线时间2006 小时
威望1629分
芯币12911枚
E金币260枚
TA的帖子TA的资源
纯净的硅(高级), 积分 1629, 距离下一级还需 371 积分
纯净的硅(高级), 积分 1629, 距离下一级还需 371 积分
光有陀螺仪和加速度计,计算出来的角度也不是最可靠的
这个看怎么处理,处理好就可靠。不过Z轴确实会飘,的加电子罗盘进行校正&
So what......
在线时间631 小时
威望1107分
芯币7979枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
光有陀螺仪和加速度计,计算出来的角度也不是最可靠的
这个看怎么处理,处理好就可靠。不过Z轴确实会飘,的加电子罗盘进行校正
楼主 咋么用电子罗盘校正MPU6050的Z轴? 这个小白有点不会啊!!可否告知一下下?????????&
在线时间660 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 94, 距离下一级还需 106 积分
一粒金砂(中级), 积分 94, 距离下一级还需 106 积分
在线时间98 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
这个看怎么处理,处理好就可靠。不过Z轴确实会飘,的加电子罗盘进行校正
楼主 咋么用电子罗盘校正MPU6050的Z轴? 这个小白有点不会啊!!可否告知一下下?????????
这个我还没调通,你可以百度下九轴(MPU6050+HMC5883L)数据融合&
在线时间90 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 30, 距离下一级还需 170 积分
一粒金砂(中级), 积分 30, 距离下一级还需 170 积分
电子罗盘校正MPU6050的Z轴?
是的。MPU6050单纯的只使用陀螺仪求出的原始角速度数据的话并不适用于姿态解算,因为他的积分过程会让误差越来越大。所以他里面还有三轴加速度计用于辅助陀螺仪,但加速度计也没不适用于矫正Z轴,所以Z轴的矫正需要&
在线时间631 小时
威望1107分
芯币7979枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
楼主 咋么用电子罗盘校正MPU6050的Z轴? 这个小白有点不会啊!!可否告知一下下?????????
这个我还没调通,你可以百度下九轴(MPU6050+HMC5883L)数据融合
在线时间631 小时
威望1107分
芯币7979枚
TA的帖子TA的资源
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
纯净的硅(中级), 积分 1107, 距离下一级还需 93 积分
电子罗盘校正MPU6050的Z轴?
是的。MPU6050单纯的只使用陀螺仪求出的原始角速度数据的话并不适用于姿态解算,因为他的积分过程会让误差越来越大。所以他里面还有三轴加速度计用于辅助陀螺仪,但加速度计也没不适用于矫正Z轴,所以Z轴的矫正需要陀螺仪来完成。具体可百度“MPU6050+HMC5883L九轴数据融合”
在线时间3 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
这几天做自平衡小车,看了好几种滤波,发现就一阶互补滤波最简单,就一行,卡尔曼太复杂了,表示看不懂,但实际通过数据观察,发现其实效果相差不大(当然卡尔曼是最好的)。PID方面极客工坊精华里面有很多,大家有兴趣可以去看看
在线时间28 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
觉得分析的很透彻
在线时间2 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
在线时间14 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
在线时间3 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
有没有人今年电赛搞小车的
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
在线时间12 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
有没有人今年电赛搞小车的
今年有小车么
论坛测评队员
EEWORLD 官方微信
Powered by你知道倾角传感器 加速度传感器 陀螺仪怎么组装在一起_百度知道
你知道倾角传感器 加速度传感器 陀螺仪怎么组装在一起
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
forcheer知道合伙人
采纳数:32
获赞数:107
擅长:暂未定制
组装 还是 封装?组装的话 直接Lay在PCB板上就好了 封装的话 非常困难,不过可以直接购买ADI的10轴或者6轴模块
zhblhei知道合伙人
采纳数:43
获赞数:187
做成PCBA就可以了。
来自:求助得到的回答
匿名用户知道合伙人
这三个主要区别是什么呢,功能、作用区别在那呢
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。MPU6050教程_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
MPU6050教程
阅读已结束,下载本文需要
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩7页未读,
定制HR最喜欢的简历
你可能喜欢平衡车之mpu6050调试及问题总结
这里重点讲解AD0的作用,I2C通讯中从机是要有地址的,以区别多个从机。当AD0管脚接低电平的时候,从机地址是0x68。从MPU6050的寄存器中我们可以得到答案,MPU6050作为一个IIC从机设备的时候,有8位地址,高7位的地址是固定的,就是WHOAMI寄存器的默认——0x68,最低的一位是由AD0的连线决定的。
AD0接GND时候,高8位的最后一位是0 所以整个iic从几地址就是0x68
AD1接VCC时候, 高8位的最后一位是1 所以整个iic从几地址就是0x69
读取原始数据这个过程中一个很重要的思路就是一步一步,确保每步都对之后就很容易读出正确的数据
其实正点原子的和平衡车之家的程序都设置了INT平时为高电平 平衡车之家没有关闭中断,并且设置了INT引脚为B5 低电平触发中断。而正点原子的直接在mpu6050初始化的时候就关闭了中断
INT引脚触发中断设置:
在mpu6050.c中
#define DEFAULT_MPU_HZ (200)//外部中断时间200 改小时间变大
这个是fifo更新速率,而INT中断就是fifo更新的时候触发中断
i这里有两个inv_mpu.c文件两个参考链接:
介绍的比较好,对于我当时研究DMP库起了很大作用。
重点: 1.一直出现mpu_set_sensor complete .....问题的原因:
(1) 供电不稳定
(2)iic引脚接错了 sda和scl
(3)接mpu6050的杜邦线一定要短并且要可靠 用胶枪粘住避免松动
2.卡尔曼,互补滤波打印出来角度值变化很慢愿原因:
当这个获取角度函数是在main中的时候就会出现这种情况,当获取角度值放在5ms定是中断里面的时候角度值变化正常,,,,我估计原因是获取角度函数如果放在转函数while(1)中和printf一起时候,printf在发送数据时候耗时很长,导致mpu6050采集时间很慢,而放在定时器中断mpu6050就可以很稳定的时间进行实时采集。。。。。DMP不存在这个情况,放在主函数和printf共存的时候也可以正常显示角度。
MPU6050工作原理及STM32控制MPU6050
关于MPU6050姿态解算的理解与认识
Arduino uno + mpu6050 陀螺仪 运用卡尔曼滤波姿态解算实验
MPU6050应用详解
MPU6050的数据获取、分析与处理
MPU6050配置中断读取数据
MPU6050调试实录
平衡车之角度环分析及调试
MPU6050开发 -- 初识
没有更多推荐了,在淘宝看见陀螺仪模块mpu6050买了一个使用单片机控制不知道用。_百度知道
在淘宝看见陀螺仪模块mpu6050买了一个使用单片机控制不知道用。
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
jz100001知道合伙人
采纳数:449
获赞数:739
擅长:暂未定制
mpu6050不好用,我原以为它能测偏角,买了一个后结果发现直接输出的是三个线加速度和角加速度,一般人根本用不着。想测遥控器的倾角来3D遥控航模、小车的朋友应该选择MMA7361加速度倾角传感器或者带倾角算法的“串口陀螺仪模块”。如果你需要的仍是线、角加速度,附件上是我调试mpu6050时做的程序,有点乱,凑合着用吧
ningling_21知道合伙人
来自电脑网络类芝麻团
ningling_21
采纳数:1209
获赞数:2831
参与团队:
看配套的资料和例程,多看几遍应该能看懂并会用,不过还是需要其它知识的补充。
he_123456知道合伙人
采纳数:1569
获赞数:2010
有配套的例程呀,数字接口的传感器走通程序读出数据很容易的。把这款6轴传感器用好需要更多的不是单片机知识,而是运动学、动力学......
为你推荐:
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 mpu6050陀螺仪原理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信