Orodha ya maudhui:

Benewake LiDAR TFmini (Mwongozo Kamili): Hatua 5 (na Picha)
Benewake LiDAR TFmini (Mwongozo Kamili): Hatua 5 (na Picha)

Video: Benewake LiDAR TFmini (Mwongozo Kamili): Hatua 5 (na Picha)

Video: Benewake LiDAR TFmini (Mwongozo Kamili): Hatua 5 (na Picha)
Video: Benewake TFmini-S — лазерный дальномер на 12 метров для Arduino и Raspberry. Железки Амперки 2024, Julai
Anonim
Benewake LiDAR TFmini (Mwongozo Kamili)
Benewake LiDAR TFmini (Mwongozo Kamili)
Benewake LiDAR TFmini (Mwongozo Kamili)
Benewake LiDAR TFmini (Mwongozo Kamili)

Maelezo

Moduli ya Benewake TFMINI Micro LIDAR ina muundo wake wa kipekee wa macho, muundo, na elektroniki. Bidhaa hiyo ina faida kuu tatu: gharama ya chini, ujazo mdogo na matumizi ya nguvu ya chini.

Algorithm kujengwa katika ilichukuliwa na mazingira ya ndani na nje inaweza kuhakikisha utendaji bora kuanzia kwa gharama ya chini na kwa kiasi kidogo, ambayo hupanua sana maeneo ya matumizi na matukio ya LiDAR na inaweka msingi thabiti wa "macho" ya baadaye katika smart enzi.

Ufafanuzi

  • Uingizaji wa Voltage: 5v
  • Nguvu ya Wastani: 0.12W
  • Itifaki ya Mawasiliano: UART (Kiwango cha Baud: 115200)
  • Joto la Uendeshaji: -20 ℃ ~ 60 ℃
  • FOV: 2.3 °

Vipimo

  • Ukubwa: 42mmx15mmx16mm
  • Uzito: 6.1g

Upungufu

Upana wa 0cm-30cm "kipofu"

Wapi Kununua

  • Ununuzi wa Robot
  • Amazon

Mafundisho haya yanahitaji ujue na yafuatayo:

  • Elektroniki ya msingi
  • Zana za mikono kama wakata waya na viboko
  • Kusoma michoro na michoro ya unganisho
  • Programu ya C / C ++ ya Arduino (hiari)
  • Programu ya chatu ya Raspberry Pi (hiari)

Hatua ya 1: Kusanya Nyenzo

Kukusanya Nyenzo
Kukusanya Nyenzo
Kukusanya Nyenzo
Kukusanya Nyenzo
Kukusanya Nyenzo
Kukusanya Nyenzo

Hii inaweza kufundisha kupitia njia tofauti za kupeleka TFmini LiDAR ukitumia Windows PC yako na Raspberry Pi. Kila njia ina mahitaji yake na inaweza kutofautiana kulingana na mahitaji yako.

** Utahitaji Benewake TFmini LiDAR kwa kila kesi (kwa kweli) **

Kwa utekelezaji wa PC:

  • OS: Windows
  • USB-TTL kibadilishaji
  • Waya za Jumper

Kwa utekelezaji wa Raspberry Pi:

  • Pi ya Raspberry
  • Waya za Jumper
  • LEDs (hiari)
  • Kigeuzi cha USB-TTL (hiari)
  • Bodi ya mkate (hiari)
  • Resistor (kati ya 100-1k Ohm) (hiari)

Hatua ya 2: Utekelezaji wa PC kwa kutumia App ya Wakewake

Utekelezaji wa PC kwa kutumia App ya Wakewake
Utekelezaji wa PC kwa kutumia App ya Wakewake
Utekelezaji wa PC kwa kutumia App ya Wakewake
Utekelezaji wa PC kwa kutumia App ya Wakewake
  1. Unganisha TFmini LiDAR na kibadilishaji cha USB-TTL ukitumia waya za jumper (wa kiume na wa kike) kulingana na skimu iliyoonyeshwa
    • Waya Nyekundu 5V
    • Waya mweusi GND
    • Waya mweupe / Bluu Tx
    • Rx ya Kijani Rx
  2. Chomeka USB-TTL kwenye kompyuta yako
  3. Nenda kwa Meneja wa Kifaa (Shinda + X) na upate "Port-USB-to-Serial Comm Port" chini ya Bandari (COM & LPT). Hakikisha kwamba Windows inatambua kifaa
  4. Pakua na Dondoa WINCC_TF.rar
  5. Endesha WINCC_TFMini.exe kutoka faili zilizotolewa
  6. Chagua bandari inayolingana ya COM kutoka kwenye menyu kunjuzi katika Programu ya Benewake chini ya kichwa cha Serial Port
  7. Bonyeza Unganisha

Hatua ya 3: Utekelezaji wa PC kwa kutumia Python (PySerial)

Utekelezaji wa PC kwa kutumia Python (PySerial)
Utekelezaji wa PC kwa kutumia Python (PySerial)
  1. Unganisha TFmini LiDAR kwa PC ukitumia kibadilishaji cha USB-TTL
  2. Pakua na ufungue PC_Benewake_TFmini_LiDAR.py ukitumia Python IDLE (hakikisha umeweka PySerial na Python kwenye PC yako)
  3. Hariri bandari ya COM katika nambari ili kulinganisha bandari ya COM ya ubadilishaji wa USB-TTL kwenye PC yako (angalia picha)
  4. Bonyeza Run tab
  5. Bonyeza Run Module

** Rejea Hatua-5 kwa maelezo ya nambari

Hatua ya 4: Utekelezaji wa msingi wa Pi Raspberry

Utekelezaji wa Raspberry Pi
Utekelezaji wa Raspberry Pi
Utekelezaji wa Raspberry Pi
Utekelezaji wa Raspberry Pi
Utekelezaji wa Raspberry Pi
Utekelezaji wa Raspberry Pi
Utekelezaji wa Raspberry Pi
Utekelezaji wa Raspberry Pi
  1. Unganisha TFmini LiDAR kwa RPi ukitumia kibadilishaji cha USB-TTL au bandari ya UART ukitumia GPIO
  2. Pakua na ufungue Pi_benewake_LiDAR.py ukitumia Python IDLE
  3. Ikiwa unatumia kibadilishaji cha USB-TTL na RPi, Fungua Arduino IDE. Bonyeza kwenye Zana -> Serial Port, na uhariri nambari ipasavyo. Ikiwa unatumia bandari ya UART GPIO, kisha andika / dev / ttyAMA0
  4. Endesha nambari

Nambari inaweza kutumika kuchapisha umbali, lakini kwa kuwa RPi haina nguvu nyingi za usindikaji, inashauriwa kuwasha LED ikiwa umbali uliorekodiwa uko chini ya anuwai fulani (mpango wa LED na RPi umeambatanishwa)

Swali. Kwa nini utumie kibadilishaji cha USB-TTL na RPi?

RPi ina bandari moja tu ya UART, na wakati mwingine unahitaji kuweka moduli chache ambazo zinahitaji mawasiliano ya UART. USB-TTL hutoa bandari ya ziada ya UART kwa RPi ikitupa fursa ya kuunganisha zaidi ya kifaa kimoja cha UART (kama mbili au zaidi TFmini LiDAR) kwa RPi.

Hatua ya 5: Kuhusu Kanuni

Kuhusu Kanuni
Kuhusu Kanuni

Nambari inaweza kugawanywa katika sehemu tatu:

  • Inaanzisha unganisho
  • Kuandika data
  • Kusoma data

Inaanzisha unganisho:

Baada ya kuagiza faili muhimu za kichwa, tunaanzisha unganisho kwa TFmini LiDAR yetu kwa kusema bandari yake ya COM, kiwango cha Baud na muda wa unganisho

ser = serial. Serial ('COM7', 115200, muda wa kumaliza = 1) #PC

ser = serial Serial ('/ dev / ttyUSB1', 115200, muda wa kumaliza = 1) # Raspberry Pi

Kuandika data:

Nambari inaweza kugawanywa katika sehemu mbili, kuandika na kupokea. Ili kupokea data, unahitaji kusambaza amri fulani kwa TFmini LiDAR (sehemu ya mchakato wa uanzishaji). Katika kesi hii, nimechagua 4257020000000106. Ijapokuwa RPi inaendesha toleo sawa la Python lakini kuna mabadiliko kidogo katika sintaksia kwani RPi haikubali data nyingine isipokuwa ya binary.

andika. (0x42)

andika.ser.write (0x57) ser.write (0x02) ser.write (0x00) ser.

Data ya kusoma:

Chati iliyotolewa kwenye karatasi ya data inatupa 'kuvunjika' kwa ujumbe wa 9-Byte UART. Baiti mbili za kwanza ni kichwa cha sura kilicho na thamani ya hex 0x59 (tabia 'Y'). Wanaweza kusoma na kutumiwa kutambua mwanzo wa ujumbe wa UART.

ikiwa (('Y' == ser.read ()) na ('Y' == ser.read ()))

Mara tu sura ya kichwa ikisomwa, ka mbili mbili zifuatazo, zenye data ya umbali, zinaweza kusomwa. Data ya umbali imegawanywa katika pakiti mbili za 8-bit, Dist_L (Byte3) - Lower 8bits na Dist_H (Byte4) - Juu 8bits.

Dist_L = kifungu.soma () # Byte3Dist_H = se. Soma () # Byte4

Kwa kuzidisha Dist_H kufikia 256, data ya binary inahamishwa na 8 kwenda kushoto (sawa na "<< 8"). Sasa data ya chini ya umbali wa 8-bit, Dist_L, inaweza kuongezwa tu na kusababisha data ya 16-bit ya Dist_Total.

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

Kwa kuwa tuna thamani ya umbali wa "kuamua" na sisi, byte tano zifuatazo zinaweza kupuuza. Kumbuka kuwa data iliyosomwa haihifadhiwa mahali popote.

kwa i katika anuwai (0, 5): ser.read ()

** Katika sehemu nyingine, unaweza kupata 'kucheleweshwa' (saa. Kulala katika Python) iliyoingizwa kabla ya mwisho wa kitanzi kwa sababu TFmini LiDAR ina mzunguko wa 100Hz wa kufanya kazi. Ucheleweshaji huu wa 'kucheleweshwa kwa mpango' na utasababisha data kusasishwa baada ya kucheleweshwa. Ninaamini kwamba kwa kuwa tayari tunasubiri data hiyo ilundike hadi 9-Byte, haipaswi kuwa na ucheleweshaji mwingine wowote

Wakati # wa kulala (0.0005) #Ucheleweshaji umetolewa maoni

wakati (ser._witing> = 9):

Ilipendekeza: