MPU6050开发 -- 初识
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78593609
最近项目上要用到 MPU6050 陀螺仪,以前没有接触过它。虽然在网上很容易就可以找到了需要的代码。实现了一部分功能。但是却还是对陀螺仪的工作原理不太了解,它的代码也需要分析一下,I2C通信、相关寄存器也要熟悉。我看网上多是在Arduino开发板实现的,那么在 C51单片机板上怎么实现呢,又或者 S5PV210 上怎么实现呢?带着这些问题,开始 MPU6050 的开发。
一、型号
我看了一下型号为 GY-521 MPU6050模块 三维角度传感器6DOF 三轴加速度计电子陀螺仪
可在官网下载最新的芯片手册和寄存器映射和描述,参看:MPU6050 官网
二、查看芯片手册
(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》引脚输出和信号描述
《2》典型用法
《3》所需电容规格
需要了解的小知识点:
电容的基本单位是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
额定电压,以此也可以选择电容尺寸
三、电路图
到此,硬件部分看完了!!
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78593609
MPU6050开发 -- 初识相关推荐
- MPU6050开发 -- 在 C52 单片机上测试
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78616706 用了三篇文章,从 MPU6050的初识,相关基本概念,到 I2 ...
- MPU6050开发 -- 进阶之I2C/SPI通信协议
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78611309 上一篇基本概念讲了一通,大体上对MPU6050有了一个了解.对 ...
- MPU6050开发 -- 卡尔曼滤波(转)
MPU6050开发 -- 卡尔曼滤波 转载于:https://www.cnblogs.com/LittleTiger/p/10735074.html
- MPU6050开发 -- 测试程序分析
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78623928 上一篇文章再 C52 单片机上进行了测试,那么接下来我们就分析 ...
- MPU6050开发 -- 数据分析
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78661851 上一篇文章结尾,留了一些思考问题.现在只是得到MPU6050的 ...
- Android开发--初识多线程/线程的创建,开启,休眠,中断
在Android开发中有一项非常重要的技术---多线程,本文针对线程的创建,开启,休眠和中断做介绍. 如同在JAVA开发中一样,在Android中,提供了两种方法创建线程,一种是通过Thread类的构 ...
- MPU6050开发 -- Linux下测试
之前在C52单片机上有过测试,可以获取原数据和姿态角,但是卡尔曼滤波并未实现.现在想在S5PV210 Linux下进行测试.接下来看一下怎么做. 一.查看 S5PV210 I2C接口 查看J7端子,发 ...
- MPU6050开发 -- 卡尔曼滤波
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78687974 上一篇文章有讲到卡尔曼滤波了,现在需要将其添加到我们之前的C5 ...
- 01-ESP8266 NodeMCU 物联网开发初识
Author:teacherXue 一.认识ESP8266 NodeMCU ESP8266 是 Espressif Systems 生产的 Wi-Fi 片上系统 (SoC).它非常适合物联网和家庭自动 ...
最新文章
- CloudCompare的介绍
- linux内存之buff/cache
- 函数 单片机glint_GL 库函数
- SAP HANA中的SLT简介
- python创建按钮_掌握Python之Tkinter按钮组件的创建及使用
- 《构建之法》阅读笔记01
- android js调试
- python 内推_[宜配屋]听图阁
- 虚拟机下挂载CentOS 镜像并配置yum本地镜像源
- 弹出页面,弹出框,$(‘‘).modal({});模态框
- es6 babel编译
- mysql数据库获得树的节点
- gradle下载很慢的解决方式
- python函数长度单位换算_长度单位换算表-在线长度单位转换器
- python3用turtle模块画一棵随机樱花树
- JavaScript打开窗口
- vbs脚本在服务器上虚拟按键,怎么用VBS代码实现模拟键盘按键?
- CAS4.0配置Mysql数据库,认证失败
- 椭圆曲线公钥密码体制
- 细胞膜包覆的负载二氧化锰药物|透明质酸修饰红细胞膜包覆紫杉醇脂质液晶纳米粒(齐岳生物)