Mundarija:
- 1 -qadam: Robot shassisini yig'ing
- 2 -qadam: simli elektronika
- 3 -qadam: Vivadoda blok diagrammasini yarating
- 4 -qadam: Dasturiy ta'minotni ishlab chiqish muhitini sozlash
- 5 -qadam: Demo dasturini o'zgartiring
- 6 -qadam: Flash dasturiy ta'minoti QSPI -ga
- 7 -qadam: Simsiz ulanish nuqtasini sozlang
- 8 -qadam: Java dasturini ishga tushiring
- 9 -qadam: Rangefinderni sozlang
- 10 -qadam: Maxsus imkoniyatlar
Video: WiBot: 10 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
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
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
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 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
"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
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:
Batareya bilan ishlaydigan ofis. Quyosh panellari va shamol turbinasi: Sharq/G'arbni avtomatik almashtirish bilan quyosh tizimi: 11 qadam (rasmlar bilan)
Batareya bilan ishlaydigan ofis. Quyosh tizimi Sharq/G'arbning avtomatik panellari va shamol turbinasi bilan almashinuvi bilan: Loyiha: 200 kvadrat metrli ofis batareyali bo'lishi kerak. Ofis, shuningdek, ushbu tizim uchun zarur bo'lgan barcha tekshirgichlar, batareyalar va komponentlarni o'z ichiga olishi kerak. Quyosh va shamol energiyasi batareyalarni zaryad qiladi. Faqat kichik muammo bor
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'l bilan amalga oshirildi: 8 qadam (rasmlar bilan)
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'lga qo'yildi: 1 yil davomida 2 xil joyda muvaffaqiyatli ishlaganimdan so'ng, men quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasining loyiha rejalari bilan bo'lishaman va uning qanday qilib uzoq vaqt yashay oladigan tizimga aylanganini tushuntiraman. quyosh energiyasidan o'tgan davrlar. Agar ergashsangiz
Twinky bilan eng zo'r Arduino robot bilan tanishing: 7 qadam (rasmlar bilan)
Twinky bilan eng zo'r Arduino roboti bilan tanishing: Salom, men sizga "Jibo" ni o'zim qanday yaratganimni o'rgataman. lekin "Twinky" deb nomlangan, men buni ochib bermoqchiman … Bu nusxa emas! Men ikkiyuzlamachilik bilan qurardim va shundan keyingina shunga o'xshash narsaning mavjudligini tushundim: bu erda
OpenLH: Biologiya bilan ijodiy tajriba o'tkazish uchun ochiq suyuqlik bilan ishlash tizimi: 9 qadam (rasmlar bilan)
OpenLH: Biologiya bilan ijodiy eksperimentlar uchun ochiq suyuqlik bilan ishlash tizimi: Biz bu ishni moddiy, ko'milgan va mujassamlangan o'zaro ta'sir xalqaro konferentsiyasida (TEI 2019) taqdim etganimizdan faxrlanamiz. Tempe, Arizona, AQSh | 17-20 mart. Hamma yig'ish fayllari va qo'llanmalar bu erda mavjud. Oxirgi kod versiyasi
Vaqt o'tishi bilan rasmlar uchun kamera osonlashtirildi: 22 qadam (rasmlar bilan)
Vaqt o'tishi bilan suratga olish uchun kamera osonlashtirildi. Men boshqa ko'rsatmalarni vaqtni tez suratga olish filmlarini suratga olishni tekshirib ko'rdim. U kino qismini juda yaxshi yoritgan. U filmlar yaratish uchun yuklab olishingiz mumkin bo'lgan bepul dasturiy ta'minot haqida gapirib berdi. Men o'z -o'zimga aytdim, men o'ylaymanki, agar men qila olsam