Cuprins:

Benewake LiDAR TFmini (Ghid complet): 5 pași (cu imagini)
Benewake LiDAR TFmini (Ghid complet): 5 pași (cu imagini)

Video: Benewake LiDAR TFmini (Ghid complet): 5 pași (cu imagini)

Video: Benewake LiDAR TFmini (Ghid complet): 5 pași (cu imagini)
Video: Откройте для себя сокровища внутри [замка джиннов] 🔞 Охота за сокровищами металлоискателя ❌ 2024, Noiembrie
Anonim
Benewake LiDAR TFmini (Ghid complet)
Benewake LiDAR TFmini (Ghid complet)
Benewake LiDAR TFmini (Ghid complet)
Benewake LiDAR TFmini (Ghid complet)

Descriere

Modulul Micro LIDAR Benewake TFMINI are un design unic, optic, structural și electronic. Produsul are trei avantaje majore: cost redus, volum mic și consum redus de energie.

Algoritmul încorporat adaptat mediilor interioare și exterioare poate garanta o performanță excelentă la un cost redus și într-un volum mic, care extinde foarte mult câmpurile de aplicații și scenariile LiDAR și pune o bază solidă pentru viitorii „ochi” în inteligent. eră.

Specificații

  • Tensiune de intrare: 5v
  • Putere medie: 0,12W
  • Protocol de comunicare: UART (Baud rate: 115200)
  • Temperatura de funcționare: -20 ℃ ~ 60 ℃
  • FOV: 2,3 °

Dimensiuni

  • Dimensiune: 42mmx15mmx16mm
  • Greutate: 6,1 g

Limitări

Gama "orb" 0cm-30cm

De unde să cumpărați

  • RobotShop
  • Amazon

Această instrucțiune necesită familiarizarea cu următoarele:

  • Electronică de bază
  • Unelte manuale, cum ar fi tăietori de sârmă și decapanti
  • Citirea schemelor și a diagramelor de conexiune
  • Programare C / C ++ pentru Arduino (opțional)
  • Programare Python pentru Raspberry Pi (opțional)

Pasul 1: Adunarea materialului

Material de adunare
Material de adunare
Material de adunare
Material de adunare
Material de adunare
Material de adunare

Această instrucțiune vă va duce prin diferite moduri de implementare a TFmini LiDAR utilizând computerul Windows și Raspberry Pi. Fiecare metodă are cerințele sale și poate varia în funcție de nevoile dvs.

** Veți avea nevoie de Benewake TFmini LiDAR pentru fiecare caz (desigur) **

Pentru implementarea bazată pe PC:

  • Sistem de operare: Windows
  • Convertor USB-TTL
  • Sârme jumper

Pentru implementarea bazată pe Raspberry Pi:

  • Raspberry Pi
  • Sârme jumper
  • LED-uri (opțional)
  • Convertor USB-TTL (opțional)
  • Breadboard (opțional)
  • Rezistor (între 100-1k Ohm) (opțional)

Pasul 2: Implementare bazată pe PC folosind aplicația Benewake

Implementare bazată pe PC folosind aplicația Benewake
Implementare bazată pe PC folosind aplicația Benewake
Implementare bazată pe PC folosind aplicația Benewake
Implementare bazată pe PC folosind aplicația Benewake
  1. Conectați TFmini LiDAR la convertorul USB-TTL folosind fire jumper (mascul-feminin) conform schemei prezentate

    • Sârmă roșie 5V
    • Black Wire GND
    • Sârmă albă / albastră Tx
    • Green Wire Rx
  2. Conectați USB-TTL la computer
  3. Accesați Device Manager (Win + X) și localizați „Prolific USB-to-Serial Comm Port” sub Porturi (COM & LPT). Asigurați-vă că Windows recunoaște dispozitivul
  4. Descărcați și extrageți WINCC_TF.rar
  5. Rulați WINCC_TFMini.exe din fișierele extrase
  6. Selectați portul COM corespunzător din meniul derulant din aplicația Benewake sub titlul Port serial
  7. Faceți clic pe CONECTARE

Pasul 3: Implementare bazată pe PC folosind Python (PySerial)

Implementare bazată pe PC folosind Python (PySerial)
Implementare bazată pe PC folosind Python (PySerial)
  1. Conectați TFmini LiDAR la computer utilizând convertorul USB-TTL
  2. Descărcați și deschideți PC_Benewake_TFmini_LiDAR.py folosind Python IDLE (asigurați-vă că aveți PySerial și Python instalate pe computer)
  3. Editați portul COM în cod pentru a se potrivi cu portul COM al convertorului USB-TTL de pe computer (a se vedea imaginea)
  4. Faceți clic pe fila Executare
  5. Faceți clic pe Run Module

** Consultați Pasul 5 pentru explicații despre cod

Pasul 4: Implementare bazată pe Raspberry Pi

Implementare bazată pe Raspberry Pi
Implementare bazată pe Raspberry Pi
Implementare bazată pe Raspberry Pi
Implementare bazată pe Raspberry Pi
Implementare bazată pe Raspberry Pi
Implementare bazată pe Raspberry Pi
Implementare bazată pe Raspberry Pi
Implementare bazată pe Raspberry Pi
  1. Conectați TFmini LiDAR la RPi utilizând convertorul USB-TTL sau portul UART utilizând GPIO
  2. Descărcați și deschideți Pi_benewake_LiDAR.py folosind Python IDLE
  3. Dacă utilizați un convertor USB-TTL cu RPi, deschideți Arduino IDE. Faceți clic pe Instrumente -> Port serial și modificați codul corespunzător. Dacă utilizați portul UART GPIO, scrieți / dev / ttyAMA0
  4. Rulați codul

** Codul ar putea fi utilizat pentru a imprima distanța, dar din moment ce RPi nu are multă putere de procesare, este recomandat să aprindeți un LED dacă distanța înregistrată este sub un anumit interval (este atașat schema pentru LED-uri cu RPi)

Î. De ce să folosiți convertorul USB-TTL cu RPi?

RPi are un singur port UART și, uneori, trebuie să puneți câteva module care necesită comunicare UART. USB-TTL oferă un port UART suplimentar la RPi, oferindu-ne posibilitatea de a conecta mai multe dispozitive UART (cum ar fi două sau mai multe TFmini LiDAR) la RPi.

Pasul 5: Despre cod

Despre Cod
Despre Cod

Codul poate fi împărțit în trei părți:

  • Stabilirea conexiunii
  • Scrierea datelor
  • Citirea datelor

Stabilirea conexiunii:

După importarea fișierelor antet necesare, stabilim conexiunea la TFmini LiDAR prin declararea portului COM, a ratei Baud și a expirării conexiunii

ser = serial. Serial ('COM7', 115200, timeout = 1) #PC

ser = serial. Serial ('/ dev / ttyUSB1', 115200, timeout = 1) #Raspberry Pi

Scrierea datelor:

Codul poate fi împărțit în două părți, scris și primire. Pentru a primi date, trebuie să redirecționați anumite comenzi către TFmini LiDAR (parte a procesului de inițializare). În acest caz, am ales 4257020000000106. Chiar dacă RPi rulează aceeași versiune de Python, dar există o ușoară modificare a sintaxei, deoarece RPi nu acceptă alte date decât cele binare.

ser.write (0x42)

ser.write (0x57) ser.write (0x02) ser.write (0x00) ser.write (0x00) ser.write (0x00) ser.write (0x01) ser.write (0x06)

Citirea datelor:

Graficul furnizat în fișa tehnică ne oferă „defalcarea” mesajului UART de 9 octeți. Primii doi octeți sunt antet de cadru având o valoare de hex 0x59 (caracterul „Y”). Acestea pot fi citite și utilizate pentru a identifica începutul mesajului UART.

if (('Y' == ser.read ()) și ('Y' == ser.read ())):

Odată ce cadrul antetului este citit, următorii doi octeți, care transportă date la distanță, ar putea fi citite. Datele privind distanța sunt împărțite în două pachete de 8 biți, Dist_L (Byte3) - 8 biți inferiori și Dist_H (Byte4) - 8 biți superiori.

Dist_L = ser.read () # Byte3Dist_H = ser.read () # Byte4

Înmulțind Dist_H cu 256, datele binare sunt deplasate cu 8 la stânga (echivalent cu „<< 8”). Acum, datele de distanță mai mici de 8 biți, Dist_L, ar putea fi pur și simplu adăugate rezultând date de 16 biți ale Dist_Total.

Dist_Total = (ord (Dist_H) * 256) + (ord (Dist_L))

Deoarece avem cu noi valoarea distanței „descifrate”, următorii cinci octeți ar putea fi ignorați. Rețineți că datele citite nu sunt stocate nicăieri.

pentru i în intervalul (0, 5): ser.read ()

** Într-un alt loc, s-ar putea să găsiți „întârziere” (time.sleep în Python) încorporată înainte de sfârșitul buclei din motivul că TFmini LiDAR are o frecvență de operare de 100Hz. Această întârziere „întârziere de program” și va duce la actualizarea datelor după o anumită întârziere. Cred că, deoarece așteptăm deja ca datele să se acumuleze până la 9 octeți, nu ar trebui să existe altă întârziere

# time.sleep (0.0005) # Întârzierea este comentată

while (ser.in_waiting> = 9):

Recomandat: