Obsah:

Lokalizačné perie UWB: 6 krokov
Lokalizačné perie UWB: 6 krokov

Video: Lokalizačné perie UWB: 6 krokov

Video: Lokalizačné perie UWB: 6 krokov
Video: Эмиграция в Данию: жизнь наших в Копенгагене | ЭКСПАТЫ 2024, November
Anonim
Lokalizačné pierko UWB
Lokalizačné pierko UWB

Ultra-WideBand Feather obsahuje modul Decawave DWM1000 a ATSAMD21 ARM Cortex M0 do tvarového faktora peria Adafruit. Modul DWM1000 je bezdrôtový modul kompatibilný so štandardom IEEE802.15.4-2011 UWB, schopný presného polohovania v interiéri a vysokých prenosových rýchlostí, vďaka čomu je táto doska ideálna pre robotické projekty, kde je potrebná lokalizácia.

Vlastnosti:-Decawave DWM1000 pre presné sledovanie-ARM Cortex M0 pre rýchle a výkonné aplikácie-Adafruit Feather kompatibilný s integráciou so širokým existujúcim ekosystémom-SWD rozhranie pre programovanie a ladenie aplikácií-USB-C konektor-Integrovaná nabíjačka LiPo batérií

Úplné znenie a aktualizácie projektu nájdete v tomto projekte na mojom webe Prototyping Corner na adrese prototypingcorner.io/projects/uwb-feather

Zdrojový hardvér a softvér pre tento projekt je k dispozícii z úložiska GitHub.

Krok 1: Návrh hardvéru

Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn
Hardvérový dizajn

Ako už bolo spomenuté v úvode, UWB Feather sa skladá z ATSAMD21 ARM Cortext M0+ pre mozgy a modulu Decawave DWM1000 pre ultra-širokopásmové bezdrôtové pripojenie vo formáte peria. Dizajn je pomerne jednoduchý a pozostáva z 20 položiek BoM na 2-vrstvovom PCB. Pinout je kompatibilný s perím Adafruit M0 Feather

Nabíjanie LiPo má na starosti jednobunkový, plne integrovaný ovládač správy nabíjania MCP73831. Napätie batérie je možné monitorovať na D9, je však potrebný prístup ku všetkým IO, JP1 je možné rezaním uvoľniť tento pin. Regulácia 3,3 voltov je vytvorená lineárnym regulátorom AP2112K-3.3 s nízkym výpadkom a poskytuje až 600mA.

Pinout je plne kompatibilný s perím Adafruit M0 pre jednoduchú prenosnosť kódu. IO linky DWM1000 sú pripojené k zbernici SPI a digitálnym kolíkom 2, 3 a 4 pre RST, IRQ a SPI_CS (ktoré nie sú odkryté cez záhlavie). D13 je tiež pripojený k vstavanej dióde LED, ako je to štandardné u mnohých dosiek kompatibilných s Arduino.

Programovanie je možné vykonať cez hlavičku SWD alebo cez USB, ak je načítaný so zodpovedajúcim bootloaderom, ako je uf2-samdx1 od spoločnosti Microsoft. Viac nájdete vo firmvéri.

Poznámka k V1.0

Na verzii 1 tejto dosky je problém s konektorom USB-C. Stopa, ktorú som použil, nezahŕňala výrez požadovaný pre spôsob montáže výrezu tohto komponentu.

Verzia 1.1 bude obsahovať opravu tohto problému a tiež rozšírenie konektora micro-b pre tých, ktorí ho chcú. Pozri úvahy k verzii 1.1 nižšie.

Bližšie informácie o dizajne kusovníka a materiálu hardvéru verzie 1.1 nájdete v dokumente k projektu.

Krok 2: Zostavenie

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Keďže iba 20 položiek BoM a väčšina komponentov nebola menšia ako 0603 (2 x kryštálové kondenzátory boli 0402), bola ručná montáž tejto dosky jednoduchá. PCB a spájkovaciu šablónu som nechal vyrobiť od JLCPCB v matnej čiernej farbe s povrchovou úpravou ENIG.

Celkové náklady na 5 dosiek (aj keď 10 nemalo žiadny cenový rozdiel) a šablónu boli 68 AUD, avšak 42 dolárov z toho bola doprava. Prvé objednanie z JLCPCB a dosky boli veľmi vysokej kvality s pekným povrchom.

Krok 3: Firmvér: Programovanie bootloadera

Firmware: Programovanie bootloadera
Firmware: Programovanie bootloadera
Firmware: Programovanie bootloadera
Firmware: Programovanie bootloadera
Firmware: Programovanie bootloadera
Firmware: Programovanie bootloadera

Firmvér je možné načítať cez konektor SWD pomocou programátora, ako je J-Link od spoločnosti Segger. Vyššie je zobrazený J-Link EDU Mini. Aby sme mohli začať programovať dosku, musíme načítať náš bootloader a potom nastaviť reťazec nástrojov.

Na flashovanie bootloadera použijem Atmel Studio. Ak to chcete urobiť, zapojte J-Link a otvorte Atmel Studio. Potom vyberte Nástroje> Programovanie zariadenia. V časti Nástroj vyberte J-Link a nastavte Zariadenie na ATSAMD21G18A, potom kliknite na Použiť.

Pripojte J-Link k perovému SWD konektoru a napájajte buď cez USB alebo cez batériu. Po pripojení kliknite v časti Podpis zariadenia na možnosť Čítať. Textové polia Podpis zariadenia a Cieľové napätie by sa mali zodpovedajúcim spôsobom šíriť. Ak nekontrolujú pripojenia a skúste to znova.

Na spustenie zavádzača musíme najskôr vypnúť poistku BOOTPROT. Za týmto účelom vyberte Poistky> USER_WORD_0. NVMCTRL_BOOTPROT a zmeňte na 0 bajtov. Kliknutím na Program nahráte zmeny.

Teraz môžeme bootloader flashovať výberom spomienok> flash a nastaviť umiestnenie bootloadera. Pred výberom programovania sa uistite, že vymazať Flash, a kliknite na Program. Ak všetko pôjde dobre, D13 na doske by mala začať pulzovať.

Teraz budete musieť nastaviť poistku BOOTPROT na veľkosť zavádzača 8 kB. Za týmto účelom vyberte Poistky> USER_WORD_0. NVMCTRL_BOOTPROT a zmeňte na 8192 bajtov. Kliknutím na program nahráte zmeny.

Teraz, keď bol bootloader spustený, D13 by mal pulzovať a ak je zapojený cez USB, malo by sa objaviť veľkokapacitné zariadenie. Tu je možné nahrávať súbory UF2 na programovanie dosky.

Krok 4: Firmware: Blikajúci kód s platformIO

Firmware: Blikajúci kód s PlatformIO
Firmware: Blikajúci kód s PlatformIO
Firmware: Blikajúci kód s PlatformIO
Firmware: Blikajúci kód s PlatformIO

Firmvér je možné nahrať cez protokol UF2 alebo priamo cez rozhranie SWD. Tu použijeme PlatformIO pre jeho jednoduchosť a jednoduchosť. Na začiatku vytvorte nový projekt PIO a ako cieľovú dosku vyberte Adafruit Feather M0. Pri odosielaní cez SWD pomocou J-Link nastavte súbor upload_protocol na platformio.ini, ako je uvedené nižšie.

[env: adafruit_feather_m0] platform = atmelsam board = adafruit_feather_m0 framework = arduino upload_protocol = jlink

Teraz môžete dosku naprogramovať s jednoduchosťou rámca Arduino.

Krok 5: Firmware: Blikajúca kotva

Firmware: Blikajúca kotva
Firmware: Blikajúca kotva
Firmware: Blikajúca kotva
Firmware: Blikajúca kotva

Moduly DWM1000 je možné nakonfigurovať ako kotvy alebo štítky. Kotvy sú spravidla uložené na známych statických miestach a štítky na ich získanie používajú relatívnu polohu. Na otestovanie modulu DWM1000 môžete nahrať príklad DW1000-Anchor z úložiska GitHub.

Ak chcete tento program flashovať pomocou PlatformIO, z PIO Home vyberte položku Otvoriť projekt a potom vyhľadajte umiestnenie priečinka DW1000-Anchor v úložisku GitHub. Potom kliknite na tlačidlo nahrávania PIO a automaticky vyhľadá pripojenú ladiacu sondu (uistite sa, že je pripojená a doska je napájaná).

Firmvér značiek bude potrebné nahrať na inú dosku. Výsledok si potom môžete prezrieť v sériovom termináli.

Krok 6: Choďte ďalej

Ísť ďalej
Ísť ďalej

Ďalšie vylepšenia tohto projektu budú zahŕňať vývoj novej knižnice DW1000, doska V1.1 zmení ďalšie projekty, ktoré využívajú túto rozsiahlu technológiu. V prípade dostatočného záujmu zvážim výrobu a predaj týchto dosiek.

Vďaka za prečítanie. Akékoľvek myšlienky alebo kritiky zanechajte v nižšie uvedených komentároch a nezabudnite sa pozrieť na projekt v Prototyping Corner

Odporúča: