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): Компактният му размер и ниската консумация на енергия го правят предпочитано решение за IoT устройства, които изискват информация за позициониране.
Други потенциални приложения включват спортно проследяване, устройства за здраве и уелнес и контролери за игри. Като цяло, всяко устройство, което се нуждае от точно измерване на движенията в три измерения, може да се възползва от използването на този сензор.
Технически детайли и хардуер
Сензорът BNO085 се предлага в много компактен размер, с размери приблизително 5,2 mm x 3,8 mm, което го прави подходящ за приложения, където пространството е важно съображение. Вътре в този малък пакет са всички сензори, необходими за извършване на вашите измервания, заедно с малък процесор, който обработва сливането на данни.
Някои платформи, като Adafruit, са разработили различни версии на този сензор, за да го направят по-достъпен и по-лесен за използване в Направи си сам или образователни проекти. Тези версии включват адаптации на преходни платки, които позволяват директна връзка с микроконтролери като Arduino или Raspberry Pi, дори предлагат регулатори на напрежението и I2C конектори за по-директна интеграция.
Режими на работа
BNO085 може да бъде конфигуриран да работи в различни режими, в зависимост от нуждите на проекта. Сред най-простите и полезни режими е режимът UART-RVC. Този режим е специално проектиран за получаване на калибрирани измервания на посоката и ускорението, което го прави идеален за приложения като прахосмукачки роботи. Това би бил прост, но ефективен начин, който позволява получаване на полезни данни с ниско ниво на сложност в интеграцията.
Този режим, заедно с други разширени настройки, го правят труден за преодоляване избор, когато става въпрос за предлагане на сензор "всичко в едно", който се справя с обединяването на данни без необходимост от външни процесори или сложен софтуер.
Освен това, за тези, които желаят да използват по-усъвършенстваните режими, са разработени библиотеки както за CircuitPython, така и за Arduino, което улеснява интегрирането на този сензор в електронни проекти, независимо от нивото на опит на потребителя.
В крайна сметка BNO085 е мощен и многофункционален сензор, който позволява на разработчиците да работят с данни за движение и ориентация точно и без усложнения. Благодарение на своите усъвършенствани функции за комбиниране на сензори и способността да работи с ниска консумация на енергия, това устройство е идеално за голямо разнообразие от приложения, от устройства за носене до роботика и дори системи за разширена и виртуална реалност.