Arduino加速度计MPU-6050

时间:2019-02-08 19:52:41

标签: arduino accelerometer sensor

这听起来像是一个非常愚蠢的问题,所以我很抱歉这很简单,但是我无法解决。我试图了解数据提供的实时信息,例如MPU-6050:

陀螺仪-是16位数据寄存器,范围从(0 <-> 65535) 可以选择范围(±250,±500,±1000和±2000°/ sec)

如果范围设置为±250°/ sec,读数360/65535 = 0.0054分辨率吗?

°/ sec是什么意思,如果传感器不移动并读取零,然后快速转动,是否表示它将在设定范围内读取角度?例如,如果将范围设置为±2000°/ sec并将其移动200°,那么一旦传感器停止移动,读数将从0移至(2/65535 * 200),并继续发送该值吗?

加速度计-是一个16位数据寄存器,范围从(0 <-> 65535) 有多种量程可供选择(±2g,±4g,±8g和±16g)

如果传感器不动,则完全平整,读数将为0? 如果传感器受到2g的冲击,则最大读数将为65535(如果设置为2g,则分辨率为2/65535) 如果传感器受到16g的震动,最大读数将为65535(如果设置为16g,分辨率为16/65535)

1 个答案:

答案 0 :(得分:0)

关于MPU6050,有两个主要文档,分别是datasheetregister map

陀螺仪测量值存储在GYRO_XOUT,GYRO_YOUT,GYRO_ZOUT参数中,如您在第31页的寄存器映射文档中所见。每个参数都存储为2补正负号16位值,分为两个8位寄存器:GYRO_xOUT_L和_H。

在同一页面上,您可以看到每个满量程范围的灵敏度。例如,如果您的FSR为+/-250º/ sec,而您想测量为1º/ sec,则GYRO_xOUT参数应读取131个计数。

与加速度计相关的寄存器可以在同一文档的第29页上看到。想法是相同的,两个8位寄存器形成一个2补码带符号16位值,以及每个FSR的灵敏度值。

关于注释中的问题,如果将设备以恒定转速每秒旋转125º,则应在移动过程中读取旋转寄存器中的16375。该值来自131个计数/(°/秒)* 125°/秒= 16375个计数。