一.引言

要开始做俩轮平衡小车了,所以需要补充一些关于平衡小车的知识,首先就是如何让小车保持平衡,这是要依据小车当前的三轴角度和平衡位置的三轴角度做对比,然后不断地调整轮子的转动,从而使小车尽量保持平衡。
这里整理一下关于角度测量的知识,对比三种传感器:陀螺仪、加速度计、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的关系的更多相关文章

  1. 圆点博士 陀螺仪和加速度计MPU6050的单位换算方法

    圆点博士陀螺仪和加速度计MPU6050的单位换算方法 陀螺仪和加速度计MPU6050的单位换算方法 对于四轴的初学者,可能无法理解四轴源代码里面陀螺仪和加速度数据的那些数学转换方法.下面我们来具体描述 ...

  2. 使用MPU6050陀螺仪自制Arduino数字量角器

    MPU6050惯性单元是一个3轴加速度计和一个3轴陀螺仪组合的单元.它还包含温度传感器和DCM,可执行复杂的任务. MPU6050通常用于制作无人机和其他远程控制机器人,如自平衡机器人.在本篇文章中, ...

  3. 使用Arduino开发板实现与MPU6050陀螺仪传感器连接的方法

    MPU6050陀螺仪传感器具有许多强大的功能,采用单芯片封装.它是由一个MEMS加速度计.一个MEMS陀螺仪和温度传感器组成.该模块在将模拟量转换为数字量时非常准确,因为每个通道都有一个16位的模数转 ...

  4. 玩转X-CTR100 l STM32F4 l MPU6050加速度陀螺仪传感器

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 板载加速度 ...

  5. STM32—驱动六轴MPU6050输出欧拉角

    文章目录 一.MPU6050介绍 1.MPU6050与陀螺仪.加速度计的关系: 2.整体概括 3.引脚说明 4.基本配置及相关寄存器 电源管理寄存器1 陀螺仪配置寄存器 加速度计配置寄存器 FIFO使 ...

  6. 【读书笔记】iOS-加速计与陀螺仪

    一,数据的“滤波” 直接从加速度计获得的原始数据,往往不能直接使用,而是需要去除一些干扰数据,这个过程称为“滤波”.“滤波”一词来源于无线电技术中对无线电信号的处理过程.事实上从数学角度而言它们是一样 ...

  7. 嵌入式单片机STM32应用技术(课本)

    目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...

  8. 树莓派 连接 JY901(MPU9250) python 代码

    先说BUG,最近要做项目需要树莓派和陀螺仪,资金充足的话肯定是买一个硬件卡尔曼滤波的传感器类似JY901模块,资金不足的就买MPU6050. 网上关于MPU6050在树莓派上的代码还能用,关于JY90 ...

  9. 第4章 初识STM32

    第4章     初识STM32 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ...

随机推荐

  1. php操作redis集群哨兵模式

    前段时间项目里正好用到了redis的集群哨兵部署,因为此前并无了解过,所以一脸懵逼啊,查阅了几篇资料,特此综合总结一下,作为记录. 写在前沿:随着项目的扩张,对redis的依赖也越来越大,为了增强re ...

  2. 26. Remove Duplicates from Sorted Array*(快慢指针)

    description: Given a sorted array nums, remove the duplicates in-place such that each element appear ...

  3. Mysql常用语句整理

    把工作常用的mysql命令整理一下,省的用的时候在到处找 1.常用命令 1.1 登录 mysql -u root -p 1.2 生成随机数 若在 i<=R<=j 范围内生成随机数 FLOO ...

  4. python 15篇 面向对象

    1.面向对象编程概念 面向对象是包含面向过程 面向过程编程 买车: 1.4s看车,买车 2.上保险 保险公司 3.交税 地税局 4.交管所 上牌面向对象编程 卖车处: 1.4s 2.保险 3.交税 4 ...

  5. Pandas高级教程之:稀疏数据结构

    目录 简介 Spare data的例子 SparseArray SparseDtype Sparse的属性 Sparse的计算 SparseSeries 和 SparseDataFrame 简介 如果 ...

  6. C语言:赋值

    #include <stdio.h> //=赋值运算符 //具有方向性,只能将赋值号右边的表达式的值给左边的变量 //赋值语句具有计算功能,赋值号右边可以是常量,变量或表达式都可以 //赋 ...

  7. Centos7下的rabbitmq-server-3.8.11安装配置

    推荐大家看看这篇文章:https://blog.csdn.net/qq_27669839/article/details/113418827 下载安装文件 在网上去下载rabbmitmq-3.8.11 ...

  8. c++中的基本IO

    引言 c++不直接处理输入和输出,而是通过标准库中的类型处理IO.IO的设备可以是文件.控制台.string.c++主要定义了三种IO类型,分别被包含在iostream.fstream.sstream ...

  9. 微信小程序云开发-数据库-商品列表数据显示N条数据

    一.wxml文件 在wxml文件中,写页面和点击事件,添加绑定事件limitGoods  二.js文件 在js文件中写limitGoods(),使用.limit(3)表示只显示3条数据

  10. .net 5+ 知新:【2】 .Net Framework 、.Net 、 .NET Standard的概念与区别

    作为了解历史和眼睛或者过程,我们需要将 .Net Framwork ..Net. .Net Stander几个概念进行下理解. .net 代表跨平台框架,从.net 5开始就统一叫.net,废弃原来的 ...