Taula de continguts:

Benewake LiDAR TFmini (Guia completa): 5 passos (amb imatges)
Benewake LiDAR TFmini (Guia completa): 5 passos (amb imatges)

Vídeo: Benewake LiDAR TFmini (Guia completa): 5 passos (amb imatges)

Vídeo: Benewake LiDAR TFmini (Guia completa): 5 passos (amb imatges)
Vídeo: #IDEAWEBINARS | 03 Digitalización Escaner y Dron 2024, Desembre
Anonim
Benewake LiDAR TFmini (Guia completa)
Benewake LiDAR TFmini (Guia completa)
Benewake LiDAR TFmini (Guia completa)
Benewake LiDAR TFmini (Guia completa)

Descripció

El mòdul Micro LIDAR Benewake TFMINI té els seus dissenys òptics, estructurals i electrònics únics. El producte té tres avantatges principals: baix cost, petit volum i baix consum d'energia.

L’algoritme integrat adaptat a entorns interiors i exteriors pot garantir un rendiment excel·lent a un baix cost i en un volum reduït, que amplia els camps d’aplicació i els escenaris de LiDAR i estableix una base sòlida per als futurs “ulls” en el sistema intel·ligent. era.

Especificacions

  • Voltatge d'entrada: 5v
  • Potència mitjana: 0,12W
  • Protocol de comunicació: UART (Baud rate: 115200)
  • Temperatura de funcionament: -20 ℃ ~ 60 ℃
  • FOV: 2,3 °

Dimensions

  • Mides: 42mmx15mmx16mm
  • Pes: 6,1 g

Limitacions

Abast "cec" de 0cm a 30cm

On comprar

  • RobotShop
  • Amazon

Aquesta instrucció requereix que estigueu familiaritzat amb el següent:

  • Electrònica bàsica
  • Eines manuals com talladores de filferro i decapants
  • Lectura d’esquemes i diagrames de connexió
  • Programació C / C ++ per a Arduino (opcional)
  • Programació Python per a Raspberry Pi (opcional)

Pas 1: reunir material

Material de recollida
Material de recollida
Material de recollida
Material de recollida
Material de recollida
Material de recollida

Aquesta instrucció us guiarà per diferents maneres de desplegar TFmini LiDAR mitjançant el vostre PC amb Windows i Raspberry Pi. Cada mètode té els seus requisits i pot variar en funció de les vostres necessitats.

** Necessitareu Benewake TFmini LiDAR per a cada cas (és clar) **

Per a la implementació basada en PC:

  • SO: Windows
  • Convertidor USB-TTL
  • Filferros de pont

Per a la implementació basada en Raspberry Pi:

  • Raspberry Pi
  • Filferros de pont
  • LED (opcional)
  • Convertidor USB-TTL (opcional)
  • Taula de pa (opcional)
  • Resistència (entre 100-1 k Ohm) (opcional)

Pas 2: Implementació basada en PC mitjançant l'aplicació Benewake

Implementació basada en PC mitjançant l’aplicació Benewake
Implementació basada en PC mitjançant l’aplicació Benewake
Implementació basada en PC mitjançant l’aplicació Benewake
Implementació basada en PC mitjançant l’aplicació Benewake
  1. Connecteu TFmini LiDAR al convertidor USB-TTL mitjançant cables jumper (home-dona) segons l’esquema que es mostra
    • Cable vermell 5V
    • Black Wire GND
    • Filferro blanc / blau Tx
    • Green Wire Rx
  2. Connecteu USB-TTL a l'ordinador
  3. Aneu al Gestor de dispositius (Win + X) i localitzeu "Prolific USB-to-Serial Comm Port" a Ports (COM & LPT). Assegureu-vos que Windows reconeix el dispositiu
  4. Baixeu i traieu WINCC_TF.rar
  5. Executeu WINCC_TFMini.exe des dels fitxers extrets
  6. Seleccioneu el port COM corresponent al menú desplegable de l’aplicació Benewake a l’encapçalament Port sèrie
  7. Feu clic a CONNEXA

Pas 3: Implementació basada en PC mitjançant Python (PySerial)

Implementació basada en PC mitjançant Python (PySerial)
Implementació basada en PC mitjançant Python (PySerial)
  1. Connecteu TFmini LiDAR al PC mitjançant un convertidor USB-TTL
  2. Descarregueu i obriu PC_Benewake_TFmini_LiDAR.py mitjançant Python IDLE (assegureu-vos que teniu instal·lats PySerial i Python al vostre PC)
  3. Editeu el port COM al codi perquè coincideixi amb el port COM del convertidor USB-TTL del vostre PC (vegeu la imatge)
  4. Feu clic a la pestanya Executa
  5. Feu clic a Executa el mòdul

** Consulteu el pas 5 per obtenir explicacions sobre el codi

Pas 4: Implementació basada en Raspberry Pi

Implementació basada en Raspberry Pi
Implementació basada en Raspberry Pi
Implementació basada en Raspberry Pi
Implementació basada en Raspberry Pi
Implementació basada en Raspberry Pi
Implementació basada en Raspberry Pi
Implementació basada en Raspberry Pi
Implementació basada en Raspberry Pi
  1. Connecteu TFmini LiDAR a RPi mitjançant el convertidor USB-TTL o el port UART mitjançant GPIO
  2. Descarregueu i obriu Pi_benewake_LiDAR.py mitjançant Python IDLE
  3. Si feu servir un convertidor USB-TTL amb RPi, obriu Arduino IDE. Feu clic a Eines -> Port sèrie i editeu el codi en conseqüència. Si utilitzeu el port GPIO UART, escriviu / dev / ttyAMA0
  4. Executeu el codi

** El codi es podria utilitzar per imprimir la distància, però com que RPi no té molta potència de processament, es recomana encendre un LED si la distància registrada està per sota d'un cert rang (s'adjunta un esquema per a LED amb RPi)

P. Per què utilitzar el convertidor USB-TTL amb RPi?

RPi només té un port UART i, de vegades, cal posar uns quants mòduls que requereixen comunicació UART. USB-TTL proporciona un port UART addicional a RPi, que ens dóna l'oportunitat de connectar més d'un dispositiu UART (com dos o més TFmini LiDAR) a RPi.

Pas 5: Quant al codi

Quant al Codi
Quant al Codi

El codi es pot dividir en tres parts:

  • S'estableix la connexió
  • Escriptura de dades
  • Lectura de dades

Establiment de connexió:

Després d’importar els fitxers de capçalera necessaris, establim la connexió al nostre TFmini LiDAR indicant el port COM, la velocitat en Baud i el temps d’espera de la connexió.

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

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

Escriptura de dades:

El codi es pot dividir en dues parts, escriure i rebre. Per rebre dades, heu de reenviar l’ordre a TFmini LiDAR (part del procés d’inicialització). En aquest cas, he escollit 4257020000000106. Tot i que RPi executa la mateixa versió de Python però hi ha un lleuger canvi de sintaxi ja que RPi no accepta dades que no siguin binàries.

ser.write (0x42)

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

Lectura de dades:

El gràfic proporcionat al full de dades ens proporciona el "desglossament" del missatge UART de 9 bytes. Els dos primers bytes són capçaleres de trames amb un valor hexadecimal 0x59 (caràcter 'Y'). Es poden llegir i utilitzar per identificar l'inici del missatge UART.

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

Un cop llegit el marc de capçalera, es podrien llegir els dos bytes següents, amb dades de distància. Les dades de distància es divideixen en dos paquets de 8 bits, Dist_L (Byte3) - 8bits inferiors i Dist_H (Byte4) - 8bits superiors.

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

En multiplicar Dist_H per 256, les dades binàries es desplacen per 8 a l'esquerra (equivalent a "<< 8"). Ara, les dades de distància de 8 bits més baixes, Dist_L, es podrien afegir simplement donant lloc a dades de 16 bits de Dist_Total.

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

Com que tenim el valor de distància "desxifrat" amb nosaltres, es podrien ignorar els cinc bytes següents. Tingueu en compte que les dades llegides no s’emmagatzemen en cap lloc.

per a l’interval (0, 5): ser.read ()

** En algun altre lloc, és possible que trobeu "delay" (time.sleep a Python) incorporat abans del final del bucle pel motiu que el TFmini LiDAR té una freqüència de funcionament de 100Hz. Aquest retard es produeix com a "retard del programa" i comportarà l'actualització de les dades després d'un cert retard. Crec que, com que ja estem esperant que les dades s’acumulin fins a 9 bytes, no hauria d’haver cap altre retard

# time.sleep (0.0005) # Es comenta el retard

while (ser.in_waiting> = 9):

Recomanat: