AS5600 12 位磁性旋转位置传感器:原理、编程与 Arduino 实战
AS5600 是一款非接触、12 位分辨率 (4096 步/圈)、可编程零点/量程、支持 I²C/PWM/模拟三种输出的磁性旋转编码器。凭借抗外部杂散磁场、宽温 (-40~125°C)、低功耗 (自动休眠) 特性,成为电位器替代、机器人关节、汽车踏板、工业编码器的高性价比首选。本文覆盖芯片架构、引脚定义、工作原理、Arduino 开发实战与典型应用场景。
AS5600 芯片概览
图 1:AS5600 磁性旋转位置传感器模组
- 核心技术:平面霍尔效应 + 12-bit ADC + DSP 角度运算;
- 输出接口:I²C (0x36 固定地址)、PWM (占空比线性映射角度)、模拟电压 (比例 VDD);
- 可编程参数:起始/结束角度 (18°~360°)、输出模式、滤波器、磁场阈值、I²C 速率;
- 供电:3.3 V / 5 V (VDD)、3.3 V 专用 (VDD3V3);
- 封装:SOIC-8 / TSSOP-8 / 模组板 (Grove/排针)。
引脚定义 (模组常见 7 Pin 排针)
图 2:AS5600 引脚配置
| 引脚 | 名称 | 功能 |
|---|---|---|
| 1 | GND | 系统地 |
| 2 | VCC | 5 V / 3.3 V 主供电 |
| 3 | SDA | I²C 数据线 (需外挂 4.7 kΩ 上拉) |
| 4 | SCL | I²C 时钟线 (需外挂 4.7 kΩ 上拉) |
| 5 | VDD3V3 | 3.3 V 专用供电 (内部 LDO 输出/输入) |
| 6 | PGO (DIR) | 编程模式下设定零点/量程;正常模式为方向输出 |
| 7 | OUT | PWM / 模拟电压输出 (由寄存器配置) |
核心特性速查
- 非接触绝对角度测量,无机械磨损;
- 用户可编程零点/量程 (I²C 或 3 线编程模式);
- 12-bit DAC 分辨率 (0.088°/LSB);
- 最大可编程量程 18°~360°,角度精度 ±0.5° (典型);
- 自动磁场强度检测 (AGC),偏心容忍度 ±0.5 mm;
- 自动低功耗模式 (I²C 空闲 >10 ms 进入);
- 输出模式:原始 I²C 数据 / PWM (1~4 kHz) / 模拟 (0~VDD)。
规格参数表
| 参数 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|
| 供电电压 VDD | 3.0 | 3.3/5.0 | 5.5 | V |
| 工作电流 | — | 6 | 13 | mA |
| 休眠电流 | — | 1.5 | — | µA |
| 工作温度 | -40 | — | 125 | °C |
| I²C 地址 | 0x36 (7-bit, 固定) | — | ||
| 角度分辨率 | 12-bit (4096 码/圈) | — | ||
| 刷新率 | — | 1 | — | kHz |
工作原理:霍尔效应 + DSP 角度重构
- 径向磁通穿过芯片表面集成的平面霍尔元件阵列 (4 组正交);
- 磁场分量 Bx, By 转换为正弦/余弦电压信号;
- 片上 12-bit ADC 采样 → CORDIC 算法计算 θ = atan2(By, Bx);
- 自动增益控制 (AGC) 补偿磁场强度/温度/气隙变化;
- 输出寄存器更新:RAW_ANGLE (0~4095)、ANGLE (映射后);
- 可通过 I²C 读取 RAW/ANGLE,或经 OUT 引脚输出 PWM/模拟量。
安装关键:磁铁 (直径 ≈ 芯片尺寸、径向磁化) 置于芯片正上方,气隙 0.5~3 mm,同心度 <0.5 mm。推荐 N35/N42 钕铁硼 φ6×2.5 mm 圆柱磁铁。
Arduino / Seeeduino 快速上手 (Grove 接口)
图 3:Arduino 开发平台
硬件连接
- AS5600 模组 I²C 接口 → Base Shield I²C 接口 (或直接 A4/SDA, A5/SCL);
- Base Shield → Seeeduino/Arduino UNO;
- USB 连接 PC。
软件配置
- GitHub 下载 Seeed_AS5600 库 (或通用 `AS5600` 库) 至 Arduino IDE;
- 重启 IDE,打开示例:
文件 → 示例 → Seeed_AS5600-master → readAngle; - 上传代码;
- 打开串口监视器,波特率 **115200**;
- 旋转磁铁,观察角度实时输出 (0~4095 对应 0~360°)。
核心示例代码片段
#include
#include
AS5600 as5600;
void setup() {
Serial.begin(115200);
Wire.begin();
as5600.begin();
// 可选:设定零点/量程
// as5600.setStartPosition(0);
// as5600.setStopPosition(4095);
}
void loop() {
uint16_t raw = as5600.getRawAngle();
float deg = raw * 360.0 / 4096.0;
Serial.print("Angle: ");
Serial.print(deg, 2);
Serial.println("°");
delay(50);
}
典型应用场景
图 4:AS5600 替代传统光电/机械旋转编码器
来源:Wikipedia Commons
- 家电旋钮:烤箱/洗衣机/空调旋钮,防油污/蒸汽/振动;
- 非接触电位器:音量/调光/参数调节,寿命 >10⁷ 次;
- 踏板/手柄/RC 舵机反馈:油门/刹车/方向盘角度、飞行摇杆;
- 机器人关节编码器:机械臂/关节模组/AGV 转向,配合电机 FOC 闭环;
- 汽车电子:转向角传感器、节位置传感器、EGR 阀位反馈 (AEC-Q100 认证);
- 工业自动化:阀门开度、传送带张紧、液位浮子角度转换。
选型对比:AS5600 vs 竞品
| 型号 | 分辨率 | 接口 | 抗杂散磁场 | 温度范围 | 价格 |
|---|---|---|---|---|---|
| AS5600 | 12-bit | I²C/PWM/Analog | 优 (CMP/AGC) | -40~125°C | 低 |
| AS5048A | 14-bit | SPI/PWM | 优 | -40~125°C | 中 |
| AMS AS5145 | 12-bit | SSI/PWM | 良 | -40~150°C | 高 |
| TLV493D | 12-bit 3D | I²C | 中 | -40~125°C | 低 |
| MA730 | 16-bit | SPI/ABZ/PWM | 优 | -40~125°C | 中高 |
结语
AS5600 以“非接触、高分辨、可编程、多输出、抗干扰、超低价”六大特性,重新定义了入门级绝对值角度传感器的性价比基准。掌握 I²C 配置、磁铁安装几何、零点标定流程,即可在机器人、汽车、家电、工控等领域快速落地。如需批量选型建议、磁路仿真 (FEMM/Ansys Maxwell)、定制编程治具或 AEC-Q100 认证料号支持,欢迎联系我们技术团队。
工业技术