فهرست مطالب:
- مرحله 1: مونتاژ شاسی روبات
- مرحله 2: الکترونیک سیم
- مرحله 3: ایجاد نمودار بلوک در Vivado
- مرحله 4: راه اندازی محیط توسعه نرم افزار
- مرحله 5: برنامه نمایشی را تغییر دهید
- مرحله 6: نرم افزار فلش به QSPI
- مرحله 7: Wireless Access Point را پیکربندی کنید
- مرحله 8: برنامه Java را اجرا کنید
- مرحله 9: کالیبره فاصله سنج
- مرحله 10: دسترسی
تصویری: WiBot: 10 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
این دستورالعمل روند ساخت یک روبات Wi-Fi در بستر ZYBO را توضیح می دهد. این پروژه از یک سیستم عامل زمان واقعی برای تشخیص شی ، اندازه گیری فاصله و کنترل پاسخگو استفاده می کند. این راهنما ارتباط ZYBO با لوازم جانبی ، اجرای سیستم عامل سفارشی و ارتباط از طریق برنامه جاوا را پوشش می دهد. در زیر لیستی از تمام اجزای اصلی مورد نیاز برای این پروژه آمده است:
- 1 هیئت توسعه ZYBO
- 1 روتر بی سیم TL-WR802N
- 1 شاسی سایه
- 2 چرخ 65 میلی متری
- 2 دور موتور 140 دور در دقیقه
- 2 رمزگذار چرخ
- 1 سنسور اولتراسونیک HC-SR04
- 1 مبدل سطح منطقی BSS138
- 1 درایور موتور L293 H-Bridge
- 1 مبدل 12 ولت به 5 ولت DC/DC
- 1 باتری LiPo 2200 میلی آمپر ساعتی
- 1 کابل اترنت
- 1 کابل USB Micro-B
- 1 رابط زن XT60
- 2 سیم جهنده مرد به زن
- 30 سیم بلوز نر به نر
- 2 مقاومت 10kΩ
- 1 تخته نان
علاوه بر این ، نرم افزار زیر باید روی رایانه مورد نظر نصب شود:
- مجموعه طراحی Xilinx Vivado 2018.2
- Digilent Adept 2.19.2
- FreeRTOS 10.1.1
- کیت توسعه جاوا SE 8.191
مرحله 1: مونتاژ شاسی روبات
شاسی سایه ای را مونتاژ کرده و موتورهای دنده ای و رمزگذارها را به قاب پایین وصل کنید. سنسور ZYBO ، ورق نورد و اولتراسونیک را می توان با قطعات ارائه شده نصب کرد که می توانند به صورت سه بعدی چاپ شده و با استفاده از نوارهای چسباننده و نوار دو طرفه روی شاسی ثابت شوند. باتری باید در پشت پشت ربات و ترجیحا بین بالا و قاب های پایین روتر را نزدیک ZYBO و مبدل DC/DC را نزدیک بردبرد نصب کنید. در انتها چرخها را به موتورهای دنده وصل کنید.
مرحله 2: الکترونیک سیم
ورودی و خروجی مبدل DC/DC را به ترتیب به دو ریل قدرت روی صفحه نان متصل کنید. اینها به عنوان منابع 12 ولت و 5 ولت برای سیستم عمل خواهند کرد. مطابق تصویر ZYBO را به ریل 5 ولت وصل کنید. برای اتصال روتر به ریل 5 ولت نیز از کابل USB Micro-B استفاده کنید. کابل XT60 باید به ریل 12 ولت متصل شود. تا زمانی که بقیه قطعات الکترونیکی به درستی وصل نشده اند ، باتری را وصل نکنید. سنسور اولتراسونیک باید به ریل 5 ولت متصل شود. با استفاده از پین 6 پورت Pmod JC روی ZYBO ، یک ریل 3.3V روی تخته نان ایجاد کنید. ورودی ولتاژ بالا مبدل منطقی باید به ریل 5 ولت متصل شود در حالی که ورودی ولتاژ پایین مبدل منطقی باید به ریل 3.3 ولت متصل شود. کد کننده های موتور را به ریل 3.3V متصل کنید. VCC1 راننده موتور را به ریل 5 ولت وصل کنید و VCC2 را به ریل 12 ولت وصل کنید. همه پین های EN را به 5 ولت وصل کرده و همه پین های GND را زمین کنید.
پین های TRIG و ECHO سنسور اولتراسونیک را به ترتیب به HV1 و HV2 مبدل منطقی وصل کنید. LV1 باید به JC4 و LV2 باید به JC3 وصل شود. برای پین های Pmod به نمودار مراجعه کنید. موتورها را به درایور موتور وصل کنید. Y1 باید به ترمینال مثبت موتور راست و Y2 به ترمینال منفی موتور راست متصل شود. به طور مشابه ، Y3 باید به پایانه مثبت موتور چپ و Y4 باید به پایانه منفی موتور چپ متصل شود. A1 ، A2 ، A3 و A4 باید به ترتیب به JB2 ، JB1 ، JB4 و JB3 نگاشت شوند. برای شمارش پین ها به شماتیک مراجعه کنید. JC2 را به رمزگذار راست و JC1 را به رمزگذار چپ وصل کنید. اطمینان حاصل کنید که از مقاومتهای کششی برای اتصال این سیگنالها به ریل 3.3V استفاده می شود. در نهایت ، از کابل اترنت برای اتصال ZYBO به روتر استفاده کنید.
مرحله 3: ایجاد نمودار بلوک در Vivado
یک پروژه RTL جدید در Vivado ایجاد کنید. اطمینان حاصل کنید که در حال حاضر هیچ منبعی را مشخص نکنید. عبارت "xc7z010clg400-1" را جستجو کرده و پایان را بزنید. encoder_driver.sv و ultrasonic_driver.sv را بارگیری کنید. آنها را در پوشه های خود قرار دهید. IP Packager را در بخش "Tools" باز کنید و بسته بندی یک فهرست مشخص را انتخاب کنید. مسیر پوشه حاوی درایور رمزگذار را جایگذاری کرده و "بعدی" را فشار دهید. روی "بسته IP" کلیک کنید و مراحل مربوط به درایور سنسور اولتراسونیک را تکرار کنید. سپس در منوی تنظیمات به بخش مخزن در زیر بخش IP بروید. مسیرها را به پوشه های راننده اضافه کنید و روی Apply کلیک کنید تا آنها را در کتابخانه IP قرار دهید.
یک بلوک دیاگرام جدید ایجاد کنید و "سیستم پردازش ZYNQ7" را اضافه کنید. روی بلوک دوبار کلیک کرده و فایل ارائه شده ZYBO_zynq_def.xml را وارد کنید. در بخش "پیکربندی MIO" ، تایمر 0 و GPIO MIO را فعال کنید. برای ذخیره تنظیمات ، "OK" را فشار دهید. 3 بلوک "AXI GPIO" و 4 بلوک "AXI Timer" اضافه کنید. اتوماسیون بلوک و به دنبال آن اتوماسیون اتصال برای S_AXI را اجرا کنید. برای پیکربندی بلوک های GPIO دوبار کلیک کنید. یک بلوک باید دو کاناله با ورودی 4 بیتی و خروجی 4 بیتی باشد. این اتصالات را خارجی کرده و برچسب SW را برای ورودی و LED را برای خروجی برچسب گذاری کنید. بلوک دوم نیز باید دو کاناله با 2 ورودی 32 بیتی باشد. آخرین بلوک GPIO یک ورودی 32 بیتی خواهد بود. خروجی pwm0 از هر بلوک تایمر را خارجی کنید. آنها را PWM0 ، PWM1 ، PWM2 و PWM3 برچسب گذاری کنید.
درایور رمزگذار را به نمودار بلوک اضافه کنید و CLK را به FCLK_CLK0 وصل کنید. OD0 و OD1 را به کانال های ورودی بلوک GPIO دوم وصل کنید. ENC را خارجی کنید و ENC_0 را به ENC تغییر نام دهید. بلوک سنسور اولتراسونیک را اضافه کرده و CLK را به FCLK_CLK0 وصل کنید. TRIG و ECHO را خارجی کرده و نام TRIG_0 را به TRIG و ECHO_0 را به ECHO تغییر دهید. RF را به سومین بلوک GPIO وصل کنید. برای مراجعه به نمودار بلوک ارائه شده مراجعه کنید.
روی فایل بلوک دیاگرام خود در پنجره Sources راست کلیک کرده و یک بسته بندی HDL ایجاد کنید. مطمئن شوید که اجازه ویرایش کاربر را دارید. فایل ارائه شده ZYBO_Master.xdc را به عنوان محدودیت اضافه کنید. روی "Generate Bitstream" ضربه بزنید و یک استراحت قهوه بگیرید.
مرحله 4: راه اندازی محیط توسعه نرم افزار
برای صادر کردن سخت افزار به Vivado SDK ، به بخش "پرونده" بروید. اطمینان حاصل کنید که بیت استریم را شامل می شود. پروژه RTOSDemo را در "CORTEX_A9_Zynq_ZC702" وارد کنید. در فهرست راهنمای نصب FreeRTOS قرار می گیرد. یک بسته پشتیبانی جدید Board ایجاد کنید ، کتابخانه lwip202 را انتخاب کنید. BSP ارجاع داده شده در پروژه RTOSDemo را به BSP که به تازگی ایجاد کرده اید تغییر دهید*.
*در زمان نگارش این دستورالعمل ، به نظر می رسد FreeRTOS مشکلی در ارجاع به BSP صحیح دارد. برای رفع این مشکل ، یک BSP جدید با تنظیمات مشابه اول ایجاد کنید. BSP ارجاع داده شده را به جدید تغییر دهید و پس از عدم موفقیت در ساخت ، آن را به قدیمی تغییر دهید. FreeRTOS اکنون باید بدون خطا کامپایل شود. با خیال راحت BSP استفاده نشده را حذف کنید.
مرحله 5: برنامه نمایشی را تغییر دهید
در پوشه "src" RTOSDemo یک پوشه جدید به نام "drivers" ایجاد کنید. gpio.h ارائه شده را کپی کنید. gpio.c ، pwm.h ، pwm.c ، odometer.h ، odometer.c ، rangefinder.c ، rangefinder.h ، motor.h ، و motor.c را در فهرست "drivers" قرار دهید.
main.c را باز کرده و mainSELECTED_APPLICATION را روی 2. تنظیم کنید. BasicSocketCommandServer.c تحت "lwIP_Demo/apps/BasicSocketCommandServer" نیز باید با نسخه جدیدی به روز شود. در نهایت ، به "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" بروید و نسخه ارائه شده را جایگزین Sample-CLI-commands.c کنید. پروژه را بسازید و مطمئن شوید همه چیز با موفقیت کامپایل می شود.
مرحله 6: نرم افزار فلش به QSPI
با استفاده از الگوی "Zynq FSBL" یک پروژه کاربردی جدید با نام "FSBL" ایجاد کنید. پس از گردآوری پروژه FSBL ، یک تصویر بوت از پروژه RTOSDemo ایجاد کنید. مطمئن شوید که "FSBL/Debug/FSBL.elf" به عنوان bootloader در بخش "Boot image partitions" انتخاب شده است. اگر این فایل فهرست نشده است ، آن را به صورت دستی اضافه کنید.
بلوز JP5 را روی ZYBO به "JTAG" منتقل کنید. برای اتصال رایانه خود به ZYBO از کابل USB Micro-B استفاده کنید. باتری را وصل کرده و ZYBO را روشن کنید. Adept را اجرا کنید تا مطمئن شوید ZYBO به درستی توسط کامپیوتر شناسایی شده است. روی "Program Flash" در Vivado SDK کلیک کنید و مسیرهای فایل BOOT.bin را در RTOSDemo و فایل FSBL.elf را در FSBL ارائه دهید. قبل از ضربه زدن به "Program" ، "Verify after flash" را انتخاب کنید. برای اطمینان از موفقیت آمیز بودن عملیات چشمک زدن ، کنسول را تماشا کنید. سپس ZYBO را خاموش کرده و کابل USB را جدا کنید. بلوز JP5 را به "QSPI" منتقل کنید.
مرحله 7: Wireless Access Point را پیکربندی کنید
در حالی که باتری هنوز متصل است ، به شبکه Wi-Fi روتر متصل شوید. SSID و رمز عبور پیش فرض باید در پایین روتر باشد. پس از آن ، به https://tplinkwifi.net بروید و با استفاده از "admin" برای نام کاربری و رمز ورود وارد شوید. برای پیکربندی روتر در حالت نقطه دسترسی با DHCP فعال ، جادوگر راه اندازی سریع را اجرا کنید. اطمینان حاصل کنید که نام کاربری و رمز عبور پیش فرض دستگاه را نیز به روز کنید. پس از اتمام کار ، روتر باید به طور خودکار به حالت نقطه دسترسی راه اندازی مجدد شود.
ZYBO را روشن کرده و با استفاده از SSID که تعیین کرده اید به روتر متصل شوید. به احتمال زیاد روتر در آدرس IP 192.168.0.100 یا 192.160.0.101 ظاهر می شود. ZYBO به هر آدرس روتر اختصاص داده می شود. برای تعیین سریع آدرس IP روتر ، می توانید "ipconfig" را از خط فرمان در ویندوز یا "ifconfig" را از ترمینال در لینوکس یا MacOS اجرا کنید. اگر هنوز به روتر متصل هستید ، آدرس IP آن را در کنار رابط بی سیم خود مشاهده خواهید کرد. از این اطلاعات برای تعیین آدرس IP ZYBO استفاده کنید. برای تأیید آدرس IP ZYBO ، می توانید آن را از خط فرمان پینگ کنید یا از طریق Telnet به آن متصل شوید.
مرحله 8: برنامه Java را اجرا کنید
RobotClient.java را بارگیری کرده و فایل را با استفاده از دستور "javac RobotClient.java" از خط فرمان کامپایل کنید. دستور "java RobotClient" را اجرا کنید که "ip_address" آدرس IP ZYBO است. در صورت ایجاد ارتباط موفقیت آمیز بین رایانه و ZYBO ، GUI کنترل ظاهر می شود. پس از تمرکز پنجره ، ربات باید با استفاده از کلیدهای جهت دار روی صفحه کلید قابل کنترل باشد. برای پایان جلسه و قطع ارتباط با ربات ، دکمه فرار را فشار دهید.
GUI کلیدهای فشرده شده را برجسته کرده و خروجی موتور را در بالا سمت راست نشان می دهد. فاصله سنج در سمت چپ هر 2 متر یک نوار را تا حداکثر 10 متر پر می کند.
مرحله 9: کالیبره فاصله سنج
سوئیچ های موجود در ZYBO را می توان برای پیکربندی فاصله یاب داخلی استفاده کرد. حداقل فاصله تشخیص d به عنوان تابعی از کلید ورودی i داده می شود:
d = 50i + 250
ورودی می تواند بین 0 تا 15 در مراحل صحیح متغیر باشد. این فاصله بین 0.25 متر تا 1 متر است. در حداقل فاصله ، اولین LED شروع به چشمک زدن می کند. تعداد LED های فعال متناسب با مجاورت شی است.
مرحله 10: دسترسی
دسترسی به این ربات بسیار آسان است. به دلیل سادگی کنترل آن ، تنها با یک انگشت می توان آن را به طور کامل کنترل کرد. برای بهبود دسترسی ، پشتیبانی از دستگاه های ورودی اضافی می تواند اضافه شود. این می تواند به افراد معلول اجازه دهد تا ربات را با قسمت دیگری از بدن خود کنترل کنند.
توصیه شده:
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: 7 مرحله (همراه با تصاویر)
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: من قصد دارم از این Rapsberry PI در چندین پروژه سرگرم کننده در وبلاگم استفاده کنم. به راحتی آن را بررسی کنید. من می خواستم دوباره به استفاده از Raspberry PI بپردازم ، اما در مکان جدیدم صفحه کلید یا موس نداشتم. مدتی بود که من یک تمشک راه اندازی کردم
نمایش اسلاید تصاویر تعطیلات خود را با لمس سحر و جادو!: 9 مرحله (همراه با تصاویر)
نمایش اسلاید تصاویر خود را با لمس جادو! برای مطابقت با پرچم و موضوع کشوری که من از آن دیدن می کنم (در این مورد ، سیسیل). تی
تطبیق یک گوشی تلفن همراه با تلفن همراه: 7 مرحله (همراه با تصاویر)
انطباق یک گوشی تلفن همراه با یک تلفن همراه: توسط بیل ریو ([email protected]) اقتباس شده برای دستورالعمل ها توسط موس ([email protected]) سلب مسئولیت: روش شرح داده شده در اینجا ممکن است برای شما کارساز نباشد گرفتن. اگر کار نمی کند ، یا اگر چیزی را خراب می کنید ، m نیست
نحوه جدا کردن رایانه با مراحل و تصاویر آسان: 13 مرحله (همراه با تصاویر)
نحوه جدا کردن رایانه با مراحل و تصاویر آسان: این دستورالعمل نحوه جدا کردن رایانه است. اکثر اجزای اصلی ماژولار هستند و به راحتی حذف می شوند. با این حال مهم است که در مورد آن سازماندهی شده باشید. این به شما کمک می کند تا قطعات را از دست ندهید ، و همچنین باعث می شود دوباره سرهم کنید
ذخیره تصاویر برای انجام وظیفه: 4 مرحله (همراه با تصاویر)
ذخیره تصاویر برای انجام وظیفه: 1. یک سند جدید Google باز کنید و از این صفحه برای ایمن سازی تصاویر خود استفاده کنید. از ctrl (کنترل) و & quot؛ c & quot؛ کلید کپی کردن از ctrl (کنترل) و & quot؛ v & quot؛ کلید چسباندن