AS5600 · Adafruit Magnetic Angle Sensor
Adafruit; микросхема ams OSRAM · Magnetic Angle Sensor · STEMMA QT · PID 6357
Бесконтактный датчик абсолютного угла для ручек, шарниров и приводов.
Автор: SLDV LAB
Опубликовано · Обновлено
О МОДУЛЕ
Что делает Magnetic Angle Sensor · STEMMA QT · PID 6357
AS5600 измеряет угол вращающегося магнита без механического контакта с ним. Здесь представлена готовая плата Adafruit Magnetic Angle Sensor с разъёмами STEMMA QT. Датчик сообщает абсолютное положение внутри одного оборота, поэтому после включения не нужно искать исходную точку. Для работы нужен отдельный магнит и крепление, удерживающее его соосно сенсору.
Особенности
- Используйте диаметрально намагниченный магнит: полюса N/S расположены по сторонам диска, а ось вращения проходит через центр микросхемы. Типовой зазор между магнитом и корпусом чипа — 0,5–3 мм; подбирайте его по статусу магнита и AGC.
- 12 бит дают шаг около 0,0879°, но это не точность измерения. Итоговая погрешность зависит в том числе от магнита, его центровки и стабильности зазора.
- Через STEMMA QT доступны питание и I²C. Аналоговый/PWM-сигнал выведен отдельно на OUT; в этом подключении он не нужен.
Для каких проектов подойдёт
- Ручка управления: бесконтактный регулятор яркости или громкости.
- Поворотный узел: измерение положения шарнира небольшого робота.
- Учебный привод: обратная связь по углу выходного вала.
Чем отличается
Измеряет положение магнита сразу после включения. Число полных оборотов придётся считать программно; после отключения питания датчик его не сохраняет.
Характеристики
- Сенсор
- AS5600
- Диапазон угла
- 0–360°, один оборот
- Разрешение
- 12 бит / 4096 отсчётов
- Шаг кода
- ≈0,0879°; не показатель точности
- Интерфейс
- I²C; отдельный OUT — аналоговый/PWM
- Адрес I²C
- 0x36, фиксированный
- Подключение
- STEMMA QT / контакты под пайку
- Магнит
- Диаметрально намагниченный, соосно чипу
- Питание модуля
- VIN платы: 3,3 или 5 В; логика I²C соответствует VIN. С ESP32 подавайте 3,3 В. Микросхема питается через регулятор 3,3 В.
ПРАКТИКА
Подключение
| Контакт модуля | Контакт платы | Назначение |
|---|---|---|
| VIN | 3V3 | Пример I²C: классический ESP32 DevKitC. Подтяжки шины идут к VIN, поэтому здесь нужно 3,3 В. |
| GND | GND | Общая земля. |
| SDA | GPIO21 | Данные I²C; подтяжка 10 кОм уже на плате. |
| SCL | GPIO22 | Тактовая линия I²C; для ESP32-C3/C6/S3 выводы выбирайте отдельно. |
| OUT | Не подключать | Отдельный аналоговый/PWM-выход; через STEMMA QT не передаётся. |
| 3Vo | Не подключать | Выход регулятора платы, не вход питания в этом примере. |
| DIR / PGO | Не подключать | На обороте платы: DIR — перемычка направления, PGO — площадка программирования. Для первого запуска оставьте без изменений. |
Подходит для ESP32. Выберите контакты по документации своей платы.
ВАШ ПРОЕКТ · ВАШ ДАТЧИК
Интегрируйте модуль с ChatGPT
Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.
Помоги подключить Adafruit AS5600 Magnetic Angle Sensor, PID 6357. Уточни контроллер, среду разработки и задачу. Для классического ESP32 DevKitC используй VIN 3,3 В, GND, SDA GPIO21 и SCL GPIO22; остальные контакты не нужны для I²C. Начни с Adafruit AS5600 и Adafruit BusIO, адреса 0x36 и шины 100 кГц. Подготовь минимальный пример с проверкой обнаружения устройства и статуса магнита. Объясни установку магнита, перевод raw-кода в градусы и переход через 0°. Не выполняй постоянное программирование OTP.
Библиотеки
Установите библиотеку для своей среды и откройте пример из её документации.
Что именно прописать
- Платформа
ESP32 DevKitC / Arduino CoreGPIO21/22 относятся к классическому ESP32; для других семейств проверьте распиновку.
- Основная библиотека
Adafruit AS5600 + Adafruit BusIOArduino API. Создайте Adafruit_AS5600 sensor; сначала Wire.setPins(21, 22), затем проверьте sensor.begin(0x36, &Wire).
- Шина I²C
0x36 / 100 кГцПосле begin задайте Wire.setClock(100000). Адрес не меняется; нескольким AS5600 нужны отдельные шины или I²C-мультиплексор.
- Чтение угла
sensor.getRawAngle()Градусы = raw × 360.0 / 4096.0. getAngle() возвращает код с учётом настроек диапазона, а не готовые градусы.
- Проверка магнита
sensor.isMagnetDetected()Также проверяйте isAGCminGainOverflow() и isAGCmaxGainOverflow(); getAGC() помогает подобрать зазор.
- Альтернатива Arduino
AS5600 · Rob TillaartДругой API: AS5600 sensor; Wire.begin(21, 22); sensor.begin(); sensor.rawAngle(). Выбирайте AS5600, не AS5600L; оставьте штатную DIR-перемычку. Библиотека работает через Wire, но конкретную плату и версию Core проверьте на стенде.
- Альтернатива Python
Adafruit CircuitPython AS5600sensor = adafruit_as5600.AS5600(i2c); sensor.raw_angle. Нужны Bus Device и Register; только поддерживаемые CircuitPython/Blinka-платы, не произвольная прошивка MicroPython.
Проекты с этим компонентом
Все проектыСвязанные проекты пока не опубликованы.



