Sommario:

Benewake LiDAR TFmini (Guida completa): 5 passaggi (con immagini)
Benewake LiDAR TFmini (Guida completa): 5 passaggi (con immagini)

Video: Benewake LiDAR TFmini (Guida completa): 5 passaggi (con immagini)

Video: Benewake LiDAR TFmini (Guida completa): 5 passaggi (con immagini)
Video: Dati Lidar 1x1 m - Chiedi i dati al Ministero dell'Ambiente - Parte 1 2024, Dicembre
Anonim
Benewake LiDAR TFmini (Guida completa)
Benewake LiDAR TFmini (Guida completa)
Benewake LiDAR TFmini (Guida completa)
Benewake LiDAR TFmini (Guida completa)

Descrizione

Il modulo Micro LIDAR TFMINI Benewake ha i suoi esclusivi design ottici, strutturali ed elettronici. Il prodotto possiede tre vantaggi principali: basso costo, volume ridotto e basso consumo energetico.

L'algoritmo integrato adattato agli ambienti interni ed esterni può garantire un'eccellente prestazione di portata a basso costo e in un volume ridotto, che amplia notevolmente i campi di applicazione e gli scenari di LiDAR e pone solide basi per gli "occhi" futuri nel settore intelligente era.

Specifiche

  • Tensione di ingresso: 5v
  • Potenza media: 0,12 W
  • Protocollo di comunicazione: UART (Baud rate: 115200)
  • Temperatura di esercizio: -20 ℃ ~ 60
  • FOV: 2,3°

Dimensioni

  • Dimensioni: 42mmx15mmx16mm
  • Peso: 6,1 g

Limitazioni

Gamma "cieca" 0cm-30cm

Dove comprare

  • RobotShop
  • Amazon

Questo istruibile richiede che tu abbia familiarità con quanto segue:

  • Elettronica di base
  • Strumenti manuali come tronchesi e spellafili
  • Lettura di schemi e schemi di collegamento
  • Programmazione C/C++ per Arduino (opzionale)
  • Programmazione Python per Raspberry Pi (opzionale)

Passaggio 1: raccolta di materiale

Raccolta di materiale
Raccolta di materiale
Raccolta di materiale
Raccolta di materiale
Raccolta di materiale
Raccolta di materiale

Questa istruzione ti guiderà attraverso diversi modi di distribuire TFmini LiDAR utilizzando il tuo PC Windows e Raspberry Pi. Ogni metodo ha i suoi requisiti e può variare in base alle tue esigenze.

**Avrai bisogno di Benewake TFmini LiDAR per ogni caso (ovviamente)**

Per l'implementazione basata su PC:

  • Sistema operativo: Windows
  • Convertitore USB-TTL
  • Cavi per ponticelli

Per l'implementazione basata su Raspberry Pi:

  • Lampone Pi
  • Cavi per ponticelli
  • LED (opzionale)
  • Convertitore USB-TTL (opzionale)
  • Tagliere (opzionale)
  • Resistenza (tra 100-1k Ohm) (opzionale)

Passaggio 2: implementazione basata su PC utilizzando l'app Benewake

Implementazione basata su PC utilizzando l'app Benewake
Implementazione basata su PC utilizzando l'app Benewake
Implementazione basata su PC utilizzando l'app Benewake
Implementazione basata su PC utilizzando l'app Benewake
  1. Collegare TFmini LiDAR al convertitore USB-TTL utilizzando i cavi dei ponticelli (maschio-femmina) secondo lo schema mostrato

    • Filo Rosso 5V
    • Filo nero GND
    • Cavo bianco/blu Tx
    • Cavo verde Rx
  2. Collega USB-TTL al tuo computer
  3. Vai a Gestione dispositivi (Win + X) e individua "Porta di comunicazione da USB a seriale prolifica" in Porte (COM e LPT). Assicurati che Windows riconosca il dispositivo
  4. Scarica ed estrai WINCC_TF.rar
  5. Esegui WINCC_TFMini.exe dai file estratti
  6. Selezionare la porta COM corrispondente dal menu a discesa nell'app Benewake sotto la voce Porta seriale
  7. Fare clic su CONNETTI

Passaggio 3: implementazione basata su PC utilizzando Python (PySerial)

Implementazione basata su PC utilizzando Python (PySerial)
Implementazione basata su PC utilizzando Python (PySerial)
  1. Collega TFmini LiDAR al PC utilizzando il convertitore USB-TTL
  2. Scarica e apri PC_Benewake_TFmini_LiDAR.py usando Python IDLE (assicurati di avere PySerial e Python installati sul tuo PC)
  3. Modifica la porta COM nel codice in modo che corrisponda alla porta COM del convertitore USB-TTL sul tuo PC (vedi immagine)
  4. Fare clic sulla scheda Esegui
  5. Fare clic su Esegui modulo

**Fare riferimento al passaggio 5 per la spiegazione del codice

Passaggio 4: implementazione basata su Raspberry Pi

Implementazione basata su Raspberry Pi
Implementazione basata su Raspberry Pi
Implementazione basata su Raspberry Pi
Implementazione basata su Raspberry Pi
Implementazione basata su Raspberry Pi
Implementazione basata su Raspberry Pi
Implementazione basata su Raspberry Pi
Implementazione basata su Raspberry Pi
  1. Collega TFmini LiDAR a RPi utilizzando il convertitore USB-TTL o la porta UART utilizzando GPIO
  2. Scarica e apri Pi_benewake_LiDAR.py usando Python IDLE
  3. Se stai utilizzando un convertitore USB-TTL con RPi, apri Arduino IDE. Fare clic su Strumenti -> Porta seriale e modificare il codice di conseguenza. Se stai usando la porta UART GPIO, scrivi /dev/ttyAMA0
  4. Esegui il codice

**Il codice potrebbe essere utilizzato per stampare la distanza, ma poiché RPi non ha molta potenza di elaborazione, si consiglia di accendere un LED se la distanza registrata è inferiore a un determinato intervallo (è allegato lo schema per LED con RPi)

D. Perché usare il convertitore USB-TTL con RPi?

RPi ha solo una porta UART e talvolta è necessario inserire alcuni moduli che richiedono la comunicazione UART. USB-TTL fornisce una porta UART aggiuntiva a RPi dandoci l'opportunità di collegare più di un dispositivo UART (come due o più TFmini LiDAR) a RPi.

Passaggio 5: Informazioni sul codice

Informazioni sul codice
Informazioni sul codice

Il codice può essere suddiviso in tre parti:

  • Stabilendo una connessione
  • Scrittura dei dati
  • Lettura dei dati

Stabilendo una connessione:

Dopo aver importato i file header necessari, stabiliamo la connessione al nostro TFmini LiDAR indicando la sua porta COM, Baud-rate e timeout di connessione

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

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

Dati di scrittura:

Il codice può essere diviso in due parti, scrittura e ricezione. Per ricevere i dati, è necessario inoltrare il determinato comando a TFmini LiDAR (parte del processo di inizializzazione). In questo caso, ho scelto 4257020000000106. Anche se RPi esegue la stessa versione di Python, ma c'è un leggero cambiamento nella sintassi poiché RPi non accetta dati diversi da quelli binari.

ser.write(0x42)

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

Dati di lettura:

Il grafico fornito nella scheda tecnica ci fornisce la "scomposizione" del messaggio UART a 9 byte. I primi due byte sono l'intestazione del frame con un valore esadecimale 0x59 (carattere 'Y'). Possono essere letti e utilizzati per identificare l'inizio del messaggio UART.

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

Una volta letto il frame di intestazione, è possibile leggere i due byte successivi, contenenti i dati sulla distanza. I dati sulla distanza sono divisi in due pacchetti da 8 bit, Dist_L (Byte3) - 8 bit inferiori e Dist_H (Byte4) - 8 bit superiori.

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

Moltiplicando Dist_H per 256, i dati binari vengono spostati di 8 a sinistra (equivalente a "<< 8"). Ora i dati a distanza inferiore a 8 bit, Dist_L, potrebbero essere semplicemente aggiunti ottenendo dati a 16 bit di Dist_Total.

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

Poiché abbiamo con noi il valore della distanza "decifrato", i successivi cinque byte potrebbero essere ignorati. Si noti che i dati letti non vengono archiviati da nessuna parte.

for i nell'intervallo (0, 5):ser.read()

**In qualche altro posto, potresti trovare 'delay' (time.sleep in Python) incorporato prima della fine del ciclo per il motivo che il TFmini LiDAR ha una frequenza operativa di 100Hz. Questo ritardo 'ritardo del programma' e comporterà l'AGGIORNAMENTO dei dati dopo un certo ritardo. Credo che poiché stiamo già aspettando che i dati si accumulino fino a 9 byte, non dovrebbero esserci altri ritardi

#time.sleep(0.0005) #Il ritardo è commentato

while(ser.in_waiting >= 9):

Consigliato: