En la actualidad, la tecnología LiDAR se ha convertido en un elemento fundamental en el desarrollo de numerosas aplicaciones en diversas industrias. En este artículo, exploraremos cómo interfazar el sensor LiDAR TFMini-S con Arduino, una combinación potente que abre infinitas posibilidades para proyectos de detección y mapeo en tiempo real. Acompáñanos en este recorrido por la innovación tecnológica y descubre cómo sacar el máximo provecho a esta fascinante herramienta.
El coche autónomo es el mayor regalo de la tecnología a la civilización desde el nacimiento de Internet. Es sólo cuestión de tiempo que estos coches salgan a la calle.
Para que un vehículo autónomo pueda circular con éxito por una carretera, debe ser consciente de los objetos físicos que lo rodean. Gracias al sensor LiDAR giratorio en el techo que ayuda a crear una vista tridimensional de la carretera alrededor del vehículo.
LiDAR no es nuevo y existe desde hace algún tiempo. De hecho, fue concebido poco después de que se desarrollara el láser. El primer trabajo sobre LiDAR se documentó en 1963. Debido al alto costo de los equipos láser, el uso de LiDAR se ha limitado únicamente a agencias gubernamentales y militares.
Sin embargo, las recientes reducciones de precios han hecho que LiDAR sea accesible para entusiastas del bricolaje como nosotros, permitiéndonos incorporarlo a nuestros proyectos. Uno de los sensores LiDAR económicos pero precisos más utilizados es el TFMini-S.
En este tutorial aprenderá cómo conectar el módulo TFMini-S a un Arduino para realizar mediciones de distancia de alta precisión. Pero primero, obtendrá una introducción rápida a LiDAR.
¿Qué es LiDAR y cómo funciona?
LiDAR es una combinación de las palabras «Light» y «RADAR» o, si lo prefiere, un acrónimo de «Light Detección y alcance». LiDAR es como RADAR, excepto que usa luz en lugar de ondas de radio.
En esencia, LiDAR funciona disparando un láser a un objeto. El láser se refleja en el objeto y regresa al sensor. Midiendo el tiempo que tarda la luz en regresar al sensor, se puede estimar la distancia al objeto. La distancia medida puede variar según el entorno y la reflectividad del objeto.
Al desplazar o girar un sensor LiDAR, se puede crear rápidamente un mapa 3D del área. Normalmente, esto se presenta como una “nube de puntos” para comprender mejor lo que captura el LiDAR.
Descripción general del hardware TFMini-S
El TFMini-S es un sensor LiDAR ToF (tiempo de vuelo) de punto único de alta precisión de Benewake (Beijing) Co. Ltd. Es perfecto para integrar la medición de distancias basada en láser de alta precisión en cualquier proyecto interactivo o de robótica.
Con el tamaño de una memoria USB, el TFMini-S permite la integración de LiDAR en proyectos previamente reservados para sensores más pequeños, como los telémetros infrarrojos de la serie SHARP GP.
El TFMini-S puede medir la distancia a un objeto a una distancia de hasta 10 centímetros y hasta 12 metros.
Además de su bajo costo, tamaño pequeño y largo alcance, el TFMini-S tiene una mayor precisión de medición de distancia de ±6 cm hasta 6 m y ±1 % a partir de entonces.
Cabe señalar que este sensor no utiliza luz láser para medir la distancia. En su lugar, se utiliza una óptica y un LED infrarrojo enfocado de 850 nm. Por eso el dispositivo es relativamente económico.
Rango de detección efectivo
Como ocurre con todos los sensores LiDAR, el rango de detección efectivo depende de las condiciones de iluminación, el clima y la reflectividad del objeto objetivo.
El siguiente gráfico muestra el rango operativo del TFMini-S en diversas condiciones.
- 0-10 cm es la zona ciega del TFMini-S; Dentro de este rango los datos no son confiables.
- En condiciones extremas, el alcance del TFMini-S es de 0,1 a 3 m. Las condiciones extremas incluyen el deslumbramiento exterior (donde la intensidad de la iluminación es de aproximadamente 100 klux al mediodía en verano) y la detección de un objetivo negro (con una reflectividad del 10 %). ).
- En condiciones normales de luz solar (con una iluminancia de aproximadamente 70 klux), el alcance del TFMini-S es de 0,1 a 7 m.
- En interiores o en condiciones de poca luz, el alcance del TFMini-S es de 0,1 a 12 m.
Interfaces de comunicación
El TFMini-S se comunica a través de la interfaz UART de serie, con los pines UART RX y TX de uso común que funcionan a 115.200 bps.
También puede configurar el sensor para que se comunique a través de I2C enviando los comandos apropiados.
Frecuencia de detección
Según la hoja de datos, el TFMini-S puede realizar hasta 1000 mediciones por segundo (el valor predeterminado es 100). Esta frecuencia se puede cambiar enviando los comandos apropiados.
Cabe señalar que aumentar la frecuencia de salida reduce la precisión. Dependiendo de qué tan precisas desee que sean las mediciones, deberá ajustar la frecuencia de salida.
Potencia de entrada
Según la hoja de datos, el TFMini-S funciona con 5 V y consume aproximadamente 140 mA durante una captura. La corriente máxima que podría consumir es de alrededor de 200 mA.
Sin embargo, durante las pruebas, el sensor por sí solo consumió alrededor de 70 mA. Entonces, si usa un Arduino de 5 V, un convertidor de nivel lógico y el sensor, puede esperar un consumo de corriente de alrededor de 100 mA. Por lo tanto, el sensor se puede alimentar fácilmente a través del puerto USB (5 V/500 mA) para realizar pruebas básicas.
Tenga en cuenta que el TFMini-S no tiene protección contra sobretensiones. Por lo tanto, mantenga las fluctuaciones del voltaje de la fuente de alimentación dentro de 0,1 V.
Niveles lógicos
Si bien el TFMini-S puede funcionar a 5 V, los pines de E/S tienen una lógica de solo 3,3 V. Por lo tanto, se recomienda utilizar un convertidor de nivel lógico cuando se utiliza el sensor con un microcontrolador de 5 V.
Sin embargo, si solo desea leer el TFMini-S (en modo UART), no necesita un convertidor de nivel lógico porque los dispositivos de 3,3 V generan niveles lógicos compatibles con dispositivos de 5 V.
Especificaciones técnicas
Aquí están las especificaciones:
Área de detección | 10cm – 12m |
resolución | 1cm |
Precisión de distancia | ±6 cm hasta 6 m y ±1 % a partir de entonces |
Voltaje de entrada | 5V |
Tensión UART TTL | 3,3 V |
Consumo actual | 140 mA (típico), 800 mA (pico) |
Frecuencia de detección | 1 a 1000 escaneos por segundo (ajustable) |
Longitud de onda de la luz | 850 nanómetro |
Campo de visión | 2,3° |
Interfaces de comunicación | UART e I2C |
tasa de baudios | 115200 |
Para obtener más información sobre el sensor LiDAR TFMini-S, consulte la hoja de datos a continuación.
Distribución de pines del TFMini-S
Ahora veamos el pinout. El TFMini-S tiene cuatro pines.
Tierra es la conexión a tierra.
VCC es el pin de entrada de energía. Conéctelo únicamente a una fuente de alimentación de 5 V.
RXD/SDA es el pin que puede usar para enviar datos al sensor (cuando se comunica a través de UART) o enviar/recibir datos (cuando se comunica a través de I2C). Es un nivel lógico de 3,3V.
TXD/SCL es el pin que transfiere datos desde el sensor a su microcontrolador (cuando se comunica a través de UART) o actúa como un reloj (cuando se comunica a través de I2C). Tenga en cuenta que este también es un nivel lógico de 3,3 V.
Cableado de un sensor TFMini-S a un Arduino
Conectar un sensor TFMini-S a un Arduino es muy sencillo. Sólo necesitas conectar cuatro cables.
Comience conectando el cable rojo (VCC) del sensor TFMini-S al pin de salida de 5 V del Arduino y el cable negro (GND) al pin GND del Arduino.
Ahora conecte el cable blanco (RXD/SDA) del sensor TFMini-S al pin digital 3 del Arduino y el cable verde (TXD/SCL) al pin digital 2 del Arduino ya que implementaremos un software UART.
La siguiente imagen muestra cómo se construye el circuito.
código de ejemplo de arduino
Ahora que tenemos todo conectado, creemos un boceto simple para demostrar las capacidades del sensor TFMini-S.
#include <SoftwareSerial.h> //header file of software serial port
SoftwareSerial Serial1(2, 3); //define software serial port name as Serial1 and define pin2 as RX & pin3 as TX
int dist; //actual distance measurements of LiDAR
int strength; //signal strength of LiDAR
int check; //save check value
int i;
int uart[9]; //save data measured by LiDAR
const int HEADER = 0x59; //frame header of data package
void setup()
{
Serial.begin(9600); //set bit rate of serial port connecting Arduino with computer
Serial1.begin(115200); //set bit rate of serial port connecting LiDAR with Arduino
}
void loop() {
if (Serial1.available()) //check if serial port has data input
{
if (Serial1.read() == HEADER) //assess data package frame header 0x59
{
uart[0] = HEADER;
if (Serial1.read() == HEADER) //assess data package frame header 0x59
{
uart[1] = HEADER;
for (i = 2; i < 9; i++) //save data in array
{
uart[i] = Serial1.read();
}
check = uart[0] + uart[1] + uart[2] + uart[3] + uart[4] + uart[5] + uart[6] + uart[7];
if (uart[8] == (check & 0xff)) //verify the received data as per protocol
{
dist = uart[2] + uart[3] * 256; //calculate distance value
strength = uart[4] + uart[5] * 256; //calculate signal strength value
Serial.print("distance = ");
Serial.print(dist); //output measure distance value of LiDAR
Serial.print('t');
Serial.print("strength = ");
Serial.print(strength); //output signal strength value
Serial.print('n');
}
}
}
}
}
Una vez cargado el boceto, abra su monitor serie y establezca la velocidad en baudios en 9600 bps.
Intente apuntar el sensor a los objetos que lo rodean. Deberías ver que la distancia medida comienza a pasar.
Si no se muestra ninguna información, asegúrese de que el TFmini-S esté conectado correctamente. Cuando está encendido, debe verse una luz roja dentro de la lente transmisora cuando se ve desde el frente.
Software TFMini
El software TFMini es una poderosa herramienta para probar sensores TFMini. Es una herramienta gratuita pero sólo se puede utilizar en la plataforma Windows.
Puedes descargar este programa desde Benewake sitio web oficial.
Conecte TFMini al software
Para utilizar el software TFMini, conecte su TFMini-S a su PC mediante un convertidor de USB a TTL. Solo asegúrese de proporcionar 5 V para VCC.
Usando el software TFMini
El software en sí viene como un paquete RAR «portátil». Descárgalo y extráelo a una carpeta de tu elección. Inicie WINCC_TF.exe.
El programa comienza como se muestra a continuación.
Busque la sección «Configuración» y seleccione » TFMiniS para el tipo de producto. A continuación, seleccione el puerto COM al que está conectado el TFMini-S. Finalmente presione el botón Conectar Botón.
Una vez que el dispositivo esté conectado, el programa comenzará a mostrar una forma de onda de distancia versus tiempo en la sección Gráfico de línea de tiempo. A continuación, la sección Datos en tiempo real muestra la distancia actual (Dist), la cantidad de puntos de datos efectivos por segundo (Puntos efectivos) y la intensidad de la señal (Fuerza).
Introducción al Sensor LiDAR TFMini-S
El auto conducido es el regalo más grande de la tecnología a la civilización desde el nacimiento de Internet. Solo es cuestión de tiempo antes de que estos autos dominen las carreteras.
Para que un auto conducido navegue con éxito en una carretera, debe ser consciente de los objetos físicos que lo rodean. Gracias al sensor LiDAR montado en el techo, que ayuda a generar una vista tridimensional de la carretera alrededor del vehículo.
¿Qué es LiDAR y cómo funciona?
LiDAR es una combinación de las palabras «Luz» y «RADAR» o, si lo prefieres, un acrónimo de «Detección e Identificación de Luz». LiDAR es como RADAR, excepto que utiliza luz en lugar de ondas de radio.
En su núcleo, LiDAR funciona disparando un láser a un objeto. El láser rebota en el objeto y regresa al sensor. Al medir el tiempo que tarda esa luz en regresar al sensor, se puede estimar la distancia al objeto. La distancia medida puede variar dependiendo del entorno y la reflectividad del objeto.
Al barrer o girar un sensor LiDAR, se puede construir rápidamente un mapa 3D del área. Típicamente, esto se presenta como un «nube de puntos» para comprender mejor lo que el LiDAR está capturando.
Visión General del Hardware del TFMini-S
El TFMini-S es un sensor LiDAR de un solo punto de alta precisión de Benewake (Beijing) Co. Ltd. Es perfecto para incorporar mediciones de rango basadas en láser de alta precisión en cualquier proyecto de robótica o interactivo.
El TFMini-S tiene el tamaño de una memoria USB, lo que le permite integrar LiDAR en proyectos que anteriormente estaban reservados para sensores más pequeños como los rangefinders infrarrojos de la serie SHARP GP.
El TFMini-S puede medir la distancia a un objeto tan cerca como 10 centímetros y tan lejos como 12 metros. Además de su bajo costo, tamaño reducido y alcance largo, el TFMini-S tiene una mayor precisión de medición de distancia de ±6 cm hasta 6 m y ±1% después de eso.
Preguntas Frecuentes
-
¿Cuál es el rango de detección efectivo del TFMini-S?
El rango de detección efectivo del TFMini-S depende de las condiciones de iluminación, el clima y la reflectividad del objeto de destino. Bajo condiciones normales de luz solar, el rango de operación del TFMini-S es de 0.1-7m.
-
¿Cuáles son las interfaces de comunicación del TFMini-S?
El TFMini-S se comunica a través de la interfaz UART de forma predeterminada, con pines RX y TX comúnmente utilizados con una velocidad de 115200 bps. También se puede configurar para comunicarse a través de I2C enviando los comandos apropiados.
-
¿Cuál es la frecuencia de detección del TFMini-S?
Según la hoja de datos, el TFMini-S puede realizar hasta 1000 mediciones por segundo (por defecto es 100). Esta frecuencia puede cambiarse enviando los comandos apropiados.
Conclusión
El sensor LiDAR TFMini-S es una herramienta poderosa para proyectos de robótica e interactivos que requieren mediciones precisas de distancia. Con su tamaño compacto, bajo costo y alta precisión, el TFMini-S es una excelente opción para integrar tecnología LiDAR en tus creaciones.
¡Buena guía para conectar el sensor LiDAR TFMini-S con Arduino! Me parece muy útil y fácil de seguir. ¡Gracias por compartir!
¡Vaya! Qué buena explicación sobre cómo usar el sensor LiDAR TFMini-S con Arduino. Me ha sido de gran ayuda para entender mejor este proceso. ¡Gracias!
¡Qué chévere! No tenía idea de cómo conectar el sensor LiDAR TFMini-S con Arduino, pero gracias a este artículo ya sé cómo hacerlo. ¡Gracias por la información!
¡Interesante! No sabía que se podía utilizar el sensor LiDAR TFMini-S con Arduino. ¡Gracias por la info!