I2C - MPU6050_IMU_Zero
材料准备
- AmebaPro2 [ AMB82 MINI ] x 1
- MPU6050 x 1
范例说明
介绍
本范例将示范如何对 MPU6050 IMU 进行校准。
流程
将MPU6050连接到开发板的I2C_SDA和I2C_SCL,如下图所示。
在 “File” -> “Examples” -> “AmebaWire” -> “MPU6050”-> “MPU6050_IMU_Zero” 中开启范例。
如果一个MPU6050:
* 是其族群中的理想成员,
* 经过适当的预热,
* 静止在中心位置,
* 位于地心引力恰好为1g的地方,
* 并且已经载入了最佳的偏移量,
那么它将报告所有加速度和位移均为0,除了Z轴加速度,将报告16384(即2^14)。 您的设备可能不会达到这个水平,但良好的偏移量将使所有基准输出接近这些目标值。 将MPU6050放在平坦且水平的表面上并让其运行5-10分钟以稳定其温度。
编译并运行此范例。 一行「—– done —–」将表明它已完成。 使用当前的准确度相关常数(NFast = 1000,NSlow = 10000),需要几分钟的时间才能完成。 在此过程中,它将生成大约十几行的输出,显示对于每个6个所需的偏移量,它是
* 首先,尝试找到两个估计值,一个太低一个太高
* 然后,逼近直到无法使括号数值变小。
在“done”行的上一行将看起来像[567,567] –> [-1,2] [-2223,-2223] –> [0,1] [1131,1132] –> [16374, 16404] [155,156] –> [-1,1] [-25,-24] –> [0,3] [5,6] –> [0,4]。
正如在交错的标题行中所显示的那样,组成此行的六个组别分别描述了X加速度、Y加速度、Z加速度、X陀螺仪、Y陀螺仪和Z陀螺仪的最佳偏移量。 在上面的示例中,试验显示+567是X加速度的最佳偏移量,-2223是Y加速度的最佳偏移量,等等。
以下显示了运行此范例的Serial Monitor输出。
程式码说明
[1] ElectronicCats 提供的 MPU6050 函式库和范例:
https://github.com/ElectronicCats/mpu6050