Измерение дальности и местоположения с помощью ESP32 UWB DW3000


В этой статье мы изучим технологию сверхширокополосной связи с использованием модуля ESP32 DW3000 UWB. Сверхширокополосная связь (Ultra-wideband, UWB) — это протокол беспроводной связи малого радиуса действия, работающий посредством радиоволн и обеспечивающий надежное и точное определение дальности и зондирование (определение местоположения), создавая новое измерение пространственного контекста для беспроводных устройств.

Измерение дальности и местоположения с помощью ESP32 UWB DW3000

Микросхема приемопередатчика IC DecaWave DW3000 UWB позволяет определять местоположение объектов с точностью до 10 см. Микросхема DW3000 имеет всемирную поддержку UWB благодаря работе на канале UWB 5 (6,5 ГГц) и канале 9 (8 ГГц). DW3000 совместим с микросхемой Apple U1 , что позволяет работать с экосистемой Apple.

В этом уроке мы рассмотрим конструкцию платы, ее технические характеристики и приложения. Затем мы узнаем, как использовать плату ESP32 DW3000 для высокоточного определения дальности и локализации.

Прежде чем двигаться дальше, советуем ознакомиться с основными правилами измерения дальности с помощью модуля ESP32 DW1000 UWB.

Необходимые компоненты

  1. Плата ESP32 DW3000 (купить на AliExpress).
  2. Модуль OLED дисплея SSD1306 128×64 с интерфейсом I2C (купить на AliExpress).
  3. Кабель Micro-USB
  4. Макетная плата.
  5. Соединительные провода/перемычки.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Что такое сверхширокополосная связь и как она работает?

UWB — это беспроводной протокол связи ближнего действия, похожий на Bluetooth или Wi-Fi. Он также использует радиоволны для связи и работает на очень высокой частоте. Как следует из его названия, он также использует широкий спектр в несколько ГГц. Один из способов представить его как радар, который может непрерывно сканировать всю комнату и точно захватить объект, как лазерный луч, чтобы обнаружить его местоположение и передать данные.

Принцип сверхширокополосной связи

Основная цель Ultra Wideband (сверхширокополосной связи) — обнаружение местоположения и определение дальности действия устройства. В то время как Wi-Fi и Bluetooth были модифицированы для обеспечения большей точности в определении местоположения других устройств и подключении к ним, UWB изначально более точен и потребляет меньше энергии.

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

Принцип определения дальности с помощью сверхширокополосной связи

Понятия “anchor” («якорь») и “tag” («тег») важны для понимания измерения расстояния и местоположения с помощью UWB. Якорь — это, как правило, фиксированное устройство UWB с известным местоположением. Тег — это, как правило, мобильное устройство UWB. Якорь и тег обмениваются информацией для установления расстояния между ними. Точное местоположение тега можно определить, связавшись с несколькими якорями. Некоторые устройства могут действовать как якорь или тег.

Чип DW3000

Чип DW3000 — это микроконтроллерный чип, производимый компанией Decawave. Он используется при разработке сверхширокополосной (UWB) беспроводной технологии для услуг на основе определения местоположения и точного позиционирования внутри помещений. Чип предназначен для использования в таких приложениях, как отслеживание активов, промышленная автоматизация и робототехника. Он использует измерение времени пролета (ToF) для определения расстояния между устройствами, что позволяет выполнять точное позиционирование и отслеживание местоположения.

Чип DW3000

Модуль имеет всемирную поддержку UWB благодаря работе на канале UWB 5 (6,5 ГГц) и канале 9 (8 ГГц). DW3000 оптимизирован для работы с низким энергопотреблением от батареи и имеет гораздо меньшее энергопотребление, почти 1/3 от DW1000.

Особенности DW3000

  • Совместимость с чипом Apple U1.
  • Поддерживает UWB-каналы 5 (6,5 ГГц) и 9 (8 ГГц).
  • Полностью соответствует FiRa™ PHY, MAC и разработке сертификации.
  • Интегрированная UWB IC, UWB чип-антенна, управление питанием и кристалл упрощают интеграцию проекта.
  • Оптимизирован для работы от аккумулятора с низким энергопотреблением.
  • Позволяет экономически эффективно внедрять решения UWB.
  • Напряжение питания: от 2,5 до 3,6 В (VDD3V3), от 1,62 до 3,6 В (VDD1).

Применение DW3000

  • Высокоточные системы определения местоположения в реальном времени.
  • Беспроводные сенсорные сети с определением местоположения.
  • Отслеживание активов.
  • Автоматизация и безопасность завода/склада.
  • Медицинский персонал и местоположение пациента.
  • Безопасность розничной торговли, навигация и аналитика клиентов.
  • Подключенный дом.

Плата ESP32 DW3000 UWB (сверхширокополосная)

Модуль ESP32 UWB Ultra Wideband состоит из Decawave DW3000 и модуля ESP32 WiFi. Эта плата производится компанией Makerfabs. Плата действует как непрерывно сканирующий радар, который точно фиксируется на другом устройстве (называемом Anchor) и связывается с ним, таким образом вычисляя свое собственное местоположение. Самое лучшее в плате то, что она совместима с чипом Apple U1, что позволяет работать с системой Apple.

Плата ESP32 DW3000 UWB (вид спереди)

Верхняя сторона платы имеет встроенный модуль ESP32 WROOM/Wrover с модулем DW3000 и другими пассивными электронными компонентами. Есть две кнопки, одна для вспышки, другая для отдыха. Плата имеет порт micro-USB для загрузки прошивки и для последовательной связи.

Плата ESP32 DW3000 UWB (вид сзади)

На задней стороне платы находится чип CP2102 для связи UART. Наименование портов ввода/вывода также указано на плате. Вы можете использовать штыревые или гнездовые разъемы и паять с обеих сторон платы.

Установка библиотеки DW3000

Для использования DW3000 с ESP32 в Arduino IDE нам нужна библиотека DW3000. Библиотека DW3000 предлагает функционал для использования чипов/модулей DW3000 от Decawave с любым микроконтроллером.

Библиотека DW3000 на гитхабе

Библиотека DW3000 была разработана компанией NConcepts, но вы можете загрузить ее из следующего репозитория GitHub, поддерживаемого Makerfabs.

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

Настройка оборудования для якоря и тега

Давайте узнаем, как использовать плату ESP32 DW3000 UWB (Ultra Wideband) с Arduino IDE и измерить расстояние между платами. Для этого проекта вам понадобится пара плат. Одна из плат будет действовать как якорь, а другая как тег.

Настройка оборудования для якоря и тега

Для части Anchor (якоря) нам не нужно ничего, кроме кабеля Micro-USB. Но для части tag (тег) нам нужен 0,96″ I2C OLED дисплей и Powerbank. I2C OLED будет отображать расстояние тега (Tag) от якоря (Anchor). Powerbank или батарея будут обеспечивать питание подвижной Tag.

На теговой части подключите контакты I2C OLED-дисплея 0,96″ I2C (SDA и SCL) к контактам ESP32 GP21 и GP22. Подключите контакты VCC и GND OLED-дисплея к контактам ESP32 3,3 В и GND.

Исходный код программы для тестирования дальности

Код, который мы будем использовать для тестирования платы ESP32 DW3000, взят из примера библиотеки. Используя этот пример, мы можем провести тестирование диапазона, который фактически лежит в диапазоне 10-20 метров.

Прежде чем перейти к части тестирования, нам нужно понять что собой представляет калибровка задержки антенны. В сверхширокополосных (UWB) системах калибровка задержки антенны — это процесс измерения и компенсации внутренней задержки времени, которая возникает между передачей и приемом сигнала из-за физических свойств антенны. Эта задержка может меняться в зависимости от таких факторов, как частота сигнала, размер и форма антенны, а также расстояние между передатчиком и приемником. Калибровка задержки антенны важна для обеспечения точных измерений времени пролета (ToF) в системах UWB и для улучшения общей производительности системы. Это можно сделать, измерив импульсную характеристику канала и затем компенсировав задержку.

Для нашей части кода мы установили значения задержки антенны по умолчанию для частоты повторения импульсов 64 МГц как 16385. Вы можете изменить их в соответствии с поведением вашего UWB-модуля и точностью измерения дальности в следующих строках кода.

Чтобы измерить расстояние между платами, нам необходимо загрузить код «Anchor» на одну плату ESP32, а код «Tag» на другую плату ESP32.

Код якоря

Скопируйте следующий код и загрузите его на первую плату UWB (сверхширокополосную), которая является якорной.

Код тега

Скопируйте следующий код и загрузите его на вторую плату UWB (сверхширокополосную) под названием Tag.

Тест дальности с модулем ESP32 UWB DW3000

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

Тестирование определения дальности с модулем ESP32 UWB DW3000 (часть 1)

Я отметил расстояние в 1 метр и между ними отметил позиции 30 см, 50 см, 75 см, 100 см. Теперь устройство готово к тестированию.

Тестирование определения дальности с модулем ESP32 UWB DW3000 (часть 2)

На расстоянии 30 см он показывает расстояние 28 см.

Тестирование определения дальности с модулем ESP32 UWB DW3000 (часть 3)

На расстоянии 50 см он показывает расстояние 48 см.

Тестирование определения дальности с модулем ESP32 UWB DW3000 (часть 4)

При увеличении расстояния до 75 см он показывает расстояние 77 см.

Тестирование определения дальности с модулем ESP32 UWB DW3000 (часть 5)

Наконец, для расстояния 100 см он показывает расстояние 107 см.

Но для этого все еще требуется тест на расстояние 10 метров или больше. Поэтому я вышел на улицу, чтобы проверить расстояния. Со мной двое моих друзей, которые помогут мне протестировать этот продукт даже в такую ​​холодную снежную погоду. У одного из друзей на руке Tag, и он питает модуль ESP32 UWB с помощью внешнего аккумулятора. У другого друга есть Anchor, который питается от ноутбука.

Тестирование определения дальности на улице с модулем ESP32 UWB DW3000 (часть 1)

Когда метка находилась рядом, обнаруженное расстояние составляло почти 2 метра. При удалении от метки обнаруженное расстояние составляло почти 11,77 метра.

Тестирование определения дальности на улице с модулем ESP32 UWB DW3000 (часть 2)

При дальнейшем перемещении на большее расстояние OLED показывает расстояние 23,75 метра. Затем он перестал принимать сигналы. Таким образом, по результатам нашего теста максимальное обнаруженное расстояние составило почти 24 метра, что превышает максимальную измерительную способность в 20 метров.

Тестирование определения дальности на улице с модулем ESP32 UWB DW3000 (часть 3)

В целом, мы остались довольны работой и точностью модуля DW3000 UWB. Следовательно, мы можем сказать, что вы можете использовать этот модуль для высокоточной локализации и тестирования. Плата ESP32 DW3000 UWB также интерполирует с чипом Apple, что также требует тестирования.

Видео, демонстрирующее работу проекта

Ссылка на видео на YouTube

(Проголосуй первым!)
Загрузка...
33 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *