Перейти к содержимому
Миниатюрный датчик оборотов, угла и магнитного поля

Проекты / Измерения, сенсоры и сбор данных

Датчик оборотов, угла и магнитного поля

Компактный измерительный датчик на базе 3D-магнитного сенсора TLV493D и STM32L4: магнитное поле по трем осям, угол, скорость вращения, USB/UART, фильтрация, калибровка и сохранение настроек.

Задача

Что нужно было решить

Нужно было сделать небольшой универсальный датчик, который можно использовать не только как магнитометр, но и как датчик вращения. В одном устройстве требовалось совместить опрос 3D-магнитного сенсора, расчет угла, определение скорости вращения, счетчик оборотов и простой интерфейс настройки без отдельной пользовательской программы.

Результат

До чего довели проект

Проект был доведен до рабочей прошивки для STM32L4. Датчик опрашивается по I2C, данные обрабатываются в прошивке и выдаются через USB CDC или UART. Пользователь может выбрать режим измерения, частоту выдачи данных, единицы скорости, уровень фильтрации и интерфейс передачи. Настройки сохраняются во Flash-памяти микроконтроллера.

Миниатюрный датчик оборотов, угла и магнитного поля
Датчик оборотов, угла и магнитного поля без корпуса

Материалы проекта

Фотографии и рабочие материалы

Датчик оборотов, угла и магнитного поля: вид сзади
Датчик оборотов, угла и магнитного поля: измерение угла при вращении
Датчик оборотов, угла и магнитного поля: измерение магнитного поля при вращении

Видео

Короткая демонстрация

Короткая запись работы устройства или испытательного стенда.

Инженерный контекст

Какие ограничения были важны

Устройство использует 3D-магнитный датчик TLV493D и работает с ним по I2C

Внутренний цикл опроса рассчитан на частоту до 2 кГц

Прошивка поддерживает режимы магнитного поля, калиброванного магнитного поля, угла поворота и скорости вращения

Для угла используется расчет по двум осям магнитного поля, а переход через границу 180 градусов учитывается счетчиком оборотов

Данные можно передавать через USB CDC или UART; служебная информация отправляется в оба интерфейса

Параметры работы можно менять текстовыми командами и сохранять во Flash

Сделано

Что входило в работу

опрос 3D-магнитного датчика TLV493D по I2C

расчет магнитного поля по осям X, Y и Z

расчет угла поворота по данным магнитного поля

счетчик оборотов с учетом перехода через полный круг

расчет скорости вращения в об/мин или об/с

режимы передачи данных по USB CDC и UART

текстовый протокол команд для настройки устройства

настраиваемая фильтрация сигналов

процедура калибровки по двум направлениям вращения

проверка ошибок чтения, записи и состояния датчика

сохранение рабочих параметров во Flash-памяти

Подробности

Инженерное описание проекта

Режимы измерения

В прошивке предусмотрены режимы выдачи магнитного поля, калиброванного магнитного поля, угла и скорости. В режиме угла устройство выдает текущий угол и счетчик оборотов. В режиме скорости рассчитывается скорость вращения, которую можно выводить в об/мин или об/с.

Интерфейсы и команды

Устройство настраивается текстовыми командами через USB или UART. Команда help выводит встроенную справку. Через команды можно выбрать режим работы, период выдачи данных, интерфейс передачи, скорость UART, единицы измерения скорости, фильтр, сброс счетчика оборотов, сохранение настроек и восстановление заводских параметров.

Фильтрация и калибровка

Для сигналов магнитного поля и скорости предусмотрены несколько уровней фильтрации: без фильтра, быстрый, средний и медленный режим. Калибровка выполняется по двум проходам с вращением в разные стороны. Прошивка проверяет недостаточный уровень магнитного поля и насыщение датчика, рассчитывает смещения и коэффициенты нормализации по осям X и Y.

Настройки и эксплуатация

После настройки параметры можно сохранить во Flash-память, чтобы устройство запускалось сразу в нужной конфигурации. Это важно для автономного применения датчика, когда после включения он должен работать без ручной перенастройки.

Контакт

Обсудить вашу инженерную задачу

Свяжитесь с нами по email или задайте вопрос по телефону.