INHOUDSOPGAWE:
- Stap 1: Hardeware -ontwerp
- Stap 2: Montering
- Stap 3: Firmware: programmeer die opstartlaaier
- Stap 4: Firmware: flitsende kode met PlatformIO
- Stap 5: Firmware: flits die anker
- Stap 6: Gaan verder
Video: UWB -lokaliseringsveer: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Die Ultra-WideBand Feather bevat die Decawave DWM1000-module en 'n ATSAMD21 ARM Cortex M0 in die Adafruit-veervormfaktor. Die DWM1000-module is 'n IEEE802.15.4-2011 UWB-voldoenbare draadlose module wat presiese binnenshuise posisionering en hoë datatempo's kan maak, wat hierdie bord perfek maak vir robotika-projekte waar lokalisering benodig word.
Kenmerke:-Decawave DWM1000 vir presiese opsporing-ARM Cortex M0 vir vinnige en kragtige toepassings-Adafruit Feather verenigbaar om te integreer met 'n wye bestaande ekosisteem-SWD-koppelvlak vir programmering en ontfoutingstoepassings-USB-C-aansluiting-Geïntegreerde LiPo-batterylaaier
Vir die volledige opskrywing en opdaterings van die projek, kyk na hierdie projek op my webwerf Prototyping Corner by prototypingcorner.io/projects/uwb-feather
Bronhardeware en sagteware vir hierdie projek is beskikbaar by die GitHub Repository.
Stap 1: Hardeware -ontwerp
Soos in die inleiding genoem, bestaan die UWB Feather uit 'n ATSAMD21 ARM Cortext M0+ vir die brein en 'n Decawave DWM1000-module vir die ultra-wye band draadloos, in die veervormfaktor. Die ontwerp is relatief eenvoudig en bestaan uit 20 BoM-items op 'n 2-laags PCB. Pinout is versoenbaar met Adafruit M0 Feather
LiPo-laai word hanteer deur die MCP73831-enkelselle, volledig geïntegreerde beheerbestuurder vir laai. Batteryspanning kan op D9 gemonitor word, maar toegang tot al die IO is nodig; JP1 kan afgesny word om hierdie pen vry te laat. 3.3 volt-regulering word gevorm deur die AP2112K-3.3 lineêre reguleerder met 'n lae uitval, wat tot 600mA bied.
Pinout is ten volle versoenbaar met die Adafruit M0 veerlyn vir maklike draagbaarheid van die kode. Die DWM1000 IO -lyne is respekvol gekoppel aan die SPI -bus en digitale penne 2, 3 en 4 vir RST, IRQ en SPI_CS (wat nie via die koptekst blootgestel word nie). D13 is ook gekoppel aan die ingeboude LED, soos standaard onder baie Arduino-versoenbare borde.
Die programmering kan vooraf op die SWD-kop of via USB gevorm word as dit gelaai word met 'n ooreenstemmende selflaaiprogram, soos die uf2-samdx1 van Microsoft. Sien firmware vir meer.
Nota op V1.0
Daar is 'n probleem met die USB-C-aansluiting op weergawe 1 van hierdie bord. Die voetspoor wat ek gebruik het, bevat nie die uitsny wat nodig is vir die monteermetode van hierdie komponent nie.
Weergawe 1.1 bevat 'n oplossing hiervoor, sowel as 'n mikro-b-aansluiting vir diegene wat dit wil hê. Sien weergawes 1.1 oorwegings hieronder.
Raadpleeg die opstel van die projek vir materiaalontwerp en hardeware weergawe 1.1.
Stap 2: Montering
Met slegs 20 BoM -items en die meeste komponente nie kleiner as 0603 nie (die 2x kristalkondensators was 0402), was dit maklik om hierdie bord met die hand te monteer. Ek het die PCB en soldeerstensil deur JLCPCB in mat swart met ENIG -oppervlakafwerking laat vervaardig.
Totale koste vir 5 borde (hoewel 10 geen prysverskil gehad het nie) en sjabloon was $ 68 AUD, maar $ 42 daarvan was gestuur. Die eerste keer dat ek by JLCPCB en planke bestel het, was van baie hoë gehalte met 'n mooi afwerking.
Stap 3: Firmware: programmeer die opstartlaaier
Firmware kan oor die SWD-aansluiting gelaai word met behulp van 'n programmeerder soos die J-Link van Segger. Hierbo is die J-Link EDU Mini. Om die bord te begin programmeer, moet ons ons selflaaiprogram laai en dan ons gereedskapsketting opstel.
Ek sal Atmel Studio gebruik om die selflaaiprogram te flits. Om dit te doen, koppel die J-Link aan en maak Atmel Studio oop. Kies dan Tools> Device Programming. Kies onder Tool die J-Link en stel Device op ATSAMD21G18A en klik dan op Apply.
Koppel die J-Link aan die SWD-kop van die veer en gebruik krag via USB of via die battery. Sodra dit gekoppel is, klik onder Toestelhandtekening op Lees. Die teksblokkies Apparaathandtekening en Doelspanning moet dienooreenkomstig versprei. As hulle nie die verbindings nagaan nie en probeer weer.
Om die selflaaiprogram te laat flits, moet ons eers die BOOTPROT -lont uitskakel. Om dit te doen, kies Sekerings> USER_WORD_0. NVMCTRL_BOOTPROT en verander na 0 Bytes. Klik op Program om die veranderinge op te laai.
Nou kan ons die selflaaiprogram flits deur Memories> Flash te kies en die ligging van die selflaaiprogram in te stel. Maak seker dat Vee Flash uit voordat programmering gekies word en klik op Program. As alles goed gaan, moet D13 op die bord begin pols.
Nou moet u die BOOTPROT -lont instel op die grootte van 8kB selflaaiprogram. Om dit te doen, kies Sekerings> USER_WORD_0. NVMCTRL_BOOTPROT en verander na 8192 Bytes. Klik op die program om die veranderinge op te laai.
Noudat die selflaaiprogram geflits is, moet D13 pols en as dit via USB ingeprop word, moet 'n massa -opbergingstoestel verskyn. Dit is waar UF2 -lêers opgelaai kan word vir die programmering van die bord.
Stap 4: Firmware: flitsende kode met PlatformIO
Firmware kan via die UF2 -protokol of direk via die SWD -koppelvlak opgelaai word. Hier gebruik ons PlatformIO vanweë sy gemak en eenvoud. Om aan die gang te kom, skep 'n nuwe PIO -projek en kies Adafruit Feather M0 as die teikenbord. As u via SWD met 'n J-Link oplaai, stel die upload_protocol in platformio.ini soos hieronder getoon.
[env: adafruit_feather_m0] platform = atmelsam board = adafruit_feather_m0 raamwerk = arduino upload_protocol = jlink
Nou kan u die bord met die eenvoud van die Arduino -raamwerk programmeer.
Stap 5: Firmware: flits die anker
Die DWM1000 -modules kan gekonfigureer word om ankers of etikette te wees. Oor die algemeen word ankers op bekende statiese plekke gehou en etikette gebruik ankers om 'n relatiewe posisie daaroor te kry. Om die DWM1000-module te toets, kan u die DW1000-Anchor-voorbeeld vanaf die GitHub-bewaarplek oplaai.
Om hierdie program met PlatformIO te flits, kies Open Project in PIO Home en vind die ligging van die DW1000-Anchor-lêergids in die GitHub-bewaarplek. Klik dan op die PIO -oplaai -knoppie, en dit vind outomaties die aangehegte ontfoutingsondersoek (sorg dat dit gekoppel is en die bord met krag is).
Die tag -firmware moet na 'n ander bord opgelaai word. Dan kan die resultaat in 'n seriële terminaal besigtig word.
Stap 6: Gaan verder
Verdere verbeterings aan hierdie projek sal die ontwikkeling van 'n nuwe DW1000 -biblioteek insluit, die V1.1 -bord verander ander projekte wat gebruik maak van hierdie omvangryke tegnologie. As daar genoegsame belangstelling is, sal ek dit oorweeg om hierdie borde te vervaardig en te verkoop.
Dankie vir die lees. Laat enige gedagtes of kritiek in die kommentaar hieronder, en kyk gerus na die projek op Prototyping Corner
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies