Sadržaj:

Benewake LiDAR TFmini (potpuni vodič): 5 koraka (sa slikama)
Benewake LiDAR TFmini (potpuni vodič): 5 koraka (sa slikama)

Video: Benewake LiDAR TFmini (potpuni vodič): 5 koraka (sa slikama)

Video: Benewake LiDAR TFmini (potpuni vodič): 5 koraka (sa slikama)
Video: Benewake TFmini-S — лазерный дальномер на 12 метров для Arduino и Raspberry. Железки Амперки 2024, Novembar
Anonim
Benewake LiDAR TFmini (Kompletan vodič)
Benewake LiDAR TFmini (Kompletan vodič)
Benewake LiDAR TFmini (Kompletan vodič)
Benewake LiDAR TFmini (Kompletan vodič)

Opis

Benewake TFMINI Micro LIDAR modul ima svoj jedinstveni optički, strukturni i elektronički dizajn. Proizvod ima tri glavne prednosti: niska cijena, mala zapremina i niska potrošnja energije.

Ugrađeni algoritam prilagođen unutrašnjim i vanjskim okruženjima može jamčiti odlične performanse pri niskim cijenama i u malom volumenu, što uvelike proširuje područja primjene i scenarije LiDAR-a i postavlja dobre temelje za buduće „oči“u pametnom doba.

Specifikacije

  • Ulazni napon: 5v
  • Prosječna snaga: 0,12W
  • Komunikacijski protokol: UART (brzina prijenosa: 115200)
  • Radna temperatura: -20 ℃ ~ 60 ℃
  • FOV: 2.3 °

Dimenzije

  • Veličina: 42mmx15mmx16mm
  • Težina: 6,1 g

Ograničenja

Raspon "slijepih" od 0 do 30 cm

Gdje kupiti

  • RobotShop
  • Amazon

Ovo uputstvo zahtijeva da ste upoznati sa sljedećim:

  • Osnovna elektronika
  • Ručni alati poput rezača žice i skidača
  • Čitanje shema i dijagrama povezivanja
  • C/C ++ programiranje za Arduino (opcionalno)
  • Python programiranje za Raspberry Pi (opcionalno)

Korak 1: Prikupljanje materijala

Prikupljanje materijala
Prikupljanje materijala
Prikupljanje materijala
Prikupljanje materijala
Prikupljanje materijala
Prikupljanje materijala

Ovo uputstvo će vas provesti kroz različite načine implementacije TFmini LiDAR -a koristeći vaš Windows PC i Raspberry Pi. Svaka metoda ima svoje zahtjeve i može se razlikovati ovisno o vašim potrebama.

** Trebat će vam Benewake TFmini LiDAR za svaki slučaj (naravno) **

Za implementaciju zasnovanu na računaru:

  • OS: Windows
  • USB-TTL pretvarač
  • Džemper žice

Za implementaciju zasnovanu na Raspberry Pi:

  • Raspberry Pi
  • Džemper žice
  • LED diode (opciono)
  • USB-TTL pretvarač (opcionalno)
  • Oglasna ploča (nije obavezno)
  • Otpornik (između 100-1k Ohma) (opcionalno)

Korak 2: Implementacija zasnovana na računaru pomoću aplikacije Benewake

Implementacija zasnovana na računaru pomoću aplikacije Benewake
Implementacija zasnovana na računaru pomoću aplikacije Benewake
Implementacija zasnovana na računaru pomoću aplikacije Benewake
Implementacija zasnovana na računaru pomoću aplikacije Benewake
  1. Spojite TFmini LiDAR na USB-TTL pretvarač pomoću kratkospojnika (muško-žensko) prema prikazanoj shemi

    • Crvena žica 5V
    • Crna žica GND
    • Bijela/Plava žica Tx
    • Zelena žica Rx
  2. Priključite USB-TTL na računar
  3. Idite u Upravitelj uređaja (Win + X) i pronađite "Prolific USB-to-Serial Comm Port" pod Ports (COM & LPT). Uvjerite se da Windows prepoznaje uređaj
  4. Preuzmite i raspakujte WINCC_TF.rar
  5. Pokrenite WINCC_TFMini.exe iz izdvojenih datoteka
  6. Odaberite odgovarajući COM port s padajućeg izbornika u aplikaciji Benewake pod naslovom Serijski port
  7. Pritisnite CONNECT

Korak 3: Implementacija zasnovana na računaru pomoću Pythona (PySerial)

Implementacija zasnovana na računaru pomoću Pythona (PySerial)
Implementacija zasnovana na računaru pomoću Pythona (PySerial)
  1. Povežite TFmini LiDAR sa računarom pomoću USB-TTL pretvarača
  2. Preuzmite i otvorite PC_Benewake_TFmini_LiDAR.py pomoću Python IDLE -a (provjerite imate li na računaru instalirane PySerial i Python)
  3. Uredite COM port u kodu tako da odgovara COM portu USB-TTL pretvarača na vašem računaru (pogledajte sliku)
  4. Kliknite karticu Pokreni
  5. Kliknite Pokreni modul

** Pogledajte korak-5 za objašnjenje koda

Korak 4: Implementacija zasnovana na Raspberry Pi

Implementacija zasnovana na Raspberry Pi
Implementacija zasnovana na Raspberry Pi
Implementacija zasnovana na Raspberry Pi
Implementacija zasnovana na Raspberry Pi
Implementacija zasnovana na Raspberry Pi
Implementacija zasnovana na Raspberry Pi
Implementacija zasnovana na Raspberry Pi
Implementacija zasnovana na Raspberry Pi
  1. Povežite TFmini LiDAR na RPi pomoću USB-TTL pretvarača ili UART porta koristeći GPIO
  2. Preuzmite i otvorite Pi_benewake_LiDAR.py koristeći Python IDLE
  3. Ako koristite USB-TTL pretvarač s RPi, otvorite Arduino IDE. Kliknite na Alati -> Serijski port i prema tome uredite kôd. Ako koristite UART GPIO port, napišite /dev /ttyAMA0
  4. Pokrenite kod

** Kôd se može koristiti za ispis udaljenosti, ali budući da RPi nema veliku procesorsku snagu, savjetuje se da se upali LED dioda ako je zabilježena udaljenost ispod određenog raspona (shema za LED s RPi je priložena)

P. Zašto koristiti USB-TTL pretvarač s RPi-jem?

RPi ima samo jedan UART port, a ponekad je potrebno staviti nekoliko modula koji zahtijevaju UART komunikaciju. USB-TTL pruža dodatni UART port za RPi dajući nam mogućnost povezivanja više od jednog UART uređaja (poput dva ili više TFmini LiDAR-a) na RPi.

Korak 5: O Kodeksu

O Kodeksu
O Kodeksu

Kod se može podijeliti na tri dijela:

  • Uspostavljanje veze
  • Pisanje podataka
  • Očitavanje podataka

Uspostavljanje veze:

Nakon uvoza potrebnih datoteka zaglavlja uspostavljamo vezu s našim TFmini LiDAR-om navodeći njegov COM port, brzinu prijenosa i istek veze

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

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

Zapisivanje podataka:

Kôd se može podijeliti u dva dijela, pismeni i prijemni. Da biste primili podatke, morate proslijediti određenu naredbu TFmini LiDAR -u (dio procesa inicijalizacije). U ovom slučaju odabrao sam 4257020000000106. Iako RPi pokreće istu verziju Pythona, ali postoji mala promjena u sintaksi jer RPi ne prihvaća podatke osim 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)

Očitavanje podataka:

Tablica navedena u podatkovnom listu daje 'raščlambu' 9-bajtne UART poruke. Prva dva bajta su zaglavlje okvira čija je vrijednost hex 0x59 (znak 'Y'). Mogu se čitati i koristiti za identifikaciju početka UART poruke.

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

Nakon što se pročita okvir zaglavlja, mogu se pročitati sljedeća dva bajta, koji nose podatke o udaljenosti. Podaci o udaljenosti podijeljeni su u dva 8 -bitna paketa, Dist_L (Byte3) - Niži 8 bita i Dist_H (Byte4) - Viši 8 bita.

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

Pomnožavanjem Dist_H sa 256, binarni podaci se pomiču za 8 ulijevo (ekvivalentno s "<< 8"). Sada se niži 8-bitni podaci o udaljenosti, Dist_L, mogu jednostavno dodati što rezultira 16-bitnim podacima Dist_Total.

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

Budući da sa sobom imamo vrijednost "dešifrirane" udaljenosti, sljedećih pet bajtova se može zanemariti. Imajte na umu da se pročitani podaci ne pohranjuju nigdje.

za i u dometu (0, 5): ser.read ()

** Na nekom drugom mjestu možete pronaći "kašnjenje" (time.sleep u Pythonu) ugrađeno prije kraja petlje iz razloga što TFmini LiDAR ima radnu frekvenciju od 100Hz. Ovo kašnjenje 'kašnjenje programa' i rezultirat će ažuriranjem podataka nakon nekog kašnjenja. Vjerujem da, budući da već čekamo da se podaci skupe do 9 bajtova, ne bi trebalo biti drugog kašnjenja

#time.sleep (0.0005) #Kašnjenje je komentarisano

while (ser.in_waiting> = 9):

Preporučuje se: