Indholdsfortegnelse:

Benewake LiDAR TFmini (komplet guide): 5 trin (med billeder)
Benewake LiDAR TFmini (komplet guide): 5 trin (med billeder)

Video: Benewake LiDAR TFmini (komplet guide): 5 trin (med billeder)

Video: Benewake LiDAR TFmini (komplet guide): 5 trin (med billeder)
Video: Webinar - Oblique Aerial Data Acquisition with Phase One Cameras integrated by IGI & Kavel10 2024, Juli
Anonim
Benewake LiDAR TFmini (komplet guide)
Benewake LiDAR TFmini (komplet guide)
Benewake LiDAR TFmini (komplet guide)
Benewake LiDAR TFmini (komplet guide)

Beskrivelse

Benewake TFMINI Micro LIDAR -modulet har sine unikke optiske, strukturelle og elektroniske designs. Produktet har tre store fordele: lave omkostninger, lille volumen og lavt strømforbrug.

Den indbyggede algoritme tilpasset indendørs og udendørs miljøer kan garantere en fremragende ydeevne til en lav pris og i et lille volumen, hvilket i høj grad udvider applikationsfelter og scenarier for LiDAR og lægger et solidt fundament for fremtidige "øjne" i smart æra.

specifikationer

  • Indgangsspænding: 5v
  • Gennemsnitlig effekt: 0,12W
  • Kommunikationsprotokol: UART (Baudrate: 115200)
  • Driftstemperatur: -20 ℃ ~ 60 ℃
  • FOV: 2,3 °

Dimensioner

  • Størrelse: 42mmx15mmx16mm
  • Vægt: 6,1 g

Begrænsninger

0cm-30cm "blind" rækkevidde

Hvor kan det købes

  • RobotShop
  • Amazon

Denne instruktive kræver, at du er bekendt med følgende:

  • Grundlæggende elektronik
  • Håndværktøj som trådskærere og strippere
  • Læsning af skemaer og forbindelsesdiagrammer
  • C/C ++ programmering til Arduino (valgfrit)
  • Python -programmering til Raspberry Pi (valgfri)

Trin 1: Indsamlingsmateriale

Indsamlingsmateriale
Indsamlingsmateriale
Indsamlingsmateriale
Indsamlingsmateriale
Indsamlingsmateriale
Indsamlingsmateriale

Denne instruks vil tage dig igennem forskellige måder at implementere TFmini LiDAR ved hjælp af din Windows -pc og Raspberry Pi. Hver metode har sine krav og kan variere baseret på dine behov.

** Du skal bruge Benewake TFmini LiDAR for hver sag (selvfølgelig) **

Til pc -baseret implementering:

  • OS: Windows
  • USB-TTL-konverter
  • Jumper Wires

Til Raspberry Pi -baseret implementering:

  • Hindbær Pi
  • Jumper Wires
  • LED'er (valgfrit)
  • USB-TTL-konverter (valgfri)
  • Brødbræt (valgfrit)
  • Modstand (mellem 100-1k Ohm) (valgfri)

Trin 2: PC -baseret implementering ved hjælp af Benewake App

PC -baseret implementering ved hjælp af Benewake App
PC -baseret implementering ved hjælp af Benewake App
PC -baseret implementering ved hjælp af Benewake App
PC -baseret implementering ved hjælp af Benewake App
  1. Tilslut TFmini LiDAR til USB-TTL-konverter ved hjælp af jumper (han-hun) ledninger i henhold til det viste skema
    • Rød ledning 5V
    • Sort ledning GND
    • Hvid/blå tråd Tx
    • Grøn tråd Rx
  2. Tilslut USB-TTL til din computer
  3. Gå til Enhedshåndtering (Win + X), og find "Prolific USB-to-Serial Comm Port" under Ports (COM & LPT). Sørg for, at Windows genkender enheden
  4. Download og udtræk WINCC_TF.rar
  5. Kør WINCC_TFMini.exe fra de udpakkede filer
  6. Vælg den tilsvarende COM-port fra rullemenuen i Benewake App under overskriften Seriel port
  7. Klik på TILSLUT

Trin 3: PC -baseret implementering ved hjælp af Python (PySerial)

PC -baseret implementering ved hjælp af Python (PySerial)
PC -baseret implementering ved hjælp af Python (PySerial)
  1. Tilslut TFmini LiDAR til pc ved hjælp af USB-TTL-konverter
  2. Download og åbn PC_Benewake_TFmini_LiDAR.py ved hjælp af Python IDLE (sørg for at have PySerial og Python installeret på din pc)
  3. Rediger COM-porten i koden, så den matcher COM-porten på USB-TTL-konverteren på din pc (se billede)
  4. Klik på fanen Kør
  5. Klik på Kør modul

** Se trin 5 for forklaring af koden

Trin 4: Raspberry Pi -baseret implementering

Raspberry Pi -baseret implementering
Raspberry Pi -baseret implementering
Hindbær Pi -baseret implementering
Hindbær Pi -baseret implementering
Hindbær Pi -baseret implementering
Hindbær Pi -baseret implementering
Hindbær Pi -baseret implementering
Hindbær Pi -baseret implementering
  1. Tilslut TFmini LiDAR til RPi ved hjælp af USB-TTL-konverter eller UART-port ved hjælp af GPIO
  2. Download og åbn Pi_benewake_LiDAR.py ved hjælp af Python IDLE
  3. Hvis du bruger en USB-TTL-konverter med RPi, skal du åbne Arduino IDE. Klik på Værktøjer -> Seriel port, og rediger koden i overensstemmelse hermed. Hvis du bruger UART GPIO -port, skal du skrive /dev /ttyAMA0
  4. Kør koden

** Koden kan bruges til at udskrive afstanden, men da RPi ikke har meget processorkraft, anbefales det at tænde en LED, hvis den registrerede afstand er under et bestemt område (skematisk for LED med RPi er vedhæftet)

Sp. Hvorfor bruge USB-TTL-konverter med RPi?

RPi har kun én UART -port, og nogle gange skal du sætte et par moduler, der kræver UART -kommunikation. USB-TTL giver en ekstra UART-port til RPi, hvilket giver os mulighed for at forbinde mere end én UART-enhed (f.eks. To eller flere TFmini LiDAR) til RPi.

Trin 5: Om koden

Om koden
Om koden

Koden kan opdeles i tre dele:

  • Etablering af forbindelse
  • Skrivning af data
  • Læsning af data

Etablering af forbindelse:

Efter at have importeret nødvendige header-filer, opretter vi forbindelsen til vores TFmini LiDAR ved at angive dens COM-port, Baud-rate og forbindelsestimeout

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

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

Skrivning af data:

Koden kan opdeles i to dele, skrivning og modtagelse. For at modtage data skal du videresende den bestemte kommando til TFmini LiDAR (del af initialiseringsprocessen). I dette tilfælde har jeg valgt 4257020000000106. Selvom RPi kører den samme version af Python, men der er en lille ændring i syntaks, da RPi ikke accepterer andre data end binær.

ser.write (0x42)

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

Læsning af data:

Diagrammet i databladet giver os 'opdeling' af 9-Byte UART-meddelelse. De første to Bytes er frame header med en værdi på hex 0x59 (tegn 'Y'). De kan læses og bruges til at identificere starten på UART -meddelelsen.

hvis (('Y' == ser.read ()) og ('Y' == ser.read ())):

Når headerrammen er læst, kunne de næste to bytes, der bærer afstandsdata, læses. Afstandsdata er opdelt i to 8 -bit pakker, Dist_L (Byte3) - Lavere 8bits og Dist_H (Byte4) - Højere 8bits.

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

Ved at multiplicere Dist_H med 256 forskydes de binære data med 8 til venstre (svarende til "<< 8"). Nu kunne de lavere 8-bit-afstandsdata, Dist_L, simpelthen tilføjes, hvilket resulterer i 16-bit data for Dist_Total.

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

Da vi har den 'dekrypterede' afstandsværdi med os, kan de næste fem byte ignoreres. Bemærk, at de læste data ikke gemmes nogen steder.

for i i området (0, 5): ser.read ()

** Et andet sted kan du finde 'forsinkelse' (time.sleep in Python) indarbejdet inden loopens slutning af den grund, at TFmini LiDAR har en frekvens på 100Hz. Denne forsinkelse 'programforsinkelse' og vil resultere i, at data OPDATERES efter en vis forsinkelse. Jeg tror, at da vi allerede venter på, at dataene hober sig op til 9-Bytes, bør der ikke være nogen anden forsinkelse

#time.sleep (0.0005) #Forsinkelsen kommenteres

mens (ser.in_waiting> = 9):

Anbefalede: