传感器接口

本小节对传感器接口进行说明。

在「小霸王Lite」两轮自平衡小车中,我们使用了一款六轴传感器 MPU-6050 模块来获取车体的运动姿态。

MPU-6050 模块
Image 4.6.1 - MPU-6050 模块

MPU-6050

MPU-6050 是 InvenSense 公司推出的全球首款整合性 6 轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时之轴间差的问题,有效减少了安装空间。

MPU-6050 内部整合了 3 轴陀螺仪和 3 轴加速度传感器,并且含有一个 IIC 从接口,可用于连接外部磁力传感器,并利用自带的数字运动处理器(DMP: Digital Motion Processor)硬件加速引擎,通过 IIC 主接口,向应用端输出完整的 9 轴融合演算数据。有了DMP,我们可以使用 InvenSense 公司提供的运动处理资料库,非常方便的实现姿态解算,降低了运动处理运算对操作系统的负荷,同时大大降低了开发难度。

MPU-6050
Image 4.6.2 - MPU-6050

MPU-6050 的主要特点:

  • 以数字形式输出 6 轴或 9 轴(需外接磁传感器)的旋转矩阵、四元数(quaternion)、欧 拉角格式(Euler Angle forma)的融合演算数据(需 DMP 支持)
  • 具有 131 LSBs/° /sec 敏感度与全格感测范围为 ±250、±500、±1000 与 ±2000° /sec 的 3 轴角速度感测器(陀螺仪)
  • 集成可程序控制,范围为 ±2g、±4g、±8g 和 ±16g 的 3 轴加速度传感器
  • 移除加速器与陀螺仪轴间敏感度,降低设定给予的影响与感测器的飘移
  • 自带数字运动处理(DMP: Digital Motion Processing)引擎可减少 MCU 复杂的融合演算 数据、感测器同步化、姿势感应等的负荷
  • 内建运作时间偏差与磁力感测器校正演算技术,免除了客户须另外进行校正的需求
  • 自带一个数字温度传感器
  • 带数字输入同步引脚(Sync pin)支持视频电子影相稳定技术与 GPS
  • 可程序控制的中断(interrupt),支持姿势识别、摇摄、画面放大缩小、滚动、快速下降 中断、 high-G 中断、零动作感应、触击感应、摇动感应功能
  • VDD 供电电压为 2.5V± 5%、 3.0V± 5%、 3.3V± 5%; VLOGIC 可低至 1.8V± 5%
  • 陀螺仪工作电流: 5mA,陀螺仪待机电流: 5uA;加速器工作电流: 500uA,加速器省 电模式电流: 40uA@10Hz
  • 自带 1024 字节 FIFO,有助于降低系统功耗
  • 高达 400Khz 的 IIC 通信接口
  • 超小封装尺寸: 4x4x0.9mm( QFN)

MPU-6050 的内部框图:

MPU-6050 内部框图
Image 4.6.3 - MPU-6050 内部框图

其中, SCL 和 SDA 连接 MCU 的 IIC 主接口, MCU 通过这个 IIC 接口来控制 MPU-6050, 另外还有一个 IIC 从接口: AUX_CL 和 AUX_DA,这个接口可用来连接外部从设备,比如磁传感 器,这样就可以组成一个九轴传感器。 VLOGIC 是 IO 口电压,该引脚最低可以到 1.8v,我们 一般直接接 VDD 即可。 AD0 是从 IIC 接口(接 MCU)的地址控制引脚,该引脚控制 IIC 地址 的最低位。如果接 GND,则 MPU6050 的 IIC 地址是: 0X68,如果接 VDD,则是 0X69,注意: 这里的地址是不包含数据传输的最低位的(最低位用来表示读写)!! MPU-6050 模块上, AD0 默认是接 GND 的,所以此时 MPU-6050 的 IIC 地址是 0X68(不含最低位)。