Mündəricat:
- Addım 1: Avadanlıq Dizaynı
- Addım 2: Quraşdırma
- Addım 3: Firmware: Bootloader proqramlaşdırılması
- Addım 4: Firmware: PlatformIO ilə yanıb -sönən kod
- Addım 5: Firmware: Çapanın yanıb -sönməsi
- Addım 6: İrəli gedin
Video: UWB Yerləşdirmə Tüyü: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Ultra-WideBand Feather, Decawave DWM1000 modulunu və ATSAMD21 ARM Cortex M0-ı Adafruit lələk form faktoruna daxil edir. DWM1000 modulu, IEEE802.15.4-2011 UWB ilə uyğun olan, daxili məkanda dəqiq yerləşdirmə və yüksək məlumat ötürmə qabiliyyətinə malik simsiz moduldur və bu lövhəni lokalizasiyanın tələb olunduğu robototexnika layihələri üçün mükəmməl edir.
Xüsusiyyətlər:-Həssas izləmə üçün Decawave DWM1000-Sürətli və güclü tətbiqlər üçün ARM Cortex M0-Geniş bir ekosistemə inteqrasiya etmək üçün uyğun olan Adafruit Feather-proqramlaşdırma və ayıklama üçün SWD interfeysi-USB-C konnektoru-İnteqrasiya edilmiş LiPo batareya şarj cihazı
Tam layihə yazma və yeniləmələr üçün bu layihəni prototypingcorner.io/projects/uwb-feather ünvanındakı Prototipləşdirmə Küncündə saytımda görə bilərsiniz.
Bu layihə üçün qaynaq aparatı və proqram təminatı GitHub Deposundan əldə edilə bilər.
Addım 1: Avadanlıq Dizaynı
Girişdə qeyd edildiyi kimi, UWB Feather, beyinlər üçün bir ATSAMD21 ARM Cortext M0+ və ultra geniş diapazonlu simsiz üçün Decawave DWM1000 modulundan ibarətdir. Dizayn 2 qatlı bir PCB üzərində 20 BoM elementindən ibarət nisbətən sadədir. Pinout Adafruit M0 Feather ilə uyğun gəlir
LiPo şarjı, MCP73831 tək hüceyrəli, tam inteqrasiya edilmiş şarj idarəetmə nəzarətçisi tərəfindən idarə olunur. Batareya gərginliyi D9 -da izlənilə bilər, lakin bütün IO -ya giriş tələb olunur, bu pimi boşaltmaq üçün JP1 kəsilə bilər. 3.3 volt tənzimləmə, 600mA-a qədər təmin edən AP2112K-3.3 aşağı düşmə xətti tənzimləyicisi tərəfindən əvvəlcədən hazırlanmışdır.
Pinout, asan kod daşınması üçün Adafruit M0 lələk xətti ilə tam uyğun gəlir. DWM1000 IO xətləri, SPI avtobusuna və RST, IRQ & SPI_CS üçün 2, 3 və 4 rəqəmsal pinlərə (başlıq vasitəsilə açılmayan) bağlıdır. D13, bir çox Arduino uyğun lövhələr arasında olduğu kimi, göyərtədəki LED-ə də bağlıdır.
Proqramlaşdırma, Microsoft-dan uf2-samdx1 kimi uyğun bir yükləyici ilə yüklənərsə, SWD başlığı və ya USB vasitəsilə əvvəlcədən hazırlana bilər. Daha çox məlumat üçün firmware -ə baxın.
V1.0 haqqında qeyd
Bu lövhənin 1-ci versiyasında USB-C konnektoru ilə bağlı bir problem var. İstifadə etdiyim ayaq izi, bu komponentin kəsmə montaj üsulu üçün lazım olan kəsikləri daxil etməmişdir.
Versiya 1.1, bunun üçün bir düzəliş və istəyənlər üçün bir mikro-b konnektoru əlavə edəcək. Aşağıdakı versiya 1.1 mülahizələrinə baxın.
Bill of Materials və Hardware Version 1.1 üçün dizayn mülahizələri layihənin yazılışına baxın.
Addım 2: Quraşdırma
Yalnız 20 BoM maddəsi və 0603 -dən kiçik olmayan əksər komponentlər (2x kristal kondansatörlər 0402 idi) bu lövhənin əllə yığılması asan idi. ENIG səthi ilə mat qara rəngdə JLCPCB tərəfindən istehsal olunan PCB və lehim şablonu vardı.
5 lövhənin (10 -da qiymət fərqi olmasa da) və trafaretin ümumi dəyəri 68 AUD idi, lakin bunun 42 dolları göndərmə idi. JLCPCB və lövhələrdən ilk dəfə sifariş vermək çox keyfiyyətli idi və gözəl bir görünüşə sahib idi.
Addım 3: Firmware: Bootloader proqramlaşdırılması
Firmware, Segger-dən J-Link kimi bir proqramçıdan istifadə edərək SWD konnektoru üzərində yüklənə bilər. Yuxarıda J-Link EDU Mini göstərilir. Lövhəni proqramlaşdırmağa başlamaq üçün önyükleyicimizi yükləməli və sonra alət zəncirimizi qurmalıyıq.
Yükləyicini yandırmaq üçün Atmel Studio -dan istifadə edəcəyəm. Bunu etmək üçün J-Link-ə qoşun və Atmel Studio-nu açın. Sonra Alətlər> Cihaz Proqramlaşdırması seçin. Alət altında J-Link seçin və Cihazı ATSAMD21G18A olaraq təyin edin və sonra Tətbiq et düyməsini basın.
J-Linki lələkli SWD başlığına qoşun və ya USB üzərindən və ya batareya ilə güc tətbiq edin. Bağlandıqdan sonra Cihaz İmzası altında Oxu düyməsini basın. Cihaz İmza və Hədəf Gərginliyi mətn qutuları buna uyğun olaraq yayılmalıdır. Bağlantıları yoxlamırlarsa və yenidən cəhd edin.
Yükləyicini yandırmaq üçün əvvəlcə BOOTPROT qoruyucusunu deaktiv etməliyik. Bunu etmək üçün Sigortalar> USER_WORD_0. NVMCTRL_BOOTPROT seçin və 0 Bayt olaraq dəyişdirin. Dəyişiklikləri yükləmək üçün Proqramı vurun.
İndi Xatirələr> Flash seçərək önyükleyicini yandıra bilərik və yükləyicinin yerini təyin edə bilərik. Proqramlaşdırma seçilməzdən əvvəl Sil Flaşı yoxlayın və Proqramı basın. Hər şey yaxşı olarsa, lövhədə D13 nəbz etməyə başlamalıdır.
İndi BOOTPROT sigortasını 8 kB yükləyici ölçüsünə təyin etməlisiniz. Bunu etmək üçün Sigortalar> USER_WORD_0. NVMCTRL_BOOTPROT seçin və 8192 Bayta dəyişdirin. Dəyişiklikləri yükləmək üçün proqramı vurun.
İndi yükləyicinin yanıb -söndüyünə görə D13 nəbzli olmalı və USB üzərindən qoşulduqda kütləvi saxlama cihazı görünməlidir. Lövhəni proqramlaşdırmaq üçün UF2 fayllarının yüklənə biləcəyi yer budur.
Addım 4: Firmware: PlatformIO ilə yanıb -sönən kod
Firmware UF2 protokolu ilə və ya birbaşa SWD interfeysi vasitəsilə yüklənə bilər. Burada PlatformIO -dan rahatlığı və sadəliyi üçün istifadə edəcəyik. Başlamaq üçün yeni bir PIO layihəsi yaradın və hədəf lövhə olaraq Adafruit Feather M0 seçin. J-Link ilə SWD üzərindən yükləyərkən platformio.ini-də yükləmə_protokolunu aşağıda göstərildiyi kimi qurun.
[env: adafruit_feather_m0] platform = atmelsam board = adafruit_feather_m0 framework = arduino upload_protocol = jlink
İndi Arduino çərçivəsinin sadəliyi ilə lövhəni proqramlaşdıra bilərsiniz.
Addım 5: Firmware: Çapanın yanıb -sönməsi
DWM1000 modulları çapa və ya etiket olaraq konfiqurasiya edilə bilər. Çapalar ümumiyyətlə statik yerlərdə saxlanılır və etiketlər nisbi mövqe əldə etmək üçün çapa istifadə edir. DWM1000 modulunu sınamaq üçün DW1000-Çapa nümunəsini GitHub deposundan yükləyə bilərsiniz.
Bu proqramı PlatformIO ilə yandırmaq üçün PIO Home-dan Açıq Layihə seçin və sonra GitHub deposunda DW1000-Anchor qovluğunun yerini tapın. Sonra PIO yükləmə düyməsini vurun və əlavə edilmiş hata ayıklama probunu avtomatik olaraq tapacaq (bağlı olduğundan və lövhənin işlədiyindən əmin olun).
Etiket proqramının başqa bir lövhəyə yüklənməsi lazımdır. Sonra nəticəni serial terminalda görmək olar.
Addım 6: İrəli gedin
Bu layihənin daha da təkmilləşdirilməsi, yeni bir DW1000 kitabxanasının inkişaf etdirilməsini əhatə edəcək, V1.1 lövhəsi bu dəyişkən texnologiyadan istifadə edən digər layihələri dəyişdirəcək. Kifayət qədər maraq varsa, bu lövhələrin istehsalını və satışını nəzərdən keçirəcəyəm.
Oxuduğunuz üçün təşəkkürlər. Aşağıdakı şərhlərdə hər hansı bir düşüncənizi və ya tənqidinizi buraxın və Prototipləşdirmə Küncündəki layihəni yoxlayın
Tövsiyə:
Avtomatik Yerləşdirmə Sistemi: 11 addım
Sistemin Avtomatik Yerləşdirilməsi Yerli Vəzifələr: Bu proqramlar heç kim tərəfindən yoxlanılmamış, heç bir yerdə yoxlanılmamış, sensor sensoru ilə təchiz olunmuşdur. proses və ya proses
RFID əsaslı seçmə və yerləşdirmə robotu: 4 addım
RFID əsaslı seçmə və yerləşdirmə robotu: Uzun illərdir ki, insanlar insan işlərini maşınlarla əvəz etməyə çalışırlar. Robotlar adlanan maşınlar insanlardan daha sürətli və daha təsirli olur. Robototexnika termini praktiki olaraq robot sistemlərinin istehsalı üçün öyrənilməsi, dizaynı və istifadəsi olaraq təyin olunur. Robotlar g
Arduino Əsas Seçim və Yerləşdirmə Robotu: 8 addım
Arduino Base Pick and Place Robotu: Tələbələrə daha geniş miqyaslı robot texnikasını sındırmaq və kiçik yerli istehsalların bankları pozmadan robotları proseslərində istifadə etmələrini təmin etmək üçün super ucuz (1000 dollardan aşağı) sənaye robot qolu hazırladım. İnşa etmək və qurmaq asandır
Ultrasonik əsaslı yerləşdirmə sistemi: 4 addım (şəkillərlə)
Ultrasonik Əsaslı Yerləşdirmə Sistemi: Arduino cihazları üçün tapdığım ultrasəs radarlarının bütün versiyaları (Arduino - Radar/Ultrasonik Detektor, Arduino Ultrasonik Radar Layihəsi) çox gözəl radarlardır, lakin hamısı "kor" dur. Demək istədiyim odur ki, radar nələrisə aşkarlayır, amma mən
WIND - Adafruit Tüyü üçün Layihə Sürətləndiricisi: 9 Addım (Şəkillərlə birlikdə)
WIND - Adafruit Tüyü üçün Layihə Sürətləndiricisi: Yavaş -yavaş Adafruit -dən mövcud olan müxtəlif Adafruit Feather mikrokontrolörlərini və sensor lövhələrini toplayıram. Prototip hazırlamağı və test etməyi çox asanlaşdırırlar və mən lövhənin düzülüşünün böyük bir tərəfdarıyam. Özümü burada tapdığım üçün