Բովանդակություն:
- Քայլ 1: Սարքավորման ձևավորում
- Քայլ 2: Հավաքում
- Քայլ 3: irmրագրաշարեր. Mingրագրավորում Bootloader- ի համար
- Քայլ 4: irmրագրաշար. Flashրամեկուսացման ծածկագիր PlatformIO- ի հետ
- Քայլ 5: irmրագրակազմ. Flashրամեկուսացում խարիսխի վրա
- Քայլ 6: Առաջ գնալ
Video: UWB տեղայնացման փետուր `6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Ultra-WideBand փետուրը ներառում է Decawave DWM1000 մոդուլը և ATSAMD21 ARM Cortex M0- ը Adafruit փետուրի ձև-գործոնի մեջ: DWM1000 մոդուլը IEEE802.15.4-2011 UWB- ի հետ աշխատող անլար մոդուլ է, որն ունակ է ներքին ճշգրիտ դիրքավորման և տվյալների բարձր տեմպերի, ինչը այս տախտակը կատարյալ է դարձնում ռոբոտաշինության նախագծերի համար, որտեղ տեղայնացում է պահանջվում:
Առանձնահատկություններ.
Նախագծի ամբողջական կազմման և թարմացումների համար դիտեք այս նախագիծը իմ կայքում ՝ Prototyping Corner ՝ prototypingcorner.io/projects/uwb-feather
Այս նախագծի աղբյուրի ապարատային և ծրագրային ապահովումը հասանելի է GitHub պահոցից:
Քայլ 1: Սարքավորման ձևավորում
Ինչպես նշվեց ներածության մեջ, UWB փետուրը բաղկացած է ATSAMD21 ARM Cortext M0+ ուղեղի համար և Decawave DWM1000 մոդուլից ՝ ծայրահեղ լայն անլար ցանցի համար ՝ փետուրի ձևի գործոնով: Դիզայնը համեմատաբար պարզ է, որը բաղկացած է 20 BoM- ի տարրերից `երկշերտ PCB- ի վրա: Pinout- ը Adafruit M0 Feather- ի հետ համատեղելի է
LiPo լիցքավորումը վարում է MCP73831 մեկ բջջային, ամբողջությամբ ինտեգրված լիցքավորման կառավարման վերահսկիչը: Մարտկոցի լարումը կարող է վերահսկվել D9- ի վրա, սակայն անհրաժեշտ է մուտք դեպի բոլոր IO- ներ, JP1- ը կարող է կտրվել այս պինն ազատելու համար: 3.3 վոլտ կարգավորումը նախաստորագրված է AP2112K-3.3 ցածր թողման գծային կարգավորիչով ՝ ապահովելով մինչև 600 մԱ:
Pinout- ը լիովին համատեղելի է Adafruit M0 փետուրների գծի հետ `կոդի դյուրատարության համար: DWM1000 IO գծերը միացված են SPI ավտոբուսին և 2, 3 և 4 թվային կապում RST, IRQ & SPI_CS- ի համար (որոնք վերնագրի միջոցով չեն ցուցադրվում): D13- ը նույնպես միացված է ինքնաթիռի LED- ին, ինչպես ստանդարտ է Arduino- ի հետ համատեղելի բազմաթիվ տախտակների մեջ:
Programրագրավորումը կարող է ձևակերպվել SWD վերնագրի միջոցով կամ USB- ի միջոցով, եթե այն բեռնված է համապատասխան բեռնիչով, ինչպիսին է Microsoft- ի uf2-samdx1- ը: Տեսեք որոնվածը ավելին:
Նշում V1.0- ի վերաբերյալ
Այս տախտակի 1-ին տարբերակում USB-C միակցիչի խնդիր կա: Իմ օգտագործած ոտնահետքը չի ներառել այս բաղադրիչի կտրման մոնտաժման մեթոդի համար պահանջվող կտրվածքը:
1.1 տարբերակը կներառի դրա շտկում, ինչպես նաև միկրո- b միակցիչ ավելացնելով այն ցանկացողների համար: Տես 1.1 տարբերակի նկատառումները ստորև:
Նյութերի և ապարատային տարբերակ 1.1 -ի նախագծման նկատառումների համար տե՛ս ծրագրի գրառումը:
Քայլ 2: Հավաքում
Ընդամենը 20 BoM տարր և բաղադրիչների մեծ մասը 0603 -ից ոչ փոքր չէ (2x բյուրեղյա կոնդենսատորները 0402 էին), այս տախտակի ձեռքով հավաքումը հեշտ էր: Ես ունեի JLCPCB- ի արտադրած PCB և զոդման տրաֆարետ ՝ փայլատ սև գույնով ՝ ENIG մակերևույթի ավարտով:
Ընդհանուր արժեքը 5 տախտակի համար (չնայած որ 10 -ում գների տարբերություն չկար) և տրաֆարետինը կազմում էր 68 ԱՄՆ դոլար, սակայն դրանից 42 դոլարը առաքվում էր: JLCPCB- ից և տախտակներից առաջին անգամ պատվիրելը շատ բարձր որակի էր `գեղեցիկ ավարտով:
Քայլ 3: irmրագրաշարեր. Mingրագրավորում Bootloader- ի համար
Firmware- ը կարող է բեռնվել SWD միակցիչի միջոցով ՝ օգտագործելով ծրագրավորող, ինչպիսին է Segger- ի J-Link- ը: Վերևում ցուցադրված է J-Link EDU Mini- ն: Տախտակի ծրագրավորումը սկսելու համար մենք պետք է բեռնենք մեր բեռնախցիկը, այնուհետև ստեղծենք մեր գործիքների շղթան:
Ես կօգտագործեմ Atmel Studio- ն ՝ բեռնիչը բեռնաթափելու համար: Դա անելու համար միացրեք J-Link- ը և բացեք Atmel Studio- ն: Այնուհետեւ ընտրեք Գործիքներ> Սարքի ծրագրավորում: Գործիքի ներքո ընտրեք J-Link- ը և սարքը դրեք ATSAMD21G18A- ի վրա, այնուհետև կտտացրեք Դիմել:
J-Link- ը միացրեք փետուրի SWD վերնագրին և միացրեք էներգիան կամ USB- ով, կամ մարտկոցի միջոցով: Միանալուց հետո, Սարքի ստորագրության ներքո կտտացրեք Կարդալ: Սարքի ստորագրության և նպատակային լարման տեքստային տուփերը պետք է համապատասխանաբար տարածվեն: Եթե նրանք չեն ստուգում կապերը և նորից փորձեն:
Բեռնիչը բեռնաթափելու համար նախ պետք է անջատել BOOTPROT ապահովիչը: Դա անելու համար ընտրեք Ապահովիչներ> USER_WORD_0. NVMCTRL_BOOTPROT և փոխեք 0 բայթ: Կտտացրեք Programրագիրը ՝ փոփոխությունները վերբեռնելու համար:
Այժմ մենք կարող ենք թարթել bootloader- ը `ընտրելով Memories> Flash և սահմանել bootloader- ի գտնվելու վայրը: Programրագրավորումն ընտրելուց առաջ ապահովեք Erase Flash- ը և կտտացրեք Programրագիր: Եթե ամեն ինչ կարգին լինի, տախտակի վրա D13- ը պետք է սկսի զարկերակել:
Այժմ դուք պետք է BOOTPROT ապահովիչը դնեք 8 կԲ բեռնիչ սարքի չափի վրա: Դա անելու համար ընտրեք Ապահովիչներ> USER_WORD_0. NVMCTRL_BOOTPROT և փոխեք 8192 բայթ: Կտտացրեք ծրագիրը ՝ փոփոխությունները վերբեռնելու համար:
Այժմ, երբ բեռնախցիկը բռնկվել է, D13- ը պետք է զարկերակի լինի, և եթե միացված է USB- ին, պետք է հայտնվի զանգվածային պահեստավորման սարք: Այստեղ է, որ UF2 ֆայլերը կարող են վերբեռնվել ՝ տախտակը ծրագրավորելու համար:
Քայլ 4: irmրագրաշար. Flashրամեկուսացման ծածկագիր PlatformIO- ի հետ
Firmware- ը կարող է վերբեռնվել UF2 արձանագրության միջոցով կամ անմիջապես SWD ինտերֆեյսի միջոցով: Այստեղ մենք կօգտագործենք PlatformIO- ն իր հեշտության և պարզության համար: Սկսելու համար ստեղծեք PIO- ի նոր նախագիծ և ընտրեք Adafruit Feather M0- ը որպես թիրախային տախտակ: J-Link- ով SWD- ով վերբեռնելիս սահմանեք upload_protocol- ը platformio.ini- ում, ինչպես ցույց է տրված ստորև:
[env: adafruit_feather_m0] հարթակ = atmelsam board = adafruit_feather_m0 շրջանակ = arduino upload_protocol = jlink
Այժմ դուք կարող եք ծրագրավորել տախտակը Arduino շրջանակի պարզությամբ:
Քայլ 5: irmրագրակազմ. Flashրամեկուսացում խարիսխի վրա
DWM1000 մոդուլները կարող են կազմաձևվել խարիսխների կամ պիտակների տեսքով: Սովորաբար խարիսխները պահվում են հայտնի ստատիկ վայրերում, և պիտակները օգտագործում են խարիսխներ `դրանց համեմատական դիրքը ստանալու համար: DWM1000 մոդուլը փորձարկելու համար կարող եք վերբեռնել DW1000-Anchor օրինակը GitHub պահոցից:
Այս ծրագիրը PlatformIO- ով լուսավորելու համար PIO Home- ից ընտրեք Open Project, այնուհետև GitHub պահոցում գտեք DW1000-Anchor թղթապանակի գտնվելու վայրը: Այնուհետև կտտացրեք PIO- ի վերբեռնման կոճակին և այն ավտոմատ կերպով կգտնի կցված վրիպազերծման զոնդը (համոզվեք, որ այն միացված է և տախտակը սնուցված է):
Պիտակի որոնվածը պետք է վերբեռնվի մեկ այլ տախտակ: Այնուհետեւ արդյունքը կարելի է դիտել սերիական տերմինալում:
Քայլ 6: Առաջ գնալ
Այս նախագծի հետագա բարելավումները կներառեն նոր DW1000 գրադարանի մշակում, V1.1 տախտակը փոխում է այս բազմազան տեխնոլոգիան օգտագործող այլ նախագծեր: Եթե կա բավարար հետաքրքրություն, ես կդիտարկեմ այս տախտակների արտադրությունն ու վաճառքը:
Շնորհակալություն կարդալու համար: Թողեք որևէ մտքեր կամ քննադատություններ ստորև բերված մեկնաբանություններում և համոզվեք, որ ծանոթանաք Նախատիպավորման անկյունի նախագծին
Խորհուրդ ենք տալիս:
Ձայնի տեղայնացման մանեկենի գլուխ Kinect- ով. 9 քայլ (նկարներով)
Ձայնի տեղայնացման մանեկենի գլուխ Kinect- ի հետ. Ծանոթացեք Մարգարետի հետ ՝ վարորդի հոգնածության մոնիտորինգի համակարգի փորձարկման կեղծամ: Նա վերջերս հեռացել է իր պարտականություններից և գտել է մեր գրասենյակի տարածքը, և այդ ժամանակից ի վեր ուշադրություն է գրավում նրանց վրա, ովքեր կարծում են, որ նա «սողացող» է: Արդարության շահերից ելնելով ՝ ես
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ - Քայլ առ քայլ: 4 քայլ
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ | Քայլ առ քայլ. Այս նախագծում ես նախագծելու եմ մի պարզ Arduino մեքենայի հետադարձ կայանման սենսորային միացում ՝ օգտագործելով Arduino UNO և HC-SR04 ուլտրաձայնային տվիչ: Այս Arduino- ի վրա հիմնված Car Reverse ազդանշանային համակարգը կարող է օգտագործվել ինքնավար նավարկության, ռոբոտների ռանգի և այլ տեսականու համար
Քայլ առ քայլ համակարգչային շենք. 9 քայլ
Քայլ առ քայլ համակարգչի կառուցում. Պարագաներ. Սարքավորումներ. Մայրական համակարգիչ CPU coolerPSU (Էներգամատակարարման միավոր) Պահեստավորում (HDD/SSD) RAMGPU (պարտադիր չէ) Գործ CaseTools: Պտուտակահան ESD ապարանջան/matsthermal paste w/aplikator
Երեք բարձրախոս շղթա -- Քայլ առ քայլ ձեռնարկ ՝ 3 քայլ
Երեք բարձրախոս շղթա || Քայլ առ քայլ ձեռնարկ. Բարձրախոսների սխեման ուժեղացնում է շրջակա միջավայրից ստացված աուդիո ազդանշանները MIC- ում և այն ուղարկում է խոսնակին, որտեղից արտադրվում է ուժեղացված ձայնը:
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)