MLX90393 3-Axis Magnetic Field Sensor

MLX90393 三轴磁场传感器模块资料

适用于 Arduino / 3D 位置检测 / 角度测量 / 位移传感项目的三轴霍尔传感器资料页。重点说明 I2C 接线、地址配置、Arduino 示例代码和常见排查方法。

模块类型 三轴磁场传感器
主控芯片 Melexis MLX90393
I2C/SPI通信接口
3 轴X/Y/Z 磁场
16bit每轴分辨率

参数来自 Melexis MLX90393 公开数据手册和 Adafruit 官方 Arduino 库。不同模块引脚顺序可能不同,实际以板子丝印为准。

MLX90393 数字三维霍尔传感器模块

淘宝 SKU:R2303

SKU R2303
进入淘宝购买

Overview

模块介绍

MLX90393 是 Melexis 公司推出的一款三轴霍尔效应磁场传感器芯片,可以同时测量 X、Y、Z 三个方向的磁场强度。它通过 I2C 或 SPI 与单片机通信,每轴输出 16 位分辨率数据,常用于 3D 位置检测、旋转角度测量、线性位移检测、游戏摇杆、无接触旋钮等应用。

三轴同时测量

不同于普通单轴霍尔开关,MLX90393 可以同时读取 X、Y、Z 三轴磁场值(单位 µT),适合 3D 位置和方向检测。

I2C 通信

常见模块使用 I2C 接口。Arduino UNO/Nano 连接 SDA=A4、SCL=A5,默认 I2C 地址为 0x0C。

供电 2.2V~3.6V

芯片本身是低压器件,不能直接接 5V。有些模块自带 LDO 稳压,可接 5V,具体以手中模块丝印为准。

Wiring

Arduino UNO / Nano 接线图

自绘无水印示意图。基础测试先接 VCC、GND、SDA、SCL 四根线,能扫到 I2C 地址后再跑例程。

MLX90393 三轴磁场传感器模块接 Arduino UNO I2C 接线图
MLX90393 模块Arduino UNO / Nano说明
VCC / VIN3.3V芯片工作电压 2.2V~3.6V。若模块自带 LDO,可能支持 5V,以丝印为准。
GNDGND必须共地。
SDAA4 / SDAI2C 数据线。
SCLA5 / SCLI2C 时钟线。
INT / DRDY不接可选的数据就绪中断脚,基础测试先不接。
A0 / A1按模块默认I2C 地址选择脚。默认 A0=GND、A1=GND,地址为 0x0C。

I2C Address

常见 I2C 地址说明

MLX90393 的 I2C 地址由 A0、A1 引脚电平决定。下表中 0 表示接 GND,1 表示接 VDD。

A1 电平A0 电平I2C 地址(7-bit)备注
0 (GND)0 (GND)0x0C默认出厂地址,最常见
0 (GND)1 (VDD)0x0D
1 (VDD)0 (GND)0x0E
1 (VDD)1 (VDD)0x0F

如果扫不到 I2C 地址,先用 Arduino I2C Scanner 排查接线。Adafruit 库默认使用 0x0C,如果模块地址不同需要在代码里修改。

Arduino Examples

Arduino 示例代码

使用 Adafruit MLX90393 官方库,读取三轴磁场数据并通过串口输出。库管理器搜索 Adafruit MLX90393 安装。

库安装:Arduino IDE → 库管理器,搜索 Adafruit MLX90393 并安装。依赖 Adafruit BusIOAdafruit Unified Sensor,IDE 会自动提示安装。

串口:打开串口监视器,波特率设为 115200

默认地址:MLX90393_I2CADDR_DEFAULT 0x0C。如果模块跳线不同,修改 sensor.begin_I2C(0x0C) 中的地址即可。

/// MLX90393 三轴磁场传感器 Arduino I2C 示例
/// 使用 Adafruit MLX90393 库,读取 X/Y/Z 磁场并通过串口输出
/// 接线:VCC→3.3V, GND→GND, SDA→A4, SCL→A5

#include <Wire.h>
#include <Adafruit_MLX90393.h>

Adafruit_MLX90393 sensor;

void setup() {
  Serial.begin(115200);
  while (!Serial) delay(10);

  Wire.begin();

  // 默认 I2C 地址 0x0C,如果模块地址不同请修改
  if (!sensor.begin_I2C(MLX90393_I2CADDR_DEFAULT)) {
    Serial.println("MLX90393 not found! Check wiring.");
    while (1) { delay(10); }
  }

  Serial.println("MLX90393 ready.");

  // 可选:设置增益和分辨率
  sensor.setGain(MLX90393_GAIN_1X);  // ±50mT 量程
  sensor.setResolution(MLX90393_RES_19_0);  // XY=19bit, Z=16bit
  sensor.setOversampling(MLX90393_OSR_3);   // 过采样 3

  // 可选:设置滤波器
  sensor.setFilter(MLX90393_FILTER_6);
}

void loop() {
  float x = 0, y = 0, z = 0;

  if (sensor.readData(x, y, z)) {
    Serial.print("X: "); Serial.print(x, 4); Serial.print(" uT  ");
    Serial.print("Y: "); Serial.print(y, 4); Serial.print(" uT  ");
    Serial.print("Z: "); Serial.print(z, 4); Serial.println(" uT");
  } else {
    Serial.println("Read failed. Check sensor connection.");
  }

  delay(200);
}

FAQ

常见问题与售后排查

接上后串口显示 "MLX90393 not found" 怎么办?

优先检查供电:芯片工作电压 2.2V~3.6V,确认接的是 3.3V 而非 5V。然后检查 SDA=A4、SCL=A5 接线是否牢固。最后用 I2C Scanner 扫一下地址,确认不是 0x0D/0x0E/0x0F。

读数全是 0 或者数值跳来跳去?

先拿一块小磁铁靠近传感器,看数值有没有变化。如果完全无变化,检查 I2C 通信是否正常。如果数值抖动大,检查周围是否有电机、继电器、开关电源等强干扰源,并尝试调低增益或增加滤波。

能不能用这个模块检测磁铁位置或角度?

可以。MLX90393 输出三轴磁场值(单位 µT),通过数学换算可以得到磁铁的相对位置或角度。但具体算法(如 atan2、三角定位)需要客户自行实现,不同磁铁和安装方式结果不同,这方面属于应用开发而非模块故障。

5V Arduino 能直接接吗?

不能直接把芯片 VCC 接 5V。Arduino UNO/Nano 板上都有 3.3V 输出脚,接那个即可。如果模块自带 LDO 且丝印标注支持 5V 输入,则可以接 5V,但务必以手里模块实际丝印为准。

SPI 和 I2C 怎么选择?

MLX90393 同时支持 I2C 和 SPI,具体由模块硬件决定。常见模块默认为 I2C 模式,但部分板子可能通过跳线或焊接选择。如果 I2C 扫不到地址,检查模块是否被焊为 SPI 模式。

Customer Service

客户售后话术

客服快速回复参考,确认常见场景再引导客户看对应资料。

【MLX90393 接好了模块没反应】
您好,请先确认供电:MLX90393 的工作电压是 2.2V~3.6V,建议接 Arduino 的 3.3V 脚,不要接 5V。
接线:SDA 接 A4,SCL 接 A5,GND 接 GND。
程序请用 Adafruit MLX90393 库的示例代码,默认 I2C 地址是 0x0C。
如果还不行,可以先用 I2C Scanner 扫一下地址:
https://mingwei-tech-site.pages.dev/pages/arduino-i2c-scanner
详细接线图和代码:https://mingwei-tech-site.pages.dev/pages/mlx90393-magnetic-sensor
【MLX90393 读数不稳定 / 数值跳】
您好,MLX90393 是三轴磁场传感器,对周围环境磁场比较敏感。
请远离电机、继电器、开关电源等强磁场设备再试试。
另外可以在代码中调整增益(GAIN)和滤波器(FILTER)参数来改善稳定性。
您也可以拿一块小磁铁靠近传感器看数值是否有明显变化,如果没有变化说明 I2C 通信可能没通。
详细排查页:https://mingwei-tech-site.pages.dev/pages/mlx90393-magnetic-sensor

References

公开资料链接

只放公开可访问链接和官方库入口,不放客户截图、订单信息或聊天隐私。

Datasheet

Melexis MLX90393 数据手册

包含芯片功能、I2C/SPI 接口、寄存器、供电范围、封装和电气特性。

打开 Melexis 官网

GitHub

Adafruit MLX90393 Arduino Library

Adafruit 官方 Arduino 库,包含 I2C 和 SPI 基础读取例程,可通过 Arduino IDE 库管理器安装。

查看 GitHub

Guide

Adafruit MLX90393 学习指南

包含模块介绍、接线说明、Arduino 和 CircuitPython 代码示例、量程和分辨率配置说明。

打开指南