El датчик BNO085 Эта технология стала очень популярной в приложениях, связанных, среди прочего, с дополненной реальностью (AR), виртуальной реальностью (VR) и робототехническими системами. Это небольшое, но мощное устройство сочетает в себе функциональность акселерометра, гироскопа и магнитометра на одном чипе, что делает его незаменимым инструментом для точного измерения движений и ориентации в трех измерениях.
Совместно разработанный CEVA и Bosch, BNO085 не просто является усовершенствованием своего предшественника BNO080, но также исправляет некоторые серьезные недостатки в работе последнего, такие как проблемы с протоколом SPI. BNO085 также включает в себя ряд улучшений, которые делают его идеальным для использования в устройствах, требующих низкого энергопотребления и высокой точности захвата движения, таких как устройства IoT, контроллеры VR и мобильные роботы.
Что такое BNO085?
BNO085 — это 9-осевая система в корпусе (SiP), предназначенная для быстрой разработки устройств с сенсорным управлением, от приложений дополненной реальности до робототехники и Интернета вещей (IoT). Он оснащен акселерометром, магнитометром и гироскопом в сочетании с маломощным процессором Arm Cortex M0+ с прошивкой SH-2, которая управляет данными датчиков и объединяет их для создания полезной информации.
BNO085 разработан для обеспечения чрезвычайной точности отслеживания движения с 9 степенями свободы (9DOF), возможность, которая включает в себя определение ускорения, угловой скорости и направления магнитного поля, а также других ключевых параметров. Кроме того, этот датчик способен использовать расширенные библиотеки, предоставленные CEVA, адаптируясь к различным приложениям, таким как контроллеры виртуальной реальности, где важны низкое энергопотребление и низкая задержка.
Отличия от BNO080
Один из первых вопросов при оценке BNO085 — чем он отличается от BNO080. На первый взгляд кажется, что оба устройства используют одни и те же аппаратные компоненты, но ключевое отличие заключается в прошивке. BNO085 — это не только обновление BNO080, но также решает важные проблемы, такие как «тайм-аут» в SPI., что негативно повлияло на функциональность BNO080 при использовании указанного протокола связи. Кроме того, BNO085 полностью обратно совместим с кодом и платформами, первоначально разработанными для BNO080.
Что касается данных, которые он предоставляет, оба датчика способны доставлять следующие типы информации:
- Вектор ускорения: Три оси ускорения, включающие как гравитацию, так и линейное движение.
- Вектор угловой скорости: Три оси вращения для измерения угловой скорости.
- Вектор магнитного поля: Три оси обнаружения магнитного поля в микро Тесла (uT).
- Вектор ориентации: Четыре точки кватернионов, которые позволяют получить точные данные для правильного управления вращением.
BNO085 Расширенные функции
Одно из самых больших преимуществ BNO085 заключается в его способности выполнять объединение датчиков непосредственно на устройстве. Это означает, что вместо того, чтобы просто выдавать необработанные значения ускорения, угловой скорости или магнитных полей, датчик объединяет эту информацию и выдает более полезные данные, такие как векторы гравитации и ориентации.
В дополнение к базовым датчикам BNO085 предоставляет дополнительные отчеты, оптимизированные для различных приложений, таких как виртуальная или дополненная реальность. К ним относятся:
- Оптимизированные векторы вращения: Разработан специально для приложений AR и VR, где решающее значение имеют низкая задержка и низкое энергопотребление.
- Калиброванные и необработанные отчеты датчиков: BNO085 может одновременно передавать калиброванные и некалиброванные данные от датчиков акселерометра, гироскопа и магнитометра.
- Обнаружение и классификация стабильности: Способен распознавать, когда объект находится в покое или в постоянном движении.
- Детекторы ударов и активности: Он включает в себя обнаружение шагов, тряски, значительных движений и общую классификацию действий.
Эти дополнительные отчеты делают BNO085 идеальным выбором для разработчиков продуктов, которым нужны точные и легко интегрируемые данные для носимых устройств, роботов и контроллеров виртуальной реальности.
Основные приложения
BNO085 универсален и может использоваться в широком спектре применений. Некоторые из основных моментов включают в себя:
- Дополненная и виртуальная реальность (AR/VR): Благодаря возможности объединения датчиков и низкой задержке BNO085 является отличным выбором для устройств AR и VR, которым требуется точное отслеживание движения и ориентации.
- Мобильные роботы: Комбинация акселерометров и гироскопов делает его идеальным для роботов, которым необходимо измерять движение в реальном времени, будь то автономные пылесосы или дроны.
- Интернет вещей (IoT): Компактный размер и низкое энергопотребление делают его предпочтительным решением для устройств Интернета вещей, которым требуется информация о местоположении.
Другие потенциальные приложения включают отслеживание спортивных событий, устройства для здоровья и хорошего самочувствия, а также игровые контроллеры. В общем, любое устройство, которому требуется точное измерение движений в трех измерениях, может извлечь выгоду из использования этого датчика.
Технические детали и оборудование

Датчик BNO085 имеет очень компактный размер (приблизительно 5,2 x 3,8 мм), что делает его подходящим для применений, где пространство является важным фактором. Внутри этого небольшого корпуса находятся все датчики, необходимые для проведения измерений, а также небольшой процессор, который обрабатывает объединение данных.
Некоторые платформы, такие как Adafruit, разработали различные версии этого датчика, чтобы сделать его более доступным и простым в использовании в домашних или образовательных проектах. Эти версии включают в себя адаптации на коммутационных платах, которые обеспечивают прямое подключение к микроконтроллерам, таким как Arduino или Raspberry Pi, даже предлагают стабилизаторы напряжения и разъемы I2C для более прямой интеграции.
Режимы работы
BNO085 можно настроить для работы в различных режимах в зависимости от потребностей проекта. Среди самых простых и полезных режимов — режим UART-RVC. Этот режим специально разработан для получения калиброванных измерений направления и ускорения, что делает его идеальным для таких приложений, как роботы-пылесосы. Это был бы простой, но эффективный способ, позволяющий получить полезные данные с низким уровнем сложности интеграции.
Этот режим, наряду с другими расширенными настройками, делает его трудным выбором, когда речь идет о создании универсального датчика, который обрабатывает объединение данных без необходимости использования внешних процессоров или сложного программного обеспечения.
Кроме того, для тех, кто хочет использовать более продвинутые режимы, были разработаны библиотеки для CircuitPython и Arduino, что позволяет легко интегрировать этот датчик в проекты электроники независимо от уровня опыта пользователя.
В конечном счете, BNO085 — это мощный и универсальный датчик, который позволяет разработчикам точно и без осложнений работать с данными о движении и ориентации. Благодаря расширенным функциям объединения датчиков и способности работать с низким энергопотреблением это устройство идеально подходит для самых разных приложений: от носимых устройств до робототехники и даже систем дополненной и виртуальной реальности.