当前位置:首页 > 聚焦财报 > 正文内容

小安派BW21-CBV-Kit入门教程之MPU6050 IMU零点检测

聚亿千财2025-07-05聚焦财报3797

作为一款本地AI图象识别开发板,BW21-CBV-Kit它能够独自运行目标识别模型。2.4GHz+5GHz的双频Wi-Fi,提供高性能的无线传输能力,让图象传输更加流畅。丰富的接口,搭配着AI识别,可以扩展出无限可能。

BW21-CBV-Kit支持Arduino的开发方式,可以简单实现一些DIY想法,例如:人脸识别、手势识别、物品识别等。

这次小安给大家带来的是MPU6050 IMU 零点检测:

用料

BW21-CBV-Kit x 1

MPU6050 x 1

示例

简介

本示例将演示如何校准 MPU6050 IMU。

实现流程

如下图所示,将 MPU6050 连接到电路板的 I2C_SDA 和 I2C_SCL

e2e8971a-559f-11f0-b715-92fbcf53809c.png

在 "文件"->"示例"->"AmebaWire"->"MPU6050"->"MPU6050_IMU_Zero "中打开示例。

如果 MPU6050 已具备一下条件:

· 是同类产品中的理想成员

· 已适当预热

· 处于中立位置

· 处于重力拉力正好为 1g 的位置

· 已装入最佳偏置

则所有加速度和位移都将报告为 0,但 Z 加速度除外,它将报告为 16384(即 214)。 您的设备可能不会做得这么好,但良好的偏移都会使基线输出接近这些目标值。 将 MPU6050 放置在水平的平面上,让其工作 5-10 分钟,使其温度趋于稳定。

编译并运行此示例。 一行"--已完成--"将表明它已尽了最大努力。 按照当前的精度相关常量(NFast = 1000,NSlow = 10000),需要几分钟才能达到目标。 在此过程中,它会产生十几行输出,显示对于 6 个所需偏移量中的每一个偏移量,它都是:

首先,试图找到两个估计值,一个过低,一个过高;

然后,缩小括号,直到不能再缩小为止。

在 "已完成 "行上方的一行看起来类似于 [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 加速度的最佳偏移量,以此类推。

下面是运行此示例的串行监视器输出。

e320bece-559f-11f0-b715-92fbcf53809c.png

代码参考

[1] ElectronicCats 的 MPU6050 库和示例:

https://github.com/ElectronicCats/mpu6050