BLE-датчик для системы домашних тренировок

Bluetooth-датчик, который крепится к гирям, гантелям и штангам и измеряет ускорение снарядов в трех измерениях, а также их тангаж, рысканье и крен. Данные передаются на центральное устройство системы и подсказывает пользователю, как правильно тренироваться.
Спорт помогает поддерживать форму и оставаться бодрым. Но мало кто может регулярно посещать тренажерный зал или позволить себе персонального тренера. Многим приходится заниматься дома.

Чтобы такие занятия были более эффективными, наш клиент решил создать систему для домашних тренировок. Ее главный элемент – высокотехнологичное зеркало, использующее камеры с датчиками глубины. Оно наблюдает за пользователем во время тренировки и дает ценную информацию о том, как протекает занятие.

Заказчик решил использовать датчики с акселерометром, чтобы лучше отслеживать движения и собирать больше полезных данных. Датчики должны крепиться к гантелям, гирям и штангам и передавать на зеркало данные с акселерометра. Это позволит зеркалу подсчитывать число подходов, определять время нагрузки, правильность углов, под которыми пользователь держит снаряды, и высчитывать другие показатели.

Компания рассчитывала иметь интеллектуальные права на эти датчики и самостоятельно выпускать их. К тому же, готовые решения были недостаточно малы для использования с фирменным инвентарем компании. Требовалась индивидуальная разработка, и заказчик обратился к КЕДР Solutions.

Запрос

Нашей первой задачей стала разработка датчика с акселерометром и гироскопом, который должен собирать необходимые данные и передавать их по Bluetooth на зеркало, которое служит хабом системы. Устройство нужно было сделать достаточно компактным, чтобы оно помещалось в фирменный спортивный инвентарь компании.
Стопка произведенных печатных плат круглой формы для Bluetooth-датчика, разработанного на заказ компанией КЕДР Solutions.
Для надежности заказчик собирался поместить датчик в монолитный корпус. Поэтому устройство не могло питаться от сменных батарей, и нам поручили снабдить его механизмом беспроводной подзарядки.

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

Решение

Разработка BLE-датчика

Главная задача датчика – измерять ускорение спортивных снарядов в трех измерениях, а также их тангаж, рысканье и крен. Команда решила использовать модуль для отслеживания движения, который объединяет в себе 3-осевой акселерометр и 3-осевой гироскоп, а его габариты составляют всего 3x3x0,75 мм.

Собранные им данные затем передаются на компактный модуль Bluetooth 5.0 с ультранизким потреблением энергии, который обычно используется во встроенных устройствах с батарейным питанием. Он обеспечивает соединение с зеркалом и передает на него данные с акселерометра и гироскопа, а встроенный в модуль микроконтроллер отвечает за логику работы устройства.

Чтобы устройство могло заряжаться посредством электромагнитной индукции, мы также установили на плату приемную катушку и приемник беспроводной зарядки. Наконец, команда использовала контроллер зарядки аккумуляторов. Устройство питается от литий-ионного аккумулятора на 3,7 В.
3D-модель BLE-датчика для спортивного инвентаря, разработанного компанией КЕДР Solutions на заказ.
Разработка прошивки

Наша команда по разработке низкоуровневого ПО запрограммировала устройство выполнять следующие функции:

Когда пользователь поднимает гантели или гири, к которым прикреплен датчик, он просыпается и начинает передавать данные:

  • Свой идентификатор, чтобы система понимала, какой снаряд вы подняли и сколько он весит.
  • Данные с акселерометра и гироскопа, которые система использует для анализа упражнения.
  • Состояние аккумулятора.

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

Прошивка также управляет светодиодом, установленным на устройстве. Светодиод сигнализирует разными цветами и частотой мерцания о состоянии датчика – включен и соединен с зеркалом, работает в режиме готовности, подзаряжается, обнаруживает ошибку, в аккумуляторе мало заряда и т.д.

Разработка станции беспроводной подзарядки

Поскольку заказчик собирался поместить плату датчика в монолитный корпус, для него требовалась станция беспроводной подзарядки. Готовые модели оказались слишком большими, поэтому нам поручили разработать собственную модель подходящего размера. В датчике мы использовали приемную катушку, а в станции – передающую катушку.

Из-за характеристик катушек датчик и зарядник оказались несовместимы с аналогами. Станция не могла заряжать другие устройства, а датчик нельзя было зарядить с помощью другого зарядника.
3D-модель печатной платы для станции беспроводной зарядки.

Сложности проекта и их решение

Габариты

Поскольку заказчик поручил нам сделать устройство очень маленьким, перед командой стояла нетривиальная компоновочная задача. Более того, мы должны были смонтировать компоненты так, чтобы они не соприкасались с аккумулятором и катушкой, поскольку те генерировали тепло и помехи.

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

Таким образом, мы скомпоновали все элементы в заданные размеры платы с учетом требований к безопасности.

Управление одной кнопкой

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

  • Разработка BLE-датчика с акселерометром и гироскопом
  • Разработка прошивки
  • Разработка станции беспроводной подзарядки
                Использованные технологии
                • В этом проекте мы использовали микроконтроллер с ядром Cortex-M4 фирмы Nordic Semiconductor.
                • Для передачи на хаб данных о движении устройство использует Bluetooth-модуль.
                • Для создания принципиальной схемы и проектирования печатной платы команда использовала Altium Designer.
                • Прошивка написана на C++ с помощью CMake и Visual Studio Code.
                • Для шифрования передаваемых на зеркало данных мы использовали алгоритм AES-128.

                                    Итоги

                                    Команда КЕДР Solutions разработала компактный BLE-датчик, который крепится к различным гирям, гантелям и штангам. Встроенные акселерометр и гироскоп собирают данные о движении снарядов. Затем они шифруются и передаются на центральный хаб системы. Команда также разработала станцию беспроводной подзарядки, совместимую только с данным датчиком.
                                    Размер платы датчика:
                                    40 x 13,5 мм
                                    Размер платы зарядного устройства:
                                    26,4 x 24,9 x 6,3 мм