MPU6050加速度计和陀螺仪模块
的MPU6050模块是一个微型机电系统(微机电系统),其中包含一个3轴加速度计和3轴陀螺仪。这有助于我们测量加速度、速度、方向、位移和许多其他与系统或物体运动相关的参数。
MPU6050引出线的配置
密码 |
销的名字 |
描述 |
1 |
Vcc |
为模块供电,电压范围为+3V ~ +5V。通常使用+5V |
2 |
地面 |
与系统接地连接 |
3. |
串行时钟(sci) |
用于为I2C通信提供时钟脉冲 |
4 |
串行数据(SDA) |
用于I2C通信传输数据 |
5 |
辅助串行数据(XDA) |
MPU6050可与其他I2C模块接口。它是可选的 |
6 |
辅助串行时钟(XCL) |
MPU6050可与其他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是一种微型机电系统(微机电系统),其中包含一个3轴加速度计和3轴陀螺仪。这有助于我们测量加速度、速度、方向、位移和许多其他与系统或物体运动相关的参数。该模块还内置了一个数字运动处理器(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测量
- 无人机/四轴直升机
- 自平衡机器人
- 机械臂的控制
- 类人机器人
- 倾斜传感器
- 定向/旋转探测器