Kazalo:
- 1. korak: Oblikovanje strojne opreme
- 2. korak: Montaža
- 3. korak: Vdelana programska oprema: Programiranje zagonskega nalagalnika
- 4. korak: Vdelana programska oprema: Utripajoča koda s platformo PlatformIO
- 5. korak: Vdelana programska oprema: utripanje sidra
- 6. korak: Pojdite dlje
Video: UWB pero za lokalizacijo: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Ultra-WideBand Feather vključuje modul Decawave DWM1000 in ATSAMD21 ARM Cortex M0 v faktorju perja Adafruit. Modul DWM1000 je brezžični modul, združljiv s standardom IEEE802.15.4-2011 UWB, ki omogoča natančno pozicioniranje v zaprtih prostorih in visoke hitrosti prenosa podatkov, zato je ta plošča kot nalašč za projekte robotike, kjer je potrebna lokalizacija.
Značilnosti:-Decawave DWM1000 za natančno sledenje-ARM Cortex M0 za hitre in zmogljive aplikacije-Adafruit Feather združljiv za integracijo s širokim obstoječim ekosistemom-SWD vmesnik za programiranje in odpravljanje napak-USB-C priključek-Vgrajen polnilec LiPo baterij
Za celoten zapis in posodobitve projekta si oglejte ta projekt na mojem spletnem mestu Prototyping Corner na prototypingcorner.io/projects/uwb-feather
Izvorna strojna in programska oprema za ta projekt je na voljo v skladišču GitHub.
1. korak: Oblikovanje strojne opreme
Kot je bilo omenjeno v uvodu, je UWB Feather sestavljen iz ATSAMD21 ARM Cortext M0+ za možgane in modula Decawave DWM1000 za brezžično širokopasovno povezavo v faktorju perja. Zasnova je razmeroma preprosta, sestavljena iz 20 elementov BoM na 2-slojni PCB. Pinout je združljiv z Adafruit M0 Feather
Polnjenje LiPo upravlja enocelični, popolnoma integriran krmilnik za upravljanje polnjenja MCP73831. Napetost akumulatorja je mogoče spremljati na D9, vendar je potreben dostop do vseh vhodov / izhodov, zato lahko JP1 odrežete, da sprostite ta zatič. 3.3-voltno regulacijo izvaja linearni regulator nizkega izpada AP2112K-3.3, ki zagotavlja do 600 mA.
Pinout je popolnoma združljiv s linijo perja Adafruit M0 za enostavno prenašanje kode. IO linije DWM1000 so priključene na vodilo SPI in digitalne zatiče 2, 3 in 4 za RST, IRQ in SPI_CS (ki niso izpostavljeni preko glave). D13 je povezan tudi z vgrajeno LED diodo, kar je standard med mnogimi ploščami, združljivimi z Arduino.
Programiranje se lahko izvede prek glave SWD ali prek USB-ja, če je naložen z ustreznim zagonskim nalagalnikom, kot je uf2-samdx1 iz Microsofta. Za več informacij si oglejte vdelano programsko opremo.
Opomba za V1.0
Pri različici 1 te plošče je prišlo do težave s priključkom USB-C. Odtis, ki sem ga uporabil, ni vključeval izreza, ki je potreben za način pritrditve izreza te komponente.
Različica 1.1 bo vsebovala popravek za to in dodala priključek micro-b za tiste, ki si ga želijo. Glej spodaj razmisleke o različici 1.1.
Za načrte glede materialov in strojne opreme različice 1.1 glej opis projekta.
2. korak: Montaža
Ker je bilo le 20 elementov BoM in večina komponent najmanj 0603 (2x kristalni kondenzatorji so bili 0402), je bila ročna montaža te plošče enostavna. Imel sem PCB in šablono za spajkanje proizvajalca JLCPCB v mat črni barvi s površino ENIG.
Skupni stroški 5 plošč (čeprav 10 ni imelo razlike v ceni) in šablone so bili 68 USD, vendar je 42 USD od tega pošiljanje. Prvič naročila pri JLCPCB in plošče so bile zelo kakovostne z lepim zaključkom.
3. korak: Vdelana programska oprema: Programiranje zagonskega nalagalnika
Vdelano programsko opremo lahko naložite prek priključka SWD s programerjem, kot je J-Link iz Seggerja. Zgoraj je prikazan J-Link EDU Mini. Za začetek programiranja plošče moramo naložiti zagonski program in nato nastaviti verigo orodij.
Za utripanje zagonskega nalagalnika bom uporabil Atmel Studio. Če želite to narediti, priključite J-Link in odprite Atmel Studio. Nato izberite Orodja> Programiranje naprav. V orodju izberite J-Link in nastavite napravo na ATSAMD21G18A, nato kliknite Uporabi.
Priključite J-Link na glavo s perjem SWD in napajajte prek USB-ja ali preko baterije. Ko ste povezani, pod Podpis naprave kliknite Preberi. Besedilni polji Device Signature in Target Voltage se morata ustrezno širiti. Če ne preverijo povezav in poskusite znova.
Za utripanje zagonskega nalagalnika moramo najprej onemogočiti varovalko BOOTPROT. Če želite to narediti, izberite Varovalke> USER_WORD_0. NVMCTRL_BOOTPROT in spremenite v 0 bajtov. Kliknite Program, da naložite spremembe.
Zdaj lahko zagonski nalagalnik utripamo tako, da izberemo Spomini> Flash in nastavimo lokacijo zagonskega nalagalnika. Pred izbiro programiranja se prepričajte, da je izbrisano Flash, in kliknite Program. Če je vse v redu, mora D13 na plošči začeti utripati.
Zdaj morate varovalko BOOTPROT nastaviti na velikost zagonskega nalagalnika 8kB. Če želite to narediti, izberite Varovalke> USER_WORD_0. NVMCTRL_BOOTPROT in spremenite v 8192 bajtov. Kliknite program, da naložite spremembe.
Zdaj, ko je zagonski nalagalnik utripal, bi moral D13 utripati in če bi bil priključen preko USB -ja, bi se morala prikazati naprava za množično shranjevanje. Tukaj lahko naložite datoteke UF2 za programiranje plošče.
4. korak: Vdelana programska oprema: Utripajoča koda s platformo PlatformIO
Vdelano programsko opremo lahko naložite prek protokola UF2 ali neposredno prek vmesnika SWD. Tukaj bomo za preprostost in preprostost uporabljali PlatformIO. Za začetek ustvarite nov projekt PIO in za ciljno ploščo izberite Adafruit Feather M0. Pri nalaganju prek SWD z J-Link nastavite upload_protocol v platformio.ini, kot je prikazano spodaj.
[env: adafruit_feather_m0] platforma = atmelsam board = adafruit_feather_m0 framework = arduino upload_protocol = jlink
Zdaj lahko ploščo programirate s preprostostjo okvira Arduino.
5. korak: Vdelana programska oprema: utripanje sidra
Module DWM1000 lahko konfigurirate kot sidra ali oznake. Sidra se običajno hranijo na znanih statičnih lokacijah, oznake pa uporabljajo sidra, da dosežejo njihov relativni položaj. Če želite preizkusiti modul DWM1000, lahko naložite primer DW1000-Anchor iz skladišča GitHub.
Če želite ta program utripati s platformo PlatformIO, v PIO Home izberite Odpri projekt in poiščite lokacijo mape DW1000-Anchor v skladišču GitHub. Nato kliknite gumb za prenos PIO in samodejno bo našel priloženo sondo za odpravljanje napak (zagotovite, da je povezana in da je plošča napajana).
Vdelano programsko opremo oznak bo treba naložiti na drugo ploščo. Nato si lahko rezultat ogledate v serijskem terminalu.
6. korak: Pojdite dlje
Nadaljnje izboljšave tega projekta bodo vključevale razvoj nove knjižnice DW1000, plošča V1.1 pa spreminja druge projekte, ki uporabljajo to obsežno tehnologijo. Če bo dovolj zanimanja, bom razmislil o izdelavi in prodaji teh plošč.
Hvala za branje. V komentarjih spodaj pustite vse misli ali kritike in si oglejte projekt na Kotičku za izdelavo prototipov
Priporočena:
Kapacitivna pisala za pero za enkratno uporabo: 6 korakov (s slikami)
Kapacitivna pisala za peresnik za enkratno uporabo: Imam ducat mikro-valjčnih peresa Uni-ball. Pokrovčku enega od njih želim dodati kapacitivno pisalo. Nato lahko pokrovček in pisalo premaknete z enega peresa na drugega, ko vsakemu zmanjka črnila. Hvaležen sem Jasonu Poelu Smithu za njegovo
Števec korakov - mikro: Bit: 12 korakov (s slikami)
Števec korakov - Micro: Bit: Ta projekt bo števec korakov. Za merjenje korakov bomo uporabili senzor pospeška, ki je vgrajen v Micro: Bit. Vsakič, ko se Micro: Bit trese, bomo štetju dodali 2 in ga prikazali na zaslonu
Super preprosto DIY točkovno varilno pisalo (varilno pero z zavihkom MOT Battery) 10 $: 7 korakov (s slikami)
Super preprosto DIY točko za varjenje z varjenjem (MOT Battery Tab Welder Pen) 10 $: Ogledoval sem vsa spletna mesta, ki so prodajala pisala za varjenje, in videl, kako jih je veliko sestavljenih. Naletel sem na komplet, ki je bil cenejši od ostalih, a vseeno malo več, kot sem si lahko privoščil. Potem sem nekaj opazil. Vse, kar
Vibracijsko pero: 6 korakov
Vibracijsko pero: To je moj prvi pouk o nečem preprostem. Kako narediti pisalo z motorjem na zadnji strani. Ustvarja kul modele
Plutovin USB/pero pogon: 7 korakov
Plutovin USB/pero pogon: V tem navodilu vam bom pokazal, kako narediti plutovinasti USB. to je lahko nekoliko zapleteno pri izvrtini plute. OPOZORILO: Izdolbljanje plute je nevarno, če nož prereže pluto. Nekatere pištole za vroče lepilo so lahko prevroče in lahko poškodujejo pomnilnik USB.