Mundarija:

WiBot: 10 qadam (rasmlar bilan)
WiBot: 10 qadam (rasmlar bilan)

Video: WiBot: 10 qadam (rasmlar bilan)

Video: WiBot: 10 qadam (rasmlar bilan)
Video: STD 1 SUBJECT : ENGISH BY PAYALBEN RATHOD 2024, Sentyabr
Anonim
WiBot
WiBot

Bu ko'rsatma ZYBO platformasida Wi-Fi robotini yaratish jarayonini batafsil bayon qiladi. Ushbu loyiha ob'ektlarni aniqlash, masofani o'lchash va sezgir nazorat qilish uchun real vaqtda operatsion tizimdan foydalanadi. Ushbu qo'llanma ZYBO -ni tashqi qurilmalar bilan bog'lashni, maxsus dasturiy ta'minotni ishga tushirishni va Java dasturi orqali muloqot qilishni o'z ichiga oladi. Quyida ushbu loyiha uchun zarur bo'lgan barcha asosiy komponentlar ro'yxati keltirilgan:

  • 1 ZYBO rivojlanish kengashi
  • 1 TL-WR802N simsiz yo'riqnoma
  • 1 soyali shassi
  • 2 65 mm g'ildiraklar
  • 2 140 rpm tishli motorlar
  • 2 g'ildirakli kodlovchi
  • 1 HC-SR04 ultratovush sensori
  • 1 BSS138 mantiqiy darajali konvertor
  • 1 L293 H-Bridge dvigatel haydovchisi
  • 12 V dan 5 V gacha DC/DC konvertori
  • 1 2200 mA / soat LiPo batareyasi
  • 1 Ethernet kabeli
  • 1 USB Micro-B kabeli
  • 1 ayol XT60 ulagichi
  • Erkak-ayol 2 ta o'tish simlari
  • 30 Erkak-Erkak o'tish simlari
  • 2 10kΩ qarshilik
  • 1 Non paneli

Bundan tashqari, maqsadli kompyuterda quyidagi dasturlar o'rnatilishi kerak:

  • Xilinx Vivado Design Suite 2018.2
  • Digilent Adept 2.19.2
  • FreeRTOS 10.1.1
  • Java SE ishlab chiqish to'plami 8.191

1 -qadam: Robot shassisini yig'ing

Robot shassisini yig'ish
Robot shassisini yig'ish
Robot shassisini yig'ish
Robot shassisini yig'ish
Robot shassisini yig'ish
Robot shassisini yig'ish

Soya shassisini yig'ing va redüktör motorlarini va enkoderlarni pastki ramkaga ulang. ZYBO, non paneli va ultrasonik datchiklar 3D qismli bosib chiqarilishi mumkin bo'lgan qismlar bilan o'rnatilishi mumkin va shassiga ikki tarafli tasma yordamida o'rnatilishi mumkin. pastki ramkalar. Routerni ZYBO va DC/DC konvertoriga yaqin joylashtiring. G'ildiraklarni eng oxirida redüktörlere ulang.

2 -qadam: simli elektronika

Tel -elektronika
Tel -elektronika
Tel -elektronika
Tel -elektronika
Tel -elektronika
Tel -elektronika

DC/DC konvertorining kirish va chiqishini mos ravishda non panelidagi ikkita quvvat panjarasiga ulang. Ular 12V va 5V tizimlari uchun xizmat qiladi. Rasmda ko'rsatilgandek ZYBO -ni 5V temir yo'lga ulang. Routerni 5V rayiga ulash uchun USB Micro-B quvvat kabelidan foydalaning. XT60 kabeli 12V temir yo'lga ulangan bo'lishi kerak. Qolgan elektr jihozlari to'g'ri ulanmaguncha batareyani ulamang. Ultrasonik sensor 5V temir yo'lga ulangan bo'lishi kerak. ZYBO -dagi Pmod JC portining 6 -pinidan foydalanib, non panelida 3.3V temir yo'lini yarating. Mantiqiy konvertorning yuqori kuchlanishli kirishini 5V temir yo'lga ulash kerak, past kuchlanishli kirishni esa 3.3V ga ulash kerak. Dvigatel enkoderlarini 3.3V relsga ulang. Dvigatel haydovchisining VCC1 -ni 5V -ga va VCC2 -ni 12V -ga ulang. Barcha EN pinlarini 5V ga ulang va barcha GND pinlarini erga ulang.

Ultrasonik sensorning TRIG va ECHO pinlarini mos ravishda HV1 va HV2 mantiq konvertoriga ulang. LV1 JC4 ga, LV2 esa JC3 ga ulangan bo'lishi kerak. Pmod pinouts uchun jadvalga qarang. Dvigatellarni haydovchiga ulang. Y1 o'ng dvigatelning ijobiy terminaliga, Y2 esa o'ng dvigatelning salbiy terminaliga ulangan bo'lishi kerak. Xuddi shunday, Y3 chap dvigatelning ijobiy terminaliga, Y4 esa chap dvigatelning manfiy terminaliga ulangan bo'lishi kerak. A1, A2, A3 va A4 mos ravishda JB2, JB1, JB4 va JB3 bilan xaritada bo'lishi kerak. Pin raqamlari uchun sxemaga qarang. JC2 simini o'ng enkoderga, JC1 esa chap enkoderga ulang. Ushbu signallarni 3.3V temir yo'lga ulash uchun tortish rezistorlari ishlatilganligiga ishonch hosil qiling. Nihoyat, ZYBO -ni yo'riqnoma bilan ulash uchun chekilgan kabelidan foydalaning.

3 -qadam: Vivadoda blok diagrammasini yarating

Vivadoda blok diagrammasini yarating
Vivadoda blok diagrammasini yarating

Vivadoda yangi RTL loyihasini yarating. Hozircha hech qanday manbani ko'rsatmasligingizga ishonch hosil qiling. "Xc7z010clg400-1" ni qidiring va tugating. Encoder_driver.sv va ultrasonic_driver.sv -ni yuklab oling. Ularni o'z papkalariga joylashtiring. "Asboblar" bo'limida IP -paketni oching va ko'rsatilgan katalogni tanlang. Yo'lni kodlovchi drayveri bo'lgan papkaga qo'ying va "Keyingi" tugmasini bosing. "Paket IP" ni bosing va ultratovush sensori drayveri uchun jarayonlarni takrorlang. Shundan so'ng, sozlamalar menyusidagi IP -bo'limi ostidagi ombor menejeriga o'ting. Yo'llarni haydovchi papkalariga qo'shing va ularni IP kutubxonasiga kiritish uchun "Apply" tugmasini bosing.

Yangi blok -diagramma yarating va "ZYNQ7 Processing System" ni qo'shing. Blokni ikki marta bosing va berilgan ZYBO_zynq_def.xml faylini import qiling. "MIO konfiguratsiyasi" ostida Timer 0 va GPIO MIO -ni yoqing. konfiguratsiyani saqlash uchun "OK" tugmasini bosing. 3 ta "AXI GPIO" blokini va 4 ta "AXI taymer" blokini qo'shing. S_AXI uchun blokirovkani avtomatlashtirishni ishga tushiring. GPIO bloklarini sozlash uchun ularni ikki marta bosing. Bitta blok 4-bitli kirish va 4-bitli ikkita kanalli bo'lishi kerak. Bu ulanishlarni tashqi qilib qo'ying va ularni kirish uchun SW va chiqish uchun LED deb belgilang. Ikkinchi blok, shuningdek, 2 ta 32-bitli ikkita kanalli bo'lishi kerak. Oxirgi GPIO bloki bitta 32-bitli kirish bo'ladi. Har bir taymer blokidan pwm0 chiqishini tashqi qilib qo'ying. Ularni PWM0, PWM1, PWM2 va PWM3 deb belgilang.

Enkoder drayverini blok -sxemaga qo'shing va CLK -ni FCLK_CLK0 ga ulang. OD0 va OD1 ni ikkinchi GPIO blokining kirish kanallariga ulang. ENCni tashqi qilib qo'ying va ENC_0 ni ENC deb o'zgartiring. Ultrasonik sensorlar blokini qo'shing va CLK ni FCLK_CLK0 ga ulang. TRIG va ECHO -ni tashqi qilib qo'ying va TRIG_0 -ni TRIG va ECHO_0 -ni ECHO -ga o'zgartiring. RFni uchinchi GPIO blokiga ulang. Malumot uchun berilgan blok -sxemaga qarang.

Manbalar panelidagi blok -diagramma faylini o'ng tugmasini bosing va HDL o'rash yarating. Foydalanuvchilarni tahrirlashga ruxsat berganingizga ishonch hosil qiling. Taqdim etilgan ZYBO_Master.xdc faylini cheklov sifatida qo'shing. "Bitstream yaratish" ni bosing va qahva tanaffusini qiling.

4 -qadam: Dasturiy ta'minotni ishlab chiqish muhitini sozlash

Vivado SDK -ga uskunalarni eksport qilish uchun "Fayl" bo'limiga o'ting. Bit oqimini kiritganingizga ishonch hosil qiling. RTOSDemo loyihasini "CORTEX_A9_Zynq_ZC702" ichiga import qiling. U FreeRTOS o'rnatish katalogida joylashgan bo'ladi. Yangi kengashni qo'llab -quvvatlash paketini yarating, lwip202 kutubxonasini tanlang. RTOSDemo loyihasidagi havola qilingan BSPni siz yaratgan BSP ga o'zgartiring*.

*Ushbu ko'rsatma yozilayotganda, FreeRTOS -da to'g'ri BSP -ga havola qilishda xato borga o'xshaydi. Buni tuzatish uchun, avvalgi sozlamalarga ega bo'lgan yangi BSP yarating. Yo'naltirilgan BSPni yangisiga o'zgartiring va qurib bo'lmagandan keyin uni eskisiga o'zgartiring. FreeRTOS endi xatosiz kompilyatsiya qilishi kerak. Ishlatilmagan BSPni o'chirib tashlang.

5 -qadam: Demo dasturini o'zgartiring

RTOSDemo "src" katalogi ostida "drayverlar" deb nomlangan yangi papka yarating. Taqdim etilgan gpio.h nusxasini oling. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h va motor.c fayllarini "haydovchilar" katalogiga joylashtiring.

Main.c -ni oching va mainSELECTED_APPLICATION -ni 2 -ga o'rnating. "LwIP_Demo" ostidagi main_lwIP.c -ni yangilangan versiya bilan almashtiring. "LwIP_Demo/apps/BasicSocketCommandServer" ostidagi BasicSocketCommandServer.c ham yangi versiya bilan yangilanishi kerak. Nihoyat, "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" ga o'ting va Sample-CLI-commands.c-ni taqdim etilgan versiya bilan almashtiring. Loyihani tuzing va hamma narsa muvaffaqiyatli tuzilganligiga ishonch hosil qiling.

6 -qadam: Flash dasturiy ta'minoti QSPI -ga

QSPI uchun Flash dasturiy ta'minoti
QSPI uchun Flash dasturiy ta'minoti
QSPI uchun Flash dasturiy ta'minoti
QSPI uchun Flash dasturiy ta'minoti
QSPI uchun Flash dasturiy ta'minoti
QSPI uchun Flash dasturiy ta'minoti

"Zynq FSBL" shablonidan foydalanib, "FSBL" deb nomlangan yangi dastur loyihasini yarating. FSBL loyihasini tuzgandan so'ng, RTOSDemo loyihasining yuklash tasvirini yarating. Yuklash vositasi sifatida "FSBL/Debug/FSBL.elf" tanlanganligiga ishonch hosil qiling. Agar u ro'yxatda bo'lmasa, bu faylga yo'lni qo'lda qo'shing.

ZYBO -dagi JP5 o'tish moslamasini "JTAG" ga o'tkazing. Kompyuteringizni ZYBO-ga ulash uchun USB Micro-B kabelidan foydalaning. Batareyani ulang va ZYBO -ni yoqing. ZYBO kompyuter tomonidan to'g'ri aniqlanganligiga ishonch hosil qilish uchun Adept dasturini ishga tushiring. Vivado SDK -dagi "Program Flash" -ni bosing va RTOSDemo -dagi BOOT.bin va FSBL -dagi FSBL.elf fayllariga yo'llarni bering. "Dastur" tugmachasini bosishdan oldin "Flashdan keyin tekshirish" ni tanlaganingizga ishonch hosil qiling. Yonish jarayoni muvaffaqiyatli yakunlanganligini tekshirish uchun konsolni tomosha qiling. Shundan so'ng, ZYBO -ni o'chiring va USB kabelini uzing. JP5 o'tish moslamasini "QSPI" ga o'tkazing.

7 -qadam: Simsiz ulanish nuqtasini sozlang

Batareya hali ulangan bo'lsa, routerning Wi-Fi tarmog'iga ulaning. Standart SSID va parol yo'riqnoma pastki qismida bo'lishi kerak. Keyin https://tplinkwifi.net saytiga o'ting va foydalanuvchi nomi va parol uchun "admin" yordamida kiring. Routerni kirish nuqtasi rejimida DHCP yoqilgan holda sozlash uchun tez sozlash ustasini ishga tushiring. Qurilma uchun standart foydalanuvchi nomi va parolni yangilaganingizga ishonch hosil qiling. Tugatganingizdan so'ng, yo'riqnoma avtomatik ravishda kirish nuqtasi rejimiga qaytishi kerak.

ZYBO -ni yoqing va siz tayinlagan SSID -dan foydalanib yo'riqchiga ulaning. Router 192.168.0.100 yoki 192.160.0.101 IP -manzillarida paydo bo'lishi mumkin. ZYBO routerda qaysi manzil bo'lmasa, tayinlanadi. Routerning IP -manzilini tezda aniqlash uchun siz derazalardagi buyruq satridan "ipconfig" ni yoki Linux yoki MacOS -dagi terminaldan "ifconfig" ni ishga tushirishingiz mumkin. Agar siz hali ham yo'riqchiga ulangan bo'lsangiz, uning IP -manzili simsiz interfeys yonida ko'rsatiladi. ZYBO IP -manzilini aniqlash uchun ushbu ma'lumotdan foydalaning. ZYBO -ning IP -manzilini tasdiqlash uchun uni buyruq satridan ping yoki telnet orqali ulash mumkin.

8 -qadam: Java dasturini ishga tushiring

Java dasturini ishga tushiring
Java dasturini ishga tushiring

RobotClient.java -ni yuklab oling va buyruq satridan "javac RobotClient.java" buyrug'i yordamida faylni kompilyatsiya qiling. "Java RobotClient" buyrug'ini bajaring, bu erda "ip_address" ZYBO IP -manzili. Agar kompyuter va ZYBO o'rtasida muvaffaqiyatli aloqa o'rnatilsa, boshqaruv GUI paydo bo'ladi. Derazaga diqqatni qaratgandan so'ng, robotni klaviaturadagi o'q tugmalari yordamida boshqarish mumkin. Sessiyani tugatish va robotdan uzish uchun qochish tugmasini bosing.

GUI bosilgan tugmachalarni ajratib ko'rsatadi va yuqori o'ng burchakda dvigatel chiqishini ko'rsatadi. Chapdagi masofa o'lchagichi barni har 2 metrdan maksimal 10 metrgacha to'ldiradi.

9 -qadam: Rangefinderni sozlang

ZYBO bortidagi kalitlardan bortdagi masofa o'lchagichni sozlash uchun foydalanish mumkin. Minimal aniqlash masofasi d, men kalitni kiritish funktsiyasi sifatida berilgan:

d = 50i + 250

Kirish tamsayı bosqichlarida 0 dan 15 gacha o'zgarishi mumkin. Bu 0,25 metrdan 1 metrgacha bo'lgan masofani anglatadi. Minimal masofada birinchi LED yonib -o'cha boshlaydi. Faol bo'lgan LEDlarning soni ob'ektning yaqinligiga mutanosib.

10 -qadam: Maxsus imkoniyatlar

Bu robotga juda oson kirish mumkin. Boshqarishning soddaligi tufayli uni faqat bitta barmoq bilan to'liq boshqarish mumkin. Imkoniyatlarni yaxshilash uchun qo'shimcha kirish qurilmalarini qo'llab -quvvatlash qo'shilishi mumkin. Bu nogironlarga robotni tanasining boshqa qismi bilan boshqarishga imkon berishi mumkin.

Tavsiya: