Tabla de contenido:

Benewake LiDAR TFmini (Guía completa): 5 pasos (con imágenes)
Benewake LiDAR TFmini (Guía completa): 5 pasos (con imágenes)

Video: Benewake LiDAR TFmini (Guía completa): 5 pasos (con imágenes)

Video: Benewake LiDAR TFmini (Guía completa): 5 pasos (con imágenes)
Video: SISTEMAS LIDAR 2024, Mes de julio
Anonim
Benewake LiDAR TFmini (Guía completa)
Benewake LiDAR TFmini (Guía completa)
Benewake LiDAR TFmini (Guía completa)
Benewake LiDAR TFmini (Guía completa)

Descripción

El módulo Benewake TFMINI Micro LIDAR tiene sus diseños ópticos, estructurales y electrónicos únicos. El producto posee tres ventajas principales: bajo costo, pequeño volumen y bajo consumo de energía.

El algoritmo incorporado adaptado a entornos interiores y exteriores puede garantizar un excelente rendimiento de rango a bajo costo y en un volumen diminuto, lo que amplía en gran medida los campos de aplicación y los escenarios de LiDAR y sienta una base sólida para los futuros "ojos" en lo inteligente. era.

Especificaciones

  • Voltaje de entrada: 5 V
  • Potencia media: 0,12 W
  • Protocolo de comunicación: UART (velocidad en baudios: 115200)
  • Temperatura de funcionamiento: -20 ℃ ~ 60 ℃
  • Campo de visión: 2,3 °

Dimensiones

  • Tamaño: 42 mm x 15 mm x 16 mm
  • Peso: 6,1 g

Limitaciones

Rango "ciego" de 0cm-30cm

Donde comprar

  • RobotShop
  • Amazonas

Este instructivo requiere que esté familiarizado con lo siguiente:

  • Electrónica básica
  • Herramientas manuales como cortadores de alambre y pelacables
  • Lectura de esquemas y diagramas de conexión.
  • Programación C / C ++ para Arduino (opcional)
  • Programación Python para Raspberry Pi (opcional)

Paso 1: recolección de material

Material de recolección
Material de recolección
Material de recolección
Material de recolección
Material de recolección
Material de recolección

Este instructivo lo llevará a través de diferentes formas de implementar TFmini LiDAR usando su PC con Windows y Raspberry Pi. Cada método tiene sus requisitos y puede variar según sus necesidades.

** Necesitará Benewake TFmini LiDAR para cada caso (por supuesto) **

Para implementación basada en PC:

  • SO: Windows
  • Convertidor USB-TTL
  • Cables de puente

Para la implementación basada en Raspberry Pi:

  • Frambuesa pi
  • Cables de puente
  • LED (opcional)
  • Convertidor USB-TTL (opcional)
  • Tablero (opcional)
  • Resistencia (entre 100-1k ohmios) (opcional)

Paso 2: Implementación basada en PC con la aplicación Benewake

Implementación basada en PC con la aplicación Benewake
Implementación basada en PC con la aplicación Benewake
Implementación basada en PC con la aplicación Benewake
Implementación basada en PC con la aplicación Benewake
  1. Conecte TFmini LiDAR al convertidor USB-TTL utilizando cables de puente (macho-hembra) de acuerdo con el esquema que se muestra
    • Cable rojo 5V
    • GND de alambre negro
    • Transmisor de cable blanco / azul
    • Green Wire Rx
  2. Conecte USB-TTL a su computadora
  3. Vaya al Administrador de dispositivos (Win + X) y busque "Puerto de comunicaciones USB a serie prolífico" en Puertos (COM y LPT). Asegúrese de que Windows reconozca el dispositivo
  4. Descargar y extraer WINCC_TF.rar
  5. Ejecute WINCC_TFMini.exe desde los archivos extraídos
  6. Seleccione el puerto COM correspondiente del menú desplegable en la aplicación Benewake bajo el título Puerto serie
  7. Haga clic en CONECTAR

Paso 3: Implementación basada en PC con Python (PySerial)

Implementación basada en PC usando Python (PySerial)
Implementación basada en PC usando Python (PySerial)
  1. Conecte TFmini LiDAR a la PC usando un convertidor USB-TTL
  2. Descargue y abra PC_Benewake_TFmini_LiDAR.py usando Python IDLE (asegúrese de tener PySerial y Python instalados en su PC)
  3. Edite el puerto COM en el código para que coincida con el puerto COM del convertidor USB-TTL en su PC (ver imagen)
  4. Haga clic en la pestaña Ejecutar
  5. Haga clic en Ejecutar módulo

** Consulte el Paso 5 para obtener una explicación del código.

Paso 4: Implementación basada en Raspberry Pi

Implementación basada en Raspberry Pi
Implementación basada en Raspberry Pi
Implementación basada en Raspberry Pi
Implementación basada en Raspberry Pi
Implementación basada en Raspberry Pi
Implementación basada en Raspberry Pi
Implementación basada en Raspberry Pi
Implementación basada en Raspberry Pi
  1. Conecte TFmini LiDAR a RPi usando un convertidor USB-TTL o un puerto UART usando GPIO
  2. Descargue y abra Pi_benewake_LiDAR.py usando Python IDLE
  3. Si está utilizando un convertidor USB-TTL con RPi, abra Arduino IDE. Haga clic en Herramientas -> Puerto serie y edite el código en consecuencia. Si está utilizando el puerto UART GPIO, escriba / dev / ttyAMA0
  4. Ejecuta el código

** El código podría usarse para imprimir la distancia, pero dado que RPi no tiene mucha potencia de procesamiento, se recomienda encender un LED si la distancia registrada está por debajo de cierto rango (se adjunta el esquema para LED con RPi)

P. ¿Por qué utilizar el convertidor USB-TTL con RPi?

RPi solo tiene un puerto UART y, a veces, es necesario colocar algunos módulos que exigen comunicación UART. USB-TTL proporciona un puerto UART adicional a RPi, lo que nos da la oportunidad de conectar más de un dispositivo UART (como dos o más TFmini LiDAR) a RPi.

Paso 5: Acerca del código

Sobre el Código
Sobre el Código

El código se puede dividir en tres partes:

  • Estableciendo conexión
  • Escribiendo datos
  • Leer datos

Estableciendo conexión:

Después de importar los archivos de encabezado necesarios, establecemos la conexión a nuestro TFmini LiDAR indicando su puerto COM, velocidad en baudios y tiempo de espera de conexión.

ser = serial. Serial ('COM7', 115200, tiempo de espera = 1) #PC

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

Escribiendo datos:

El código se puede dividir en dos partes, escritura y recepción. Para recibir datos, debe enviar el comando específico a TFmini LiDAR (parte del proceso de inicialización). En este caso, he elegido 4257020000000106. Aunque RPi ejecuta la misma versión de Python, hay un ligero cambio en la sintaxis ya que RPi no acepta datos que no sean binarios.

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 datos:

El gráfico proporcionado en la hoja de datos nos da el "desglose" del mensaje UART de 9 bytes. Los primeros dos bytes son un encabezado de trama que tiene un valor hexadecimal 0x59 (carácter 'Y'). Se pueden leer y utilizar para identificar el inicio del mensaje UART.

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

Una vez que se lee la trama del encabezado, se pueden leer los siguientes dos bytes, que transportan datos de distancia. Los datos de distancia se dividen en dos paquetes de 8 bits, Dist_L (Byte3): 8 bits inferiores y Dist_H (Byte4): 8 bits superiores.

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

Al multiplicar Dist_H por 256, los datos binarios se desplazan por 8 hacia la izquierda (equivalente a "<< 8"). Ahora, los datos de distancia de 8 bits más bajos, Dist_L, podrían simplemente agregarse dando como resultado datos de 16 bits de Dist_Total.

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

Dado que tenemos el valor de distancia 'descifrado' con nosotros, los siguientes cinco bytes podrían ignorarse. Tenga en cuenta que los datos leídos no se almacenan en ningún lugar.

para i en el rango (0, 5): ser.read ()

** En algún otro lugar, puede encontrar 'delay' (time.sleep en Python) incorporado antes del final del ciclo debido a que el TFmini LiDAR tiene una frecuencia de operación de 100Hz. Esta demora 'programa demora' y resultará en la ACTUALIZACIÓN de los datos después de cierta demora. Creo que dado que ya estamos esperando que los datos se acumulen hasta 9 bytes, no debería haber ningún otro retraso.

# time.sleep (0.0005) #La demora está comentada

while (ser.in_waiting> = 9):

Recomendado: