陀螺仪、加速度计与MPU6050的关系
一.引言
要开始做俩轮平衡小车了,所以需要补充一些关于平衡小车的知识,首先就是如何让小车保持平衡,这是要依据小车当前的三轴角度和平衡位置的三轴角度做对比,然后不断地调整轮子的转动,从而使小车尽量保持平衡。
这里整理一下关于角度测量的知识,对比三种传感器:陀螺仪、加速度计、MPU6050,借此来说明选择MPU6050模块进行角度测量的优越性。
二.陀螺仪
1.官方定义
这是摘抄自百度百科的有关陀螺仪的定义:
陀螺仪是用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的一个或二个轴的角运动检测装置。利用其他原理制成的角运动检测装置起同样功能的也称陀螺仪。
2.我的理解
我理解的话,陀螺仪可以用来测量角度,并且具有高动态性(就是短时间内角度的改变测量比较准确),其本质上测量的是角速度,通过将角速度对时间积分得到角度。
3.测量原理
陀螺仪内部有一个陀螺,其轴由于陀螺效应始终与初始方向保持平行,以初始方向为基准,可以得出旋转的角速度和方向,再经过积分就可以得到角度了。
4.误差
实际中,我不会只用陀螺仪来测量角度,因为陀螺仪应用起来有很大的局限性,对长期的角度变化测量误差较大,这是由其测量原理引起的,下面总结一下陀螺仪误差的产生:
- 由于陀螺仪是用角速度积分求角度的,所以零点漂移会对其长期的使用造成不容小视的误差;
- 在电信号的测量种,一定会带有白噪声,而且陀螺仪中的白噪声会随着时间积分,长时间也会造成不小的误差;
- 马达震动所产生的加速度也会对其造成影响;
- 另外,陀螺仪对角速度的积分是离散的,长时间的积分也会出现漂移情况。
三.加速度计
1.官方定义
这是摘抄自百度百科的有关加速度计的定义:
三轴加速度传感器是基于加速度的基本原理去实现工作,具有体积小和重量轻特点,可以测量空间加速度,能够全面准确反映物体的运动性质,在航空航天、机器人、汽车和医学等领域得到广泛的应用。
2.我的理解
加速度计,顾名思义,这是测量加速度的,为什么可以测量角度呢?因为加速度计测量的是重力加速度,通过感知重力加速度在三轴上的分量即可知道旋转的角度。
3.测量原理
加速度计内部有一个三轴参考系,加速度计可以测出重力在这三个轴上的分量大小,从而得出加速度计与地面的角度关系(高中物理有讲,受力分解)。
4.误差
如果加速度计是沿着重力方向的轴转动,则加速度计无法测量出旋转的角度(无法感知水平旋转)。此外,由于加速度计的测量原理,其对于短时间内的角度变化测量误差较大,适合长时间的测量,不适合短时间测量。
四.MPU6050
陀螺仪不适合长时间测量,加速度计不适合短时间测量,如果有什么模块能将俩者的优势互补一下就好了!
MPU6050就是陀螺仪和加速度计的结合升级版,MPU6050为全球首例整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时间轴之差的问题,减少了大量的封装空间。当连接到三轴磁强计时,MPU-6050提供完整的9轴运动融合输出到其主I2C端口。
就是说,MPU6050内部内置一个三轴 MEMS 陀螺仪、一个三轴 MEMS 加速度计、一个数字运动处理引擎(DMP),通过配置,它可以精确测量角度的变化,通过DMP处理,可以输出16位的原始数据(16位ADC),然后通过算法得到四元数,再转换为欧拉角,我们就可以根据欧拉角的变化来进一步是小车处于平衡状态!
陀螺仪、加速度计与MPU6050的关系的更多相关文章
- 圆点博士 陀螺仪和加速度计MPU6050的单位换算方法
圆点博士陀螺仪和加速度计MPU6050的单位换算方法 陀螺仪和加速度计MPU6050的单位换算方法 对于四轴的初学者,可能无法理解四轴源代码里面陀螺仪和加速度数据的那些数学转换方法.下面我们来具体描述 ...
- 使用MPU6050陀螺仪自制Arduino数字量角器
MPU6050惯性单元是一个3轴加速度计和一个3轴陀螺仪组合的单元.它还包含温度传感器和DCM,可执行复杂的任务. MPU6050通常用于制作无人机和其他远程控制机器人,如自平衡机器人.在本篇文章中, ...
- 使用Arduino开发板实现与MPU6050陀螺仪传感器连接的方法
MPU6050陀螺仪传感器具有许多强大的功能,采用单芯片封装.它是由一个MEMS加速度计.一个MEMS陀螺仪和温度传感器组成.该模块在将模拟量转换为数字量时非常准确,因为每个通道都有一个16位的模数转 ...
- 玩转X-CTR100 l STM32F4 l MPU6050加速度陀螺仪传感器
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 板载加速度 ...
- STM32—驱动六轴MPU6050输出欧拉角
文章目录 一.MPU6050介绍 1.MPU6050与陀螺仪.加速度计的关系: 2.整体概括 3.引脚说明 4.基本配置及相关寄存器 电源管理寄存器1 陀螺仪配置寄存器 加速度计配置寄存器 FIFO使 ...
- 【读书笔记】iOS-加速计与陀螺仪
一,数据的“滤波” 直接从加速度计获得的原始数据,往往不能直接使用,而是需要去除一些干扰数据,这个过程称为“滤波”.“滤波”一词来源于无线电技术中对无线电信号的处理过程.事实上从数学角度而言它们是一样 ...
- 嵌入式单片机STM32应用技术(课本)
目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...
- 树莓派 连接 JY901(MPU9250) python 代码
先说BUG,最近要做项目需要树莓派和陀螺仪,资金充足的话肯定是买一个硬件卡尔曼滤波的传感器类似JY901模块,资金不足的就买MPU6050. 网上关于MPU6050在树莓派上的代码还能用,关于JY90 ...
- 第4章 初识STM32
第4章 初识STM32 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ...
随机推荐
- 在Intellij IDEA中新建Web项目
1.点击左上角 文件(F) ,--> new --> 项目 2.勾选下面的复选框,下一步就是给项目起名字和存放项目的位置 2.在Web文件下新建 clsses 和 lib文件夹:http ...
- 使用 Cron4j 表达式 在 Solon 里开发定时任务
cron4j 是一个轻量级的Java任务调度工具.cron4j-solon-plugin 是 solon 对 cron4j 的适配插件 添加 maven 引用 <dependency> & ...
- 『心善渊』Selenium3.0基础 — 27、unittest跳过测试的使用
目录 1.什么是跳过测试 2.常用的跳过测试方法和装饰器 3.跳过测试示例 4.TestCase.skipTest()方法 1.什么是跳过测试 当测试用例写完后,有些模块有改动时候,会影响到部分用例的 ...
- asp.net core 视图组件(转)
介绍视图组件 视图组件是 ASP.NET Core MVC 中的新特性,与局部视图相似,但是它们更加的强大.视图组件不使用模型绑定,只取决于调用它时所提供的数据.视图组件有以下特点: 渲染一个块,而不 ...
- 关于SOA和AOP
SOA:面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.C/S端框架有WPF,服务端应用程序有WCF.asp.net web ...
- [网络流24题]最长k可重区间集[题解]
最长 \(k\) 可重区间集 题目大意 给定实心直线 \(L\) 上 \(n\) 个开区间组成的集合 \(I\) ,和一个正整数 \(k\) ,试设计一个算法,从开区间集合 \(I\) 中选取开区间集 ...
- python使用笔记21--发邮件
发邮件需要第三方模块 pip install yamail 1 #import yagmail #--别人写的,发中文附件的时候是乱码 2 import yamail #牛牛基于yagmail改的 3 ...
- C语言:获取汉字的编码
#include <stdio.h> #include <locale.h> #include <wchar.h> int main() { setlocale(L ...
- Java中的基本数据类型和引用数据类型的区别
一.数据类型 Java中的数据类型分为两大类,基本数据类型和引用数据类型. 1.基本数据类型 基本数据类型只有8种,可按照如下分类 ①整数类型:long.int.short.byte ②浮点类型:fl ...
- unar命令解压zip文件,解决中文乱码。
unzip解压时,常出现中文乱码.可用unar来代替.