Tartalomjegyzék:

UWB lokalizációs toll: 6 lépés
UWB lokalizációs toll: 6 lépés

Videó: UWB lokalizációs toll: 6 lépés

Videó: UWB lokalizációs toll: 6 lépés
Videó: Apple AirTag: КАК РАБОТАЕТ UWB? | РАЗБОР 2024, Július
Anonim
UWB lokalizációs toll
UWB lokalizációs toll

Az Ultra-WideBand Feather a Decawave DWM1000 modult és az ATSAMD21 ARM Cortex M0-t tartalmazza az Adafruit tollformában. A DWM1000 modul egy IEEE802.15.4-2011 UWB-kompatibilis vezeték nélküli modul, amely precíz beltéri helymeghatározásra és nagy adatátviteli sebességre képes, így ez a lap tökéletes olyan robotikai projektekhez, ahol lokalizációra van szükség.

Jellemzők:-Decawave DWM1000 a precíz követéshez-ARM Cortex M0 a gyors és erőteljes alkalmazásokhoz-Adafruit Feather kompatibilis a széles körű meglévő ökoszisztémával-SWD interfész az alkalmazások programozásához és hibakereséséhez-USB-C csatlakozó-Integrált LiPo akkumulátortöltő

A teljes projekt leírásért és frissítésekért tekintse meg ezt a projektet a Prototyping Corner webhelyemen a prototypingcorner.io/projects/uwb-feather címen.

A projekt forrás hardvere és szoftvere elérhető a GitHub adattárból.

1. lépés: Hardvertervezés

Hardver tervezés
Hardver tervezés
Hardver tervezés
Hardver tervezés
Hardver tervezés
Hardver tervezés

Amint azt a bevezetőben említettük, az UWB Feather egy agyi ATSAMD21 ARM Cortext M0+ -ból és egy Decawave DWM1000 modulból áll az ultra-széles sávú vezeték nélküli számára. A kialakítás viszonylag egyszerű, 20 BoM elemből áll, 2 rétegű NYÁK-on. A Pinout Adafruit M0 Feather kompatibilis

A LiPo töltést az egycellás MCP73831 teljesen integrált töltéskezelő vezérli. Az akkumulátor feszültsége nyomon követhető a D9 -en, de minden IO -hoz hozzáférés szükséges, a JP1 levágható, hogy felszabadítsa ezt a csapot. A 3,3 voltos szabályozást előkészíti az AP2112K-3.3 alacsony kiesésű lineáris szabályozó, amely akár 600 mA-t biztosít.

A Pinout teljesen kompatibilis az Adafruit M0 tollsorral a könnyű kódhordozás érdekében. A DWM1000 IO vonalak az SPI buszhoz és a 2., 3. és 4. digitális tűhöz vannak csatlakoztatva az RST, IRQ és SPI_CS számára (amelyek nem láthatók a fejlécen keresztül). A D13 a fedélzeti LED-hez is csatlakozik, ahogyan az számos Arduino-kompatibilis tábla között megtalálható.

A programozás végrehajtható az SWD fejlécén vagy USB-n keresztül, ha betöltődik egy megfelelő rendszerbetöltővel, például a Microsoft uf2-samdx1-el. További információért lásd a firmware -t.

Megjegyzés a V1.0 -ról

Probléma van a kártya 1-es verziójának USB-C csatlakozójával. Az általam használt lábnyom nem tartalmazta az alkatrész kivágásához szükséges kivágást.

Az 1.1-es verzió tartalmaz egy javítást ehhez, valamint egy micro-b csatlakozót is a hozzátartozók számára. Lásd alább az 1.1 verzió megfontolásait.

Az anyagjegyzék és a hardver 1.1 verziójának tervezési szempontjait lásd a projekt leírásában.

2. lépés: Összeszerelés

Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés

Mivel csak 20 BoM elem és a legtöbb alkatrész nem kisebb, mint 0603 (a 2x kristályos kondenzátor 0402 volt), ennek a lapnak a kézi összeszerelése egyszerű volt. Nálam volt a JLCPCB által gyártott NYÁK és forrasztószalag matt fekete színben, ENIG felületkezeléssel.

Az 5 tábla (bár 10 -nek nem volt árkülönbsége) és a sablon teljes költsége 68 AUD, de ebből 42 dollár volt a szállítás. Az első megrendelés a JLCPCB -től és a táblák nagyon jó minőségűek voltak, szép kivitelben.

3. lépés: Firmware: A rendszerindító programozása

Firmware: A Bootloader programozása
Firmware: A Bootloader programozása
Firmware: A Bootloader programozása
Firmware: A Bootloader programozása
Firmware: A Bootloader programozása
Firmware: A Bootloader programozása

A firmware betölthető az SWD csatlakozóra egy olyan programozó segítségével, mint a Segger J-Link. A fent látható J-Link EDU Mini. A tábla programozásának megkezdéséhez be kell töltenünk a rendszerbetöltőt, majd be kell állítanunk a szerszámláncunkat.

Az Atmel Studio -t fogom használni a rendszerbetöltő villogásához. Ehhez csatlakoztassa a J-Linket, és nyissa meg az Atmel Stúdiót. Ezután válassza az Eszközök> Eszközprogramozás lehetőséget. Az Eszköz alatt válassza ki a J-Linket, és állítsa az Eszközt ATSAMD21G18A értékre, majd kattintson az Alkalmaz gombra.

Csatlakoztassa a J-Link-t a toll SWD fejlécéhez, és tápellátást végezzen USB-n vagy az akkumulátoron keresztül. A csatlakoztatás után az Eszköz aláírása alatt kattintson az Olvasás gombra. Az eszköz aláírása és a célfeszültség szövegmezőknek ennek megfelelően kell terjedniük. Ha nem ellenőrzik a csatlakozásokat, és próbálja újra.

A rendszerindító betöltéséhez először le kell tiltanunk a BOOTPROT biztosítékot. Ehhez válassza a Biztosítékok> USER_WORD_0. NVMCTRL_BOOTPROT lehetőséget, és állítsa 0 bájtra. Kattintson a Program gombra a módosítások feltöltéséhez.

Most felvillanhatjuk a rendszerbetöltőt, ha kiválasztjuk a Memories> Flash elemet, és beállítjuk a bootloader helyét. Győződjön meg róla, hogy a programozás előtt kiválasztja a Flash törlését, majd kattintson a Program gombra. Ha minden jól megy, a táblán a D13 -nak pulzálnia kell.

Most be kell állítania a BOOTPROT biztosítékot a 8 KB -os rendszerbetöltő méretre. Ehhez válassza a Biztosítékok> USER_WORD_0. NVMCTRL_BOOTPROT lehetőséget, és állítsa át 8192 bájtra. Kattintson a programra a módosítások feltöltéséhez.

Most, hogy a rendszerindító betöltődött, a D13 -nak pulzálnia kell, és ha USB -n keresztül van csatlakoztatva, akkor egy háttértárolónak kell megjelennie. Ide lehet feltölteni UF2 fájlokat a tábla programozásához.

4. lépés: Firmware: Villogó kód a PlatformIO segítségével

Firmware: Villogó kód a PlatformIO -val
Firmware: Villogó kód a PlatformIO -val
Firmware: Villogó kód a PlatformIO -val
Firmware: Villogó kód a PlatformIO -val

A firmware feltölthető az UF2 protokollon keresztül vagy közvetlenül az SWD interfészen keresztül. Itt a PlatformIO -t fogjuk használni annak egyszerűsége és egyszerűsége miatt. A kezdéshez hozzon létre egy új PIO projektet, és válassza ki az Adafruit Feather M0 céltáblát. Ha SWD-n keresztül tölt fel J-Link segítségével, állítsa be a upload_protocol protokollt a platformio.ini fájlban az alábbiak szerint.

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

Most már az Arduino keretrendszer egyszerűségével programozhatja a táblát.

5. lépés: Firmware: A horgony villogása

Firmware: A horgony villogása
Firmware: A horgony villogása
Firmware: A horgony villogása
Firmware: A horgony villogása

A DWM1000 modulok horgonyokká vagy címkékké konfigurálhatók. A horgonyokat általában az ismert statikus helyeken tartják, és a címkék horgonyokat használnak ahhoz, hogy viszonylagos pozíciót kapjanak hozzájuk. A DWM1000 modul teszteléséhez töltse fel a DW1000-Anchor példát a GitHub adattárból.

Ha ezt a programot a PlatformIO-val szeretné felvillanni, a PIO Home-ból válassza a Project megnyitása lehetőséget, majd keresse meg a DW1000-Anchor mappa helyét a GitHub lerakatban. Ezután kattintson a PIO feltöltés gombra, és automatikusan megtalálja a csatolt hibakeresési szondát (győződjön meg arról, hogy csatlakoztatva van, és a tápellátás be van kapcsolva).

A címke firmware -t fel kell tölteni egy másik táblára. Ezután az eredmény megtekinthető egy soros terminálon.

6. lépés: Továbblépés

Továbblépve
Továbblépve

A projekt további fejlesztései közé tartozik egy új DW1000 könyvtár fejlesztése, a V1.1 tábla megváltoztatja azokat a projekteket, amelyek ezt a technológiát használják. Ha kellő érdeklődés mutatkozik, megfontolom ezeknek a lapoknak a gyártását és értékesítését.

Köszönöm, hogy elolvasta. Hagyja meg gondolatait vagy kritikáit az alábbi megjegyzésekben, és feltétlenül nézze meg a Prototyping Corner projektjét

Ajánlott: