Taula de continguts:
- Pas 1: disseny de maquinari
- Pas 2: Muntatge
- Pas 3: Firmware: programació del carregador d'arrencada
- Pas 4: Firmware: codi intermitent amb PlatformIO
- Pas 5: Firmware: intermitència de l'ancoratge
- Pas 6: anar més enllà
Vídeo: Ploma de localització UWB: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Ultra-WideBand Feather incorpora el mòdul Decawave DWM1000 i un ATSAMD21 ARM Cortex M0 al format de ploma Adafruit. El mòdul DWM1000 és un mòdul sense fils compatible amb IEEE802.15.4-2011 UWB capaç de posicionar amb precisió a l'interior i de velocitats de dades elevades, cosa que fa que aquesta placa sigui perfecta per a projectes de robòtica on es requereixi localització.
Característiques: - Decawave DWM1000 per al seguiment de precisió - ARM Cortex M0 per a aplicacions ràpides i potents - Compatible amb Adafruit Feather per integrar-se amb un ampli ecosistema existent - Interfície SWD per a programació i depuració d’aplicacions - Connector USB-C - Carregador de bateria LiPo integrat
Per obtenir la completa redacció i actualització del projecte, consulteu aquest projecte al meu lloc Racó de prototips a prototypingcorner.io/projects/uwb-feather
El maquinari i el programari d’origen d’aquest projecte estan disponibles al dipòsit de GitHub.
Pas 1: disseny de maquinari
Com es va esmentar a la introducció, el UWB Feather consisteix en un ATSAMD21 ARM Cortext M0 + per al cervell i un mòdul Decawave DWM1000 per a la banda sense fils ultra ampla, en el format de forma de ploma. El disseny és relativament senzill i consta de 20 articles BoM en un PCB de 2 capes. Pinout és compatible amb Adafruit M0 Feather
La càrrega LiPo és gestionada pel controlador de gestió de càrrega completament integrat d’una sola cel·la MCP73831. El voltatge de la bateria es pot controlar a D9, però és necessari l'accés a totes les E / S, es pot tallar JP1 per alliberar aquest passador. El regulador lineal de baixa caiguda AP2112K-3.3 preforma la regulació de 3,3 volts, que proporciona fins a 600 mA.
Pinout és totalment compatible amb la línia de plomes Adafruit M0 per facilitar la portabilitat del codi. Les línies IO DWM1000 estan connectades al bus SPI i als pins digitals 2, 3 i 4 per RST, IRQ i SPI_CS respectivament (que no estan exposats a través de la capçalera). El D13 també està connectat al LED integrat, com és estàndard entre moltes plaques compatibles amb Arduino.
La programació es pot preformar a través de la capçalera SWD o mitjançant USB si es carrega amb un carregador d’arrencada corresponent, com ara uf2-samdx1 de Microsoft. Consulteu el firmware per obtenir més informació.
Nota sobre V1.0
Hi ha un problema amb el connector USB-C a la versió 1 d'aquesta placa. La petjada que vaig fer servir no incloïa el retall necessari per al mètode de muntatge del retall d’aquest component.
La versió 1.1 inclourà una solució per a això, a més d’afegir un connector micro-b per a aquells que ho vulguin. Vegeu les consideracions de la versió 1.1 a continuació.
Per a les consideracions de disseny de la llista 1.1 de materials i maquinari, consulteu l'escriptura del projecte.
Pas 2: Muntatge
Amb només 20 articles BoM i la majoria dels components no eren inferiors a 0603 (els condensadors de cristall de 2x eren 0402), el muntatge manual d'aquesta placa va ser fàcil. Tenia la plantilla de PCB i soldadura fabricada per JLCPCB en negre mat amb acabat superficial ENIG.
El cost total de 5 taulers (tot i que 10 no tenia diferència de preu) i la plantilla va ser de 68 AUD, però en va enviar 42 per dòlars. Per primera vegada, les comandes de JLCPCB i taulers eren de molt alta qualitat amb un bon acabat.
Pas 3: Firmware: programació del carregador d'arrencada
El microprogramari es pot carregar al connector SWD mitjançant un programador com el J-Link de Segger. A la part superior es mostra el J-Link EDU Mini. Per començar a programar la placa, hem de carregar el carregador d’arrencada i configurar la cadena d’eines.
Faré servir Atmel Studio per llançar el gestor d’arrencada. Per fer-ho, connecteu J-Link i obriu Atmel Studio. A continuació, seleccioneu Eines> Programació de dispositius. A Eina, seleccioneu el J-Link i configureu el dispositiu a ATSAMD21G18A i feu clic a Aplica.
Connecteu el J-Link a la capçalera SWD de ploma i alimenteu-lo mitjançant USB o mitjançant la bateria. Un cop connectat, a Signatura del dispositiu, feu clic a Llegeix. Els quadres de text Signatura del dispositiu i Voltatge de destinació s’han de propagar en conseqüència. Si no comproven les connexions i torneu-ho a provar.
Per fer flaixar el carregador d’arrencada primer hem de desactivar el fusible BOOTPROT. Per fer-ho, seleccioneu Fusibles> USER_WORD_0. NVMCTRL_BOOTPROT i canvieu a 0 bytes. Feu clic a Programa per penjar els canvis.
Ara podem fer flaixar el carregador d’arrencada seleccionant Memòries> Flaix i establir la ubicació del carregador d’arrencada. Assegureu-vos que Esborra Flash abans de seleccionar la programació i feu clic a Programa. Si tot va bé, D13 al tauler hauria de començar a polsar.
Ara haureu d’establir el fusible BOOTPROT a la mida del carregador d’arrencada de 8 KB. Per fer-ho, seleccioneu Fusibles> USER_WORD_0. NVMCTRL_BOOTPROT i canvieu a 8192 Bytes. Feu clic a programa per penjar els canvis.
Ara que el carregador d'arrencada s'ha llampat, el D13 hauria de fer pulsacions i, si està connectat per USB, hauria d'aparèixer un dispositiu d'emmagatzematge massiu. Aquí és on es poden penjar fitxers UF2 per programar la placa.
Pas 4: Firmware: codi intermitent amb PlatformIO
El microprogramari es pot penjar mitjançant el protocol UF2 o directament a través de la interfície SWD. Aquí utilitzarem PlatformIO per la seva facilitat i simplicitat. Per començar, creeu un nou projecte PIO i seleccioneu Adafruit Feather M0 com a tauler objectiu. En carregar per SWD amb un J-Link, configureu upload_protocol a platformio.ini tal com es mostra a continuació.
[env: adafruit_feather_m0] platform = atmelsam board = adafruit_feather_m0 framework = arduino upload_protocol = jlink
Ara podeu programar la placa amb la senzillesa del framework Arduino.
Pas 5: Firmware: intermitència de l'ancoratge
Els mòduls DWM1000 es poden configurar per ser ancoratges o etiquetes. Generalment, els ancoratges es mantenen en llocs estàtics coneguts i les etiquetes utilitzen ancoratges per obtenir una posició relativa a ells. Per provar el mòdul DWM1000 podeu penjar l'exemple DW1000-Anchor des del dipòsit GitHub.
Per fer flash aquest programa amb PlatformIO, des de PIO Home, seleccioneu Obre projecte i cerqueu la ubicació de la carpeta DW1000-Anchor al dipòsit GitHub. A continuació, feu clic al botó de càrrega PIO i trobarà automàticament la sonda de depuració adjunta (assegureu-vos que estigui connectada i que la placa estigui alimentada).
El microprogramari de l’etiqueta s’haurà de carregar a un altre tauler. A continuació, el resultat es pot veure en un terminal sèrie.
Pas 6: anar més enllà
Altres millores d’aquest projecte inclouran el desenvolupament d’una nova biblioteca DW1000, la placa V1.1 canviarà altres projectes que utilitzin aquesta tecnologia de gamma. Si hi ha prou interès, consideraré la possibilitat de fabricar i vendre aquestes taules.
Gràcies per llegir. Deixeu qualsevol comentari o crítica als comentaris següents i no oblideu consultar el projecte a Prototyping Corner
Recomanat:
Sistema de localització d'emmagatzematge de resistències "Resys": 7 passos (amb imatges)
Sistema de localització d'emmagatzematge de resistències "Resys": és un sistema que facilita la cerca de les resistències. Cerqueu al valor desitjat i il·lumina el calaix adequat. Aquest sistema es pot ampliar al nombre de calaixos desitjat
WIND - Accelerador de projectes per a la ploma d'Adafruit: 9 passos (amb imatges)
WIND - Project Accelerator per a Adafruit Feather: lentament he anat recopilant els diferents microcontroladors i plaques de sensors Adafruit Feather disponibles a Adafruit. Ells fan que el prototipatge i les proves siguin molt fàcils i sóc un gran fan de la disposició del tauler. Des que em vaig trobar en nosaltres
Silueta de ploma 3D vermella: 4 passos
Silueta de ploma 3D vermella: Benvingut al primer instructiu de Yantrah. La setmana passada vam fer aquesta silueta de llapis vermell en 3D i vam pensar que compartiríem la plantilla que vam fer servir i que us informaríem de com ho vam fer. Esperem que us divertiu igual que nosaltres fent aquest i l’element sorpresa
Màquina de dibuixar polargraf de gran escala amb cap de ploma retràctil: 4 passos (amb imatges)
Màquina de dibuix Polargraph a gran escala amb cap de ploma retràctil: * La instal·lació a gran escala d'aquesta màquina va ser concebuda i executada amb Rui Periera. Aquest és un disseny per al dibuix de codi obert Polargraph (http://www.polargraph.co.uk/) projecte. Compta amb un cap de ploma retràctil i maquinari per permetre-li
Caixa de ploma de casetes de vídeo: 8 passos
Video Casette Boom Box: aquest és el meu primer instructable, així que si us plau, sigueu amables. Vaig tenir aquesta idea fa uns dies, i m’hi vaig acostar. en aquest instructiu us mostraré com he fet una petita caixa de ploma portàtil amb un conjunt d’altaveus d’ordinador i una caseta de vídeo. demano disculpes