Измерение расстояний с помощью лидара TFMini-S и Arduino


В данной статье мы рассмотрим подключение датчика измерения расстояния TFMini-S Micro LiDAR (лидара) к плате Arduino. Также в статье мы рассмотрим что такое лидар (LiDAR) и как он работает. LiDAR (light detection and ranging) в переводе означает обнаружение света и определение дальности, является популярным методом дистанционного зондирования, используемым для измерения точного расстояния до объекта на поверхности Земли. Вы могли видеть последние iPhone или телефоны Samsung, использующие датчик LiDAR на задней панели для лучшей производительности камеры.

Измерение расстояний с помощью лидара TFMini-S и Arduino

Поскольку LiDAR имеет множество применений, рассмотрим датчик LiDAR от Benewake, который называется TFMini-S Micro LiDAR Distance Sensor. Этот датчик LiDAR может измерять расстояние до 12 метров. Этот датчик стоит около 40$ , но за такую ​​цену у него весьма впечатляющие возможности.

Сначала мы рассмотрим интерфейс датчика LiDAR TFMini-S с платой Arduino. Используя библиотеку TFMini и базовый пример, можно рассчитать расстояние и уровень сигнала. Мы можем использовать какой-нибудь дисплей, например, ЖК-дисплей 16X2, для отображения измеренного расстояния на ЖК-экране.

Ранее на нашем сайте мы рассматривали подключение к Arduino лидарного датчика VL6180X. Также вы можете прочитать статью о том что такое лидар (LiDAR) и как он работает.

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

  1. Плата Arduino Nano (купить на AliExpress).
  2. Датчик расстояния TFMini-S Micro LiDAR (купить на AliExpress).
  3. ЖК дисплей 16x2 (купить на AliExpress).
  4. Потенциометр 10 кОм (купить на AliExpress).
  5. Макетная плата.
  6. Соединительные провода.

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

Что такое LiDAR и как он работает?

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

Принцип метода дистанционного зондирования

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

Как работает лидар?

Принцип работы лидара

LiDAR следует простому принципу — направить лазерный луч на объект на поверхности Земли и рассчитать время, необходимое для возвращения к источнику. Учитывая скорость, с которой распространяется свет (примерно 186 000 миль в секунду), процесс измерения точного расстояния с помощью LiDAR кажется невероятно быстрым. Однако это очень технично. Формула, которую аналитики используют для определения точного расстояния до объекта, выглядит следующим образом:

Расстояние = (Скорость света x Время полета)/ 2

Датчик расстояния TFMini-S Micro LiDAR

Коробка, в которую упакован датчик расстояния TFMini-S Micro LiDAR

Датчик расстояния TFMini-S Micro LiDAR от Benewake поставляется в очень красивой упаковке. Benewake — это компания из Китая, которая является ведущим поставщиком твердотельных датчиков и решений LIDAR. Датчик TFMini-S Micro LiDAR также называется Micro Single-point Ranging Module.

Датчик расстояния TFMini-S Micro LiDAR

TFMini-S — это усовершенствованная версия TFmini. TFMini-S имеет уникальные оптические, структурные и электронные конструкции. TFmini-S обладает такими преимуществами, как низкая стоимость, малый объем и низкое энергопотребление. Он также имеет несколько интерфейсов для удовлетворения различных требований разработчиков.

Внутренняя "начинка" датчика расстояния TFMini-S Micro LiDAR

Плата датчика имеет интерфейсы UART и I2C. Плата имеет микроконтроллер, такой как контроллер серии STM32 или что-то эквивалентное. Подключив датчик к любому внешнему микроконтроллеру, вы можете получить данные LiDAR. Он имеет 4 контакта в качестве контактов питания и контактов UART. Красный провод - это VCC, черный - это земля. Белый провод - это RX, а зеленый - это TX.

Распиновка датчика расстояния TFMini-S Micro LiDAR

В TFMini-S слепая зона сокращена с 30 см до 10 см, улучшены наружные характеристики и точность различных отражательных способностей. Диапазон расстояний не нарушается окружающим светом, что может соответствовать диапазону внутри помещения, а точность дополнительно оптимизирована. Погрешность характеристики при отражательной способности 10% приближается к фону отражательной способности 90%. Он может обеспечить стабильное, точное, чувствительное и высокочастотное обнаружение диапазона.

Технические характеристики датчика

  1. Рабочий диапазон 0,1 ~ 12 м.
  2. Напряжение питания – 5 В.
  3. Частота кадров 10–1000 Гц.
  4. Рабочая температура 0℃~60℃.
  5. Интерфейс связи – UART.
  6. Точность – ±6 см@(0,1-6 м), ±1%@(6-12 м).
  7. Поле зрения – 2°.

Приложения

  1. Однонаправленный LiDAR.
  2. Обход препятствий.
  3. Помощь при посадке.
  4. Следование рельефу местности.
  5. Роботы избегают препятствий на открытом воздухе.
  6. Интеллектуальная парковка. Крановые операции.
  7. Определение местоположения транспортного средства.
  8. Обнаружение транспортных средств для управления шлагбаумами.
  9. Высокоточное и высокоскоростное измерение.
  10. Безопасный для глаз инфракрасный светодиодный свет.
  11. Компактный размер, легкий.
  12. Хорошие характеристики для дронов, измеряющих высоту и огибающих рельеф местности.

Взаимодействие датчика расстояния TFMini-S Micro LiDAR с Arduino

Давайте подключим датчик расстояния TFMini-S Micro LiDAR к Arduino. Вы можете подключить датчик к интерфейсу UART или к интерфейсу I2C. Но я предпочитаю интерфейс UART. Подключение довольно простое.

Схема подключения датчика расстояния TFMini-S Micro LiDAR к Arduino

Подключите контакты VCC и GND датчика TFMini к контактам 5 В и GND платы Arduino. Аналогично подключите Tx и RX датчика к контактам D2 и D3 Arduino. Вы можете использовать любые другие контакты для Tx и Rx, которые поддерживают программный последовательный интерфейс.

Собранная на макетной плате конструкция проекта

Исходный код программы (с библиотекой)

Для датчика Benewake TFMini LiDAR есть специальная библиотека. Проверьте репозиторий Github для библиотеки Arduino TFMini.

Я изначально использовал пример кода из библиотеки TFMini и загрузил код. Код был загружен, но я получил сообщение об ошибке, так как датчик не смог проверить расстояние.

Пример кода из библиотеки не заработал

Затем я добавил несколько строк в код из некоторых ссылок Github, которые объясняли, почему датчик не работает с предопределенной библиотекой. На этот раз датчик заработал. Вот измененный код.

Тестирование работы проекта

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

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

Исходный код программы (без библиотеки)

Если вы хотите использовать датчик расстояния TFMini-S LiDAR с Arduino и без библиотеки, то проверьте следующий код. Вам не нужно добавлять никакую библиотеку в папку Library. Все параметры объяснены и определены в коде для извлечения данных через интерфейс UART.

Я снова протестировал производительность датчика с этим кодом. Код у меня работал отлично.

Пример работы с датчиком расстояния TFMini-S LiDAR без использования библиотеки

Использование датчика расстояния TFMini-S LiDAR с Arduino и ЖК-дисплеем

Теперь протестируем работу датчика с устройством внешнего отображения информации - в качестве такого устройства я выбрал ЖК-дисплей 16×2.

Схема подключения датчика расстояния TFMini-S LiDAR и ЖК-дисплея к Arduino

Итак, используя схему цепи, я подключил ЖК-дисплей 16×2 к предыдущей схеме на макетной плате. Я использовал потенциометр 10К для регулировки контрастности ЖК-дисплея.

Собранная на макетной плате конструкция проекта с ЖК дисплеем

Теперь это устройство портативно, и мы можем брать его с собой на улицу для тестирования приложений.

Исходный код программы (с ЖК дисплеем)

Я добавил несколько строк кода для работы с ЖК дисплеем к предыдущему коду, например, добавил библиотеку LCD и определил контакты для подключения дисплея. Затем я загрузил код, и он заработал как часы.

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

Тестирование работы проекта с ЖК дисплеем

Датчик может измерять максимальное расстояние до 1200 см. Согласно техническому описанию, его точность составляет около 90%. Поэтому мы можем использовать этот датчик в качестве демо или для базовых приложений.

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

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

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

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

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