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, Studeni
Anonim
Benewake LiDAR TFmini (potpuni vodič)
Benewake LiDAR TFmini (potpuni vodič)
Benewake LiDAR TFmini (potpuni vodič)
Benewake LiDAR TFmini (potpuni vodič)

Opis

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

Ugrađeni algoritam prilagođen unutarnjem i vanjskom okruženju može jamčiti izvrsne 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.

Tehnički podaci

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

Dimenzije

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

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 (izborno)
  • Python programiranje za Raspberry Pi (izborno)

Korak 1: Prikupljanje materijala

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

Ove upute će vas provesti kroz različite načine implementacije TFmini LiDAR -a pomoću vašeg Windows računala 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 temeljenu na računalu:

  • OS: Windows
  • USB-TTL pretvarač
  • Žice za kratkospojnike

Za implementaciju temeljenu na Raspberry Pi:

  • Malina Pi
  • Žice za kratkospojnike
  • LED diode (opcionalno)
  • USB-TTL pretvarač (opcionalno)
  • Oglasna ploča (izborno)
  • Otpornik (između 100-1k Ohma) (izborno)

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

Implementacija na računalu pomoću aplikacije Benewake
Implementacija na računalu pomoću aplikacije Benewake
Implementacija na računalu pomoću aplikacije Benewake
Implementacija na računalu pomoću aplikacije Benewake
  1. Spojite TFmini LiDAR na USB-TTL pretvarač pomoću kratkospojnih (muško-ženskih) žica prema prikazanoj shemi

    • Crvena žica 5V
    • Crna žica GND
    • Bijela/plava žica Tx
    • Zelena žica Rx
  2. Priključite USB-TTL na računalo
  3. Idite na Upravitelj uređaja (Win + X) i pronađite "Prolific USB-to-Serial Comm Port" pod Ports (COM & LPT). Provjerite prepoznaje li Windows uređaj
  4. Preuzmite i ekstrahirajte 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 na računalu pomoću Pythona (PySerial)

Implementacija na računalu pomoću Pythona (PySerial)
Implementacija na računalu pomoću Pythona (PySerial)
  1. Spojite TFmini LiDAR na računalo 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čunalu (pogledajte sliku)
  4. Kliknite karticu Pokreni
  5. Kliknite Pokreni modul

** Za objašnjenje koda pogledajte korak 5

Korak 4: Implementacija temeljena na Raspberry Pi

Implementacija temeljena na Raspberry Pi
Implementacija temeljena na Raspberry Pi
Implementacija temeljena na Raspberry Pi
Implementacija temeljena na Raspberry Pi
Implementacija temeljena na Raspberry Pi
Implementacija temeljena na Raspberry Pi
Implementacija temeljena na Raspberry Pi
Implementacija temeljena na Raspberry Pi
  1. Spojite TFmini LiDAR na RPi pomoću USB-TTL pretvarača ili UART priključka pomoću GPIO-a
  2. Preuzmite i otvorite Pi_benewake_LiDAR.py pomoću Python IDLE -a
  3. Ako koristite USB-TTL pretvarač s RPi, otvorite Arduino IDE. Pritisnite Alati -> Serijski port i prema tome uredite kôd. Ako koristite UART GPIO port, tada upišite /dev /ttyAMA0
  4. Pokrenite kôd

** Kôd se može koristiti za ispis udaljenosti, ali budući da RPi nema veliku procesorsku snagu, preporučuje se upaliti LED diodu 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 morate 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 u tri dijela:

  • Uspostavljanje veze
  • Zapisivanje podataka
  • Čitanje podataka

Uspostavljanje veze:

Nakon uvoza potrebnih datoteka zaglavlja uspostavljamo vezu s našim TFmini LiDAR-om navodeći njegov COM port, brzinu prijenosa podataka 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, pisanje i primanje. 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 koji ima vrijednost hex 0x59 (znak 'Y'). Mogu se čitati i koristiti za identifikaciju početka UART poruke.

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

Kad 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 bajta se može zanemariti. Imajte na umu da se pročitani podaci ne pohranjuju nigdje.

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

** Na nekom drugom mjestu mogli biste 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 komentirano

while (ser.in_waiting> = 9):

Preporučeni: