首页 > 其他分享 >MPU6050开发 -- 初识

MPU6050开发 -- 初识

时间:2023-04-03 20:09:37浏览次数:59  
标签:陀螺仪 -- MPU6050 SPI 初识 接口 MPU 5% I2C


最近项目上要用到 MPU6050 陀螺仪,以前没有接触过它。虽然在网上很容易就可以找到了需要的代码。实现了一部分功能。但是却还是对陀螺仪的工作原理不太了解,它的代码也需要分析一下,I2C通信、相关寄存器也要熟悉。我看网上多是在Arduino开发板实现的,那么在 C51单片机板上怎么实现呢,又或者 S5PV210 上怎么实现呢?带着这些问题,开始 MPU6050 的开发。

一、型号

我看了一下型号为 GY-521 MPU6050模块 三维角度传感器6DOF 三轴加速度计电子陀螺仪

MPU6050开发 -- 初识_陀螺仪

可在官网下载最新的芯片手册和寄存器映射和描述,参看:MPU6050 官网

MPU6050开发 -- 初识_寄存器_02

二、查看芯片手册

(1)产品简介

MPU-60X0是世界上第一款集成 6 轴MotionTracking设备。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器 DMP( DigitalMotion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其 I2C或SPI接口输出一个9轴的信号( SPI接口仅在MPU-6000可用)。 MPU-60X0也可以通过其I2C接口连接非惯性的数字传感器,比如压力传感器。
MPU-60X0对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250, ±500, ±1000, ±2000°/秒( dps),加速度计可测范围为±2, ±4,±8, ±16g。
一个片上1024字节的FIFO,有助于降低系统功耗。和所有设备寄存器之间的通信采用 400kHz的 I2C接口或 1MHz的 SPI接口( SPI仅MPU-6000可用)。 对于需要高速传输的应用, 对寄存器的读取和中断可用 20MHz的SPI。另外,片上还内嵌了一个温度传感器和在工作环境下仅有±1%变动的振荡器。芯片尺寸4×4×0.9mm,采用QFN封装(无引线方形封装),可承受最大 10000g的冲击,并有可编程的低通滤波器。
关于电源, MPU-60X0可支持 VDD范围 2.5V±5%, 3.0V±5%,或 3.3V±5%。另外MPU-6050还有一个 VLOGIC引脚,用来为 I2C输出提供逻辑电平。 VLOGIC电压可取1.8±5%或者VDD。

(2)产品特征

数字输出6轴或9轴的旋转矩阵、四元数(quaternion)、欧拉角格式(EulerAngleforma)的融合演算数据。
具有131 LSBs/°/sec 敏感度与全格感测范围为±250、 ±500、 ±1000与±2000°/sec 的3轴角速度感测器(陀螺仪)。
可程式控制,且程式控制范围为±2g、 ±4g、 ±8g和±16g的3轴加速器。

移除加速器与陀螺仪轴间敏感度,降低设定给予的影响与感测器的飘移。
数字运动处理(DMP:DigitalMotion Processing)引擎可减少复杂的融合演算数据、 感测器同步化、 姿势感应等的负荷。 运动处理数据库支持 Android、 Linux与Windows 内建之运作时间偏差与磁力感测器校正演算技术,免除了客户须另外进行校正的需求。
以数位输出的温度传感器
以数位输入的同步引脚(Syncpin)支援视频电子影相稳定技术与GPS
可程式控制的中断(interrupt)支援姿势识别、摇摄、画面放大缩小、滚动、快速下降中断、 high-G中断、零动作感应、触击感应、摇动感应功能。
VDD供电电压为2.5V±5%、 3.0V±5%、 3.3V±5%; VDDIO为1.8V±5%
陀螺仪运作电流: 5mA, 陀螺仪待命电流: 5uA; 加速器运作电流: 500uA, 加速器省电模式电流: 40uA@10Hz
高达 400kHz 快速模式的 I2C,或最高至 20MHz 的 SPI 串行主机接口(serial hostinterface)
内建振荡器在工作温度范围内仅有±1%频率变化。 可选外部时钟输入 32.768kHz或19.2MHz

(3)使用说明

《1》引脚输出和信号描述

MPU6050开发 -- 初识_寄存器_03

MPU6050开发 -- 初识_加速度计_04

《2》典型用法

MPU6050开发 -- 初识_寄存器_05

《3》所需电容规格

MPU6050开发 -- 初识_寄存器_06

 

需要了解的小知识点:

电容的基本单位是F(法拉),其它单位还有:毫法(mF)、微法(uF)、纳法(nF)、皮法(pF)。
由于单位F 的容量太大,所以我们看到的一般都是μF、nF、pF的单位。
换算:1F=1000000μF,1μF=1000nF=1000000pF

电容规格:Ceramic, X7R, 0.1μF ±10%, 2V  是什么意思呢?

参看:全系列电容规格书

Ceramic

陶瓷介质

X7R

温度系数/特性:工作温度范围 -55℃~125℃ (军工级)

    元器件级别主要是指其工作温度范围,如下:
    商业级:0℃~+70℃
    工业级:-40℃~+85℃
    汽车级:-40℃~125℃
    军品级:-55℃~+125℃

0.1μF ±10%

0.1μF 容量,容差是±10%

2V

额定电压,以此也可以选择电容尺寸

三、电路图

MPU6050开发 -- 初识_陀螺仪_07

 

到此,硬件部分看完了!!


标签:陀螺仪,--,MPU6050,SPI,初识,接口,MPU,5%,I2C
From: https://blog.51cto.com/u_15979522/6167155

相关文章

  • S5PV210开发 -- UART 详解
    上一篇文章系统的讲了一下通信的分类,包括并行通信,串行通信。串行通信的分类,包括同步通信,异步通信。这篇文章我们主要讲一下UART 串口编程,我们并不陌生。之前讲过RS485通信,参看:UNIX再学习--RS485串口编程再者,参看:日常生活小技巧--UART回环测试一、基本概念 参看:UART--维......
  • S5PV210开发 -- 通信
    参看:串行通信基本原理参看:【51单片机】(手把手教你)串口通信-基础篇一、基本概念首先,我们先看一下什么是 通信(communication)随着计算机网络化和微积分级分布式应用系统的发展,通信的功能越来越重要。通信是指计算机与外界的信息传输,既包括计算机与计算机之间的传输,也包括计算机与外部......
  • S5PV210开发 -- Linux dd命令
    昨天群里有人询问,为什么破坏BootLoader破坏不掉。出现错误:dd:writing'/dev/mtdblock0':Operationnotpermitted我说需要插着SD卡才可以。(这个也不对,不插SD卡也可以,那这个错误还是没有搞清楚)然后我们来看一下它操作指令:  busyboxddif=/dev/zeroof=/dev/mmcblk0bs=512......
  • POJ 2773 Happy 2006 二分+容斥原理(二进制枚举或dfs)
    Happy2006TimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 14003 Accepted: 4946DescriptionTwopositiveintegersaresaidtoberelativelyprimetoeachotheriftheGreatCommonDivisor(GCD)is1.Forinstance,1,3,5,7,9...areallrelativel......
  • 日常生活小技巧 -- 文件对比工具 Beyond Compare
    BeyondCompare,文件对比工具,应用还是挺广泛的。下面我们讲一下它的下载安装使用方法。其实很简单!!下载:DownloadBeyondCompare4安装:以管理员身份运行,然后按照提示一步一步的安装即可,没什么好说的。使用:双击new->FolderCompare然后点击Browsefor选择要对比的文件然后进行比较然......
  • LIVE555再学习 -- testOnDemandRTSPServer 源码分析
    一、简介先看一下官网上的介绍:testOnDemandRTSPServer createsaRTSPserverthatcanstream,viaRTPunicast,fromvarioustypesofmediafile,ondemand.(Supportedmediatypesinclude:MPEG-1or2audioorvideo(elementarystream),includingMP3audio;MPEG-4......
  • LIVE555再学习 -- 单播、多播、广播、直播、点播 都是个啥?
    上一篇文章提到单播、多播。但是这是什么意思?接下来我们看一下。参看:搜狗--单播参看:维基百科——单播一、单播简介    Unicast,是客户端与服务器之间的点到点连接。“点到点”指每个客户端都从服务器接收远程流。仅当客户端发出请求时,才发送单播流。Unicast(单播):在客......
  • LIVE555再学习 -- testRTSPClient 实例
    上一篇文章简单看了一遍 testRTSPClient 的源码,接下来举几个应用实例加深一下。首先什么都不做修改,先执行一遍,看一下。一、执行 testRTSPClient 特么,上面的东西我没看明白。。。a=、b=、c=等等这是什么?还有我看别人分析的好像用到什么网络抓包工具,我不知道是什么工具,可能是......
  • LIVE555再学习 -- testH264VideoStreamer 源码分析
    上一篇文章我们已经讲了一部分:testH264VideoStreamer重复从H.264基本流视频文件(名为“test.264”)中读取,并使用RTP多播进行流式传输。 该程序还具有内置的RTSP服务器。Apple的“QuickTime播放器”可用于接收和播放此音频流。要使用它,让玩家打开会话的“rtsp://”URL(程序在......
  • LIVE555再学习 -- testRTSPClient 源码分析
    现在开讲 testRTSPClient。在官网这这样一段介绍,参看:RTSPclient翻译下来就是:testRTSPClient是一个命令行程序,显示如何打开和接收由RTSPURL指定的媒体流,即以rtsp://开头的URL在这个演示应用中,接收到的音频/视频数据什么也没有。但是,您可以在自己的应用程序中使用和调整此代码(......