Obsah:

Benewake LiDAR TFmini (kompletný sprievodca): 5 krokov (s obrázkami)
Benewake LiDAR TFmini (kompletný sprievodca): 5 krokov (s obrázkami)

Video: Benewake LiDAR TFmini (kompletný sprievodca): 5 krokov (s obrázkami)

Video: Benewake LiDAR TFmini (kompletný sprievodca): 5 krokov (s obrázkami)
Video: Benewake TFmini-S — лазерный дальномер на 12 метров для Arduino и Raspberry. Железки Амперки 2024, November
Anonim
Benewake LiDAR TFmini (kompletný sprievodca)
Benewake LiDAR TFmini (kompletný sprievodca)
Benewake LiDAR TFmini (kompletný sprievodca)
Benewake LiDAR TFmini (kompletný sprievodca)

Popis

Modul Benewake TFMINI Micro LIDAR má svoje jedinečné optické, štruktúrne a elektronické prevedenie. Tento výrobok má tri hlavné výhody: nízke náklady, malý objem a nízku spotrebu energie.

Vstavaný algoritmus prispôsobený vnútornému aj vonkajšiemu prostrediu môže zaručiť vynikajúci výkon pri nízkych nákladoch a v malom objeme, ktorý výrazne rozširuje aplikačné polia a scenáre systému LiDAR a vytvára pevný základ pre budúce „oči“v inteligentnom éra.

technické údaje

  • Vstupné napätie: 5v
  • Priemerný výkon: 0,12 W.
  • Komunikačný protokol: UART (prenosová rýchlosť: 115200)
  • Prevádzková teplota: -20 ℃ ~ 60 ℃
  • FOV: 2,3 °

Rozmery

  • Rozmery: 42 mm x 15 mm x 16 mm
  • Hmotnosť: 6,1 g

Obmedzenia

Rozsah „slepého“0 cm-30 cm

Kde kúpiť

  • RobotShop
  • Amazon

Tento návod vyžaduje, aby ste sa zoznámili s nasledujúcim:

  • Základná elektronika
  • Ručné nástroje ako strihače drôtov a odizolovače
  • Čítanie schém a schém zapojenia
  • Programovanie v C/C ++ pre Arduino (voliteľné)
  • Programovanie v Pythone pre Raspberry Pi (voliteľné)

Krok 1: Zhromažďovanie materiálu

Zber materiálu
Zber materiálu
Zber materiálu
Zber materiálu
Zber materiálu
Zber materiálu

Tento návod vás prevedie rôznymi spôsobmi nasadenia TFmini LiDAR pomocou počítača so systémom Windows a Raspberry Pi. Každá metóda má svoje požiadavky a môže sa líšiť podľa vašich potrieb.

** Benewake TFmini LiDAR budete potrebovať pre každý prípad (samozrejme) **

Pre implementáciu na báze PC:

  • OS: Windows
  • USB-TTL prevodník
  • Prepojovacie vodiče

Pre implementáciu založenú na Raspberry Pi:

  • Malinový koláč
  • Prepojovacie vodiče
  • LED diódy (voliteľné)
  • Konvertor USB-TTL (voliteľný)
  • Breadboard (voliteľné)
  • Rezistor (medzi 100-1k Ohm) (voliteľný)

Krok 2: Implementácia na počítači pomocou aplikácie Benewake

Implementácia na počítači pomocou aplikácie Benewake
Implementácia na počítači pomocou aplikácie Benewake
Implementácia na počítači pomocou aplikácie Benewake
Implementácia na počítači pomocou aplikácie Benewake
  1. Pripojte TFmini LiDAR k prevodníku USB-TTL pomocou prepojovacích (mužsko-ženských) vodičov podľa zobrazenej schémy

    • Červený vodič 5V
    • Čierny drôt GND
    • Bielo/modrý drôt Tx
    • Zelený drôt Rx
  2. Pripojte USB-TTL k počítaču
  3. Prejdite do Správcu zariadení (Win + X) a v časti Porty (COM a LPT) vyhľadajte položku „Prolific USB-to-Serial Comm Port“. Zaistite, aby systém Windows zariadenie rozpoznal
  4. Prevezmite a rozbaľte súbor WINCC_TF.rar
  5. Spustite WINCC_TFMini.exe z extrahovaných súborov
  6. Vyberte zodpovedajúci port COM z rozbaľovacej ponuky v aplikácii Benewake pod nadpisom Sériový port
  7. Kliknite na PRIPOJIŤ

Krok 3: Implementácia na počítači pomocou Pythonu (PySerial)

Implementácia na počítači pomocou Pythonu (PySerial)
Implementácia na počítači pomocou Pythonu (PySerial)
  1. Pripojte TFmini LiDAR k počítaču pomocou prevodníka USB-TTL
  2. Stiahnite a otvorte PC_Benewake_TFmini_LiDAR.py pomocou Python IDLE (uistite sa, že máte v počítači nainštalovaný PySerial a Python)
  3. Upravte port COM v kóde tak, aby zodpovedal portu COM prevodníka USB-TTL vo vašom počítači (pozri obrázok)
  4. Kliknite na kartu Spustiť
  5. Kliknite na položku Spustiť modul

** Vysvetlenie kódu nájdete v kroku 5

Krok 4: Implementácia založená na Raspberry Pi

Implementácia založená na Raspberry Pi
Implementácia založená na Raspberry Pi
Implementácia založená na Raspberry Pi
Implementácia založená na Raspberry Pi
Implementácia založená na Raspberry Pi
Implementácia založená na Raspberry Pi
Implementácia založená na Raspberry Pi
Implementácia založená na Raspberry Pi
  1. Pripojte TFmini LiDAR k RPi pomocou prevodníka USB-TTL alebo portu UART pomocou GPIO
  2. Stiahnite a otvorte Pi_benewake_LiDAR.py pomocou Python IDLE
  3. Ak používate prevodník USB-TTL s RPi, otvorte Arduino IDE. Kliknite na Nástroje -> Sériový port a podľa toho upravte kód. Ak používate port UART GPIO, napíšte /dev /ttyAMA0
  4. Spustite kód

** Kód je možné použiť na vytlačenie vzdialenosti, ale pretože RPi nemá veľký výpočtový výkon, odporúča sa rozsvietiť LED diódu, ak je zaznamenaná vzdialenosť pod určitým rozsahom (schéma pre LED s RPi je pripojená)

Otázka: Prečo používať prevodník USB-TTL s RPi?

RPi má iba jeden port UART a niekedy je potrebné vložiť niekoľko modulov, ktoré vyžadujú komunikáciu UART. USB-TTL poskytuje ďalší port UART k RPi, čo nám dáva možnosť pripojiť k RPi viac ako jedno zariadenie UART (napríklad dva alebo viac TFmini LiDAR).

Krok 5: O kódexe

O kódexe
O kódexe

Kód je možné rozdeliť na tri časti:

  • Nadväzuje sa spojenie
  • Zapisovanie údajov
  • Čítanie údajov

Nadväzovanie spojenia:

Po importovaní potrebných hlavičkových súborov nadviažeme spojenie s naším TFmini LiDAR uvedením jeho portu COM, prenosovej rýchlosti a časového limitu pripojenia.

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

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

Zapisovacie údaje:

Kód je možné rozdeliť na dve časti, na písanie a príjem. Na príjem údajov je potrebné, aby ste určitý príkaz preposlali TFmini LiDAR (súčasť inicializačného procesu). V tomto prípade som vybral 4257020000000106. Aj keď RPi beží na tej istej verzii Pythonu, ale dochádza k miernej zmene syntaxe, pretože RPi neakceptuje iné údaje ako binárne.

ser.write (0x42)

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

Údaje o čítaní:

Tabuľka poskytnutá v dátovom liste nám dáva „rozpis“9-bajtovej správy UART. Prvé dva bajty sú záhlavie rámca s hodnotou hex 0x59 (znak 'Y'). Dajú sa prečítať a použiť na identifikáciu začiatku správy UART.

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

Po prečítaní rámca záhlavia je možné prečítať ďalšie dva bajty, ktoré nesú údaje o vzdialenosti. Údaje o vzdialenosti sú rozdelené do dvoch 8 -bitových paketov, Dist_L (Byte3) - Lower 8bits a Dist_H (Byte4) - Higher 8bits.

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

Vynásobením Dist_H číslom 256 sa binárne údaje posunú o 8 doľava (ekvivalent "<< 8"). Teraz bolo možné jednoducho pridať údaje o nižšej 8-bitovej vzdialenosti, Dist_L, čo vedie k 16-bitovým údajom Dist_Total.

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

Pretože máme so sebou hodnotu „dešifrovanej“vzdialenosti, nasledujúcich päť bajtov by sme mohli ignorovať. Načítané údaje nie sú nikde uložené.

pre i v rozsahu (0, 5): ser.read ()

** Na inom mieste môžete nájsť „oneskorenie“(time.sleep v Pythone) začlenené pred koniec cyklu z dôvodu, že TFmini LiDAR má pracovnú frekvenciu 100 Hz. Toto oneskorenie „oneskorenia programu“bude mať za následok aktualizáciu údajov po určitom oneskorení. Verím, že keďže už čakáme na nahromadenie údajov až na 9 bajtov, nemalo by dôjsť k ďalšiemu zdržaniu

#time.sleep (0,0005) #Oneskorenie je komentované

while (ser.in_waiting> = 9):

Odporúča: