Sadržaj:
- Korak 1: Prikupljanje materijala
- Korak 2: Implementacija zasnovana na računaru pomoću aplikacije Benewake
- Korak 3: Implementacija zasnovana na računaru pomoću Pythona (PySerial)
- Korak 4: Implementacija zasnovana na Raspberry Pi
- Korak 5: O Kodeksu
Video: Benewake LiDAR TFmini (potpuni vodič): 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
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
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
-
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
- Priključite USB-TTL na računar
- 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
- Preuzmite i raspakujte WINCC_TF.rar
- Pokrenite WINCC_TFMini.exe iz izdvojenih datoteka
- Odaberite odgovarajući COM port s padajućeg izbornika u aplikaciji Benewake pod naslovom Serijski port
- Pritisnite CONNECT
Korak 3: Implementacija zasnovana na računaru pomoću Pythona (PySerial)
- Povežite TFmini LiDAR sa računarom pomoću USB-TTL pretvarača
- Preuzmite i otvorite PC_Benewake_TFmini_LiDAR.py pomoću Python IDLE -a (provjerite imate li na računaru instalirane PySerial i Python)
- Uredite COM port u kodu tako da odgovara COM portu USB-TTL pretvarača na vašem računaru (pogledajte sliku)
- Kliknite karticu Pokreni
- Kliknite Pokreni modul
** Pogledajte korak-5 za objašnjenje koda
Korak 4: Implementacija zasnovana na Raspberry Pi
- Povežite TFmini LiDAR na RPi pomoću USB-TTL pretvarača ili UART porta koristeći GPIO
- Preuzmite i otvorite Pi_benewake_LiDAR.py koristeći Python IDLE
- 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
- 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
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:
Mobilni punjač za hitne slučajeve pomoću solarne ploče [Potpuni vodič]: 4 koraka
Mobilni punjač za hitne slučajeve koji koristi solarnu ploču [Cjeloviti vodič]: Tražite način da napunite telefon kada vam potpuno nedostaju mogućnosti? Napravite si mobilni punjač za hitne slučajeve s prijenosnim solarnim panelom koji bi vam mogao biti koristan, posebno dok putujete ili dok kampirate na otvorenom. Ovo je hobi projekat sa
CCTV sigurnosni sistemi - potpuni vodič za postavljanje: 7 koraka
CCTV sigurnosni sistemi - potpuni vodič za postavljanje: Hej momci, nadam se da je svima odlično. Ako ovo čitate, vjerojatno planirate povećati sigurnost svog doma ili bilo koje druge imovine kako biste sebe i svoje najmilije zaštitili i bili sretni, ali na kraju ste bili zbunjeni sa svim
Kako napraviti profesionalnu tiskanu ploču: potpuni vodič: 10 koraka (sa slikama)
Kako napraviti profesionalnu tiskanu ploču: Potpuni vodič: Pozdrav svima, danas ću vam pokazati kako napraviti profesionalnu tiskanu ploču kako biste poboljšali svoje elektroničke projekte. Počnimo
$ 2 Arduino. ATMEGA328 Kao samostalni. Lako, jeftino i vrlo malo. potpuni vodič .: 6 koraka (sa slikama)
$ 2 Arduino. ATMEGA328 Kao samostalan. Lako, jeftino i vrlo malo. potpuni vodič .: U ovom uputstvu ćete naučiti kako koristiti čip mikrokontrolera Arduino ATMEGA328 kao samostalni mikrokontroler. Koštaju samo 2 dolara, mogu učiniti isto što i vaš Arduino i čine vaše projekte iznimno malim. Pokrivat ćemo raspored pinova
Benewake TFmini - jeftin LiDAR sa Teensy 3,5: 3 koraka
Benewake TFmini - Jeftin LiDAR sa Teensy 3.5: Benewake TFmini LiDAR jedinica je mali, vrlo lagani LiDAR senzor za kanadskih oko 50 USD. Dokumentacija je bila dobra, ali nepotpuna. Pružao je detalje o prijemu podataka sa senzora, ali je zaboravio spomenuti signal potreban za postavljanje senzora