فهرست مطالب:

پر محلی سازی UWB: 6 مرحله
پر محلی سازی UWB: 6 مرحله

تصویری: پر محلی سازی UWB: 6 مرحله

تصویری: پر محلی سازی UWB: 6 مرحله
تصویری: معراج وفا🪕بسیار🎹یک ساز🎤زیباومقبول/Meraj Wafa is a very beautiful song and an excellent instrument 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 یکپارچه

برای نوشتن و به روز رسانی کامل پروژه ، این پروژه را در سایت من مشاهده کنید Prototyping Corner در prototypingcorner.io/projects/uwb-feather

سخت افزار و نرم افزار منبع این پروژه از مخزن GitHub موجود است.

مرحله 1: طراحی سخت افزار

طراحی سخت افزار
طراحی سخت افزار
طراحی سخت افزار
طراحی سخت افزار
طراحی سخت افزار
طراحی سخت افزار

همانطور که در مقدمه ذکر شد ، UWB Feather شامل ATSAMD21 ARM Cortext M0+ برای مغزها و ماژول Decawave DWM1000 برای باند فوق العاده گسترده بی سیم ، در شکل پر است. طراحی نسبتاً ساده شامل 20 مورد BoM روی یک PCB 2 لایه است. Pinout با Adafruit M0 Feather سازگار است

شارژ LiPo توسط کنترل کننده مدیریت شارژ تک سلولی MCP73831 انجام می شود. ولتاژ باتری را می توان در D9 کنترل کرد ، اما دسترسی به تمام IO مورد نیاز است ، JP1 را می توان قطع کرد تا این پین آزاد شود. تنظیمات 3.3 ولت توسط تنظیم کننده خطی AP2112K-3.3 با خروجی کم ، تا 600 میلی آمپر تأمین شده است.

Pinout کاملاً با خط پر Adafruit M0 سازگار است تا قابلیت سهولت انتقال کد را داشته باشد. خطوط DWM1000 IO به ترتیب با گذرگاه SPI و پین های دیجیتال 2 ، 3 و 4 برای RST ، IRQ & SPI_CS وصل می شوند (که از طریق سرصفحه نمایان نمی شوند). D13 به استاندارد موجود در بسیاری از بردهای سازگار با آردوینو به LED داخلی متصل است.

در صورت بارگیری با بوت لودر مربوطه مانند uf2-samdx1 از مایکروسافت ، برنامه نویسی می تواند از طریق هدر SWD یا از طریق USB انجام شود. برای اطلاعات بیشتر به سیستم عامل مراجعه کنید.

توجه داشته باشید در V1.0

در نسخه 1 این برد مشکلی در اتصال USB-C وجود دارد. رد پای مورد استفاده من شامل برش مورد نیاز برای روش نصب برش این جزء نمی باشد.

نسخه 1.1 شامل رفع این مشکل و همچنین افزودن کانکتور micro-b برای کسانی است که آن را می خواهند. ملاحظات نسخه 1.1 را در زیر مشاهده کنید.

برای ملاحظات طراحی Bill and Materials and Hardware Version 1.1 به نوشتن پروژه مراجعه کنید.

مرحله 2: مونتاژ

مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ

تنها با 20 مورد BoM و اکثر اجزای آن کوچکتر از 0603 (خازن های کریستال 2x 0402) نبود ، مونتاژ دستی این برد آسان بود. من استنسیل PCB و لحیم کاری ساخت JLCPCB با رنگ مشکی مات با سطح ENIG را داشتم.

هزینه کلی برای 5 تخته (اگرچه 10 عدد تفاوت قیمت نداشت) و استنسیل 68 دلار استرالیا بود ، با این حال 42 دلار از آن حمل و نقل بود. اولین بار سفارش از JLCPCB و تخته ها از کیفیت بسیار بالایی برخوردار بود و پایان خوبی داشت.

مرحله 3: سیستم عامل: برنامه نویسی Bootloader

سیستم عامل: برنامه نویسی بوت لودر
سیستم عامل: برنامه نویسی بوت لودر
سیستم عامل: برنامه نویسی بوت لودر
سیستم عامل: برنامه نویسی بوت لودر
سیستم عامل: برنامه نویسی بوت لودر
سیستم عامل: برنامه نویسی بوت لودر

سیستم عامل را می توان با استفاده از برنامه نویس مانند J-Link از Segger روی اتصال SWD بارگذاری کرد. در بالا J-Link EDU Mini نشان داده شده است. برای شروع برنامه نویسی برد ، باید بوت لودر خود را بارگذاری کرده و سپس زنجیره ابزار خود را راه اندازی کنیم.

من برای فلش کردن بوت لودر از Atmel Studio استفاده می کنم. برای انجام این کار ، J-Link را وصل کرده و Atmel Studio را باز کنید. سپس Tools> Device Programming را انتخاب کنید. در قسمت Tool J-Link را انتخاب کرده و Device را روی ATSAMD21G18A تنظیم کنید و سپس روی Apply کلیک کنید.

J-Link را به هدر SWD پر وصل کنید و برق را از طریق USB یا از طریق باتری اعمال کنید. پس از اتصال ، در بخش امضای دستگاه روی خواندن کلیک کنید. جعبه های متنی Device Signature و Target Voltage باید متناسب با آن منتشر شود. اگر اتصالات را بررسی نکردند و دوباره امتحان کنید.

برای فلش بوت لودر ابتدا باید فیوز BOOTPROT را غیرفعال کنیم. برای انجام این کار Fuses> USER_WORD_0. NVMCTRL_BOOTPROT را انتخاب کرده و به 0 بایت تغییر دهید. برای بارگذاری تغییرات روی برنامه کلیک کنید.

اکنون می توانیم با انتخاب Memories> Flash ، بوت لودر را فلش کرده و محل بوت لودر را تعیین کنیم. قبل از انتخاب برنامه نویسی از Erase Flash اطمینان حاصل کنید و روی Program کلیک کنید. اگر همه چیز خوب پیش رفت D13 روی برد باید شروع به نبض کند.

اکنون باید فیوز BOOTPROT را روی اندازه بوت لودر 8 کیلوبایت تنظیم کنید. برای انجام این کار ، Fuses> USER_WORD_0. NVMCTRL_BOOTPROT را انتخاب کرده و به 8192 بایت تغییر دهید. برای بارگذاری تغییرات روی برنامه کلیک کنید.

اکنون که بوت لودر فلش شده است D13 باید تپنده داشته باشد و در صورت اتصال به USB ، یک دستگاه ذخیره سازی جمعی ظاهر می شود. در اینجا می توان فایل های UF2 را برای برنامه نویسی برد بارگذاری کرد.

مرحله 4: سیستم عامل: کد چشمک زن با PlatformIO

سیستم عامل: کد چشمک زن با PlatformIO
سیستم عامل: کد چشمک زن با PlatformIO
سیستم عامل: کد چشمک زن با PlatformIO
سیستم عامل: کد چشمک زن با PlatformIO

سیستم عامل را می توان از طریق پروتکل UF2 یا مستقیماً از طریق رابط SWD بارگذاری کرد. در اینجا ما از PlatformIO برای سهولت و سادگی آن استفاده می کنیم. برای شروع یک پروژه PIO جدید ایجاد کنید و Adafruit Feather M0 را به عنوان تابلوی هدف انتخاب کنید. هنگام بارگذاری از طریق SWD با J-Link ، پروتکل upload_protformo.ini را مانند شکل زیر تنظیم کنید.

[env: adafruit_feather_m0] platform = atmelsam board = adafruit_feather_m0 framework = arduino upload_protocol = jlink

اکنون می توانید تخته را با سادگی چارچوب آردوینو برنامه ریزی کنید.

مرحله 5: سیستم عامل: چشمک زدن Anchor

سیستم عامل: چشمک زدن Anchor
سیستم عامل: چشمک زدن Anchor
سیستم عامل: چشمک زدن لنگر
سیستم عامل: چشمک زدن لنگر

ماژول های DWM1000 را می توان به صورت لنگر یا برچسب پیکربندی کرد. به طور کلی لنگرها در مکانهای ایستا شناخته شده نگهداری می شوند و برچسب ها از لنگرها برای بدست آوردن موقعیت نسبی آنها استفاده می کنند. برای آزمایش ماژول DWM1000 می توانید نمونه DW1000-Anchor را از مخزن GitHub بارگذاری کنید.

برای فلش کردن این برنامه با PlatformIO ، از PIO Home ، Open Project را انتخاب کنید و سپس محل پوشه DW1000-Anchor را در مخزن GitHub پیدا کنید. سپس روی دکمه بارگذاری PIO کلیک کنید و به طور خودکار پروب اشکال زدایی متصل شده را پیدا می کند (مطمئن شوید که متصل است و برد روشن است).

سیستم عامل برچسب باید روی برد دیگری بارگذاری شود. سپس نتیجه را می توان در ترمینال سریال مشاهده کرد.

مرحله ششم: جلو رفتن

جلوتر رفتن
جلوتر رفتن

پیشرفت های بیشتر در این پروژه شامل توسعه یک کتابخانه جدید DW1000 ، صفحه V1.1 پروژه های دیگر که از این فناوری متنوع استفاده می کنند را تغییر می دهد. اگر علاقه کافی وجود داشته باشد ، تولید و فروش این تخته ها را در نظر خواهم گرفت.

ممنون که خواندید. هر گونه نظر یا انتقادی را در نظرات زیر بنویسید و مطمئن شوید که پروژه را در Prototyping Corner بررسی می کنید

توصیه شده: