Բովանդակություն:

Benewake LiDAR TFmini (ամբողջական ուղեցույց). 5 քայլ (նկարներով)
Benewake LiDAR TFmini (ամբողջական ուղեցույց). 5 քայլ (նկարներով)

Video: Benewake LiDAR TFmini (ամբողջական ուղեցույց). 5 քայլ (նկարներով)

Video: Benewake LiDAR TFmini (ամբողջական ուղեցույց). 5 քայլ (նկարներով)
Video: Benewake TFmini-S — лазерный дальномер на 12 метров для Arduino и Raspberry. Железки Амперки 2024, Նոյեմբեր
Anonim
Benewake LiDAR TFmini (ամբողջական ուղեցույց)
Benewake LiDAR TFmini (ամբողջական ուղեցույց)
Benewake LiDAR TFmini (ամբողջական ուղեցույց)
Benewake LiDAR TFmini (ամբողջական ուղեցույց)

Նկարագրություն

Benewake TFMINI Micro LIDAR մոդուլն ունի իր յուրահատուկ օպտիկական, կառուցվածքային և էլեկտրոնային ձևավորումները: Արտադրանքը ունի երեք հիմնական առավելություն `ցածր գին, փոքր ծավալ և ցածր էներգիայի սպառում:

Ներքին և արտաքին միջավայրերին հարմարեցված ներկառուցված ալգորիթմը կարող է երաշխավորել գերազանց արդյունավետություն ցածր գնով և փոքր ծավալով, ինչը մեծապես ընդլայնում է LiDAR- ի կիրառման դաշտերն ու սցենարները և ամուր հիմք է ստեղծում խելացի ապագա «աչքերի» համար: դարաշրջան.

Տեխնիկական պայմաններ

  • Մուտքային լարումը `5 վ
  • Միջին հզորությունը `0.12W
  • Հաղորդակցության արձանագրություն. UART (Baud փոխարժեքը ՝ 115200)
  • Գործող ջերմաստիճանը `-20 ~ ~ 60
  • FOV: 2.3 °

Չափերը

  • Չափը ՝ 42 մմ x 15 մմ x 16 մմ
  • Քաշը `6.1 գ

Սահմանափակումներ

0 սմ -30 սմ «կույր» միջակայք

Որտեղ գնել

  • RobotShop
  • Amazon

Այս հրահանգը պահանջում է, որ դուք ծանոթ լինեք հետևյալին.

  • Հիմնական էլեկտրոնիկա
  • Ձեռքի գործիքներ, ինչպիսիք են մետաղալարերը և մերկացնողները
  • Սխեմաների և կապի դիագրամների ընթերցում
  • C/C ++ ծրագրավորում Arduino- ի համար (ըստ ցանկության)
  • Python ծրագրավորում Raspberry Pi- ի համար (ըստ ցանկության)

Քայլ 1: Նյութերի հավաքում

Նյութի հավաքում
Նյութի հավաքում
Նյութի հավաքում
Նյութի հավաքում
Նյութի հավաքում
Նյութի հավաքում

Այս հրահանգը ձեզ կտանի TFmini LiDAR- ի տեղակայման տարբեր եղանակներով ՝ օգտագործելով ձեր Windows համակարգիչը և Raspberry Pi- ն: Յուրաքանչյուր մեթոդ ունի իր պահանջները և կարող է տարբեր լինել ՝ կախված ձեր կարիքներից:

** Ձեզ անհրաժեշտ կլինի Benewake TFmini LiDAR յուրաքանչյուր դեպքի համար (իհարկե) **

PC- ի վրա հիմնված իրականացման համար

  • ՕՀ: Windows
  • USB-TTL փոխարկիչ
  • Jumper լարերը

Raspberry Pi- ի վրա հիմնված իրականացման համար

  • Ազնվամորի Պի
  • Jumper լարերը
  • LED- ներ (ըստ ցանկության)
  • USB-TTL փոխարկիչ (ըստ ցանկության)
  • Հացաթուղթ (ըստ ցանկության)
  • Ռեզիստոր (100-1k Օմ-ի միջև) (ըստ ցանկության)

Քայլ 2. Համակարգչի վրա հիմնված կիրառում Benewake հավելվածի միջոցով

Համակարգչի վրա հիմնված կիրառում Benewake հավելվածի միջոցով
Համակարգչի վրա հիմնված կիրառում Benewake հավելվածի միջոցով
Համակարգչի վրա հիմնված կիրառում Benewake հավելվածի միջոցով
Համակարգչի վրա հիմնված կիրառում Benewake հավելվածի միջոցով
  1. Միացրեք TFmini LiDAR- ը USB-TTL փոխարկիչին `օգտագործելով jumper (արական և իգական) լարերը` ցուցադրված սխեմատիկ համաձայն

    • Կարմիր լար 5 Վ
    • Black Wire GND
    • Սպիտակ/կապույտ մետաղալար Tx
    • Կանաչ մետաղալար Rx
  2. Միացրեք USB-TTL- ը ձեր համակարգչին
  3. Գնացեք Սարքի կառավարիչ (Win + X) և տեղադրեք «Prolific USB-to-Serial Comm Port» նավահանգիստների (COM և LPT) տակ: Համոզվեք, որ Windows- ը ճանաչում է սարքը
  4. Ներբեռնեք և արդյունահանեք WINCC_TF.rar
  5. Գործարկված ֆայլերից գործարկեք WINCC_TFMini.exe ֆայլը
  6. Ընտրեք համապատասխան COM նավահանգիստը Benewake հավելվածի բացվող ընտրացանկից ՝ Սերիական նավահանգիստ վերնագրի ներքո
  7. Կտտացրեք ՄԻԱԵԼ

Քայլ 3. ԱՀ -ի վրա հիմնված կիրառում Python- ի միջոցով (PySerial)

PC- ի վրա հիմնված կիրառում Python- ի միջոցով (PySerial)
PC- ի վրա հիմնված կիրառում Python- ի միջոցով (PySerial)
  1. Միացրեք TFmini LiDAR- ը համակարգչին `օգտագործելով USB-TTL փոխարկիչ
  2. Ներբեռնեք և բացեք PC_Benewake_TFmini_LiDAR.py- ն ՝ օգտագործելով Python IDLE (համոզվեք, որ ձեր համակարգչում տեղադրված են PySerial և Python)
  3. Կոդում խմբագրեք COM պորտը ՝ ձեր համակարգչի USB-TTL փոխարկիչի COM պորտին համապատասխանելու համար (տես նկարը)
  4. Կտտացրեք Գործարկել ներդիրը
  5. Կտտացրեք Գործարկել մոդուլը

** Կոդի բացատրության համար դիմեք Քայլ 5-ին

Քայլ 4. Ազնվամորու Pi- ի վրա հիմնված իրականացում

Raspberry Pi- ի վրա հիմնված իրականացում
Raspberry Pi- ի վրա հիմնված իրականացում
Raspberry Pi- ի վրա հիմնված իրականացում
Raspberry Pi- ի վրա հիմնված իրականացում
Raspberry Pi- ի վրա հիմնված իրականացում
Raspberry Pi- ի վրա հիմնված իրականացում
Raspberry Pi- ի վրա հիմնված իրականացում
Raspberry Pi- ի վրա հիմնված իրականացում
  1. Միացրեք TFmini LiDAR- ը RPi- ին ՝ օգտագործելով USB-TTL փոխարկիչ կամ UART պորտ ՝ GPIO- ի միջոցով
  2. Ներբեռնեք և բացեք Pi_benewake_LiDAR.py- ն ՝ օգտագործելով Python IDLE- ը
  3. Եթե օգտագործում եք USB-TTL փոխարկիչ RPi- ով, բացեք Arduino IDE- ն: Կտտացրեք Գործիքներ -> Սերիայի նավահանգիստ և համապատասխանաբար խմբագրեք ծածկագիրը: Եթե օգտագործում եք UART GPIO նավահանգիստ, ապա գրեք /dev /ttyAMA0
  4. Գործարկեք կոդը

** Կոդը կարող է օգտագործվել հեռավորությունը տպելու համար, բայց քանի որ RPi- ն չունի շատ մշակման հզորություն, խորհուրդ է տրվում լուսավորել LED, եթե գրանցված հեռավորությունը որոշակի տիրույթից ցածր է (կցված է RPi- ով LED- ի սխեմատիկ պատկերը)

Հ. Ինչու՞ օգտագործել USB-TTL փոխարկիչը RPi- ով:

RPi- ն ունի միայն մեկ UART պորտ, և երբեմն պետք է տեղադրել մի քանի մոդուլ, որոնք պահանջում են UART հաղորդակցություն: USB-TTL- ն լրացուցիչ UART նավահանգիստ է տրամադրում RPi- ին ՝ հնարավորություն տալով մի քանի UART սարք (օրինակ ՝ երկու կամ ավելի TFmini LiDAR) միացնել RPi- ին:

Քայլ 5: Օրենսգրքի մասին

Օրենսգրքի մասին
Օրենսգրքի մասին

Կոդը կարելի է բաժանել երեք մասի.

  • Կապի հաստատում
  • Տվյալների գրառում
  • Տվյալների ընթերցում

Կապի հաստատում

Վերնագրի անհրաժեշտ ֆայլեր ներմուծելուց հետո մենք հաստատում ենք կապը մեր TFmini LiDAR- ի հետ ՝ նշելով դրա COM նավահանգիստը, Baud- ի դրույքաչափը և միացման ժամանակը:

ser = serial. Սերիալ ('COM7', 115200, timeout = 1) #ԱՀ

ser = սերիալ: Սերիալ ('/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) - Lower 8bits և Dist_H (Byte4) - ավելի բարձր 8bit:

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

Dist_H- ը 256 -ով բազմապատկելով ՝ երկուական տվյալները 8 -ով տեղափոխվում են ձախ («<< 8» -ին համարժեք): Այժմ ստորին 8-բիթանոց հեռավորության տվյալները ՝ Dist_L- ը, պարզապես կարող էին ավելացվել ՝ արդյունքում ստանալով Dist_Total- ի 16-բիթանոց տվյալներ:

Dist_Total = (օրդ (Dist_H) * 256) + (օրդ (Dist_L))

Քանի որ մեզ մոտ առկա է «վերծանված» հեռավորության արժեքը, հաջորդ հինգ բայթերը կարող են անտեսվել: Նկատի ունեցեք, որ կարդացած տվյալները ոչ մի տեղ չեն պահվում:

i- ի համար (0, 5). ser.read ()

** Որևէ այլ վայրում կարող եք գտնել «ուշացում» (քնի ժամանակ Python- ում), որը ներառված է հանգույցի ավարտից առաջ այն պատճառով, որ TFmini LiDAR- ն ունի 100 Հց հաճախականություն: Այս հետաձգման «ծրագրի հետաձգումը» և կհանգեցնի նրան, որ որոշ ուշացումից հետո տվյալները կթարմացվեն: Ես հավատում եմ, որ քանի որ մենք արդեն սպասում ենք, որ տվյալները կուտակվեն մինչև 9 բայթ, այլ հետաձգումներ չպետք է լինեն

#time.sleep (0.0005) #Հետաձգումը մեկնաբանվում է

իսկ (ser.in_waiting> = 9):

Խորհուրդ ենք տալիս: