Агуулгын хүснэгт:

UWB -ийн нутагшуулах өд: 6 алхам
UWB -ийн нутагшуулах өд: 6 алхам

Видео: UWB -ийн нутагшуулах өд: 6 алхам

Видео: UWB -ийн нутагшуулах өд: 6 алхам
Видео: Apple AirTag: КАК РАБОТАЕТ UWB? | РАЗБОР 2024, Арваннэгдүгээр
Anonim
UWB нутагшуулах өд
UWB нутагшуулах өд

Ultra-WideBand Feather нь Decawave DWM1000 модуль болон ATSAMD21 ARM Cortex M0-ийг Adafruit өд хэлбэрийн хүчин зүйлд багтаасан болно. DWM1000 модуль нь IEEE802.15.4-2011 UWB-тэй нийцтэй утасгүй модуль бөгөөд доторх байрлалыг нарийвчлалтай тогтоох, өгөгдөл дамжуулах өндөр чадвартай бөгөөд энэ самбарыг нутагшуулах шаардлагатай робот техникийн төслүүдэд төгс төгөлдөр болгодог.

Онцлог шинж чанарууд: Нарийвчлалтай хянах зориулалттай Decawave DWM1000-Хурдан, хүчирхэг програмуудад зориулагдсан ARM Cortex M0-Өргөн хэрэглэгддэг экосистемтэй нийцтэй Adafruit Feather-Програмчлал, дибаг хийх зориулалттай SWD интерфэйс-USB-C холбогч-LiPo зайны цэнэглэгч

Төслийн бүрэн эхлэл, шинэчлэлтүүдийг авахын тулд энэ төслийг prototypingcorner.io/projects/uwb-feather дээрх Prototyping Corner сайтаас үзээрэй.

Энэхүү төслийн эх техник хангамж, програм хангамжийг GitHub репозитороос авах боломжтой.

Алхам 1: Тоног төхөөрөмжийн дизайн

Тоног төхөөрөмжийн дизайн
Тоног төхөөрөмжийн дизайн
Тоног төхөөрөмжийн дизайн
Тоног төхөөрөмжийн дизайн
Тоног төхөөрөмжийн дизайн
Тоног төхөөрөмжийн дизайн

Танилцуулгад дурдсанчлан, UWB Feather нь тархинд зориулсан ATSAMD21 ARM Cortext M0+ ба хэт өргөн зурвасын утасгүй холболтод зориулагдсан Decawave DWM1000 модулиас бүрддэг. Загвар нь харьцангуй энгийн бөгөөд 2 давхар ПХБ-ийн 20 ширхэг Монголбанкнаас бүрдэнэ. Pinout нь Adafruit M0 Feather -тэй нийцдэг

LiPo цэнэглэлтийг цэнэгийн удирдлагын бүрэн нэгдсэн MCP73831 хянагч удирддаг. Батерейны хүчдэлийг D9 дээр хянах боломжтой боловч бүх IO руу нэвтрэх шаардлагатай бол энэ зүүг суллахын тулд JP1 -ийг багасгаж болно. 3.3 вольтын зохицуулалтыг 600 мА хүртэл хангах AP2112K-3.3 бага уналтын шугаман зохицуулагчаар урьдчилан боловсруулсан болно.

Pinout нь кодыг хялбархан зөөвөрлөх Adafruit M0 өдтэй бүрэн нийцдэг. DWM1000 IO шугамууд нь RST, IRQ & SPI_CS -ийн SPI автобус, дижитал тээглүүр 2, 3, 4 -тэй холбогддог (толгойгоор дамждаггүй). D13 нь Arduino-тэй нийцтэй олон самбаруудын нэгэн адил самбар дээрх LED-тэй холбогддог.

Microsoft-аас uf2-samdx1 гэх мэт харгалзах ачаалагчийг ачаалсан тохиолдолд програмчлалыг SWD толгой дээр эсвэл USB-ээр урьдчилан хийх боломжтой. Дэлгэрэнгүй мэдээллийг firmware -с үзнэ үү.

V1.0 дээрх тэмдэглэл

Энэхүү самбарын 1-р хувилбар дээр USB-C холбогчтой холбоотой асуудал гардаг. Миний ашигласан хөлийн мөрөнд энэ бүрэлдэхүүн хэсгийн хайчлах бэхэлгээний аргад шаардлагатай хайчлалт ороогүй болно.

1.1 хувилбар нь үүнийг засахаас гадна үүнийг хүсч буй хүмүүст зориулсан micro-b холбогчийг оруулах болно. 1.1 хувилбарын анхаарлыг доороос үзнэ үү.

Билл Бэлтгэл ба Тоног Төхөөрөмжийн Хувилбар 1.1 хувилбарын хувьд дизайны онцлогийг харгалзан төслийн бичвэрийг үзнэ үү.

Алхам 2: угсрах

Чуулган
Чуулган
Чуулган
Чуулган
Чуулган
Чуулган
Чуулган
Чуулган

Зөвхөн 20 БМ -ийн эд анги, ихэнх бүрэлдэхүүн хэсгүүд нь 0603 -аас багагүй (2х болор конденсатор нь 0402 байсан) энэ хавтанг гараар угсрах нь хялбар байсан. Би ENLC гадаргуутай, царцсан хар өнгийн JLCPCB үйлдвэрлэсэн ПХБ ба гагнуурын стенилтэй байсан.

5 самбар (10 нь үнийн зөрүүгүй байсан) болон стенилийн нийт өртөг 68 AUD байсан боловч үүний 42 доллар нь хүргэлт байв. JLCPCB болон самбараас анх удаа захиалга өгөх нь маш өндөр чанартай, гоёмсог өнгөлгөөтэй байв.

Алхам 3: Firmware: Ачаалагчийг програмчлах

Програм хангамж: Ачаалагчийг програмчлах
Програм хангамж: Ачаалагчийг програмчлах
Програм хангамж: Ачаалагчийг програмчлах
Програм хангамж: Ачаалагчийг програмчлах
Firmware: Ачаалагчийг програмчлах
Firmware: Ачаалагчийг програмчлах

Segger-ийн J-Link гэх мэт програмист ашиглан програмыг SWD холбогч дээр ачаалж болно. J-Link EDU Mini-ийг дээр харуулав. Самбарыг програмчилж эхлэхийн тулд бид ачаалагчаа ачаалж, багажны сүлжээгээ тохируулах хэрэгтэй.

Би ачаалагчийг асаахын тулд Atmel Studio ашиглах болно. Үүнийг хийхийн тулд J-Link-ийг холбоод Atmel Studio-г нээнэ үү. Дараа нь Tools> Device Programming -ийг сонгоно уу. Хэрэгсэл дотроос J-Link-ийг сонгоод Device-ийг ATSAMD21G18A гэж тохируулаад Apply дээр дарна уу.

J-Link-ийг өдний SWD толгой руу холбож, USB-ээр эсвэл батерейгаар дамжуулан хүчийг ашиглаарай. Холбогдсоны дараа Төхөөрөмжийн гарын үсгийн доор Унших дээр дарна уу. Төхөөрөмжийн гарын үсэг болон зорилтот хүчдэлийн текст хайрцгийг зохих ёсоор түгээх ёстой. Хэрэв тэд холболтоо шалгаагүй бол дахин оролдоно уу.

Ачаалагчийг асаахын тулд бид эхлээд BOOTPROT гал хамгаалагчийг идэвхгүй болгох хэрэгтэй. Үүнийг хийхийн тулд Fuses> USER_WORD_0. NVMCTRL_BOOTPROT -ийг сонгоод 0 байт болгон өөрчилнө үү. Өөрчлөлтийг оруулахын тулд Програм дээр дарна уу.

Одоо бид Memories> Flash -ийг сонгоод bootloader -ийг асааж, ачаалагчийн байршлыг тохируулж болно. Програмыг сонгохын өмнө Erase Flash -ийг шалгаад Програм дээр дарна уу. Хэрэв бүх зүйл сайн бол D13 самбар дээр импульс хийж эхлэх ёстой.

Одоо та BOOTPROT гал хамгаалагчийг 8 кБ ачаалагч ачаалагчийн хэмжээгээр тохируулах хэрэгтэй болно. Үүнийг хийхийн тулд Fuses> USER_WORD_0. NVMCTRL_BOOTPROT -ийг сонгоод 8192 байт болгон өөрчилнө үү. Өөрчлөлтийг оруулахын тулд програмыг дарна уу.

Ачаалагч дуудагдсаны дараа D13 нь импульс байх ёстой бөгөөд хэрэв USB -ээр холбогдсон бол их хэмжээний хадгалах төхөөрөмж гарч ирэх ёстой. Энд UF2 файлуудыг самбарыг програмчлах зорилгоор байршуулж болно.

Алхам 4: Firmware: PlatformIO -той код анивчдаг

Firmware: PlatformIO -тай код анивчдаг
Firmware: PlatformIO -тай код анивчдаг
Firmware: PlatformIO -тай код анивчдаг
Firmware: PlatformIO -тай код анивчдаг

Firmware -ийг UF2 протоколоор эсвэл шууд SWD интерфэйсээр дамжуулан байршуулж болно. Энд бид PlatformIO -ийг хялбар, энгийн байдлаар ашиглах болно. Эхлэхийн тулд шинэ PIO төсөл үүсгэж, зорилтот самбар болгон Adafruit Feather M0 -ийг сонгоно уу. JW Link ашиглан SWD-ээр байршуулахдаа platformio.ini-д upload_protocol-ийг доор үзүүлсэн шиг тохируулна уу.

[env: adafruit_feather_m0] платформ = atmelsam board = adafruit_feather_m0 framework = arduino upload_protocol = jlink

Одоо та самбарыг Arduino хүрээний энгийн байдлаар програмчилж болно.

Алхам 5: Firmware: Зангууг анивчих

Firmware: Зангууг анивчиж байна
Firmware: Зангууг анивчиж байна
Firmware: Зангууг анивчиж байна
Firmware: Зангууг анивчиж байна

DWM1000 модулийг зангуу эсвэл шошго хэлбэрээр тохируулж болно. Ихэвчлэн зангуу нь мэдэгдэж буй статик байршилд хадгалагддаг бөгөөд хаягууд нь харьцангуй байрлалыг олж авахын тулд зангуу ашигладаг. DWM1000 модулийг туршихын тулд та DW1000-Anchor-ийн жишээг GitHub репозитороос байршуулж болно.

Энэ програмыг PlatformIO-ээр асаахын тулд PIO Home-ээс Нээлттэй төслийг сонгоод GitHub репозитороос DW1000-Anchor фолдерын байршлыг олоорой. Дараа нь PIO байршуулах товчлуур дээр дарвал энэ нь хавсаргасан дибаг хийх датчикийг автоматаар олох болно (холбогдсон, самбар асаалттай байгаа эсэхийг шалгаарай).

Шошгоны програмыг өөр самбар дээр байршуулах шаардлагатай болно. Дараа нь үр дүнг цуваа терминал дээр үзэх боломжтой.

Алхам 6: Цаашаа явах

Цаашид
Цаашид

Энэхүү төслийн цаашдын сайжруулалтууд нь шинэ DW1000 номын сангийн хөгжүүлэлтийг багтаана, V1.1 самбар нь энэхүү өргөн хүрээний технологийг ашигладаг бусад төслүүдийг өөрчилнө. Хэрэв хангалттай сонирхол байгаа бол би эдгээр хавтанг үйлдвэрлэх, борлуулах талаар бодож үзэх болно.

Уншсанд баярлалаа. Доорх сэтгэгдлүүд дээр ямар нэгэн бодол, шүүмжлэлийг үлдээж, загварчлах булангийн төслийг заавал үзээрэй

Зөвлөмж болгож буй: