Mundarija:

UWB mahalliylashtirish tuklari: 6 qadam
UWB mahalliylashtirish tuklari: 6 qadam

Video: UWB mahalliylashtirish tuklari: 6 qadam

Video: UWB mahalliylashtirish tuklari: 6 qadam
Video: Apple AirTag: КАК РАБОТАЕТ UWB? | РАЗБОР 2024, Iyul
Anonim
UWB mahalliylashtirish tuklari
UWB mahalliylashtirish tuklari

Ultra-WideBand Feather, Decawave DWM1000 moduli va ATSAMD21 ARM Cortex M0 ni Adafruit pat pat faktoriga birlashtiradi. DWM1000 moduli-bu IEEE802.15.4-2011 UWB-ga mos keladigan simsiz modul bo'lib, u ichki makonni aniq aniqlash va yuqori ma'lumot uzatish tezligiga ega, bu platani lokalizatsiya zarur bo'lgan robototexnika loyihalari uchun mukammal qiladi.

Xususiyatlari:-aniq kuzatish uchun Decawave DWM1000-tez va kuchli dasturlar uchun ARM Cortex M0-keng tarqalgan ekotizim bilan integratsiyalashishga mos keladigan Adafruit Feather-dasturlarni tuzatish va disk raskadrovka uchun SWD interfeysi-USB-C ulagichi-birlashtirilgan LiPo batareyali zaryadlovchi.

Loyihaning to'liq yozilishi va yangilanishi uchun ushbu loyihani prototypingcorner.io/projects/uwb-feather saytidagi Prototiplash burchagida ko'ring.

Ushbu loyiha uchun dasturiy ta'minot va dasturiy ta'minotni GitHub omboridan olish mumkin.

1 -qadam: Uskuna dizayni

Uskuna dizayni
Uskuna dizayni
Uskuna dizayni
Uskuna dizayni
Uskuna dizayni
Uskuna dizayni

Kirish qismida aytib o'tilganidek, UWB Feather miya uchun ATSAMD21 ARM Cortext M0+ va ulkan keng tarmoqli simsiz aloqa uchun Decawave DWM1000 modulidan iborat. Dizayn 2 qatlamli PCBda 20 ta BoM elementlaridan iborat nisbatan sodda. Pinout Adafruit M0 Feather bilan mos keladi

LiPo zaryadini MCP73831 bitta hujayrali, to'liq integratsiyalangan zaryad boshqaruvi boshqaruvchisi boshqaradi. Batareya zo'riqishini D9 -da kuzatish mumkin, lekin barcha IO -ga kirish talab qilinadi, bu pinni bo'shatish uchun JP1 -ni kesish mumkin. 3.3 voltli regulyatsiya AP2112K-3.3 past oqimli 600mA gacha bo'lgan chiziqli regulyator tomonidan oldindan tuzilgan.

Pinout kodni oson ko'chirish uchun Adafruit M0 pat qatoriga to'liq mos keladi. DWM1000 IO liniyalari SPI avtobusiga va RST, IRQ va SPI_CS uchun 2, 3 va 4 raqamli pinlarga ulanadi (ular sarlavha orqali ko'rsatilmaydi). D13, shuningdek, Arduino-ga mos keladigan ko'plab taxtalarda bo'lgani kabi, bortli LEDga ham ulangan.

Agar Microsoft-dan uf2-samdx1 kabi mos keladigan yuklash qurilmasi o'rnatilgan bo'lsa, dasturlashni SWD sarlavhasi yoki USB orqali oldindan tuzish mumkin. Ko'proq ma'lumot olish uchun dasturiy ta'minotni ko'ring.

V1.0 haqida eslatma

Ushbu kartaning 1-versiyasida USB-C ulagichida muammo bor. Men foydalangan oyoq izi ushbu komponentni kesish o'rnatish usuli uchun zarur bo'lgan kesmani o'z ichiga olmagan.

1.1-versiyada tuzatish, shuningdek, xohlaganlar uchun micro-b ulagichi qo'shiladi. Quyidagi 1.1 versiya mulohazalarini ko'ring.

Materiallar va uskunalar versiyasi 1.1 versiyasi uchun dizayndagi fikrlarni ko'rib chiqing.

2 -qadam: yig'ish

O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish

BoM -ning atigi 20 ta elementi va aksariyat komponentlari 0603 dan kam bo'lmagan (2x kristalli kondansatkichlar 0402), bu taxtani qo'lda yig'ish oson edi. Menda JLCPCB tomonidan ishlab chiqarilgan tenglama va lehim shablonlari bor edi, ular qora rangda, ENIG yuzasi bilan qoplangan edi.

5 ta taxtaning umumiy narxi (garchi 10 tasida narx farqi bo'lmasa ham) va stencil 68 $ AUD edi, lekin 42 $ etkazib berish edi. JLCPCB va taxtalardan birinchi marta buyurtma berish juda sifatli va chiroyli pardozlangan.

3 -qadam: Firmware: Bootloader dasturlash

Firmware: Bootloader dasturlash
Firmware: Bootloader dasturlash
Firmware: Bootloader dasturlash
Firmware: Bootloader dasturlash
Firmware: Bootloader dasturlash
Firmware: Bootloader dasturlash

Dasturiy ta'minotni SWD ulagichi orqali Segger-dan J-Link kabi dasturchi yordamida yuklash mumkin. Yuqorida J-Link EDU Mini ko'rsatilgan. Kengashni dasturlashni boshlash uchun biz yuklagichni yuklashimiz va asboblar zanjirini o'rnatishimiz kerak.

Men yuklovchini o'chirish uchun Atmel Studio -dan foydalanaman. Buning uchun J-Link-ni ulang va Atmel Studio-ni oching. Keyin Asboblar> Qurilmani dasturlash -ni tanlang. Asboblar ostida J-Link-ni tanlang va Qurilmani ATSAMD21G18A-ga o'rnating, so'ng Qo'llash-ni bosing.

J-Link-ni tuklar SWD sarlavhasiga ulang va USB orqali yoki batareya orqali quvvat sarflang. Ulanganidan so'ng, Qurilma imzosi ostida O'qish -ni bosing. Qurilma imzosi va maqsadli kuchlanish matnli qutilari mos ravishda tarqalishi kerak. Agar ular ulanishlarni tekshirmasa va qaytadan urinib ko'ring.

Bootloader -ni yoqish uchun biz avval BOOTPROT sug'urtasini o'chirib qo'yishimiz kerak. Buning uchun Sigortalar> USER_WORD_0. NVMCTRL_BOOTPROT -ni tanlang va 0 baytga o'zgartiring. O'zgarishlarni yuklash uchun Dastur -ni bosing.

Endi biz Xotiralar> Flash -ni tanlash orqali yuklash qurilmasini o'chirib qo'yishimiz va yuklash qurilmasining o'rnini o'rnatishimiz mumkin. Dastur tanlanmasidan oldin, o'chirilgan Flash -ni tekshiring va Dastur -ni bosing. Agar hamma narsa yaxshi bo'lsa, D13 bortida pulsni boshlashi kerak.

Endi siz BOOTPROT sug'urtasini 8 kB yuklash yuklagichiga o'rnatishingiz kerak bo'ladi. Buning uchun Sigortalar> USER_WORD_0. NVMCTRL_BOOTPROT -ni tanlang va 8192 baytga o'zgartiring. O'zgarishlarni yuklash uchun dasturni bosing.

Endi yuklovchi yuklangan bo'lsa, D13 pulsatsiyalanishi kerak va agar u USB orqali ulangan bo'lsa, ommaviy saqlash qurilmasi paydo bo'lishi kerak. Bu erda taxtani dasturlash uchun UF2 fayllarini yuklash mumkin.

4 -qadam: Mikrodastur: PlatformIO bilan miltillovchi kod

Dasturiy ta'minot: PlatformIO bilan miltillovchi kod
Dasturiy ta'minot: PlatformIO bilan miltillovchi kod
Dasturiy ta'minot: PlatformIO bilan miltillovchi kod
Dasturiy ta'minot: PlatformIO bilan miltillovchi kod

Dasturiy ta'minot UF2 protokoli orqali yoki to'g'ridan -to'g'ri SWD interfeysi orqali yuklanishi mumkin. Bu erda biz PlatformIO -dan qulaylik va soddaligi uchun foydalanamiz. Boshlash uchun yangi PIO loyihasini yarating va maqsadli taxta sifatida Adafruit Feather M0 -ni tanlang. J-Link yordamida SWD orqali yuklashda platformio.ini-da yuklash_protokolini quyida ko'rsatilgan tarzda o'rnating.

[env: adafruit_feather_m0] platformasi = atmelsam taxtasi = adafruit_feather_m0 framework = arduino upload_protocol = jlink

Endi siz taxtani Arduino ramkasining soddaligi bilan dasturlashingiz mumkin.

5 -qadam: Mikrodastur: Anchorni miltillash

Dasturiy ta'minot: Anchor yonadi
Dasturiy ta'minot: Anchor yonadi
Dasturiy ta'minot: Anchor yonadi
Dasturiy ta'minot: Anchor yonadi

DWM1000 modullari langar yoki teglar sifatida sozlanishi mumkin. Odatda langarlar ma'lum statik joylarda saqlanadi va teglar ularga nisbatan joylashishni aniqlash uchun langarlardan foydalanadi. DWM1000 modulini sinab ko'rish uchun siz DW1000-Anchor misolini GitHub omboridan yuklashingiz mumkin.

Ushbu dasturni PlatformIO bilan yoqish uchun, PIO Home-dan Open Project-ni tanlang, so'ng GitHub omboridan DW1000-Anchor papkasining manzilini toping. Keyin PIO yuklash tugmasini bosing va u avtomatik ravishda biriktirilgan disk raskadrovka probini topadi (u ulangan va karta quvvatlanganligiga ishonch hosil qiling).

Belgilangan dasturiy ta'minotni boshqa taxtaga yuklash kerak bo'ladi. Keyin natijani ketma -ket terminalda ko'rish mumkin.

6 -qadam: Oldinga o'tish

Keyinchalik borish
Keyinchalik borish

Ushbu loyihani yanada takomillashtirish yangi DW1000 kutubxonasini ishlab chiqishni o'z ichiga oladi, V1.1 platasi ushbu texnologiyadan foydalangan holda boshqa loyihalarni o'zgartiradi. Agar etarlicha qiziqish bo'lsa, men ushbu taxtalarni ishlab chiqarish va sotishni o'ylayman.

O'qiganingiz uchun tashakkur. Quyidagi izohlarda har qanday fikr yoki tanqidni qoldiring va Prototiplash burchagi loyihasini albatta ko'rib chiqing

Tavsiya: