Sadržaj:

Perje za lokalizaciju UWB -a: 6 koraka
Perje za lokalizaciju UWB -a: 6 koraka

Video: Perje za lokalizaciju UWB -a: 6 koraka

Video: Perje za lokalizaciju UWB -a: 6 koraka
Video: Кровать Carolina 2024, Srpanj
Anonim
UWB Lokalizacijsko pero
UWB Lokalizacijsko pero

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 koji može precizno pozicionirati u zatvorenom prostoru 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 cjelovito 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 projekt dostupni su iz GitHub spremišta.

Korak 1: Dizajn hardvera

Dizajn hardvera
Dizajn hardvera
Dizajn hardvera
Dizajn hardvera
Dizajn hardvera
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 stavki BoM-a na 2-slojnoj PCB-u. Ispis je kompatibilan s Adafruit M0 Feather

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 prekinuti kako bi se oslobodio ovaj pin. Regulaciju od 3,3 volta 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 kao što je uf2-samdx1 iz Microsofta. Za više informacija pogledajte firmver.

Napomena o V1.0

Postoji problem s USB-C priključkom na verziji 1 ove ploče. Otisak koji sam koristio nije uključivao izrez potreban za način ugradnje izreza ove komponente.

Verzija 1.1 uključivat će popravak za to, kao i dodavanje micro-b konektora za one koji to žele. U nastavku pogledajte razmatranja verzije 1.1.

Za razmatranje dizajna Predloga materijala i hardvera Verzije 1.1 pogledajte opis projekta.

Korak 2: Montaža

Skupština
Skupština
Skupština
Skupština
Skupština
Skupština
Skupština
Skupština

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 s ENIG površinskom obradom.

Ukupni trošak za 5 ploča (iako 10 nije imalo razlike u cijeni) i matrice iznosio je 68 USD, ali 42 USD od toga je dostava. Prvi put naručivanje s JLCPCB -a i ploče su bile vrlo visoke kvalitete s lijepom završnom obradom.

Korak 3: Firmware: Programiranje pokretačkog programa

Firmware: Programiranje pokretačkog programa
Firmware: Programiranje pokretačkog programa
Firmware: Programiranje Bootloader -a
Firmware: Programiranje Bootloader -a
Firmware: Programiranje Bootloader -a
Firmware: Programiranje Bootloader -a

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š bootloader, a zatim postaviti naš lanac alata.

Koristit ću Atmel Studio za bljeskalicu pokretača. Da biste to učinili, uključite J-Link i otvorite Atmel Studio. Zatim odaberite Alati> Programiranje uređaja. U odjeljku Alat odaberite J-Link i postavite Uređaj na ATSAMD21G18A, a zatim kliknite Primijeni.

Spojite J-Link na SWER zaglavlje s perjem i uključite napajanje putem USB-a ili putem baterije. Nakon povezivanja, 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 ponovno.

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 prijenos promjena.

Sada možemo pokrenuti bootloader odabirom Memories> Flash i postaviti lokaciju pokretača. Prije odabira programiranja provjerite Erase Flash 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 program za učitavanje promjena.

Sada kada je pokretački program učitao 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: Treptanje koda s PlatformIO

Firmware: Bljeskajući kôd s PlatformIO
Firmware: Bljeskajući kôd s PlatformIO
Firmware: Bljeskajući kôd s PlatformIO
Firmware: Bljeskajući kôd s PlatformIO

Firmware se može učitati putem UF2 protokola ili izravno putem SWD sučelja. Ovdje ćemo koristiti PlatformIO zbog njegove lakoće i jednostavnosti. Za početak izradite novi PIO projekt i odaberite Adafruit Feather M0 kao ciljnu ploču. Prilikom prijenosa preko SWD-a s J-Link-om postavite upload_protocol na platformio.ini kao što je prikazano u nastavku.

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

Sada možete programirati ploču s jednostavnošću Arduino okvira.

5. korak: Firmware: Bljeskanje sidra

Firmware: Bljeskanje sidra
Firmware: Bljeskanje sidra
Firmware: Bljeskanje sidra
Firmware: Bljeskanje sidra

Moduli DWM1000 mogu se konfigurirati kao sidra ili oznake. Sidra se općenito drže na poznatim statičkim mjestima, a oznake koriste sidra kako bi im donijele relativan položaj. Za testiranje modula DWM1000 možete prenijeti primjer DW1000-Anchor iz spremišta GitHub.

Za fleširanje ovog programa s platformom PlatformIO na PIO početnoj stranici odaberite Otvori projekt, a zatim pronađite lokaciju mape DW1000-Anchor u spremištu GitHub. Zatim kliknite gumb PIO upload i on će automatski pronaći priloženu sondu za otklanjanje pogreš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

Idući dalje
Idući dalje

Daljnja poboljšanja ovog projekta uključivat će razvoj nove knjižnice 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 provjerite projekt na Prototyping Corner -u

Preporučeni: