当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]三轴陀螺仪传感器在制作飞行控制器、船舶/船只控制系统、方向预测以及相应微控制器控制方面非常有用。在本教程中,我们将介绍 MPU6050 陀螺仪传感器,并制作一个小型项目来了解其功能,该设备可将俯仰(Pitch)、偏航(Yaw)和滚转(Roll)读数显示在屏幕上。

三轴陀螺仪传感器在制作飞行控制器、船舶/船只控制系统、方向预测以及相应微控制器控制方面非常有用。在本教程中,我们将介绍 MPU6050 陀螺仪传感器,并制作一个小型项目来了解其功能,该设备可将俯仰(Pitch)、偏航(Yaw)和滚转(Roll)读数显示在屏幕上。

陀螺仪 vs 加速度计:

陀螺仪是一种能够测量并保持物体姿态和角速度的装置。它比加速度计更先进,可以测量物体的倾斜和横向姿态,而加速度计只能测量线性运动。

MPU6050:

MPU6050 是一种微机电系统(MEMS),包含三轴加速度计和三轴陀螺仪。它能帮助我们测量速度、姿态、加速度、位移以及其他运动特征,并处理复杂的六轴运动融合算法。该设备可通过辅助主I²C总线访问外部磁力计或其他传感器,使设备无需系统处理器干预即可采集完整的传感器数据。

特点:

· MEMS 三轴加速度计与三轴陀螺仪数据组合输出

· 电源:3-5V

· 通信协议:I2C

· 内置16位ADC,提供高精度测量

· 内置DMP,具备强大的计算能力

· 可用于与其他IIC设备(如磁力计)进行接口连接

· 支持可配置的IIC地址

· 内置温度传感器

加速度测量:

MPU6050可通过其内置的加速度计测量加速度,支持四种可编程满量程范围:±2g、±4g、±8g 和 ±16g。

MPU6050配备三个16位模数转换器,可同时采集X、Y和Z轴方向的运动信息。

角速度测量:

MPU6050可通过其内置陀螺仪测量角速度,支持四种可编程满量程范围:±250°/s、±500°/s、±1000°/s 和 ±2000°/s。

MPU6050另配有三个16位模数转换器,可同时采集围绕X、Y和Z轴的旋转信息。采样率可在每秒3.9至8000次之间调节。

I2C接口:

该模块采用I2C接口与Arduino通信,支持两个独立的I2C地址:0x68HEX 和 0x69HEX。这使得两个MPU6050可以共用同一总线,或避免与总线上其他设备发生地址冲突。

ADO引脚用于确定模块的I2C地址。该引脚内置4.7K的下拉电阻。因此,当不连接ADO引脚时,默认的I2C地址为0x68HEX;而当将其连接至3.3V时,线路会被拉高,I2C地址变为0x69HEX。您也可以通过点击此处链接来查看I2C地址。

添加外部传感器:

为了进一步提高精度,MPU6050模块支持连接外部传感器的功能。这些外部传感器通过第二条I2C总线(XDA和XCL)与MPU6050连接,该总线完全独立于主I2C总线。

这种外部连接通常用于连接一个磁力计,该磁力计可测量三个轴的磁场。MPU6050本身具有6个自由度(DOF),其中加速度计和陀螺仪各占3个自由度。加入磁力计后,传感器额外增加3个自由度,总共有9个自由度。

所需元件:

1) MPU6050

2) OLED I2C接口

3) ARDUINO UNO

4) 电源

5) 布莱德板及导线

电路连接示意图:

MPU6050和OLED均可通过I2C协议轻松连接。因此,我们修改了地址,并将两者与微控制器并联连接。5伏电源足以驱动整个系统运行。

代码:

所有库均可在Arduino IDE的库管理器中获取。

俯仰、偏航和滚转读数:

X轴:

Y轴:

Z轴:

首次初始化传感器时,请将其放置在光滑表面且无任何偏移的位置,因为微控制器的所有测量值均基于初始位置计算。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭