Innholdsfortegnelse:

Benewake LiDAR TFmini (komplett guide): 5 trinn (med bilder)
Benewake LiDAR TFmini (komplett guide): 5 trinn (med bilder)

Video: Benewake LiDAR TFmini (komplett guide): 5 trinn (med bilder)

Video: Benewake LiDAR TFmini (komplett guide): 5 trinn (med bilder)
Video: Webinar - Oblique Aerial Data Acquisition with Phase One Cameras integrated by IGI & Kavel10 2024, November
Anonim
Benewake LiDAR TFmini (komplett guide)
Benewake LiDAR TFmini (komplett guide)
Benewake LiDAR TFmini (komplett guide)
Benewake LiDAR TFmini (komplett guide)

Beskrivelse

Benewake TFMINI Micro LIDAR -modulen har sine unike optiske, strukturelle og elektroniske design. Produktet har tre store fordeler: lav pris, lite volum og lavt strømforbruk.

Den innebygde algoritmen tilpasset innendørs og utendørs miljøer kan garantere en utmerket ytelse til en lav kostnad og i et lite volum, noe som utvider applikasjonsfeltene og scenariene til LiDAR sterkt og legger et solid grunnlag for fremtidige "øyne" i smart æra.

Spesifikasjoner

  • Inngangsspenning: 5v
  • Gjennomsnittlig effekt: 0,12W
  • Kommunikasjonsprotokoll: UART (Baud rate: 115200)
  • Driftstemperatur: -20 ℃ ~ 60 ℃
  • FOV: 2,3 °

Dimensjoner

  • Størrelse: 42mmx15mmx16mm
  • Vekt: 6,1 g

Begrensninger

0cm-30cm "blind" rekkevidde

Hvor kan man kjøpe

  • RobotShop
  • Amazon

Denne instruksen krever at du er kjent med følgende:

  • Grunnleggende elektronikk
  • Håndverktøy som wire cutters og strippere
  • Lese skjemaer og tilkoblingsdiagrammer
  • C/C ++ programmering for Arduino (valgfritt)
  • Python -programmering for Raspberry Pi (valgfritt)

Trinn 1: Samle materiale

Samlingsmateriale
Samlingsmateriale
Samlingsmateriale
Samlingsmateriale
Samlingsmateriale
Samlingsmateriale

Denne instruksen tar deg gjennom forskjellige måter å distribuere TFmini LiDAR ved hjelp av Windows PC og Raspberry Pi. Hver metode har sine krav og kan variere basert på dine behov.

** Du trenger Benewake TFmini LiDAR for hvert tilfelle (selvfølgelig) **

For PC -basert implementering:

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

For Raspberry Pi -basert implementering:

  • Bringebær Pi
  • Jumper Wires
  • LED (valgfritt)
  • USB-TTL-omformer (valgfritt)
  • Brødbrett (valgfritt)
  • Motstand (mellom 100-1k Ohm) (valgfritt)

Trinn 2: PC -basert implementering ved hjelp av Benewake -appen

PC -basert implementering ved hjelp av Benewake -appen
PC -basert implementering ved hjelp av Benewake -appen
PC -basert implementering ved hjelp av Benewake -appen
PC -basert implementering ved hjelp av Benewake -appen
  1. Koble TFmini LiDAR til USB-TTL-omformer ved hjelp av jumper (hann-hunn) ledninger i henhold til skjematisk vist

    • Red Wire 5V
    • Black Wire GND
    • Hvit/blå Wire Tx
    • Green Wire Rx
  2. Koble USB-TTL til datamaskinen
  3. Gå til Enhetsbehandling (Win + X) og finn "Prolific USB-to-Serial Comm Port" under Ports (COM & LPT). Sørg for at Windows gjenkjenner enheten
  4. Last ned og trekk ut WINCC_TF.rar
  5. Kjør WINCC_TFMini.exe fra de utpakkede filene
  6. Velg den tilhørende COM-porten fra rullegardinmenyen i Benewake App under overskriften Seriell port
  7. Klikk på KOBLE

Trinn 3: PC -basert implementering ved hjelp av Python (PySerial)

PC -basert implementering ved hjelp av Python (PySerial)
PC -basert implementering ved hjelp av Python (PySerial)
  1. Koble TFmini LiDAR til PC ved hjelp av USB-TTL-omformer
  2. Last ned og åpne PC_Benewake_TFmini_LiDAR.py ved hjelp av Python IDLE (sørg for at du har PySerial og Python installert på PCen)
  3. Rediger COM-porten i koden for å matche COM-porten på USB-TTL-omformeren på din PC (se bilde)
  4. Klikk på Kjør -fanen
  5. Klikk på Kjør modul

** Se trinn 5 for forklaring av koden

Trinn 4: Raspberry Pi -basert implementering

Raspberry Pi -basert implementering
Raspberry Pi -basert implementering
Raspberry Pi -basert implementering
Raspberry Pi -basert implementering
Raspberry Pi -basert implementering
Raspberry Pi -basert implementering
Raspberry Pi -basert implementering
Raspberry Pi -basert implementering
  1. Koble TFmini LiDAR til RPi ved hjelp av USB-TTL-omformer eller UART-port ved bruk av GPIO
  2. Last ned og åpne Pi_benewake_LiDAR.py ved hjelp av Python IDLE
  3. Hvis du bruker en USB-TTL-omformer med RPi, åpner du Arduino IDE. Klikk på Verktøy -> Seriell port, og rediger koden deretter. Hvis du bruker UART GPIO -port, skriver du /dev /ttyAMA0
  4. Kjør koden

** Koden kan brukes til å skrive ut avstanden, men siden RPi ikke har mye prosessorkraft, anbefales det å tenne en LED hvis avstanden som er registrert er under et bestemt område (skjematisk for LED med RPi er vedlagt)

Sp. Hvorfor bruke USB-TTL-omformer med RPi?

RPi har bare en UART -port, og noen ganger må du sette noen få moduler som krever UART -kommunikasjon. USB-TTL gir en ekstra UART-port til RPi, noe som gir oss en mulighet til å koble mer enn én UART-enhet (som to eller flere TFmini LiDAR) til RPi.

Trinn 5: Om koden

Om koden
Om koden

Koden kan deles inn i tre deler:

  • Etablere forbindelse
  • Skrive data
  • Lese data

Etablere tilkobling:

Etter å ha importert nødvendige overskriftsfiler, etablerer vi tilkoblingen til vår TFmini LiDAR ved å angi COM-porten, Baud-rate og tilkoblingstidsavbrudd

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

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

Skrive data:

Koden kan deles inn i to deler, skriving og mottak. For å motta data må du videresende den bestemte kommandoen til TFmini LiDAR (del av initialiseringsprosessen). I dette tilfellet har jeg valgt 4257020000000106. Selv om RPi kjører den samme versjonen av Python, men det er en liten endring i syntaks, ettersom RPi ikke godtar andre data enn 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)

Lese data:

Diagrammet i databladet gir oss en "sammenbrudd" av 9-Byte UART-meldingen. De to første byttene er rammeoverskrift med en verdi på hex 0x59 (tegn 'Y'). De kan leses og brukes til å identifisere starten på UART -meldingen.

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

Når overskriftsrammen er lest, kan de neste to byte, som bærer avstandsdata, leses. Avstandsdata er delt inn i to 8 -biters pakker, Dist_L (Byte3) - Lavere 8bits og Dist_H (Byte4) - Høyere 8bits.

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

Ved å multiplisere Dist_H med 256 flyttes de binære dataene med 8 til venstre (tilsvarer "<< 8"). Nå kan de nedre 8-biters avstandsdataene, Dist_L, ganske enkelt legges til, noe som resulterer i 16-biters data for Dist_Total.

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

Siden vi har den "dekrypterte" avstandsverdien med oss, kan de neste fem byte ignoreres. Vær oppmerksom på at de avleste dataene ikke lagres noe sted.

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

** Et annet sted kan du finne 'forsinkelse' (time.sleep in Python) innarbeidet før slutten av sløyfen av den grunn at TFmini LiDAR har 100Hz driftsfrekvens. Denne forsinkelsen 'programforsinkelse' og vil resultere i at data blir OPPDATERT etter en viss forsinkelse. Jeg tror at siden vi allerede venter på at dataene skal ha seg opp til 9-Bytes, bør det ikke være noen annen forsinkelse

#time.sleep (0,0005) #Forsinkelsen kommenteres

mens (ser.in_waiting> = 9):

Anbefalt: