Mündəricat:
- Addım 1: Robot Şassisini yığın
- Addım 2: Tel Elektronikası
- Addım 3: Vivadoda Blok Şeması yaradın
- Addım 4: Proqram İnkişaf Ortamını Qurun
- Addım 5: Demo Proqramını dəyişdirin
- Addım 6: QSPI -yə Flash Firmware
- Addım 7: Simsiz Giriş Nöqtəsini konfiqurasiya edin
- Addım 8: Java Proqramını işə salın
- Addım 9: Rangefinder'i kalibr edin
- Addım 10: Əlçatanlıq
Video: WiBot: 10 addım (şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bu təlimat, ZYBO platformasında bir Wi-Fi robotu qurma prosesini ətraflı şəkildə izah edir. Bu layihə obyektlərin aşkarlanması, məsafənin ölçülməsi və həssas nəzarət üçün real vaxt əməliyyat sistemindən istifadə edir. Bu təlimat ZYBO -nu ətraf qurğularla əlaqələndirməyi, xüsusi proqram təminatını işə salmağı və Java tətbiqi ilə ünsiyyət qurmağı əhatə edəcək. Bu layihə üçün lazım olan bütün əsas komponentlərin siyahısı:
- 1 ZYBO İnkişaf Şurası
- 1 TL-WR802N Simsiz Router
- 1 Kölgə Şassisi
- 2 65 mm təkər
- 2 140 rpm sürət qutusu
- 2 Təkər Kodlayıcısı
- 1 HC-SR04 Ultrasonik Sensor
- 1 BSS138 Məntiq Səviyyə çeviricisi
- 1 L293 H-Bridge Motor Sürücü
- 1 12V - 5V DC/DC çeviricisi
- 1 2200 mAh LiPo Batareya
- 1 Ethernet Kabeli
- 1 USB Micro-B Kabeli
- 1 Qadın XT60 Konnektoru
- 2 Kişi-Dişi Jumper Teli
- 30 kişidən kişiyə keçid telləri
- 2 10kΩ rezistorlar
- 1 Çörək lövhəsi
Əlavə olaraq, hədəf kompüterdə aşağıdakı proqramlar quraşdırılmalıdır:
- Xilinx Vivado Design Suite 2018.2
- Digilent Adept 2.19.2
- PulsuzRTOS 10.1.1
- Java SE İnkişaf Kiti 8.191
Addım 1: Robot Şassisini yığın
Kölgə şassisini yığın və dişli motorları və kodlayıcıları alt çərçivəyə bağlayın. ZYBO, çörək taxtası və ultrasəs sensoru, 3D çap oluna bilən və iki tərəfli lentdən istifadə edərək şassiyə sabitlənə bilən hissələrlə birlikdə quraşdırıla bilər. Batareya robotun arxasına yaxın və tercihen üst və alt çərçivələr. Routeri ZYBO -ya və DC/DC çeviriciyə yaxın bir yerə qoyun. Təkərləri ən sonunda dişli motorlara bağlayın.
Addım 2: Tel Elektronikası
DC/DC çeviricisinin giriş və çıxışını çörək lövhəsindəki iki güc rayına qoşun. Bunlar sistem üçün 12V və 5V təchizatı kimi xidmət edəcək. Şəkildə göstərildiyi kimi ZYBO -nu 5V rayına qoşun. Routeri 5V rayına bağlamaq üçün USB Micro-B təchizatı kabeli istifadə edin. XT60 kabeli 12V rayına bağlanmalıdır. Qalan elektronika düzgün bir şəkildə bağlanana qədər batareyanı bağlamayın. Ultrasonik sensor 5V rayına bağlanmalıdır. ZYBO -dakı Pmod port JC -nin 6 -cı pinindən istifadə edərək çörək lövhəsində 3.3V dəmir yolu yaradın. Məntiq çeviricisinin yüksək gərginlikli girişi 5V rayına, məntiqi çeviricinin aşağı gərginlikli girişi isə 3.3V rayına bağlanmalıdır. Motor kodlayıcılarını 3.3V rayına bağlayın. Motor sürücüsünün VCC1 -ini 5V rayına, VCC2 -ni isə 12V rayına qoşun. Bütün EN pinlərini 5V -a bağlayın və bütün GND pinlərini yerə bağlayın.
Ultrasonik sensorun TRIG və ECHO sancaqlarını müvafiq olaraq HV1 və HV2 məntiq çeviricisinə qoşun. LV1 JC4 -ə, LV2 isə JC3 -ə bağlanmalıdır. Pmod pinouts üçün cədvələ baxın. Motorları motor sürücüsünə qoşun. Y1 sağ motorun müsbət terminalına, Y2 isə sağ motorun mənfi terminalına bağlanmalıdır. Eynilə, Y3 sol motorun müsbət terminalına, Y4 isə sol motorun mənfi terminalına bağlanmalıdır. A1, A2, A3 və A4 sırasıyla JB2, JB1, JB4 və JB3 ilə xəritələnməlidir. Pin nömrələri üçün sxemə baxın. JC2 -ni sağ kodlayıcıya və JC1 -i sol kodlayıcıya bağlayın. Bu siqnalları 3.3V rayına bağlamaq üçün çəkmə rezistorlarından istifadə olunmalıdır. Nəhayət, ZYBO -nu marşrutlaşdırıcıya bağlamaq üçün Ethernet kabelindən istifadə edin.
Addım 3: Vivadoda Blok Şeması yaradın
Vivadoda yeni bir RTL layihəsi yaradın. Hazırda heç bir mənbəni göstərmədiyinizə əmin olun. "Xc7z010clg400-1" axtarın və bitirin. Encoder_driver.sv və ultrasonic_driver.sv yükləyin. Onları öz qovluqlarına yerləşdirin. "Alətlər" altında IP Paketləyicisini açın və müəyyən bir qovluğu paketləməyi seçin. Yolunu kodlayıcı sürücüsünün olduğu qovluğa yapışdırın və "Sonrakı" düyməsini basın. "Paket IP" düyməsini basın və ultrasəs sensoru sürücüsü üçün prosesləri təkrarlayın. Daha sonra, ayarlar menyusundakı IP alt bölməsi altındakı depo menecerinə gedin. Yolları sürücü qovluqlarına əlavə edin və IP kitabxanasına daxil etmək üçün tətbiq vurun.
Yeni bir blok diaqramı yaradın və "ZYNQ7 İşləmə Sistemi" ni əlavə edin. Bloku iki dəfə vurun və verilən ZYBO_zynq_def.xml faylını idxal edin. "MIO Konfiqurasiyası" altında Timer 0 və GPIO MIO -nu aktiv edin. konfiqurasiyanı saxlamaq üçün "OK" düyməsini basın. 3 "AXI GPIO" bloku və 4 "AXI Timer" bloku əlavə edin. S_AXI üçün blok avtomatlaşdırmasını və ardınca əlaqə avtomatlaşdırmasını işə salın. Konfiqurasiya etmək üçün GPIO bloklarını iki dəfə vurun. Bir blok 4-bit giriş və 4-bit çıxışı olan ikili kanal olmalıdır. Bu əlaqələri xarici edin və giriş üçün SW və çıxış üçün LED olaraq etiketləyin. İkinci blok da 2 32 bitlik girişli ikili kanal olmalıdır. Son GPIO bloku tək bir 32 bitlik giriş olacaq. Hər bir taymer blokundan pwm0 çıxışını xarici edin. Onları PWM0, PWM1, PWM2 və PWM3 olaraq etiketləyin.
Enkoder sürücüsünü blok sxeminə əlavə edin və CLK -ni FCLK_CLK0 -a qoşun. OD0 və OD1 -i ikinci GPIO blokunun giriş kanallarına qoşun. ENC -ni xarici edin və ENC_0 -ı ENC olaraq adlandırın. Ultrasonik sensor blokunu əlavə edin və CLK -ni FCLK_CLK0 -a qoşun. TRIG və ECHO -nu xarici hala gətirin və TRIG_0 -ı TRIG, ECHO_0 -u ECHO adlandırın. Üçüncü GPIO blokuna RF qoşun. İstinad üçün verilən blok sxemə baxın.
Mənbələr bölməsində blok diaqram sənədinizə sağ vurun və HDL sarğı yaradın. İstifadəçi redaktələrinə icazə verdiyinizə əmin olun. Verilən ZYBO_Master.xdc faylını məhdudiyyət olaraq əlavə edin. "Yarat Bitstream" düyməsini basın və qəhvə fasiləsi verin.
Addım 4: Proqram İnkişaf Ortamını Qurun
Vivado SDK -ya aparat ixrac etmək üçün "Fayl" ın altına keçin. Bit axını daxil etdiyinizə əmin olun. RTOSDemo layihəsini "CORTEX_A9_Zynq_ZC702" daxilinə idxal edin. FreeRTOS quraşdırma qovluğunda yerləşəcək. Yeni bir İdarəetmə Dəstəyi Paketi yaradın, lwip202 kitabxanasını seçin. RTOSDemo layihəsindəki istinad edilən BSP -ni yeni yaratdığınız BSP olaraq dəyişdirin*.
*Bu Təlimatlandırmanı yazarkən, FreeRTOS -un düzgün BSP -ə istinad etməklə bir səhv olduğu görünür. Bunu düzəltmək üçün birincisi ilə eyni parametrləri olan yeni bir BSP yaradın. İstinad edilən BSP -ni yenisinə dəyişdirin və qura bilmədikdən sonra yenidən köhnəsinə dəyişdirin. FreeRTOS indi səhvsiz tərtib etməlidir. İstifadə edilməmiş BSP -ni silməkdən çekinmeyin.
Addım 5: Demo Proqramını dəyişdirin
RTOSDemo'nun "src" qovluğu altında "sürücülər" adlı yeni bir qovluq yaradın. Verilən gpio.h -ni kopyalayın. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h və motor.c fayllarını "sürücülər" qovluğuna daxil edin.
Main.c açın və mainSELECTED_APPLICATION -ı 2 olaraq təyin edin. "LwIP_Demo" altında main_lwIP.c -ni yenilənmiş versiya ilə əvəz edin. "LwIP_Demo/apps/BasicSocketCommandServer" altında olan BasicSocketCommandServer.c də yeni bir versiya ilə yenilənməlidir. Son olaraq "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" a gedin və Sample-CLI-commands.c-ni verilən versiya ilə əvəz edin. Layihəni qurun və hər şeyin uğurla tərtib olunmasını təmin edin.
Addım 6: QSPI -yə Flash Firmware
"Zynq FSBL" şablonunu istifadə edərək "FSBL" adlı yeni bir Tətbiq Layihəsi yaradın. FSBL layihəsini tərtib etdikdən sonra, RTOSDemo layihəsinin açılış şəklini yaradın. "Boot image arakəsmələri" altında "FSBL/Debug/FSBL.elf" in yükləyici olaraq seçildiyinə əmin olun. Siyahıda deyilsə, bu faylı əl ilə əlavə edin.
ZYBO üzərindəki JP5 atlayıcısını "JTAG" a köçürün. Kompüterinizi ZYBO-ya bağlamaq üçün USB Micro-B kabelindən istifadə edin. Batareyanı qoşun və ZYBO -nu yandırın. ZYBO -nun kompüter tərəfindən düzgün təyin olunduğundan əmin olmaq üçün Adept proqramını işə salın. Vivado SDK -da "Proqram Flaşını" vurun və RTOSDemo -dakı BOOT.bin faylına və FSBL -də FSBL.elf faylına yollar verin. "Proqramı" vurmadan əvvəl "Flaşdan sonra yoxla" nı seçdiyinizə əmin olun. Yanıp sönmə əməliyyatının uğurla başa çatmasını təmin etmək üçün konsolu izləyin. Bundan sonra, ZYBO -nu söndürün və USB kabelini ayırın. JP5 tullananını "QSPI" -ə köçürün.
Addım 7: Simsiz Giriş Nöqtəsini konfiqurasiya edin
Batareya hələ də bağlı olduqda, routerin Wi-Fi şəbəkəsinə qoşulun. Varsayılan SSID və parol routerin altında olmalıdır. Daha sonra, https://tplinkwifi.net ünvanına gedin və istifadəçi adı və şifrə üçün "admin" istifadə edərək daxil olun. Routerin DHCP aktiv olduğu halda giriş nöqtəsi rejimində konfiqurasiya etmək üçün sürətli qurma sihirbazını işə salın. Cihaz üçün standart istifadəçi adı və şifrəni də yenilədiyinizə əmin olun. Bitirdikdən sonra yönləndirici avtomatik olaraq giriş nöqtəsi rejiminə keçməlidir.
ZYBO -nu işə salın və təyin etdiyiniz SSID -dən istifadə edərək marşrutlaşdırıcıya qoşulun. Router, çox güman ki, ya 192.168.0.100 ya da 192.160.0.101 IP ünvanına çıxacaq. ZYBO, yönlendiricinin olmadığı ünvana təyin ediləcək. Routerin IP ünvanını tez müəyyən etmək üçün Windows -dakı əmr satırından "ipconfig" və ya Linux və ya MacOS -dan "ifconfig" -i işlədə bilərsiniz. Hələ də yönləndiriciyə bağlısınızsa, simsiz interfeysinizin yanında onun IP ünvanını görəcəksiniz. Bu məlumatları ZYBO -nun IP ünvanını təyin etmək üçün istifadə edin. ZYBO -nun IP ünvanını təsdiqləmək üçün ya əmr satırından ping edə bilərsiniz, ya da telnet vasitəsi ilə ona qoşula bilərsiniz.
Addım 8: Java Proqramını işə salın
RobotClient.javanı yükləyin və əmr satırından "javac RobotClient.java" əmrini istifadə edərək faylı tərtib edin. "İp_address" ZYBO -nun IP ünvanı olduğu "java RobotClient" əmrini işlədin. Kompüterlə ZYBO arasında uğurlu bir əlaqə qurulduqda nəzarət GUI açılır. Pəncərəni fokusladıqdan sonra robot klaviaturadakı ox düymələri ilə idarə olunmalıdır. Sessiyanı bitirmək və robotdan ayrılmaq üçün qaçış düyməsini basın.
GUI, basılan düymələri vurğulayacaq və motorun çıxışını sağ yuxarıda göstərəcək. Soldakı məsafə ölçmə cihazı, hər 2 metrdən bir maksimum 10 metrə qədər bir çubuğu doldurur.
Addım 9: Rangefinder'i kalibr edin
ZYBO -nun göyərtəsindəki açarlar təyyarədəki məsafə tapıcısını konfiqurasiya etmək üçün istifadə edilə bilər. Minimum aşkarlama məsafəsi d, keçid girişi i funksiyası olaraq verilir:
d = 50i + 250
Giriş tam ədədlərlə 0 ilə 15 arasında dəyişə bilər. Bu, 0,25 metrdən 1 metrə qədər olan bir məsafəyə çevrilir. Minimum məsafədə ilk LED yanıb -sönməyə başlayacaq. Aktiv olan LED -lərin sayı obyektin yaxınlığı ilə mütənasibdir.
Addım 10: Əlçatanlıq
Bu robot çox asanlıqla əldə edilə bilər. Nəzarətinin sadəliyi səbəbindən yalnız bir barmaqla tam idarə oluna bilər. Əlçatanlığı yaxşılaşdırmaq üçün əlavə giriş cihazlarına dəstək əlavə edilə bilər. Bu, əlillərin robotu bədəninin fərqli bir hissəsi ilə idarə etməsinə imkan verə bilər.
Tövsiyə:
DIY 37 Leds Arduino Rulet Oyunu: 3 Addım (Şəkillərlə birlikdə)
DIY 37 Leds Arduino Rulet Oyunu: Rulet, kiçik təkər mənasını verən Fransız sözündən sonra verilən bir kazino oyunudur
Əl BASIC Kompüteri: 6 Addım (Şəkillərlə birlikdə)
Əl BASIC Kompüteri: Bu Təlimat, BASIC ilə işləyən kiçik bir el kompüteri qurma prosesimi təsvir edir. Kompüter, ATmega 1284P AVR çipinin ətrafında qurulmuşdur ki, bu da kompüterin axmaq adını (HAL 1284) ilhamlandırmışdır
Qonşuluqda Geniş Sinxron LEDlər: 5 Addım (Şəkillərlə birlikdə)
Qonşuluqda Geniş Sinxron LEDlər: Tətil üçün söndürə biləcəyimi düşündüyüm bəzi simsiz LED çubuqlarım vardı. Ancaq mənim həyətimdə onlar da eyni şəkildə telli ola bilərdilər. Yaxşı, sərin problem nədir? Blokumdakı bütün evlərdə sinxron displey ilə LED bəzəklər
E-dohicky Russun Lazer Güc Ölçerinin Elektron Versiyası Dohicky: 28 Addım (Şəkillərlə birlikdə)
E-dohicky Russ-un Lazer Güc Ölçerinin Elektron Versiyası Dohicky: Lazer elektrik aləti. E-dohicky, Russ SADLER-dən olan dohicky-nin elektron versiyasıdır. Russ çox yaxşı SarbarMultimedia youtube kanalını canlandırır https://www.youtube.com/watch?v=A-3HdVLc7nI&t=281sRuss SADLER asan və ucuz bir aksesuar təqdim edir
Portativ Bluetooth 2.1 Boombox: 16 Addım (Şəkillərlə birlikdə)
Portativ Bluetooth 2.1 Boombox: Hər kəsə salam! Bu quruluşda, təkrar doldurulan bir batareyaya və əla performansa malik portativ Bluetooth boomboxu hazırlamaq qərarına gəldim. Bu natiq, Paul Carmody -nin yerləşdirmək üçün bir qədər təmir etdiyim Isetta dinamikinə əsaslanır