Мазмуну:

Benewake LiDAR TFmini (Complete Guide): 5 кадам (Сүрөттөр менен)
Benewake LiDAR TFmini (Complete Guide): 5 кадам (Сүрөттөр менен)

Video: Benewake LiDAR TFmini (Complete Guide): 5 кадам (Сүрөттөр менен)

Video: Benewake LiDAR TFmini (Complete Guide): 5 кадам (Сүрөттөр менен)
Video: Benewake LiDAR TFmini-S Operation Demonstration 2024, Июль
Anonim
Benewake LiDAR TFmini (Толук көрсөтмө)
Benewake LiDAR TFmini (Толук көрсөтмө)
Benewake LiDAR TFmini (Толук көрсөтмө)
Benewake LiDAR TFmini (Толук көрсөтмө)

Description

Benewake TFMINI Micro LIDAR модулу уникалдуу оптикалык, структуралык жана электрондук дизайнга ээ. Продукт үч негизги артыкчылыкка ээ: төмөн баа, кичинекей көлөм жана аз энергия керектөө.

Ички жана тышкы чөйрөгө ылайыкташтырылган алгоритм, LiDARдин колдонуу талааларын жана сценарийлерин абдан кеңейткен жана акылдуу келечектеги "көздөр" үчүн бекем пайдубал түзгөн, аз баада жана кичине көлөмдө эң сонун спектрин камсыздай алат. доор

Мүнөздөмөлөр

  • Киргизүү Voltage: 5v
  • Орточо кубаттуулугу: 0.12W
  • Байланыш протоколу: UART (Baud rate: 115200)
  • Иштөө температурасы: -20 ℃ ~ 60 ℃
  • FOV: 2.3 °

Өлчөмдөр

  • Өлчөмү: 42mmx15mmx16mm
  • Салмагы: 6.1g

Чектөөлөр

0cm-30cm "сокур" диапазону

Кайдан сатып алса болот

  • RobotShop
  • Amazon

Бул көрсөтмө сиз төмөнкүлөрдү билишиңизди талап кылат:

  • Негизги электроника
  • Зым кескичтер жана стриптиздер сыяктуу кол куралдары
  • Схемаларды жана туташуу схемаларын окуу
  • C/C ++ Arduino үчүн программалоо (милдеттүү эмес)
  • Raspberry Pi үчүн Python программалоо (милдеттүү эмес)

1 -кадам: материалды чогултуу

Чогултуу материалы
Чогултуу материалы
Чогултуу материалы
Чогултуу материалы
Чогултуу материалы
Чогултуу материалы

Бул көрсөтмө сизге Windows PC жана Raspberry Pi аркылуу TFmini LiDARди жайылтуунун ар кандай жолдорун камтыйт. Ар бир методдун өзүнүн талаптары бар жана сиздин муктаждыктарыңызга жараша өзгөрүшү мүмкүн.

** Сизге ар бир учур үчүн Benewake TFmini LiDAR керек болот (албетте) **

PC негизинде ишке ашыруу үчүн:

  • OS: Windows
  • USB-TTL алмаштыргыч
  • Jumper Wires

Raspberry Pi негизиндеги ишке ашыруу үчүн:

  • Raspberry Pi
  • Jumper Wires
  • LED (милдеттүү эмес)
  • USB-TTL конвертери (милдеттүү эмес)
  • Нан тактасы (милдеттүү эмес)
  • Резистор (100-1к Ом арасында) (милдеттүү эмес)

2 -кадам: Benewake тиркемесин колдонуу менен ЖКга негизделген ишке ашыруу

Benewake тиркемесин колдонуу менен ЖКга негизделген ишке ашыруу
Benewake тиркемесин колдонуу менен ЖКга негизделген ишке ашыруу
Benewake тиркемесин колдонуу менен ЖКга негизделген ишке ашыруу
Benewake тиркемесин колдонуу менен ЖКга негизделген ишке ашыруу
  1. Көрсөтүлгөн схемага ылайык TFmini LiDARди секирүүчү (эркек-ургаачы) зымдарды колдонуп USB-TTL конвертерине туташтырыңыз

    • Red Wire 5V
    • Black Wire GND
    • Ак/Blue Wire Tx
    • Green Wire Rx
  2. USB-TTLди компьютериңизге сайыңыз
  3. Түзмөк менеджерине (Win + X) барып, порттордун (COM & LPT) астындагы "Prolific USB-to-Serial Comm Port" дегенди табыңыз. Windows түзмөктү тааный тургандыгын текшериңиз
  4. Download жана Extract WINCC_TF.rar
  5. Чыгарылган файлдардан WINCC_TFMini.exe иштетиңиз
  6. Benewake тиркемесиндеги Serial Port деген аталыштагы ачылуучу менюдан тиешелүү COM портун тандаңыз
  7. БАЙЛАНЫШты басыңыз

3 -кадам: Python (PySerial) колдонуу менен компьютерге негизделген ишке ашыруу

Python (PySerial) колдонуу менен компьютерге негизделген ишке ашыруу
Python (PySerial) колдонуу менен компьютерге негизделген ишке ашыруу
  1. USB-TTL алмаштыргычты колдонуу менен TFmini LiDARди компьютерге туташтырыңыз
  2. Python IDLE аркылуу PC_Benewake_TFmini_LiDAR.pyди жүктөп алып, ачыңыз (сиздин компьютериңизде PySerial жана Python орнотулганын текшериңиз)
  3. Компьютериңиздеги USB-TTL конвертеринин COM портуна дал келген коддогу COM портун түзөтүңүз (сүрөттү караңыз)
  4. Иштетүү өтмөгүн чыкылдатыңыз
  5. Чуркоо модулун чыкылдатыңыз

** Кодду түшүндүрүү үчүн Step-5ке кайрылыңыз

4 -кадам: Raspberry Pi негизиндеги ишке ашыруу

Raspberry Pi негизинде ишке ашыруу
Raspberry Pi негизинде ишке ашыруу
Raspberry Pi негизинде ишке ашыруу
Raspberry Pi негизинде ишке ашыруу
Raspberry Pi негизинде ишке ашыруу
Raspberry Pi негизинде ишке ашыруу
Raspberry Pi негизинде ишке ашыруу
Raspberry Pi негизинде ишке ашыруу
  1. TFmini LiDARди USB-TTL конвертерин же GPIO аркылуу UART портун колдонуп RPiге туташтырыңыз
  2. Python IDLE менен Pi_benewake_LiDAR.pyди жүктөп алып, ачыңыз
  3. Эгерде сиз RPi менен USB-TTL конвертерин колдонуп жатсаңыз, Arduino IDE ачыңыз. Куралдар -> Сериялык портту чыкылдатыңыз жана ошого жараша кодду түзөтүңүз. Эгерде сиз UART GPIO портун колдонуп жатсаңыз, анда /dev /ttyAMA0 деп жазыңыз
  4. Кодду иштетүү

** Код аралыкты басып чыгаруу үчүн колдонулушу мүмкүн, бирок RPiде көп иштетүү күчү жок болгондуктан, жазылган аралык белгилүү бир диапазондон төмөн болсо, LEDди күйгүзүү сунушталат (RPi менен LEDдин схемасы тиркелет)

Q. Эмне үчүн RPi менен USB-TTL алмаштыргычты колдонуу керек?

RPiде бир гана UART порту бар, кээде UART байланышын талап кылган бир нече модулду коюу керек. USB-TTL кошумча UART портун RPi менен камсыз кылып, бирден ашык UART түзмөгүн (эки же андан көп TFmini LiDAR сыяктуу) RPiге туташтырууга мүмкүнчүлүк берет.

5 -кадам: Кодекс жөнүндө

Кодекс жөнүндө
Кодекс жөнүндө

Кодду үч бөлүккө бөлүүгө болот:

  • Байланыш орнотулууда
  • Маалыматтарды жазуу
  • Маалыматтарды окуу

Байланыш орнотулууда:

Керектүү файлдарды импорттогондон кийин, биз TFmini LiDAR менен COM портун, Baud ылдамдыгын жана туташуу убактысын билдирүү менен байланыш түзөбүз.

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

ser = serial. Serial ('/dev/ttyUSB1', 115200, timeout = 1) #Малина Пи

Жазуу маалыматы:

Кодду эки бөлүккө бөлүүгө болот, жазуу жана алуу. Маалыматты алуу үчүн, белгилүү бир буйрукту TFmini LiDARге жөнөтүү керек (инициализация процессинин бир бөлүгү). Бул учурда мен 4257020000000106 тандадым. RPi Pythonдун бир эле версиясын иштетсе да, синтаксисте бир аз өзгөрүү бар, анткени RPi экиликтен башка маалыматтарды кабыл албайт.

ser.write (0x42)

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

Маалыматтарды окуу:

Маалымат баракчасында берилген диаграмма бизге 9 байттуу UART билдирүүсүнүн "бөлүнүшүн" берет. Биринчи эки байт - бул 0x59 ("Y" белгиси) маанисине ээ кадрдын башы. Алар UART билдирүүсүнүн башталышын аныктоо үчүн окулушу жана колдонулушу мүмкүн.

эгер (('Y' == ser.read ()) жана ('Y' == ser.read ())):

Баш алкак окулган соң, аралык маалыматын ташыган кийинки эки байт окулушу мүмкүн. Аралык маалыматтары 8 биттик эки пакетке бөлүнөт, Dist_L (Byte3) - Төмөнкү 8 бит жана Dist_H (Byte4) - Жогорку 8 бит.

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

Dist_Hди 256га көбөйтүү менен экилик маалыматтар 8ге солго жылат ("<< 8" ге барабар). Эми төмөнкү 8-биттик алыстыктагы маалыматтар, Dist_L, жөн гана Dist_Total 16-бит маалыматтарынын натыйжасында кошулушу мүмкүн.

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

Бизде "чечмеленген" аралыктын мааниси болгондуктан, кийинки беш байтты этибарга албай коюуга болот. Окулган маалыматтар эч жерде сакталбай турганын эске алыңыз.

i үчүн диапазондо (0, 5): ser.read ()

** Башка жерде, TFmini LiDAR 100 Гц иштөө жыштыгына ээ болгондуктан, циклдин аягына чейин киргизилген "кечигүүнү" (Pythonдо уктоо) таба аласыз. Бул кечигүү "программанын кечигүүсү" жана бир аз кечигүүдөн кийин маалымат ЖАҢЫРТЫЛАТ. Менимче, биз 9-байтка чейин маалыматтарды чогултууну күтүп жаткандыктан, башка кечигүү болбошу керек.

#time.sleep (0.0005) #Кечигүү комментарийленген

ал эми (ser.in_waiting> = 9):

Сунушталууда: