Table des matières:

Benewake LiDAR TFmini (Guide complet): 5 étapes (avec photos)
Benewake LiDAR TFmini (Guide complet): 5 étapes (avec photos)

Vidéo: Benewake LiDAR TFmini (Guide complet): 5 étapes (avec photos)

Vidéo: Benewake LiDAR TFmini (Guide complet): 5 étapes (avec photos)
Vidéo: Review of Benewak TFMini Plus LiDar laser 12m distance sensor 2024, Juillet
Anonim
Benewake LiDAR TFmini (Guide complet)
Benewake LiDAR TFmini (Guide complet)
Benewake LiDAR TFmini (Guide complet)
Benewake LiDAR TFmini (Guide complet)

La description

Le module Micro LIDAR TFMINI de Benewake a ses conceptions optiques, structurelles et électroniques uniques. Le produit possède trois avantages majeurs: faible coût, petit volume et faible consommation d'énergie.

L'algorithme intégré adapté aux environnements intérieurs et extérieurs peut garantir d'excellentes performances de portée à faible coût et dans un volume minuscule, ce qui élargit considérablement les champs d'application et les scénarios de LiDAR et jette une base solide pour les futurs « yeux » dans le smart ère.

Caractéristiques

  • Tension d'entrée: 5 v
  • Puissance moyenne: 0,12 W
  • Protocole de communication: UART (débit en bauds: 115 200)
  • Température de fonctionnement: -20 ~ 60
  • Champ de vision: 2,3°

Dimensions

  • Taille: 42mmx15mmx16mm
  • Poids: 6,1 g

Limites

0cm-30cm gamme "aveugle"

Où acheter

  • RobotShop
  • Amazone

Cette instructable nécessite que vous soyez familiarisé avec les éléments suivants:

  • Electronique de base
  • Outils à main comme les coupe-fil et les dénudeurs
  • Lecture de schémas et de schémas de connexion
  • Programmation C/C++ pour Arduino (facultatif)
  • Programmation Python pour Raspberry Pi (facultatif)

Étape 1: Rassembler le matériel

Rassembler du matériel
Rassembler du matériel
Rassembler du matériel
Rassembler du matériel
Rassembler du matériel
Rassembler du matériel

Cette instructable vous guidera à travers différentes manières de déployer TFmini LiDAR à l'aide de votre PC Windows et Raspberry Pi. Chaque méthode a ses exigences et peut varier en fonction de vos besoins.

** Vous aurez besoin de Benewake TFmini LiDAR pour chaque cas (bien sûr) **

Pour la mise en œuvre sur PC:

  • OS: Windows
  • Convertisseur USB-TTL
  • Fils de cavalier

Pour l'implémentation basée sur Raspberry Pi:

  • Tarte aux framboises
  • Fils de cavalier
  • LED (en option)
  • Convertisseur USB-TTL (facultatif)
  • Planche à pain (facultatif)
  • Résistance (entre 100-1k Ohm) (facultatif)

Étape 2: Implémentation sur PC à l'aide de l'application Benewake

Implémentation sur PC à l'aide de l'application Benewake
Implémentation sur PC à l'aide de l'application Benewake
Implémentation sur PC à l'aide de l'application Benewake
Implémentation sur PC à l'aide de l'application Benewake
  1. Connectez le convertisseur TFmini LiDAR vers USB-TTL à l'aide de fils de cavalier (mâle-femelle) selon le schéma indiqué

    • Fil rouge 5V
    • Fil noir GND
    • Tx fil blanc/bleu
    • Rx fil vert
  2. Branchez USB-TTL sur votre ordinateur
  3. Accédez au Gestionnaire de périphériques (Win + X) et localisez " Prolific USB-to-Serial Comm Port " sous Ports (COM & LPT). Assurez-vous que Windows reconnaît l'appareil
  4. Télécharger et extraire WINCC_TF.rar
  5. Exécutez WINCC_TFMini.exe à partir des fichiers extraits
  6. Sélectionnez le port COM correspondant dans le menu déroulant de l'application Benewake sous la rubrique Port série
  7. Cliquez sur CONNECTER

Étape 3: Implémentation sur PC à l'aide de Python (PySerial)

Implémentation sur PC à l'aide de Python (PySerial)
Implémentation sur PC à l'aide de Python (PySerial)
  1. Connectez TFmini LiDAR au PC à l'aide du convertisseur USB-TTL
  2. Téléchargez et ouvrez PC_Benewake_TFmini_LiDAR.py en utilisant Python IDLE (assurez-vous que PySerial et Python sont installés sur votre PC)
  3. Modifiez le port COM dans le code pour qu'il corresponde au port COM du convertisseur USB-TTL sur votre PC (voir image)
  4. Cliquez sur l'onglet Exécuter
  5. Cliquez sur Exécuter le module

**Reportez-vous à l'étape 5 pour l'explication du code

Étape 4: Implémentation basée sur Raspberry Pi

Implémentation basée sur Raspberry Pi
Implémentation basée sur Raspberry Pi
Implémentation basée sur Raspberry Pi
Implémentation basée sur Raspberry Pi
Implémentation basée sur Raspberry Pi
Implémentation basée sur Raspberry Pi
Implémentation basée sur Raspberry Pi
Implémentation basée sur Raspberry Pi
  1. Connectez TFmini LiDAR à RPi à l'aide d'un convertisseur USB-TTL ou d'un port UART à l'aide de GPIO
  2. Téléchargez et ouvrez Pi_benewake_LiDAR.py à l'aide de Python IDLE
  3. Si vous utilisez un convertisseur USB-TTL avec RPi, ouvrez Arduino IDE. Cliquez sur Outils -> Port série et modifiez le code en conséquence. Si vous utilisez le port UART GPIO, écrivez /dev/ttyAMA0
  4. Exécutez le code

** Le code pourrait être utilisé pour imprimer la distance, mais comme RPi n'a pas beaucoup de puissance de traitement, il est conseillé d'allumer une LED si la distance enregistrée est inférieure à une certaine plage (le schéma pour LED avec RPi est joint)

Q. Pourquoi utiliser un convertisseur USB-TTL avec RPi ?

RPi n'a qu'un seul port UART, et parfois vous devez mettre quelques modules qui nécessitent une communication UART. USB-TTL fournit un port UART supplémentaire à RPi, ce qui nous permet de connecter plus d'un périphérique UART (comme deux ou plus TFmini LiDAR) à RPi.

Étape 5: À propos du Code

À propos du Code
À propos du Code

Le code peut être divisé en trois parties:

  • Établir la connexion
  • Écriture de données
  • Lecture de données

Établissement de la connexion:

Après avoir importé les fichiers d'en-tête nécessaires, nous établissons la connexion à notre TFmini LiDAR en indiquant son port COM, le débit en bauds et le délai de connexion.

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

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

Écriture de données:

Le code peut être divisé en deux parties, l'écriture et la réception. Pour recevoir des données, vous devez transmettre la commande à TFmini LiDAR (partie du processus d'initialisation). Dans ce cas, j'ai choisi 4257020000000106. Même si RPi exécute la même version de Python, mais il y a un léger changement de syntaxe car RPi n'accepte pas les données autres que binaires.

ser.write(0x42)

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

Lecture des données:

Le graphique fourni dans la fiche technique nous donne la "répartition" du message UART à 9 octets. Les deux premiers octets sont un en-tête de trame ayant une valeur hexadécimale 0x59 (caractère 'Y'). Ils peuvent être lus et utilisés pour identifier le début du message UART.

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

Une fois la trame d'en-tête lue, les deux octets suivants, transportant des données de distance, pourraient être lus. Les données de distance sont divisées en deux paquets de 8 bits, Dist_L (Byte3) - Lower 8bits et Dist_H (Byte4) - Higher 8bits.

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

En multipliant Dist_H par 256, les données binaires sont décalées de 8 vers la gauche (équivalent à "<< 8"). Désormais, les données de distance inférieures à 8 bits, Dist_L, pourraient simplement être ajoutées, ce qui donnerait des données à 16 bits de Dist_Total.

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

Puisque nous avons la valeur de distance "déchiffrée" avec nous, les cinq prochains octets pourraient être ignorés. Notez que les données lues ne sont stockées nulle part.

pour i dans la plage (0, 5):ser.read()

** Dans un autre endroit, vous pourriez trouver un « délai » (time.sleep en Python) incorporé avant la fin de la boucle pour la raison que le TFmini LiDAR a une fréquence de fonctionnement de 100 Hz. Ce délai « délai du programme » entraînera la mise à jour des données après un certain délai. Je pense que puisque nous attendons déjà que les données s'accumulent jusqu'à 9 octets, il ne devrait pas y avoir d'autre délai

#time.sleep(0.0005) #Le retard est commenté

while(ser.in_waiting >= 9):

Conseillé: