Satura rādītājs:

UWB lokalizācijas spalva: 6 soļi
UWB lokalizācijas spalva: 6 soļi

Video: UWB lokalizācijas spalva: 6 soļi

Video: UWB lokalizācijas spalva: 6 soļi
Video: Apple AirTag: КАК РАБОТАЕТ UWB? | РАЗБОР 2024, Jūlijs
Anonim
UWB lokalizācijas spalva
UWB lokalizācijas spalva

Ultra-WideBand Feather ietver Decawave DWM1000 moduli un ATSAMD21 ARM Cortex M0 Adafruit spalvu formas faktorā. DWM1000 modulis ir ar IEEE802.15.4-2011 saderīgs ar UWB bezvadu modulis, kas spēj precīzi pozicionēt iekštelpās un nodrošināt augstu datu pārraides ātrumu, padarot šo paneli ideāli piemērotu robotikas projektiem, kur nepieciešama lokalizācija.

Funkcijas:-Decawave DWM1000 precīzai izsekošanai-ARM Cortex M0 ātrai un jaudīgai lietošanai-Adafruit Feather savietojams, lai integrētu ar plašu esošo ekosistēmu-SWD interfeiss programmēšanai un atkļūdošanas lietojumprogrammām-USB-C savienotājs-integrēts LiPo akumulatora lādētājs

Lai iegūtu pilnu projekta rakstīšanu un atjauninājumus, skatiet šo projektu manā vietnē Prototyping Corner vietnē prototypingcorner.io/projects/uwb-feather

Šī projekta avota aparatūra un programmatūra ir pieejama GitHub repozitorijā.

1. darbība. Aparatūras projektēšana

Aparatūras dizains
Aparatūras dizains
Aparatūras dizains
Aparatūras dizains
Aparatūras dizains
Aparatūras dizains

Kā minēts ievadā, UWB spalvu veido ATSAMD21 ARM Cortext M0+ smadzenēm un Decawave DWM1000 modulis īpaši platas joslas bezvadu sistēmai. Dizains ir salīdzinoši vienkāršs un sastāv no 20 BoM vienībām uz 2 slāņu PCB. Pinout ir saderīgs ar Adafruit M0 Feather

LiPo uzlādi veic MCP73831 vienšūnu, pilnībā integrēts uzlādes pārvaldības kontrolieris. Akumulatora spriegumu var kontrolēt ar D9, tomēr ir nepieciešama piekļuve visam IO, JP1 var izgriezt, lai atbrīvotu šo tapu. 3,3 voltu regulējumu iepriekš nodrošina lineārais regulators AP2112K-3.3 ar zemu pārtraukumu, nodrošinot līdz 600 mA.

Pinout ir pilnībā savietojams ar Adafruit M0 spalvu līniju, lai ērti pārnestu kodu. DWM1000 IO līnijas ir savienotas ar SPI kopni un digitālajām tapām 2, 3 un 4 atbilstoši RST, IRQ un SPI_CS (kuras netiek atklātas caur galveni). D13 ir arī savienots ar iebūvēto LED, kā tas ir standarts starp daudzām ar Arduino saderīgām plāksnēm.

Programmēšanu var veikt, izmantojot SWD galveni vai izmantojot USB, ja tā ir ielādēta ar atbilstošu sāknēšanas ielādētāju, piemēram, Microsoft uf2-samdx1. Plašāku informāciju skatiet programmaparatūrā.

Piezīme par V1.0

Šīs plates 1. versijā radās problēma ar USB-C savienotāju. Izmantotajā nospiedumā nebija iekļauts izgriezums, kas nepieciešams šīs sastāvdaļas izgriezuma montāžas metodei.

Versijā 1.1 tiks iekļauts šīs problēmas labojums, kā arī micro-b savienotāja pievienošana tiem, kas to vēlas. Skatiet 1.1 versijas apsvērumus zemāk.

Materiālu un aparatūras versijas 1.1 dizaina apsvērumus skatiet projekta aprakstā.

2. solis: montāža

Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža

Tā kā tikai 20 BoM priekšmeti un lielākā daļa komponentu nav mazāki par 0603 (2x kristāla kondensatori bija 0402), šīs plāksnes montāža ar rokām bija vienkārša. Man bija JLCPCB ražots PCB un lodēšanas trafarets matēti melnā krāsā ar ENIG virsmas apdari.

Kopējās izmaksas par 5 dēļiem (lai gan 10 nebija cenu atšķirības) un trafarets bija 68 USD, tomēr 42 USD no tā bija piegāde. Pirmo reizi pasūtot no JLCPCB un dēļi bija ļoti augstas kvalitātes ar jauku apdari.

3. darbība: programmaparatūra: sāknēšanas ielādētāja programmēšana

Programmaparatūra: sāknēšanas ielādētāja programmēšana
Programmaparatūra: sāknēšanas ielādētāja programmēšana
Programmaparatūra: sāknēšanas ielādētāja programmēšana
Programmaparatūra: sāknēšanas ielādētāja programmēšana
Programmaparatūra: sāknēšanas ielādētāja programmēšana
Programmaparatūra: sāknēšanas ielādētāja programmēšana

Programmatūru var ielādēt, izmantojot SWD savienotāju, izmantojot tādu programmētāju kā Segger J-Link. Iepriekš parādīts J-Link EDU Mini. Lai sāktu programmēt dēli, mums jāielādē sāknēšanas ielādētājs un pēc tam jāizveido rīku ķēde.

Es izmantošu Atmel Studio sāknēšanas ielādētāja mirgošanai. Lai to izdarītu, pievienojiet J-Link un atveriet Atmel Studio. Pēc tam atlasiet Rīki> Ierīces programmēšana. Sadaļā Rīks atlasiet J-Link un iestatiet Ierīce uz ATSAMD21G18A, pēc tam noklikšķiniet uz Lietot.

Pievienojiet J-Link pie spalvu SWD galvenes un pievienojiet enerģiju, izmantojot USB vai caur akumulatoru. Kad savienojums ir izveidots, sadaļā Ierīces paraksts noklikšķiniet uz Lasīt. Tekstlodziņiem Ierīces paraksts un Mērķa spriegums ir jābūt attiecīgi izplatītiem. Ja viņi nepārbauda savienojumus un mēģiniet vēlreiz.

Lai aktivizētu sāknēšanas ielādētāju, mums vispirms ir jāatspējo BOOTPROT drošinātājs. Lai to izdarītu, izvēlieties Drošinātāji> USER_WORD_0. NVMCTRL_BOOTPROT un mainiet uz 0 baiti. Noklikšķiniet uz Programma, lai augšupielādētu izmaiņas.

Tagad mēs varam aktivizēt sāknēšanas ielādētāju, atlasot Atmiņas> Zibspuldze un iestatīt sāknēšanas ielādētāja atrašanās vietu. Pirms programmēšanas ir jāizvēlas Dzēst zibspuldzi un noklikšķiniet uz Programmēt. Ja viss iet labi, D13 uz tāfeles jāsāk pulsēt.

Tagad jums ir jāiestata BOOTPROT drošinātājs uz 8 KB sāknēšanas ielādētāja izmēru. Lai to izdarītu, atlasiet Drošinātāji> USER_WORD_0. NVMCTRL_BOOTPROT un mainiet uz 8192 baiti. Noklikšķiniet uz programmas, lai augšupielādētu izmaiņas.

Tagad, kad sāknēšanas ielādētājs ir mirgojis, D13 vajadzētu pulsēt un, ja tas ir pievienots, izmantojot USB, vajadzētu parādīties lielapjoma atmiņas ierīcei. Šeit var augšupielādēt UF2 failus tāfeles programmēšanai.

4. solis: programmaparatūra: mirgo kods ar platformuIO

Programmaparatūra: mirgo kods ar PlatformIO
Programmaparatūra: mirgo kods ar PlatformIO
Programmaparatūra: mirgo kods ar PlatformIO
Programmaparatūra: mirgo kods ar PlatformIO

Programmaparatūru var augšupielādēt, izmantojot UF2 protokolu vai tieši, izmantojot SWD saskarni. Šeit mēs izmantosim PlatformIO tās viegluma un vienkāršības dēļ. Lai sāktu, izveidojiet jaunu PIO projektu un kā mērķa dēli atlasiet Adafruit Feather M0. Augšupielādējot, izmantojot SWD ar J-Link, iestatiet augšupielādes protokolu vietnē platformio.ini, kā parādīts zemāk.

[env: adafruit_feather_m0] platforma = atmelsam board = adafruit_feather_m0 Framework = arduino upload_protocol = jlink

Tagad jūs varat ieprogrammēt dēli ar Arduino ietvara vienkāršību.

5. solis: programmaparatūra: enkura mirgošana

Programmaparatūra: enkura mirgošana
Programmaparatūra: enkura mirgošana
Programmaparatūra: enkura mirgošana
Programmaparatūra: enkura mirgošana

DWM1000 moduļus var konfigurēt kā enkurus vai tagus. Parasti enkuri tiek turēti zināmās statiskās vietās, un tagi izmanto enkurus, lai iegūtu tiem relatīvu stāvokli. Lai pārbaudītu DWM1000 moduli, varat augšupielādēt DW1000-Anchor piemēru no GitHub repozitorija.

Lai aktivizētu šo programmu, izmantojot PlatformIO, PIO sākumlapā atlasiet Atvērt projektu un pēc tam atrodiet mapes DW1000-Anchor atrašanās vietu GitHub repozitorijā. Pēc tam noklikšķiniet uz PIO augšupielādes pogas, un tā automātiski atradīs pievienoto atkļūdošanas zondi (pārliecinieties, vai tā ir pievienota un tāfele ir barota).

Taga programmaparatūra būs jāaugšupielādē citā panelī. Tad rezultātu var apskatīt sērijas terminālī.

6. solis: iet tālāk

Ejot tālāk
Ejot tālāk

Turpmākie šī projekta uzlabojumi ietvers jaunas DW1000 bibliotēkas izstrādi, V1.1 plāksne maina citus projektus, kuros tiek izmantota šī diapazona tehnoloģija. Ja būs pietiekama interese, apsveršu iespēju ražot un pārdot šīs plāksnes.

Paldies, ka izlasījāt. Atstājiet visas domas vai kritiku zemāk esošajos komentāros un noteikti pārbaudiet projektu par prototipēšanas stūri

Ieteicams: