Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05
Описание
Модуль Benewake TFMINI Micro LIDAR имеет уникальный оптический, структурный и электронный дизайн. Продукт обладает тремя основными преимуществами: низкой стоимостью, небольшим объемом и низким энергопотреблением.
Встроенный алгоритм, адаптированный к внутренним и внешним условиям, может гарантировать отличную производительность при низкой стоимости и в небольшом объеме, что значительно расширяет области применения и сценарии LiDAR и закладывает прочную основу для будущих «глаз» в умных эпоха.
Характеристики
- Входное напряжение: 5 В
- Средняя мощность: 0,12 Вт
- Протокол связи: UART (скорость передачи: 115200)
- Рабочая температура: -20 ℃ ~ 60 ℃
- Угол обзора: 2.3 °
Габаритные размеры
- Размер: 42 мм x 15 мм x 16 мм
- Вес: 6,1 г
Ограничения
0-30см «слепой» диапазон
Где купить
- RobotShop
- Амазонка
Это руководство требует, чтобы вы были знакомы со следующим:
- Базовая электроника
- Ручные инструменты, такие как кусачки и стриптизерши
- Чтение схем и схем подключения
- Программирование на C / C ++ для Arduino (необязательно)
- Программирование на Python для Raspberry Pi (необязательно)
Шаг 1: сбор материала
Это руководство проведет вас через различные способы развертывания TFmini LiDAR с помощью ПК с Windows и Raspberry Pi. Каждый метод имеет свои требования и может варьироваться в зависимости от ваших потребностей.
** Вам понадобится Benewake TFmini LiDAR для каждого случая (конечно) **
Для реализации на базе ПК:
- ОС: Windows
- Конвертер USB-TTL
- Провода перемычки
Для реализации на основе Raspberry Pi:
- Raspberry Pi
- Провода перемычки
- Светодиоды (опционально)
- Конвертер USB-TTL (опционально)
- Макетная плата (необязательно)
- Резистор (от 100 до 1 кОм) (опционально)
Шаг 2. Реализация на базе ПК с использованием приложения Benewake
-
Подключите TFmini LiDAR к конвертеру USB-TTL с помощью перемычек (вилка-розетка) в соответствии с показанной схемой.
- Красный провод 5В
- Черный провод GND
- Белый / синий провод Tx
- Зеленый провод Rx
- Подключите USB-TTL к компьютеру
- Перейдите в диспетчер устройств (Win + X) и найдите «Prolific USB-to-Serial Comm Port» в разделе «Порты (COM и LPT)». Убедитесь, что Windows распознает устройство
- Загрузите и распакуйте WINCC_TF.rar
- Запустите WINCC_TFMini.exe из извлеченных файлов
- Выберите соответствующий COM-порт из раскрывающегося меню в приложении Benewake под заголовком Последовательный порт.
- Нажмите ПОДКЛЮЧИТЬСЯ.
Шаг 3. Реализация на базе ПК с использованием Python (PySerial)
- Подключите TFmini LiDAR к ПК с помощью конвертера USB-TTL
- Загрузите и откройте PC_Benewake_TFmini_LiDAR.py с помощью Python IDLE (убедитесь, что на вашем компьютере установлены PySerial и Python)
- Отредактируйте COM-порт в коде, чтобы он соответствовал COM-порту конвертера USB-TTL на вашем ПК (см. Изображение)
- Перейдите на вкладку "Выполнить".
- Нажмите "Запустить модуль".
** Обратитесь к Шагу 5 для объяснения кода.
Шаг 4: Реализация на основе Raspberry Pi
- Подключите TFmini LiDAR к RPi с помощью преобразователя USB-TTL или порта UART с помощью GPIO
- Загрузите и откройте Pi_benewake_LiDAR.py с помощью Python IDLE
- Если вы используете преобразователь USB-TTL с RPi, откройте Arduino IDE. Щелкните Инструменты -> Последовательный порт и отредактируйте код соответствующим образом. Если вы используете порт UART GPIO, напишите / dev / ttyAMA0
- Запустите код
** Код может использоваться для печати расстояния, но поскольку RPi не обладает большой вычислительной мощностью, рекомендуется зажечь светодиод, если записанное расстояние ниже определенного диапазона (схема для светодиода с RPi прилагается)
В. Зачем использовать конвертер USB-TTL с RPi?
RPi имеет только один порт UART, и иногда вам нужно установить несколько модулей, требующих связи UART. USB-TTL предоставляет дополнительный порт UART для RPi, что дает нам возможность подключать более одного устройства UART (например, два или более TFmini LiDAR) к RPi.
Шаг 5: О коде
Код можно разделить на три части:
- Установление соединения
- Запись данных
- Чтение данных
Установление соединения:
После импорта необходимых файлов заголовков мы устанавливаем соединение с нашим TFmini LiDAR, указав его COM-порт, скорость передачи и время ожидания соединения.
ser = serial. Serial ('COM7', 115200, тайм-аут = 1) #PC
ser = serial. Serial ('/ dev / ttyUSB1', 115200, timeout = 1) #Raspberry Pi
Запись данных:
Код можно разделить на две части: написание и получение. Для получения данных вам необходимо отправить определенную команду в TFmini LiDAR (часть процесса инициализации). В данном случае я выбрал 4257020000000106. Хотя RPi работает с той же версией Python, но есть небольшое изменение в синтаксисе, поскольку RPi не принимает данные, кроме двоичных.
ser.write (0x42)
ser.write (0x57) ser.write (0x02) ser.write (0x00) ser.write (0x00) ser.write (0x00) ser.write (0x01) сер.write (0x06)
Чтение данных:
Таблица, представленная в листе данных, дает нам «разбивку» 9-байтового сообщения UART. Первые два байта - это заголовок кадра, имеющий шестнадцатеричное значение 0x59 (символ «Y»). Их можно прочитать и использовать для идентификации начала сообщения UART.
if (('Y' == ser.read ()) и ('Y' == ser.read ())):
Как только фрейм заголовка прочитан, могут быть прочитаны следующие два байта, содержащие данные о расстоянии. Данные о расстоянии делятся на два 8-битных пакета: Dist_L (Byte3) - младшие 8 бит и Dist_H (Byte4) - старшие 8 бит.
Dist_L = ser.read () # Byte3Dist_H = ser.read () # Byte4
При умножении Dist_H на 256 двоичные данные сдвигаются на 8 влево (эквивалент «<< 8»). Теперь можно просто добавить более низкие 8-битные данные о расстоянии, Dist_L, что приведет к 16-битным данным Dist_Total.
Dist_Total = (ord (Dist_H) * 256) + (ord (Dist_L))
Поскольку у нас есть «расшифрованное» значение расстояния, следующие пять байтов можно игнорировать. Обратите внимание, что прочитанные данные нигде не сохраняются.
для i в диапазоне (0, 5): ser.read ()
** В другом месте вы можете найти «задержку» (time.sleep в Python) перед концом цикла по той причине, что TFmini LiDAR имеет рабочую частоту 100 Гц. Эта задержка «программная задержка» приведет к ОБНОВЛЕНИЮ данных после некоторой задержки. Я считаю, что, поскольку мы уже ждем, когда данные накопятся до 9 байт, другой задержки быть не должно.
# time.sleep (0.0005) # Задержка закомментирована
пока (ser.in_waiting> = 9):
Рекомендуемые:
Что внутри сервопривода и как использовать с Arduino Полное руководство: 6 шагов
Что внутри сервопривода и как использовать его с Arduino Полное руководство: в этом руководстве давайте рассмотрим, что такое сервопривод, ознакомьтесь с этим видеоуроком
Полное руководство по пайке SMD для новичков: 5 шагов (с изображениями)
Полное руководство для начинающих по пайке SMD: Хорошо, пайка довольно проста для компонентов со сквозным отверстием, но бывают случаи, когда вам нужно стать крошечным * вставьте сюда ссылку на человека-муравья *, и навыки, которые вы изучили для пайки TH, просто не подходят подать заявку. Добро пожаловать в мир
Как сделать профессиональную печатную плату: полное руководство: 10 шагов (с изображениями)
Как сделать профессиональную печатную плату: полное руководство: Всем привет, сегодня я покажу вам, как сделать профессиональную печатную плату, чтобы улучшить ваши электронные проекты. Давайте начнем
2 доллара Arduino. ATMEGA328 как автономный. Легко, дешево и очень мало. Полное руководство: 6 шагов (с изображениями)
2 доллара Arduino. ATMEGA328 как автономный. Легко, дешево и очень мало. Полное руководство. В этом руководстве вы узнаете, как использовать микросхему микроконтроллера Arduino ATMEGA328 в качестве автономного микроконтроллера. Они стоят всего 2 доллара, могут делать то же самое, что и ваш Arduino, и делают ваши проекты очень маленькими. Мы рассмотрим расположение выводов
Benewake TFmini - недорогой LiDAR с Teensy 3.5: 3 шага
Benewake TFmini - Недорогой LiDAR с Teensy 3.5: Блок Benewake TFmini LiDAR представляет собой небольшой, очень легкий датчик LiDAR по цене около 50 канадских долларов. Документация хорошая, но неполная. Он предоставил подробную информацию о получении данных от датчика, но забыл упомянуть сигнал, необходимый для установки датчика