Съдържание:

Benewake LiDAR TFmini (Пълно ръководство): 5 стъпки (със снимки)
Benewake LiDAR TFmini (Пълно ръководство): 5 стъпки (със снимки)

Видео: Benewake LiDAR TFmini (Пълно ръководство): 5 стъпки (със снимки)

Видео: Benewake LiDAR TFmini (Пълно ръководство): 5 стъпки (със снимки)
Видео: DIYmall TFmini 2024, Ноември
Anonim
Benewake LiDAR TFmini (Пълно ръководство)
Benewake LiDAR TFmini (Пълно ръководство)
Benewake LiDAR TFmini (Пълно ръководство)
Benewake LiDAR TFmini (Пълно ръководство)

Описание

Модулът Benewake TFMINI Micro LIDAR има своите уникални оптични, структурни и електронни дизайни. Продуктът притежава три основни предимства: ниска цена, малък обем и ниска консумация на енергия.

Вграденият алгоритъм, адаптиран към вътрешна и външна среда, може да гарантира отлична производителност при ниска цена и в малък обем, което значително разширява областите на приложение и сценариите на LiDAR и поставя солидна основа за бъдещите „очи“в интелигентните епоха.

Спецификации

  • Входно напрежение: 5v
  • Средна мощност: 0.12W
  • Комуникационен протокол: UART (скорост на предаване: 115200)
  • Работна температура: -20 ℃ ~ 60 ℃
  • FOV: 2,3 °

Размери

  • Размер: 42 мм х 15 мм х 16 мм
  • Тегло: 6,1g

Ограничения

0cm-30cm "сляп" диапазон

Къде да купя

  • RobotShop
  • Amazon

Тази инструкция изисква да сте запознати със следното:

  • Основна електроника
  • Ръчни инструменти като резачки за тел и събличащи машини
  • Четене на схеми и схеми на свързване
  • C/C ++ програмиране за Arduino (по избор)
  • Python програмиране за Raspberry Pi (по избор)

Стъпка 1: Събиране на материал

Събиращ материал
Събиращ материал
Събиращ материал
Събиращ материал
Събиращ материал
Събиращ материал

Тази инструкция ще ви преведе през различни начини за внедряване на TFmini LiDAR с помощта на вашия компютър с Windows и Raspberry Pi. Всеки метод има своите изисквания и може да варира в зависимост от вашите нужди.

** Ще имате нужда от Benewake TFmini LiDAR за всеки случай (разбира се) **

За PC базирана реализация:

  • ОС: Windows
  • USB-TTL конвертор
  • Джъмперни проводници

За реализация на базата на Raspberry Pi:

  • Малина Пи
  • Джъмперни проводници
  • Светодиоди (по избор)
  • USB-TTL конвертор (по избор)
  • Платка (по избор)
  • Резистор (между 100-1k Ohm) (по избор)

Стъпка 2: Компютърно внедряване с помощта на приложението Benewake

Компютърно внедряване с помощта на приложението Benewake
Компютърно внедряване с помощта на приложението Benewake
Компютърно внедряване с помощта на приложението Benewake
Компютърно внедряване с помощта на приложението Benewake
  1. Свържете TFmini LiDAR към USB-TTL конвертор, като използвате джъмперни (мъжки-женски) проводници според показаната схема

    • Червен проводник 5V
    • Черен проводник GND
    • Бял/син проводник Tx
    • Зелена тел Rx
  2. Включете USB-TTL към вашия компютър
  3. Отидете в Device Manager (Win + X) и намерете „Prolific USB-to-Serial Comm Port“под Ports (COM & LPT). Уверете се, че Windows разпознава устройството
  4. Изтеглете и извлечете WINCC_TF.rar
  5. Стартирайте WINCC_TFMini.exe от извлечените файлове
  6. Изберете съответния COM порт от падащото меню в приложението Benewake под заглавието Сериен порт
  7. Щракнете върху CONNECT

Стъпка 3: PC базирана реализация с помощта на Python (PySerial)

PC базирана реализация с помощта на Python (PySerial)
PC базирана реализация с помощта на Python (PySerial)
  1. Свържете TFmini LiDAR към компютър с помощта на USB-TTL конвертор
  2. Изтеглете и отворете PC_Benewake_TFmini_LiDAR.py с помощта на Python IDLE (уверете се, че имате инсталирани PySerial и Python на вашия компютър)
  3. Редактирайте COM порта в кода, за да съответства на COM порта на USB-TTL конвертора на вашия компютър (вижте изображението)
  4. Щракнете върху раздела Изпълнение
  5. Щракнете върху Изпълни модул

** Вижте Стъпка 5 за обяснение на кода

Стъпка 4: Изпълнение на базата на Raspberry Pi

Реализация на базата на Raspberry Pi
Реализация на базата на Raspberry Pi
Реализация на базата на Raspberry Pi
Реализация на базата на Raspberry Pi
Реализация на базата на Raspberry Pi
Реализация на базата на Raspberry Pi
Реализация на базата на Raspberry Pi
Реализация на базата на Raspberry Pi
  1. Свържете TFmini LiDAR към RPi, като използвате USB-TTL конвертор или UART порт, използвайки GPIO
  2. Изтеглете и отворете Pi_benewake_LiDAR.py с помощта на Python IDLE
  3. Ако използвате USB-TTL конвертор с RPi, отворете Arduino IDE. Щракнете върху Инструменти -> Сериен порт и редактирайте кода съответно. Ако използвате UART GPIO порт, тогава напишете /dev /ttyAMA0
  4. Пуснете кода

** Кодът може да се използва за отпечатване на разстоянието, но тъй като RPi няма много процесорна мощност, се препоръчва да се запали светодиод, ако записаното разстояние е под определен диапазон (схемата за LED с RPi е приложена)

В. Защо да използвате USB-TTL конвертор с RPi?

RPi има само един UART порт и понякога трябва да поставите няколко модула, които изискват UART комуникация. USB-TTL предоставя допълнителен UART порт към RPi, което ни дава възможност да свържем повече от едно UART устройство (като две или повече TFmini LiDAR) към RPi.

Стъпка 5: За кода

Относно Кодекса
Относно Кодекса

Кодът може да бъде разделен на три части:

  • Установяване на връзка
  • Записване на данни
  • Четене на данни

Установяване на връзка:

След като импортираме необходимите заглавни файлове, установяваме връзка с нашия TFmini LiDAR, като посочваме неговия COM порт, скорост на предаване и изчакване на връзката

ser = serial. Serial ('COM7', 115200, timeout = 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) ser.write (0x06)

Четене на данни:

Графиката, предоставена в информационния лист, ни дава „разбивка“на 9-байтово UART съобщение. Първите два байта са заглавие на рамка със стойност шестнадесетичен 0x59 (символ 'Y'). Те могат да бъдат прочетени и използвани за идентифициране на началото на UART съобщението.

if (('Y' == ser.read ()) и ('Y' == ser.read ())):

След като рамката на заглавката бъде прочетена, следващите два байта, носещи данни за разстоянието, могат да бъдат прочетени. Данните за разстоянието са разделени на два 8 -битови пакета, Dist_L (Byte3) - Lower 8bits и Dist_H (Byte4) - High 8bits.

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 има 100Hz работна честота. Това забавяне „забавяне на програмата“и ще доведе до актуализиране на данните след известно забавяне. Вярвам, че тъй като вече чакаме данните да се натрупат до 9 байта, не трябва да има друго забавяне

#time.sleep (0,0005) #Закъснението е коментирано

while (ser.in_waiting> = 9):

Препоръчано: