Kazalo:

Benewake LiDAR TFmini (Celoten vodnik): 5 korakov (s slikami)
Benewake LiDAR TFmini (Celoten vodnik): 5 korakov (s slikami)

Video: Benewake LiDAR TFmini (Celoten vodnik): 5 korakov (s slikami)

Video: Benewake LiDAR TFmini (Celoten vodnik): 5 korakov (s slikami)
Video: LiDAR TFmini Test 2024, Julij
Anonim
Benewake LiDAR TFmini (Celoten vodnik)
Benewake LiDAR TFmini (Celoten vodnik)
Benewake LiDAR TFmini (Celoten vodnik)
Benewake LiDAR TFmini (Celoten vodnik)

Opis

Modul Benewake TFMINI Micro LIDAR ima svoje edinstvene optične, strukturne in elektronske zasnove. Izdelek ima tri glavne prednosti: nizki stroški, majhna prostornina in nizka poraba energije.

Vgrajen algoritem, prilagojen notranjemu in zunanjemu okolju, lahko zagotovi odlično zmogljivost pri nizkih stroških in v majhni količini, kar močno razširi področja uporabe in scenarije LiDAR-ja ter postavi trdne temelje za prihodnje "oči" v pametnem doba.

Specifikacije

  • Vhodna napetost: 5v
  • Povprečna moč: 0,12 W
  • Komunikacijski protokol: UART (hitrost prenosa: 115200)
  • Delovna temperatura: -20 ℃ ~ 60 ℃
  • FOV: 2,3 °

Dimenzije

  • Dimenzije: 42 mm x 15 mm x 16 mm
  • Teža: 6,1 g

Omejitve

0 cm-30 cm "slepi" razpon

Kje kupiti

  • RobotShop
  • Amazon

Ta navodila zahtevajo, da poznate naslednje:

  • Osnovna elektronika
  • Ročna orodja, kot so rezalniki in odstranjevalci žice
  • Branje shem in diagramov povezav
  • Programiranje C/C ++ za Arduino (neobvezno)
  • Python programiranje za Raspberry Pi (neobvezno)

1. korak: Zbiranje materiala

Zbiralni material
Zbiralni material
Zbiralni material
Zbiralni material
Zbiralni material
Zbiralni material

Ta navodila vas bodo vodila skozi različne načine uvajanja TFmini LiDAR z računalnikom z operacijskim sistemom Windows in Raspberry Pi. Vsaka metoda ima svoje zahteve in se lahko razlikuje glede na vaše potrebe.

** Za vsak primer (seveda) boste potrebovali Benewake TFmini LiDAR **

Za izvedbo na osnovi računalnika:

  • OS: Windows
  • Pretvornik USB-TTL
  • Mostične žice

Za izvedbo na osnovi Raspberry Pi:

  • Malina Pi
  • Mostične žice
  • LED (neobvezno)
  • Pretvornik USB-TTL (neobvezno)
  • Ogledna plošča (neobvezno)
  • Upor (med 100-1k Ohm) (neobvezno)

2. korak: Izvajanje na osnovi računalnika z aplikacijo Benewake

PC implementacija z uporabo aplikacije Benewake
PC implementacija z uporabo aplikacije Benewake
PC implementacija z uporabo aplikacije Benewake
PC implementacija z uporabo aplikacije Benewake
  1. Priključite pretvornik TFmini LiDAR na pretvornik USB-TTL s pomočjo mostičnih (moško-ženskih) žic v skladu s prikazano shemo

    • Rdeča žica 5V
    • Črna žica GND
    • Bela/modra žica Tx
    • Zelena žica Rx
  2. Priključite USB-TTL v računalnik
  3. Pojdite v Upravitelj naprav (Win + X) in poiščite "Prolific USB-to-Serial Comm Port" pod Ports (COM & LPT). Prepričajte se, da Windows prepozna napravo
  4. Prenesite in izvlecite WINCC_TF.rar
  5. Zaženite WINCC_TFMini.exe iz ekstrahiranih datotek
  6. V spustnem meniju v aplikaciji Benewake pod naslovom Serijska vrata izberite ustrezna vrata COM
  7. Kliknite POVEŽI

3. korak: Izvajanje na osnovi računalnika z uporabo Pythona (PySerial)

PC implementacija z uporabo Pythona (PySerial)
PC implementacija z uporabo Pythona (PySerial)
  1. Povežite TFmini LiDAR z računalnikom s pretvornikom USB-TTL
  2. Prenesite in odprite PC_Benewake_TFmini_LiDAR.py z Python IDLE (preverite, ali imate v računalniku nameščena PySerial in Python)
  3. Uredite vrata COM v kodi tako, da se ujemajo s vrati COM pretvornika USB-TTL v računalniku (glejte sliko)
  4. Kliknite zavihek Zaženi
  5. Kliknite Zaženi modul

** Za razlago kode glejte korak 5

4. korak: Izvajanje na osnovi Raspberry Pi

Izvajanje na osnovi Raspberry Pi
Izvajanje na osnovi Raspberry Pi
Izvajanje na osnovi Raspberry Pi
Izvajanje na osnovi Raspberry Pi
Izvajanje na osnovi Raspberry Pi
Izvajanje na osnovi Raspberry Pi
Izvajanje na osnovi Raspberry Pi
Izvajanje na osnovi Raspberry Pi
  1. Povežite TFmini LiDAR z RPi s pretvornikom USB-TTL ali vrati UART z uporabo GPIO
  2. Prenesite in odprite Pi_benewake_LiDAR.py z uporabo Python IDLE
  3. Če uporabljate pretvornik USB-TTL z RPi, odprite Arduino IDE. Kliknite Orodja -> Serijska vrata in ustrezno uredite kodo. Če uporabljate vrata UART GPIO, napišite /dev /ttyAMA0
  4. Zaženite kodo

** Kodo bi lahko uporabili za tiskanje razdalje, a ker RPi nima veliko procesorske moči, je priporočljivo prižgati LED, če je zabeležena razdalja pod določenim območjem (priložena je shema za LED z RPi)

Q. Zakaj uporabljati pretvornik USB-TTL z RPi?

RPi ima samo ena vrata UART, včasih pa morate postaviti nekaj modulov, ki zahtevajo komunikacijo UART. USB-TTL ponuja dodatna vrata UART za RPi, kar nam omogoča, da na RPi povežemo več kot eno napravo UART (na primer dva ali več TFmini LiDAR).

5. korak: O kodi

O kodeksu
O kodeksu

Kodo lahko razdelimo na tri dele:

  • Vzpostavljanje povezave
  • Pisanje podatkov
  • Branje podatkov

Vzpostavljanje povezave:

Ko uvozimo potrebne datoteke z glavo, vzpostavimo povezavo z našim TFmini LiDAR tako, da navedemo njegova vrata COM, hitrost prenosa podatkov in časovno omejitev povezave

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

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

Pisanje podatkov:

Kodo lahko razdelimo na dva dela, pisni in sprejemni. Če želite prejemati podatke, morate določen ukaz posredovati TFmini LiDAR (del procesa inicializacije). V tem primeru sem izbral 4257020000000106. Čeprav RPi izvaja isto različico Pythona, vendar je v sintaksi rahlo spremenjena, saj RPi ne sprejema drugih podatkov, razen binarnih.

ser.write (0x42)

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

Branje podatkov:

Tabela v podatkovnem listu prikazuje "razčlenitev" 9-bajtnega sporočila UART. Prva dva bajta sta naslov okvirja z vrednostjo hex 0x59 (znak 'Y'). Lahko jih preberete in uporabite za identifikacijo začetka sporočila UART.

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

Ko je okvir glave prebran, se lahko prebereta naslednja dva bajta, ki nosita podatke o razdalji. Podatki o razdalji so razdeljeni na dva 8 -bitna paketa, Dist_L (Byte3) - nižje 8bit in Dist_H (Byte4) - višje 8bit.

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

Z pomnožitvijo Dist_H s 256 se binarni podatki premaknejo za 8 v levo (kar ustreza "<< 8"). Zdaj bi lahko preprosto dodali nižje 8-bitne podatke o razdalji, Dist_L, kar bi povzročilo 16-bitne podatke Dist_Total.

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

Ker imamo pri sebi vrednost "dešifrirane" razdalje, lahko naslednjih pet bajtov prezremo. Upoštevajte, da prebrani podatki niso shranjeni nikjer.

za i v območju (0, 5): ser.read ()

** Na drugem mestu boste morda našli "zakasnitev" (time.sleep v Pythonu), vključeno pred koncem zanke, ker ima TFmini LiDAR 100Hz delovno frekvenco. Ta zamuda "zamuda programa" in bo povzročila, da se podatki po določeni zamudi posodobijo. Verjamem, da ker že čakamo, da se podatki zberejo do 9 bajtov, ne bi smelo biti nobene druge zamude

#time.sleep (0,0005) #Zakasnitev je komentirana

medtem ko (ser.in_waiting> = 9):

Priporočena: