Sisällysluettelo:
- Vaihe 1: Laitteiston suunnittelu
- Vaihe 2: Kokoonpano
- Vaihe 3: Laiteohjelmisto: Bootloaderin ohjelmointi
- Vaihe 4: Laiteohjelmisto: Vilkkuva koodi PlatformIO: n kanssa
- Vaihe 5: Laiteohjelmisto: Ankkurin vilkkuminen
- Vaihe 6: Siirry pidemmälle
Video: UWB -lokalisointiliuska: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Ultra-WideBand Feather sisältää Decawave DWM1000 -moduulin ja ATSAMD21 ARM Cortex M0: n Adafruit-höyhenmuotoon. DWM1000-moduuli on IEEE802.15.4-2011 UWB-yhteensopiva langaton moduuli, joka kykenee tarkkaan paikannukseen sisätiloissa ja korkean tiedonsiirtonopeuden, joten tämä levy sopii täydellisesti robotiikkaprojekteihin, joissa tarvitaan lokalisointia.
Ominaisuudet:-Decawave DWM1000 tarkkaa seurantaa varten-ARM Cortex M0 nopeille ja tehokkaille sovelluksille-Adafruit Feather -yhteensopiva integroitavaksi laajaan ekosysteemiin-SWD-käyttöliittymä ohjelmointi- ja virheenkorjaussovelluksia varten-USB-C-liitin-Integroitu LiPo-laturi
Jos haluat nähdä koko projektin kirjoitukset ja päivitykset, katso tämä projekti sivustossani Prototyping Corner osoitteessa prototypingcorner.io/projects/uwb-feather
Tämän projektin lähdelaitteisto ja -ohjelmisto on saatavana GitHub -arkistosta.
Vaihe 1: Laitteiston suunnittelu
Kuten johdannossa mainittiin, UWB Feather koostuu ATSAMD21 ARM Cortext M0+: sta aivoille ja Decawave DWM1000 -moduulista erittäin laajakaistaiselle langattomalle, höyhenmuotoisena. Suunnittelu on suhteellisen yksinkertainen, ja se koostuu 20 BoM-tuotteesta 2-kerroksisella PCB: llä. Pinout on Adafruit M0 Feather -yhteensopiva
LiPo-latausta hoitaa yksisoluinen, täysin integroitu latauksenhallintaohjain MCP73831. Akun jännitettä voidaan valvoa D9: llä, mutta tarvitaan pääsy kaikkiin IO: iin, JP1 voidaan leikata vapauttamaan tämä nasta. 3,3 voltin säätö on esisuunniteltu AP2112K-3.3 matalan katkaisun lineaarisella säätimellä, joka tarjoaa jopa 600 mA.
Pinout on täysin yhteensopiva Adafruit M0 -höyhenlinjan kanssa, mikä helpottaa koodin siirtämistä. DWM1000 IO -linjat on kytketty SPI -väylään ja digitaalisiin nastoihin 2, 3 ja 4 RST-, IRQ- ja SPI_CS -järjestelmille (joita ei paljasteta otsikon kautta). D13 on myös kytketty sisäiseen LED-valoon, kuten vakiona monien Arduino-yhteensopivien levyjen joukossa.
Ohjelmointi voidaan suorittaa SWD-otsikon kautta tai USB: n kautta, jos se on ladattu vastaavalla käynnistyslataimella, kuten Microsoftin uf2-samdx1. Katso lisätietoja laiteohjelmistosta.
Huomautus V1.0: sta
Ongelma tämän kortin version 1 USB-C-liittimessä. Käyttämäni jalanjälki ei sisältänyt tämän komponentin katkaisuasennusta varten tarvittavaa aukkoa.
Versio 1.1 sisältää korjauksen tähän sekä micro-b-liittimen lisäämisen halukkaille. Katso alla olevat versiot 1.1.
Katso materiaaliluettelon ja laitteiston version 1.1 suunnittelunäkökohdat projektin kuvauksesta.
Vaihe 2: Kokoonpano
Koska vain 20 BoM -osaa ja useimmat komponentit olivat vähintään 0603 (2x -kristallikondensaattorit olivat 0402), tämän levyn käsin kokoaminen oli helppoa. Minulla oli JLCPCB: n valmistama piirilevy ja juotoskaavain mattamustana ENIG -pintakäsittelyllä.
Kokonaiskustannukset 5 levylle (vaikka 10: llä ei ollut hintaeroa) ja kaavain oli 68 dollaria AUD, mutta siitä 42 dollaria oli toimitus. Ensimmäinen tilaus JLCPCB: ltä ja levyt olivat erittäin korkealaatuisia ja mukava viimeistely.
Vaihe 3: Laiteohjelmisto: Bootloaderin ohjelmointi
Laiteohjelmisto voidaan ladata SWD-liitännän kautta käyttämällä ohjelmoijaa, kuten Seggerin J-Link. Yllä on J-Link EDU Mini. Aloittaaksemme piirilevyn ohjelmoinnin meidän on ladattava käynnistyslatain ja asennettava työkaluketju.
Käytän Atmel Studiota käynnistyslataimen vilkuttamiseen. Liitä J-Link ja avaa Atmel Studio. Valitse sitten Työkalut> Laiteohjelmointi. Valitse työkalusta J-Link ja aseta Laitteen asetukseksi ATSAMD21G18A ja napsauta sitten Käytä.
Liitä J-Link höyhen SWD-otsakkeeseen ja kytke virta joko USB: n tai akun kautta. Kun yhteys on muodostettu, valitse Laitteen allekirjoitus -kohdasta Lue. Laitteen allekirjoitus- ja tavoitejännite -tekstiruutujen tulisi levitä vastaavasti. Jos he eivät tarkista yhteyksiä ja yritä uudelleen.
Käynnistyslataimen vilkuttamiseksi meidän on ensin poistettava BOOTPROT -sulake käytöstä. Voit tehdä tämän valitsemalla Sulakkeet> USER_WORD_0. NVMCTRL_BOOTPROT ja muuttamalla arvoksi 0 tavua. Lataa muutokset napsauttamalla Ohjelma.
Nyt voimme käynnistää käynnistyslataimen valitsemalla Muistit> Flash ja asettamaan käynnistyslataimen sijainnin. Varmista, että Erase Flash ennen ohjelmointia on valittuna, ja napsauta Program. Jos kaikki menee hyvin, D13 -levyn pitäisi alkaa pulssoida.
Nyt sinun on asetettava BOOTPROT -sulake 8 kb: n käynnistyslataimen kokoon. Voit tehdä tämän valitsemalla Sulakkeet> USER_WORD_0. NVMCTRL_BOOTPROT ja vaihtamalla 8192 tavuun. Lataa muutokset napsauttamalla ohjelmaa.
Nyt kun käynnistyslatain on välähtänyt, D13: n pitäisi vilkkua ja jos se on kytketty USB: n kautta, massamuistilaite tulee näkyviin. Täältä voidaan ladata UF2 -tiedostoja levyn ohjelmointia varten.
Vaihe 4: Laiteohjelmisto: Vilkkuva koodi PlatformIO: n kanssa
Laiteohjelmisto voidaan ladata UF2 -protokollan kautta tai suoraan SWD -liitännän kautta. Täällä käytämme PlatformIO: ta sen helppokäyttöisyyden ja yksinkertaisuuden vuoksi. Aloita luomalla uusi PIO -projekti ja valitsemalla kohdetauluksi Adafruit Feather M0. Kun lataat SWD: n kautta J-Linkillä, aseta upload_protokolla osoitteessa platformio.ini alla kuvatulla tavalla.
[env: adafruit_feather_m0] platform = atmelsam board = adafruit_feather_m0 Framework = arduino upload_protocol = jlink
Nyt voit ohjelmoida levyn Arduino -kehyksen yksinkertaisuudella.
Vaihe 5: Laiteohjelmisto: Ankkurin vilkkuminen
DWM1000 -moduulit voidaan määrittää ankkureiksi tai tunnisteiksi. Yleensä ankkureita pidetään tunnetuissa staattisissa paikoissa ja tunnisteet käyttävät ankkureita saadakseen suhteellisen sijainnin niihin. Voit testata DWM1000-moduulia lataamalla esimerkin DW1000-Anchor GitHub-arkistosta.
Jos haluat käynnistää tämän ohjelman PlatformIO: n avulla, valitse PIO Home -sivulta Avaa projekti ja etsi sitten DW1000-Anchor-kansion sijainti GitHub-arkistosta. Napsauta sitten PIO -latauspainiketta ja se löytää automaattisesti liitetyn virheenkorjausanturin (varmista, että se on kytketty ja levyllä on virta).
Tagin laiteohjelmisto on ladattava toiselle levylle. Sitten tulos voidaan katsoa sarjapäätteessä.
Vaihe 6: Siirry pidemmälle
Tämän projektin lisäparannuksia ovat uuden DW1000 -kirjaston kehittäminen, V1.1 -levy muuttaa muita projekteja, jotka hyödyntävät tätä vaihtelevaa tekniikkaa. Jos kiinnostusta riittää, harkitsen näiden levyjen valmistusta ja myyntiä.
Kiitos lukemisesta. Jätä ajatuksia tai kritiikkiä alla oleviin kommentteihin ja tutustu Prototyping Corner -hankkeeseen
Suositeltava:
DIY Raspberry Pi Downloadbox: 4 vaihetta
DIY Raspberry Pi Downloadbox: Löydätkö usein itsesi lataamasta suuria tiedostoja, kuten elokuvia, torrentteja, kursseja, TV -sarjoja jne., Niin tulet oikeaan paikkaan. Tässä Instructable -ohjelmassa muuttaisimme Raspberry Pi zero -laitteemme latauskoneeksi. Joka voi ladata minkä tahansa
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen