Sisällysluettelo:

Benewake LiDAR TFmini (täydellinen opas): 5 vaihetta (kuvilla)
Benewake LiDAR TFmini (täydellinen opas): 5 vaihetta (kuvilla)

Video: Benewake LiDAR TFmini (täydellinen opas): 5 vaihetta (kuvilla)

Video: Benewake LiDAR TFmini (täydellinen opas): 5 vaihetta (kuvilla)
Video: Benewake TFmini-S — лазерный дальномер на 12 метров для Arduino и Raspberry. Железки Амперки 2024, Marraskuu
Anonim
Benewake LiDAR TFmini (täydellinen opas)
Benewake LiDAR TFmini (täydellinen opas)
Benewake LiDAR TFmini (täydellinen opas)
Benewake LiDAR TFmini (täydellinen opas)

Kuvaus

Benewake TFMINI Micro LIDAR -moduulissa on ainutlaatuiset optiset, rakenteelliset ja elektroniset rakenteet. Tuotteella on kolme suurta etua: edullinen, pieni tilavuus ja pieni virrankulutus.

Sisä- ja ulkoympäristöihin mukautettu sisäänrakennettu algoritmi voi taata erinomaisen etäisyyssuorituksen pienellä hinnalla ja pienellä tilavuudella, mikä laajentaa voimakkaasti LiDARin sovellusalueita ja skenaarioita ja luo vankan perustan älykkäille tulevaisuuden "silmille" aikakausi.

Tekniset tiedot

  • Tulojännite: 5v
  • Keskimääräinen teho: 0,12 W
  • Tiedonsiirtoprotokolla: UART (siirtonopeus: 115200)
  • Käyttölämpötila: -20 ℃ ~ 60 ℃
  • FOV: 2,3 °

Mitat

  • Koko: 42 x 15 x 16 mm
  • Paino: 6,1 g

Rajoitukset

0-30 cm "sokea" alue

Mistä ostaa

  • RobotShop
  • Amazon

Tämä ohje edellyttää, että tunnet seuraavat asiat:

  • Peruselektroniikka
  • Käsityökalut, kuten lankaleikkurit ja irrotustyökalut
  • Kaavioiden ja kytkentäkaavioiden lukeminen
  • C/C ++ -ohjelmointi Arduinolle (valinnainen)
  • Python -ohjelmointi Raspberry Pi: lle (valinnainen)

Vaihe 1: Materiaalin kerääminen

Materiaalin kerääminen
Materiaalin kerääminen
Materiaalin kerääminen
Materiaalin kerääminen
Materiaalin kerääminen
Materiaalin kerääminen

Tämä opas vie sinut läpi eri tapoja ottaa käyttöön TFmini LiDAR Windows PC: llä ja Raspberry Pi: llä. Jokaisella menetelmällä on omat vaatimukset ja se voi vaihdella tarpeidesi mukaan.

** Tarvitset Benewake TFmini LiDAR: n kussakin tapauksessa (tietysti) **

PC -pohjainen toteutus:

  • Käyttöjärjestelmä: Windows
  • USB-TTL-muunnin
  • Hyppyjohdot

Raspberry Pi -pohjainen toteutus:

  • Raspberry Pi
  • Hyppyjohdot
  • LEDit (valinnainen)
  • USB-TTL-muunnin (valinnainen)
  • Leipälauta (valinnainen)
  • Vastus (100-1 k ohmia) (valinnainen)

Vaihe 2: PC -pohjainen käyttöönotto Benewake -sovelluksen avulla

PC -pohjainen toteutus Benewake -sovelluksen avulla
PC -pohjainen toteutus Benewake -sovelluksen avulla
PC -pohjainen toteutus Benewake -sovelluksen avulla
PC -pohjainen toteutus Benewake -sovelluksen avulla
  1. Liitä TFmini LiDAR USB-TTL-muuntimeen käyttämällä hyppyjohtoja (uros-naaras) kaavion mukaisesti

    • Punainen johto 5V
    • Musta lanka GND
    • Valkoinen/sininen lanka Tx
    • Green Wire Rx
  2. Liitä USB-TTL tietokoneeseen
  3. Siirry Laitehallintaan (Win + X) ja etsi Portit (COM & LPT) -kohdasta "Prolific USB-to-Serial Comm Port". Varmista, että Windows tunnistaa laitteen
  4. Lataa ja poimi WINCC_TF.rar
  5. Suorita WINCC_TFMini.exe poistetuista tiedostoista
  6. Valitse vastaava COM-portti Benewake-sovelluksen avattavasta valikosta Sarjaportti
  7. Napsauta YHDISTÄ

Vaihe 3: PC -pohjainen toteutus Pythonin (PySerial) avulla

PC -pohjainen toteutus Pythonilla (PySerial)
PC -pohjainen toteutus Pythonilla (PySerial)
  1. Liitä TFmini LiDAR tietokoneeseen USB-TTL-muuntimen avulla
  2. Lataa ja avaa PC_Benewake_TFmini_LiDAR.py Python IDLE -ohjelmalla (varmista, että tietokoneeseen on asennettu PySerial ja Python)
  3. Muokkaa koodin COM-porttia vastaamaan tietokoneesi USB-TTL-muuntimen COM-porttia (katso kuva)
  4. Napsauta Suorita -välilehteä
  5. Napsauta Suorita moduuli

** Katso vaihe 5, jos haluat selittää koodin

Vaihe 4: Raspberry Pi -pohjainen toteutus

Raspberry Pi -toteutus
Raspberry Pi -toteutus
Raspberry Pi -toteutus
Raspberry Pi -toteutus
Raspberry Pi -pohjainen toteutus
Raspberry Pi -pohjainen toteutus
Raspberry Pi -toteutus
Raspberry Pi -toteutus
  1. Liitä TFmini LiDAR RPi: hen USB-TTL-muuntimen tai UART-portin avulla GPIO: n avulla
  2. Lataa ja avaa Pi_benewake_LiDAR.py Python IDLE -ohjelmalla
  3. Jos käytät USB-TTL-muunninta RPi: n kanssa, avaa Arduino IDE. Napsauta Työkalut -> Sarjaportti ja muokkaa koodia vastaavasti. Jos käytät UART GPIO -porttia, kirjoita /dev /ttyAMA0
  4. Suorita koodi

** Koodia voidaan käyttää etäisyyden tulostamiseen, mutta koska RPi: llä ei ole paljon prosessointitehoa, on suositeltavaa sytyttää LED, jos tallennettu etäisyys on tietyn alueen alapuolella (RPi -LEDin kaavio on liitetty)

K. Miksi käyttää USB-TTL-muunninta RPi: n kanssa?

RPi: ssä on vain yksi UART -portti, ja joskus sinun on asennettava muutama moduuli, jotka vaativat UART -viestintää. USB-TTL tarjoaa ylimääräisen UART-portin RPi: lle, mikä antaa meille mahdollisuuden yhdistää useampi kuin yksi UART-laite (kuten kaksi tai useampi TFmini LiDAR) RPi: hen.

Vaihe 5: Tietoja koodista

Tietoja koodista
Tietoja koodista

Koodi voidaan jakaa kolmeen osaan:

  • Yhteyden muodostaminen
  • Tietojen kirjoittaminen
  • Tietojen lukeminen

Yhteyden muodostaminen:

Kun olemme tuoneet tarvittavat otsikkotiedostot, muodostamme yhteyden TFmini LiDAR -laitteeseemme ilmoittamalla sen COM-portin, Baud-nopeuden ja yhteyden aikakatkaisun

ser = sarja. Sarja ('COM7', 115200, aikakatkaisu = 1) #PC

ser = sarja. sarja ('/dev/ttyUSB1', 115200, aikakatkaisu = 1) #Raspberry Pi

Tietojen kirjoittaminen:

Koodi voidaan jakaa kahteen osaan, kirjoittamiseen ja vastaanottamiseen. Tietojen vastaanottamiseksi sinun on lähetettävä tietty komento TFmini LiDAR: lle (osa alustusprosessia). Tässä tapauksessa olen valinnut 4257020000000106. Vaikka RPi käyttää samaa Python -versiota, mutta syntaksissa on pieniä muutoksia, koska RPi ei hyväksy muuta dataa kuin binääriä.

ser.write (0x42)

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

Tietojen lukeminen:

Tietolomakkeessa oleva kaavio antaa meille 9-tavuisen UART-viestin "erittelyn". Kaksi ensimmäistä tavua ovat kehyksen otsikko, jonka arvo on hex 0x59 (merkki 'Y'). Niitä voidaan lukea ja niiden avulla voidaan tunnistaa UART -viestin alku.

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

Kun otsikkokehys on luettu, kaksi seuraavaa tavua, jotka kuljettavat etäisyysdataa, voitaisiin lukea. Etäisyysdata on jaettu kahteen 8 -bittiseen pakettiin, Dist_L (tavu3) - alempi 8 bittiä ja Dist_H (tavu4) - korkeampi 8 bittiä.

Dist_L = ser.read () #tavu3Dist_H = ser.read () #tavu4

Kertomalla Dist_H 256: lla binääridata siirretään 8 vasemmalle (vastaa "<< 8"). Nyt alempi 8-bittinen etäisyysdata, Dist_L, voitaisiin yksinkertaisesti lisätä, jolloin saadaan Dist_Total 16-bittistä dataa.

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

Koska meillä on tulkittu etäisyysarvo mukana, seuraavat viisi tavua voidaan jättää huomiotta. Huomaa, että luettuja tietoja ei tallenneta mihinkään.

i alueella (0, 5): ser.read ()

** Jossain muussa paikassa saattaa esiintyä viive (time.sleep in Python) ennen silmukan päättymistä, koska TFmini LiDAR: n toimintataajuus on 100 Hz. Tämä viive "ohjelman viive" ja johtaa siihen, että tiedot päivitetään jonkin viiveen jälkeen. Uskon, että koska odotamme jo tietojen kerääntyvän 9-tavuun, muita viivytyksiä ei pitäisi olla

#aika.unen (0.0005) #Viive kommentoidaan

kun taas (ser.in_waiting> = 9):

Suositeltava: