BMM150 · SKU U1205

MCU-150 BMM150 三轴地磁传感器资料

基于 Bosch BMM150 的三轴地磁 / 磁力计模块,适合电子罗盘、姿态辅助和磁场检测。页面重点整理 I2C 接线、地址扫描、校准和常见问题排查。

Quick Facts

  • 芯片:Bosch BMM150
  • 类型:三轴地磁 / 磁力计
  • 接口:I2C / SPI
  • 地址:0x10~0x13 待扫描确认
MCU-150 BMM150 三轴地磁传感器模块 SKU:U1205;淘宝链接已记录。
进入淘宝购买

Overview

模块介绍

BMM150 可读取 X、Y、Z 三个方向的磁场数据,常用于电子罗盘、磁场检测、导航辅助和 9 轴姿态系统中的磁力计部分。芯片本体是低压器件;模块是否支持 5V、是否带稳压或电平转换,需要以实物和模块说明为准。

三轴磁场

同时读取 X/Y/Z 三轴数据,适合判断磁场方向和强度变化。

I2C 优先

客户测试建议先用 I2C,接线少,能先用扫描程序确认地址。

需要校准

做电子罗盘时必须做磁力计校准,并远离磁铁、电机和铁件。

Wiring

Arduino UNO / Nano 接线

BMM150 接 Arduino UNO I2C 接线图
BMM150Arduino UNO / Nano说明
VCC3.3V,或按模块说明接 5V5V 支持待确认
GNDGND共地
SDAA4I2C 数据
SCLA5I2C 时钟

ESP32

ESP32 接线

BMM150 接 ESP32 I2C 接线图
BMM150ESP32说明
VCC3.3V 推荐5V 支持待确认
GNDGND共地
SDAGPIO21常用默认 SDA
SCLGPIO22常用默认 SCL

Raspberry Pi

树莓派接线

BMM150 接 Raspberry Pi I2C 接线图
BMM150Raspberry Pi 40Pin说明
VCCPin 1 / 3V3推荐 3.3V
GNDPin 6 / GND共地
SDAPin 3 / GPIO2I2C SDA
SCLPin 5 / GPIO3I2C SCL

I2C Scanner

先扫描地址

BMM150 常见地址可能是 0x10、0x11、0x12、0x13。首次使用先扫地址,再按库示例修改初始化地址。

#include <Wire.h>

void setup() {
  Wire.begin();
  Serial.begin(115200);
  while (!Serial) {}
  Serial.println("I2C Scanner");
}

void loop() {
  byte count = 0;
  for (byte address = 1; address < 127; address++) {
    Wire.beginTransmission(address);
    if (Wire.endTransmission() == 0) {
      Serial.print("Found I2C device at 0x");
      if (address < 16) Serial.print("0");
      Serial.println(address, HEX);
      count++;
    }
  }
  if (count == 0) Serial.println("No I2C devices found");
  delay(3000);
}

FAQ

常见问题

I2C 扫不到地址

检查 VCC/GND、SDA/SCL,确认主控引脚是否正确。模块也可能处于 SPI 模式,或地址/模式脚状态不符合 I2C 要求。

读数跳动

磁力计对环境磁场很敏感。请远离磁铁、电机、喇叭、继电器、铁质支架和大电流导线,必要时做平均滤波。

罗盘角度不准

电子罗盘需要做磁力计校准;倾斜使用还需要加速度计做倾斜补偿。

能不能接 5V?

BMM150 芯片本体不是 5V 器件。模块是否支持 5V 取决于板上是否有稳压/电平转换,当前 U1205 批次待确认,建议先用 3.3V。

I2C 和 SPI 接法能混用吗?

不能。I2C 与 SPI 会复用部分引脚,测试前需要确认模块接口模式和所用库的接口配置。

Customer Reply

淘宝客户简短话术

您好,这款是 BMM150 三轴地磁/磁力计模块,建议先按 I2C 接线测试。UNO/Nano 接 SDA=A4、SCL=A5;ESP32 常用 SDA=GPIO21、SCL=GPIO22。首次使用先跑 I2C Scanner,确认地址后再运行示例。

您好,磁力计对周围磁铁、电机、喇叭、铁件和大电流线很敏感,读数有波动不一定是模块坏。做电子罗盘需要先校准,并且尽量远离干扰源。

References

官方与公开资料