
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37

Ultra-WideBand pero sadrži Decawave DWM1000 modul i ATSAMD21 ARM Cortex M0 u Adafruit perju. Modul DWM1000 je bežični modul kompatibilan sa IEEE802.15.4-2011 UWB sposoban za precizno pozicioniranje u zatvorenim prostorima i velike brzine prijenosa podataka, što ovu ploču čini savršenom za projekte robotike gdje je potrebna lokalizacija.
Značajke:-Decawave DWM1000 za precizno praćenje-ARM Cortex M0 za brze i moćne aplikacije-Adafruit Feather kompatibilan za integraciju sa širokim postojećim ekosustavom-SWD sučelje za programiranje i otklanjanje pogrešaka-USB-C konektor-Integrirani LiPo punjač baterija
Za kompletno pisanje i ažuriranje projekta pogledajte ovaj projekt na mojoj web stranici Prototyping Corner na prototypingcorner.io/projects/uwb-feather
Izvorni hardver i softver za ovaj projekat dostupni su iz GitHub spremišta.
Korak 1: Dizajn hardvera



Kao što je spomenuto u uvodu, UWB pero se sastoji od ATSAMD21 ARM Cortext M0+ za mozak i Decawave DWM1000 modula za ultraširokopojasnu bežičnu vezu, u obliku perja. Dizajn je relativno jednostavan i sastoji se od 20 BoM predmeta na 2-slojnoj PCB-u. Ispis je kompatibilan sa Adafruit M0 perjem
LiPo punjenjem upravlja MCP73831 jednoćelijski, potpuno integrirani kontroler za upravljanje punjenjem. Napon baterije može se nadzirati na D9, međutim ako je potreban pristup svim IO, JP1 se može presjeći kako bi se oslobodio ovaj pin. Regulaciju od 3,3 volti izvodi linearni regulator niskog ispadanja AP2112K-3,3, pružajući do 600 mA.
Pinout je potpuno kompatibilan s linijom perja Adafruit M0 za lakše prenošenje koda. IW linije DWM1000 spojene su na SPI sabirnicu i digitalne pinove 2, 3 i 4 za RST, IRQ i SPI_CS (koji nisu izloženi putem zaglavlja). D13 je također spojen na ugrađenu LED diodu, što je standard među mnogim pločama kompatibilnim s Arduinom.
Programiranje se može izvesti preko SWD zaglavlja ili putem USB-a ako je učitano s odgovarajućim pokretačkim programom, poput uf2-samdx1 iz Microsofta. Za više informacija pogledajte firmver.
Napomena o V1.0
Postoji problem s USB-C konektorom na verziji 1 ove ploče. Otisak koji sam koristio nije uključivao izrez potreban za način montaže izreza ove komponente.
Verzija 1.1 će uključivati popravak za ovo, kao i dodavanje micro-b konektora za one koji to žele. U nastavku pogledajte razmatranja verzije 1.1.
Za detalje o dizajnu Predloga materijala i hardvera Verzije 1.1 pogledajte opis projekta.
Korak 2: Montaža




Sa samo 20 BoM predmeta i većina komponenti nije manja od 0603 (2x kristalni kondenzatori su bili 0402), ručno sastavljanje ove ploče bilo je jednostavno. Imao sam PCB i matricu za lemljenje proizvođača JLCPCB u mat crnoj boji sa ENIG površinskom obradom.
Ukupni trošak za 5 ploča (iako 10 nije imalo razliku u cijeni) i šablon iznosio je 68 USD, ali 42 USD od toga je bilo isporučeno. Prvi put naručivanje od JLCPCB -a i ploče su bile vrlo visoke kvalitete s lijepom završnom obradom.
Korak 3: Firmware: Programiranje pokretačkog programa



Firmware se može učitati preko SWD konektora pomoću programatora kao što je J-Link iz Seggera. Gore je prikazan J-Link EDU Mini. Da bismo započeli programiranje ploče, moramo učitati naš pokretački program i postaviti naš lanac alata.
Koristit ću Atmel Studio za prebacivanje pokretačkog programa. Da biste to učinili, uključite J-Link i otvorite Atmel Studio. Zatim odaberite Alati> Programiranje uređaja. Pod Alatkom odaberite J-Link i postavite Uređaj na ATSAMD21G18A, a zatim kliknite Primijeni.
Spojite J-Link na SWD zaglavlje s perjem i uključite napajanje preko USB-a ili putem baterije. Kada se povežete, u odjeljku Potpis uređaja kliknite Pročitaj. Okviri za potpis uređaja i napona cilja trebali bi se širiti u skladu s tim. Ako ne provjere veze i pokušajte ponovo.
Za bljeskalicu pokretačkog programa prvo moramo onemogućiti BOOTPROT osigurač. Da biste to učinili, odaberite Osigurači> USER_WORD_0. NVMCTRL_BOOTPROT i promijenite u 0 bajtova. Kliknite Program za učitavanje promjena.
Sada možemo pokrenuti bootloader odabirom Memories> Flash i postaviti lokaciju pokretačkog programa. Provjerite Erase Flash prije odabira programiranja i kliknite Program. Ako sve prođe u redu, D13 na ploči bi trebao početi pulsirati.
Sada ćete morati postaviti BOOTPROT osigurač na veličinu pokretačkog programa 8kB. Da biste to učinili, odaberite Osigurači> USER_WORD_0. NVMCTRL_BOOTPROT i promijenite na 8192 bajta. Kliknite na program da biste učitali promjene.
Sada kada je pokretački program učitavan D13 bi trebao pulsirati i ako je priključen preko USB -a, trebao bi se pojaviti uređaj za masovnu pohranu. Ovdje se mogu učitati UF2 datoteke za programiranje ploče.
Korak 4: Firmware: Flashing Code sa PlatformIO


Firmware se može učitati putem UF2 protokola ili direktno putem SWD sučelja. Ovdje ćemo koristiti PlatformIO zbog njegove lakoće i jednostavnosti. Za početak kreirajte novi PIO projekt i odaberite Adafruit Feather M0 kao ciljnu ploču. Prilikom učitavanja preko SWD-a sa J-Link-om postavite upload_protocol na platformio.ini kao što je prikazano ispod.
[env: adafruit_feather_m0] platforma = atmelsam ploča = adafruit_feather_m0 framework = arduino upload_protocol = jlink
Sada možete programirati ploču s jednostavnošću Arduino okvira.
Korak 5: Firmware: Bljeskanje sidra


Moduli DWM1000 mogu se konfigurirati kao sidra ili oznake. Sidra se općenito drže na poznatim statičkim lokacijama, a oznake koriste sidra kako bi im postavile relativan položaj. Za testiranje DWM1000 modula možete prenijeti primjer DW1000-Anchor iz spremišta GitHub.
Za fleširanje ovog programa sa PlatformIO, iz PIO Home, odaberite Otvori projekt, a zatim pronađite lokaciju mape DW1000-Anchor u spremištu GitHub. Zatim kliknite gumb PIO upload i automatski će pronaći priloženu sondu za otklanjanje grešaka (provjerite je li spojena i ploča je napajana).
Firmver oznaka morat će se prenijeti na drugu ploču. Tada se rezultat može vidjeti na serijskom terminalu.
Korak 6: Idite dalje

Daljnja poboljšanja ovog projekta uključivat će razvoj nove biblioteke DW1000, ploča V1.1 mijenja druge projekte koji koriste ovu široku tehnologiju. Ako postoji dovoljno interesa, razmislit ću o proizvodnji i prodaji ovih ploča.
Hvala na čitanju. Ostavite sve misli ili kritike u komentarima ispod i svakako pogledajte projekt na Prototyping Corner -u
Preporučuje se:
Dizajn igre brzim pokretom u 5 koraka: 5 koraka

Dizajn igre u Flick -u u 5 koraka: Flick je zaista jednostavan način da napravite igru, posebno nešto poput zagonetke, vizuelnog romana ili avanturističke igre
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka

Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom uputstvu ćemo izvršiti otkrivanje lica na Raspberry Pi 4 sa Shunya O/S koristeći biblioteku Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja sa
Kako napraviti brojač koraka?: 3 koraka (sa slikama)

Kako napraviti brojač koraka?: Nekada sam se dobro snašao u mnogim sportovima: hodanje, trčanje, vožnja bicikla, igranje badmintona itd. Volim jahanje da bih brzo putovao. Pa, pogledaj moj trbušni trbuh … Pa, u svakom slučaju, odlučujem ponovo početi vježbati. Koju opremu treba pripremiti?
Brojač koraka - Mikro: Bit: 12 koraka (sa slikama)

Brojač koraka - Micro: Bit: Ovaj projekat će biti brojač koraka. Za mjerenje koraka koristit ćemo senzor akcelerometra koji je ugrađen u Micro: Bit. Svaki put kada se Micro: Bit protrese, broju ćemo dodati 2 i prikazati ga na ekranu
Broj koraka / koraka: 3 koraka

পেনড্রাইভ / মেমোরি কার্ডে ভাইরাসের ভাইরাসের হারিয়ে সমাধান সমাধান সমাধান সমাধান সমাধান পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি এখন এখন এখন।।।।।। Zaštita podataka, pristup prečicama / virusima