MPU6050加速度计和陀螺仪模块
的MPU6050模块是微型机电系统(微机电系统),其中包括一个三轴加速度计和三轴陀螺仪。这有助于我们测量一个系统或物体的加速度、速度、方向、位移和许多其他与运动相关的参数。
MPU6050引出线的配置
密码 |
销的名字 |
描述 |
1 |
Vcc |
为模块供电,可为+3V ~ +5V。通常使用+5V |
2 |
地面 |
与系统接地连接 |
3. |
串行时钟(sci) |
用于为I2C通信提供时钟脉冲 |
4 |
串行数据(SDA) |
用于通过I2C通信进行数据传输 |
5 |
辅助串行数据(XDA) |
可与其他I2C模块对接。它是可选的 |
6 |
辅助串行时钟(XCL) |
可与其他I2C模块对接。它是可选的 |
7 |
AD0 |
如果一个MCU使用了多个MPU6050,那么可以使用这个引脚来改变地址 |
8 |
中断(INT) |
中断引脚,表示数据可供MCU读取。 |
MPU6050特性
- MEMS 3-aixs加速度计和3轴陀螺仪值的组合
- 电源:3-5V
- 通讯方式:I2C协议
- 内置16位ADC,精度高
- 内置DMP,计算能力强
- 是否可以与其他IIC设备(如磁力计)连接
- 可配置的IIC地址
- 内置温度传感器
更多功能和技术规范可在MPU6050数据表附在文章的底部。
选择MPU6050
ADXL335(3轴加速度计),ADXL345(3轴加速度计),MPU9250(9轴IMU)
MPU6050在哪里使用
MPU6050是一种微型机电系统(微机电系统),其中包括一个三轴加速度计和三轴陀螺仪。这有助于我们测量一个系统或物体的加速度、速度、方向、位移和许多其他与运动相关的参数。该模块内部还有一个强大的数字运动处理器(DMP),可以执行复杂的计算,从而为微控制器腾出工作。
该模块还有两个辅助引脚,可用于接口外部IIC模块,如磁力计,但它是可选的。因为模块的IIC地址可以配置多个MPU6050传感器可以使用AD0引脚与微控制器接口。这个模块也有很好的文档和修订的库,因此它非常容易与著名的平台,如Arduino使用。所以如果你正在寻找一种传感器来控制你的运动钢筋混凝土车,无人机,自平衡机器人,人形,两足动物或者类似的东西,那么这个传感器可能是你的正确选择。
如何使用MPU6050传感器
该模块的硬件非常简单,它实际上由MPU6050如上面所示的主要组件。由于模块工作在3.3V,电压调节器也被使用。IIC线使用一个4.7k电阻拉高,中断引脚使用另一个4.7k电阻拉低。
MPU6050模块允许我们通过IIC总线从它读取数据。运动中的任何变化都会反映在机械系统上,而机械系统又会改变电压。然后,IC有一个16位ADC,它使用准确读取这些变化的电压和存储在FIFO缓冲区,并使INT(中断)引脚走高。这意味着数据已经准备好被读取,所以我们使用一个MCU通过IIC通信从这个FIFO缓冲区读取数据。虽然听起来很简单,但在实际尝试理解数据时,您可能会遇到一些问题。然而,有很多像Arduino这样的平台,你可以利用下面解释的现成库立即开始使用这个模块。
接口MPU6050与Arduino
这很容易接口MPU6050与Arudino这要归功于Jeff Rowberg开发的库。你可以从下面的链接下载这个库
Jeff Rowberg MPU6050 Arudino图书馆
将此库添加到Arduino IDE后,按照下面的原理图在您的Arduino和MPU6050.
库提供了两个示例程序,可以在File -> Examples -> MPU6050中找到。在这两个示例中,一个将提供原始值,而另一个将使用DMP提供优化值。可以使用这个示例程序获得以下数据值。
- 四元数分量[w, x, y, z]
- 欧拉角
- 偏航、俯仰,滚
- 现实世界中加速
- 世界坐标系的加速度
- 茶壶发明感觉价值
在所有这些数据中,我们常用的是偏航,俯仰,滚转。然而,库能够执行更多的功能,并且可以用于不同的目的。一旦程序被上传,打开串行监视器并将其设置为115200波特率,您应该看到数据正在屏幕上打印。
应用程序
- 用于IMU测量
- 无人机/四轴直升机
- 自平衡机器人
- 机械臂的控制
- 类人机器人
- 倾斜传感器
- 方向/旋转探测器
MPU6050的2D模型