Sisukord:

Benewake LiDAR TFmini (täielik juhend): 5 sammu (koos piltidega)
Benewake LiDAR TFmini (täielik juhend): 5 sammu (koos piltidega)

Video: Benewake LiDAR TFmini (täielik juhend): 5 sammu (koos piltidega)

Video: Benewake LiDAR TFmini (täielik juhend): 5 sammu (koos piltidega)
Video: Benewake TFmini-S — лазерный дальномер на 12 метров для Arduino и Raspberry. Железки Амперки 2024, November
Anonim
Benewake LiDAR TFmini (täielik juhend)
Benewake LiDAR TFmini (täielik juhend)
Benewake LiDAR TFmini (täielik juhend)
Benewake LiDAR TFmini (täielik juhend)

Kirjeldus

Benewake TFMINI Micro LIDAR moodulil on ainulaadne optiline, struktuurne ja elektrooniline disain. Tootel on kolm peamist eelist: madal hind, väike maht ja väike energiatarve.

Sise- ja väliskeskkonda kohandatud sisseehitatud algoritm võib garanteerida suurepärase ulatuse jõudluse madalate kuludega ja väikese mahuga, mis laiendab oluliselt LiDARi rakendusvaldkondi ja stsenaariume ning loob tugeva aluse nutikate tulevaste silmade jaoks ajastu.

Tehnilised andmed

  • Sisendpinge: 5v
  • Keskmine võimsus: 0,12W
  • Sideprotokoll: UART (baudikiirus: 115200)
  • Töötemperatuur: -20 ℃ ~ 60 ℃
  • FOV: 2,3 °

Mõõtmed

  • Suurus: 42mmx15mmx16mm
  • Kaal: 6,1 g

Piirangud

0-30 cm "pime" vahemik

Kust osta

  • RobotShop
  • Amazon

See juhend nõuab, et te oleksite kursis järgmisega:

  • Põhiline elektroonika
  • Käsitööriistad, nagu traadilõikurid ja eemaldajad
  • Skeemide ja ühendusskeemide lugemine
  • C/C ++ programmeerimine Arduino jaoks (valikuline)
  • Pythoni programmeerimine Raspberry Pi jaoks (valikuline)

Samm: materjali kogumine

Materjali kogumine
Materjali kogumine
Materjali kogumine
Materjali kogumine
Materjali kogumine
Materjali kogumine

See juhend juhendab teid erinevatel viisidel TFmini LiDARi juurutamiseks, kasutades Windowsi arvutit ja Raspberry Pi. Igal meetodil on oma nõuded ja see võib sõltuvalt teie vajadustest erineda.

** Teil on igal juhul vaja Benewake TFmini LiDAR -i (muidugi) **

Arvutipõhise rakenduse jaoks:

  • OS: Windows
  • USB-TTL muundur
  • Jumper juhtmed

Vaarika Pi -põhise rakenduse jaoks:

  • Vaarika Pi
  • Jumper juhtmed
  • LEDid (valikuline)
  • USB-TTL-muundur (valikuline)
  • Leivalaud (valikuline)
  • Takisti (vahemikus 100-1 kΩ) (valikuline)

Samm: arvutipõhine rakendamine Benewake'i rakenduse abil

Arvutipõhine rakendamine Benewake'i rakenduse abil
Arvutipõhine rakendamine Benewake'i rakenduse abil
Arvutipõhine rakendamine Benewake'i rakenduse abil
Arvutipõhine rakendamine Benewake'i rakenduse abil
  1. Ühendage TFmini LiDAR USB-TTL muunduriga, kasutades hüppaja (mees-naine) juhtmeid vastavalt näidatud skeemile

    • Punane juhe 5V
    • Must traat GND
    • Valge/sinine traat Tx
    • Roheline traat Rx
  2. Ühendage oma arvutiga USB-TTL
  3. Minge seadmehaldurisse (Win + X) ja otsige portide (COM ja LPT) alt välja "Prolific USB-to-Serial Comm Port". Veenduge, et Windows tuvastaks seadme
  4. Laadige alla ja ekstraktige WINCC_TF.rar
  5. Käivitage ekstraheeritud failidest WINCC_TFMini.exe
  6. Valige Benewake'i rakenduse rippmenüüst jadapordi all vastav COM-port
  7. Klõpsake ÜHENDA

Samm: arvutipõhine rakendamine Pythoni (PySerial) abil

Arvutipõhine rakendamine Pythoni abil (PySerial)
Arvutipõhine rakendamine Pythoni abil (PySerial)
  1. Ühendage TFmini LiDAR arvutiga USB-TTL muunduri abil
  2. Laadige Python IDLE abil alla ja avage PC_Benewake_TFmini_LiDAR.py (veenduge, et arvutisse oleks installitud PySerial ja Python)
  3. Muutke koodi COM-porti, et see vastaks teie arvuti USB-TTL-muunduri COM-pordile (vt pilti)
  4. Klõpsake vahekaarti Käivita
  5. Klõpsake nuppu Käivita moodul

** Koodi selgitamiseks vaadake 5. sammu

4. samm: Vaarika Pi -põhine rakendamine

Vaarika Pi põhine juurutamine
Vaarika Pi põhine juurutamine
Vaarika Pi põhine juurutamine
Vaarika Pi põhine juurutamine
Vaarika Pi põhine juurutamine
Vaarika Pi põhine juurutamine
Vaarika Pi põhine juurutamine
Vaarika Pi põhine juurutamine
  1. Ühendage TFmini LiDAR RPi-ga, kasutades USB-TTL-muundurit või UART-porti, kasutades GPIO-d
  2. Laadige Python IDLE abil alla ja avage Pi_benewake_LiDAR.py
  3. Kui kasutate RPi-ga USB-TTL-muundurit, avage Arduino IDE. Klõpsake Tools -> Serial Port ja muutke koodi vastavalt. Kui kasutate UART GPIO porti, kirjutage /dev /ttyAMA0
  4. Käivitage kood

** Koodi saab kasutada kauguse printimiseks, kuid kuna RPi -l ei ole palju töötlemisvõimsust, on soovitatav LED -tuli süüdata, kui salvestatud vahemaa jääb alla teatud vahemiku (lisatud on RPi -ga LED -i skemaatika)

K. Miks kasutada RPi-ga USB-TTL-muundurit?

RPi -l on ainult üks UART -port ja mõnikord peate panema paar moodulit, mis nõuavad UART -ühendust. USB-TTL pakub RPi-le täiendavat UART-porti, mis annab meile võimaluse ühendada RPi-ga rohkem kui üks UART-seade (näiteks kaks või enam TFmini LiDAR-i).

Samm 5: Koodeksi kohta

Koodeksi kohta
Koodeksi kohta

Koodi võib jagada kolmeks osaks:

  • Ühenduse loomine
  • Andmete kirjutamine
  • Andmete lugemine

Ühenduse loomine:

Pärast vajalike päisefailide importimist loome ühenduse oma TFmini LiDAR-iga, märkides selle COM-pordi, Baud-kiiruse ja ühenduse ajalõpu

ser = jada. Sarja ('COM7', 115200, timeout = 1) #PC

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

Andmete kirjutamine:

Koodi saab jagada kaheks osaks, kirjutamiseks ja vastuvõtmiseks. Andmete vastuvõtmiseks peate teatud käsu edastama TFmini LiDAR -ile (initsialiseerimisprotsessi osa). Sel juhul olen valinud 4257020000000106. Kuigi RPi töötab sama Pythoni versiooniga, kuid süntaksis on kergeid muudatusi, kuna RPi ei aktsepteeri muid andmeid kui binaar.

ser.write (0x42)

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

Andmete lugemine:

Andmelehel esitatud diagramm annab meile 9-baitise UART-sõnumi jaotuse. Kaks esimest baiti on kaadri päis, mille väärtus on hex 0x59 (märk „Y”). Neid saab lugeda ja kasutada UART -sõnumi alguse tuvastamiseks.

kui (('Y' == ser.read ()) ja ('Y' == ser.read ())):

Kui päise raam on loetud, saab lugeda kahte järgmist baiti, mis sisaldavad kaugusandmeid. Kaugusandmed on jagatud kaheks 8 -bitiseks paketiks, Dist_L (bait3) - madalamad 8 bitti ja dist_H (bait4) - kõrgemad 8 bitti.

Dist_L = ser.read () #bait3Dist_H = ser.read () #bait4

Korrutades Dist_H 256 -ga, nihutatakse binaarandmed 8 võrra vasakule (võrdub "<< 8"). Nüüd saab lihtsalt lisada alumise 8-bitise vahemaa andmed Dist_L, mille tulemuseks on Dist_Total 16-bitised andmed.

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

Kuna meil on „dešifreeritud” kaugusväärtus kaasas, võiks järgmisi viit baiti ignoreerida. Pange tähele, et loetud andmeid ei salvestata kuhugi.

i jaoks vahemikus (0, 5): ser.read ()

** Mõnes teises kohas võite leida „viivituse” (time.sleep in Python) enne tsükli lõppu põhjusel, et TFmini LiDAR töösagedus on 100 Hz. See viivitus „programmi viivitus” ja selle tulemusel uuendatakse andmeid mõne aja pärast. Ma usun, et kuna me juba ootame, kuni andmed kogunevad kuni 9-baitiseks, ei tohiks muid viivitusi tekkida

#time.sleep (0.0005) #Viivitust kommenteeritakse

samas (ser.in_waiting> = 9):

Soovitan: