Mündəricat:

UWB Yerləşdirmə Tüyü: 6 addım
UWB Yerləşdirmə Tüyü: 6 addım

Video: UWB Yerləşdirmə Tüyü: 6 addım

Video: UWB Yerləşdirmə Tüyü: 6 addım
Video: Feasycom FSC-UP3311 UWB Beacon for UWB(Ultra-Wideband) Positioning 2024, Iyul
Anonim
UWB Lokalizasiya Tüyü
UWB Lokalizasiya Tüyü

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ı

Avadanlıq Dizaynı
Avadanlıq Dizaynı
Avadanlıq Dizaynı
Avadanlıq Dizaynı
Avadanlıq Dizaynı
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

Məclis
Məclis
Məclis
Məclis
Məclis
Məclis
Məclis
Məclis

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: Bootloader proqramlaşdırılması
Firmware: Bootloader proqramlaşdırılması
Firmware: Bootloader proqramlaşdırılması
Firmware: Bootloader proqramlaşdırılması
Firmware: Bootloader proqramlaşdırılması
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: PlatformIO ilə yanıb -sönən kod
Firmware: PlatformIO ilə yanıb -sönən kod
Firmware: PlatformIO ilə yanıb -sönən kod
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

Firmware: Çapa yanıb -sönür
Firmware: Çapa yanıb -sönür
Firmware: Çapa yanıb -sönür
Firmware: Çapa yanıb -sönür

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

Daha da irəli gedir
Daha da irəli gedir

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ə: