Innehållsförteckning:

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

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

Video: Benewake LiDAR TFmini (komplett guide): 5 steg (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)

Beskrivning

Benewake TFMINI Micro LIDAR -modulen har sin unika optiska, strukturella och elektroniska design. Produkten har tre stora fördelar: låg kostnad, liten volym och låg strömförbrukning.

Den inbyggda algoritmen anpassad för inomhus- och utomhusmiljöer kan garantera en utmärkt prestanda till en låg kostnad och i en liten volym, vilket kraftigt utökar applikationsfält och scenarier för LiDAR och lägger en solid grund för framtida "ögon" i smarten epok.

Specifikationer

  • Ingångsspänning: 5v
  • Genomsnittlig effekt: 0,12W
  • Kommunikationsprotokoll: UART (överföringshastighet: 115200)
  • Driftstemperatur: -20 ℃ ~ 60 ℃
  • FOV: 2,3 °

Mått

  • Storlek: 42mmx15mmx16mm
  • Vikt: 6,1 g

Begränsningar

0cm-30cm "blind" räckvidd

Var man kan köpa

  • RobotShop
  • Amazon

Detta instruerbara kräver att du är bekant med följande:

  • Grundläggande elektronik
  • Handverktyg som trådskärare och avskalare
  • Läsa scheman och kopplingsscheman
  • C/C ++ programmering för Arduino (tillval)
  • Python -programmering för Raspberry Pi (tillval)

Steg 1: Insamlingsmaterial

Insamlingsmaterial
Insamlingsmaterial
Insamlingsmaterial
Insamlingsmaterial
Insamlingsmaterial
Insamlingsmaterial

Denna instruerbara tar dig igenom olika sätt att distribuera TFmini LiDAR med din Windows -dator och Raspberry Pi. Varje metod har sina krav och kan variera utifrån dina behov.

** Du kommer att behöva Benewake TFmini LiDAR för varje fall (naturligtvis) **

För PC -baserad implementering:

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

För Raspberry Pi -baserad implementering:

  • Raspberry Pi
  • Jumper Wires
  • Lysdioder (tillval)
  • USB-TTL-omvandlare (tillval)
  • Brödbräda (tillval)
  • Motstånd (mellan 100-1k Ohm) (tillval)

Steg 2: PC -baserad implementering med Benewake -appen

PC -baserad implementering med Benewake -appen
PC -baserad implementering med Benewake -appen
PC -baserad implementering med Benewake -appen
PC -baserad implementering med Benewake -appen
  1. Anslut TFmini LiDAR till USB-TTL-omvandlare med hjälp av bygelkablar (han-hona) enligt schemat

    • Red Wire 5V
    • Svart tråd GND
    • Vit/blå tråd Tx
    • Grön tråd Rx
  2. Anslut USB-TTL till din dator
  3. Gå till Enhetshanteraren (Win + X) och leta upp "Prolific USB-to-Serial Comm Port" under Ports (COM & LPT). Se till att Windows känner igen enheten
  4. Ladda ner och extrahera WINCC_TF.rar
  5. Kör WINCC_TFMini.exe från de extraherade filerna
  6. Välj motsvarande COM-port från rullgardinsmenyn i Benewake App under rubriken Seriell port
  7. Klicka på ANSLUT

Steg 3: PC -baserad implementering med Python (PySerial)

PC -baserad implementering med Python (PySerial)
PC -baserad implementering med Python (PySerial)
  1. Anslut TFmini LiDAR till PC med USB-TTL-omvandlare
  2. Ladda ner och öppna PC_Benewake_TFmini_LiDAR.py med Python IDLE (se till att du har PySerial och Python installerat på din dator)
  3. Redigera COM-porten i koden för att matcha COM-porten på USB-TTL-omvandlaren på din dator (se bild)
  4. Klicka på fliken Kör
  5. Klicka på Kör modul

** Se steg 5 för förklaring av koden

Steg 4: Raspberry Pi -baserad implementering

Raspberry Pi -baserad implementering
Raspberry Pi -baserad implementering
Raspberry Pi -baserad implementering
Raspberry Pi -baserad implementering
Raspberry Pi -baserad implementering
Raspberry Pi -baserad implementering
Raspberry Pi -baserad implementering
Raspberry Pi -baserad implementering
  1. Anslut TFmini LiDAR till RPi med USB-TTL-omvandlare eller UART-port med GPIO
  2. Ladda ner och öppna Pi_benewake_LiDAR.py med Python IDLE
  3. Om du använder en USB-TTL-omvandlare med RPi, öppna Arduino IDE. Klicka på Verktyg -> Seriell port och redigera koden därefter. Om du använder UART GPIO -porten, skriv /dev /ttyAMA0
  4. Kör koden

** Koden kan användas för att skriva ut avståndet, men eftersom RPi inte har mycket processorkraft rekommenderas det att tända en lysdiod om det registrerade avståndet ligger under ett visst intervall (schematisk för LED med RPi är bifogad)

F. Varför använda USB-TTL-omvandlare med RPi?

RPi har bara en UART -port, och ibland måste du sätta några moduler som kräver UART -kommunikation. USB-TTL ger en extra UART-port till RPi vilket ger oss möjlighet att ansluta mer än en UART-enhet (som två eller flera TFmini LiDAR) till RPi.

Steg 5: Om koden

Om koden
Om koden

Koden kan delas in i tre delar:

  • Upprättar anslutning
  • Skriva data
  • Läser data

Upprättar anslutning:

Efter att ha importerat nödvändiga rubrikfiler upprättar vi anslutningen till vår TFmini LiDAR genom att ange dess COM-port, Baud-rate och anslutningstimeout

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

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

Skriva data:

Koden kan delas in i två delar, skriva och ta emot. För att ta emot data måste du vidarebefordra vissa kommandon till TFmini LiDAR (del av initialiseringsprocessen). I det här fallet har jag valt 4257020000000106. Även om RPi kör samma version av Python men det finns en liten förändring i syntaxen eftersom RPi inte accepterar annan data än 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äsa data:

Diagrammet i databladet ger oss 'uppdelning' av 9-Byte UART-meddelande. De första två byten är ramhuvud med ett värde på hex 0x59 (tecken 'Y'). De kan läsas och användas för att identifiera början på UART -meddelandet.

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

När rubrikramen väl har lästs kan nästa två byte, som bär avståndsdata, läsas. Avståndsdata är uppdelad i två 8 -bitars paket, Dist_L (Byte3) - Lägre 8bits och Dist_H (Byte4) - Högre 8bits.

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

Genom att multiplicera Dist_H med 256 flyttas den binära datan med 8 till vänster (motsvarande "<< 8"). Nu kan de lägre 8-bitars distansdata, Dist_L, helt enkelt läggas till vilket resulterar i 16-bitars data för Dist_Total.

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

Eftersom vi har det "dechiffrerade" avståndsvärdet med oss kan nästa fem byte ignoreras. Observera att de lästa data inte lagras någonstans.

för i inom området (0, 5): ser.read ()

** På någon annan plats kan du hitta 'fördröjning' (time.sleep in Python) införlivad före slingans slut av den anledningen att TFmini LiDAR har 100Hz driftsfrekvens. Denna fördröjning "programfördröjning" och kommer att resultera i att data UPPDATERAS efter en viss fördröjning. Jag tror att eftersom vi redan väntar på att data ska höjas till 9-Bytes, borde det inte vara någon annan fördröjning

#time.sleep (0,0005) #Förseningen kommenteras

medan (ser.in_waiting> = 9):

Rekommenderad: