İçindekiler:

WiBot: 10 Adım (Resimlerle)
WiBot: 10 Adım (Resimlerle)

Video: WiBot: 10 Adım (Resimlerle)

Video: WiBot: 10 Adım (Resimlerle)
Video: Yeni REX 8in1 Robotlarından WiBot'u Yapalım! | REX Öğreniyorum #2 2024, Eylül
Anonim
WiBot
WiBot

Bu talimat, ZYBO platformunda bir Wi-Fi robotu oluşturma sürecini detaylandırır. Bu proje, nesne algılama, mesafe ölçümü ve duyarlı kontrol için gerçek zamanlı bir işletim sistemi kullanır. Bu kılavuz, ZYBO'nun çevre birimleriyle arabirim oluşturmasını, özel ürün yazılımı çalıştırmayı ve Java uygulaması aracılığıyla iletişim kurmayı kapsayacaktır. Aşağıda, bu proje için gerekli olan tüm temel bileşenlerin bir listesi bulunmaktadır:

  • 1 ZYBO Geliştirme Kurulu
  • 1 TL-WR802N Kablosuz Yönlendirici
  • 1 Gölge Şasi
  • 2 65mm Tekerlek
  • 2 140rpm Redüktörlü Motor
  • 2 Tekerlek Kodlayıcı
  • 1 HC-SR04 Ultrasonik Sensör
  • 1 BSS138 Mantık Seviyesi Dönüştürücü
  • 1 L293 H-Köprü Motor Sürücüsü
  • 1 12V - 5V DC/DC Dönüştürücü
  • 1 2200mAh LiPo Pil
  • 1 Ethernet Kablosu
  • 1 USB Mikro-B Kablosu
  • 1 Dişi XT60 Konnektör
  • 2 Erkek-Dişi Jumper Kablosu
  • 30 Erkek-Erkek Jumper Kablosu
  • 2 adet 10kΩ Direnç
  • 1 ekmek tahtası

Ayrıca, hedef bilgisayarda aşağıdaki yazılımların yüklenmesi gerekir:

  • Xilinx Vivado Tasarım Paketi 2018.2
  • Digilent Usta 2.19.2
  • ÜcretsizRTOS 10.1.1
  • Java SE Geliştirme Kiti 8.191

Adım 1: Robot Kasasını Birleştirin

Robot Kasasını Birleştirin
Robot Kasasını Birleştirin
Robot Kasasını Birleştirin
Robot Kasasını Birleştirin
Robot Kasasını Birleştirin
Robot Kasasını Birleştirin

Gölge şasiyi monte edin ve redüktörlü motorları ve kodlayıcıları alt çerçeveye takın. ZYBO, devre tahtası ve ultrasonik sensör sağlanan parçalarla birlikte 3D yazdırılabilir ve ayırıcılar ve çift taraflı bant kullanılarak kasaya sabitlenebilir. Pil robotun arkasına yakın bir yere ve tercihen üst ve üst arasına monte edilmelidir. alt çerçeveler. Yönlendiriciyi ZYBO'ya ve DC/DC dönüştürücüyü devre tahtasına yakın monte edin. Tekerlekleri en sonunda redüktörlü motorlara takın.

Adım 2: Tel Elektronik

Tel Elektronik
Tel Elektronik
Tel Elektronik
Tel Elektronik
Tel Elektronik
Tel Elektronik

DC/DC dönüştürücünün giriş ve çıkışını sırasıyla devre tahtasındaki iki güç rayına bağlayın. Bunlar, sistem için 12V ve 5V beslemeleri olarak hizmet edecektir. ZYBO'yu resimde gösterildiği gibi 5V rayına bağlayın. Yönlendiriciyi 5V rayına da bağlamak için bir USB Micro-B besleme kablosu kullanın. XT60 kablosu 12V rayına takılmalıdır. Elektronik aksamın geri kalanı doğru şekilde bağlanana kadar pili takmayın. Ultrasonik sensör 5V rayına bağlanmalıdır. ZYBO'daki Pmod bağlantı noktası JC'nin 6 numaralı pimini kullanarak devre tahtası üzerinde bir 3.3V ray oluşturun. Mantık dönüştürücünün yüksek voltaj girişi 5V rayına, mantık dönüştürücünün düşük voltaj girişi ise 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 ve VCC2'yi 12V rayına bağlayın. Tüm EN pinlerini 5V'a bağlayın ve tüm GND pinlerini topraklayın.

Ultrasonik sensörün TRIG ve ECHO pinlerini sırasıyla mantık dönüştürücünün HV1 ve HV2'sine bağlayın. LV1, JC4'e ve LV2, JC3'e bağlanmalıdır. Pmod pin çıkışları için tabloya bakın. Motorları motor sürücüsüne bağlayın. Y1 sağ motorun pozitif terminaline, Y2 ise sağ motorun negatif terminaline bağlanmalıdır. Benzer şekilde, sol motorun pozitif terminaline Y3, sol motorun negatif terminaline Y4 bağlanmalıdır. A1, A2, A3 ve A4, sırasıyla JB2, JB1, JB4 ve JB3 ile eşlenmelidir. Pin numaraları için şemaya bakın. JC2'yi sağ kodlayıcıya ve JC1'i sol kodlayıcıya bağlayın. Bu sinyalleri 3,3V raya bağlamak için çekme dirençlerinin kullanıldığından emin olun. Son olarak, ZYBO'yu yönlendiriciye bağlamak için ethernet kablosunu kullanın.

3. Adım: Vivado'da Blok Şeması Oluşturun

Vivado'da Blok Şeması Oluşturun
Vivado'da Blok Şeması Oluşturun

Vivado'da yeni bir RTL projesi oluşturun. Şu anda herhangi bir kaynak belirtmediğinizden emin olun. "xc7z010clg400-1" için arama yapın ve bitir düğmesine basın. encoder_driver.sv ve ultrasonic_driver.sv'yi indirin. Bunları kendi klasörlerine yerleştirin. "Araçlar" altında IP Paketleyiciyi açın ve belirli bir dizini paketlemeyi seçin. Yolu, kodlayıcı sürücüsünü içeren klasöre yapıştırın ve "İleri"ye basın. "IP paketini" tıklayın ve ultrasonik sensör sürücüsü için işlemleri tekrarlayın. Ardından, ayarlar menüsündeki IP alt bölümünün altındaki depo yöneticisine gidin. Yolları sürücü klasörlerine ekleyin ve bunları IP kitaplığına dahil etmek için uygula düğmesine basın.

Yeni bir blok diyagram oluşturun ve "ZYNQ7 İşleme Sistemini" ekleyin. Bloğu çift tıklayın ve sağlanan ZYBO_zynq_def.xml dosyasını içe aktarın. "MIO Yapılandırması" altında, Zamanlayıcı 0 ve GPIO MIO'yu etkinleştirin. yapılandırmayı kaydetmek için "Tamam" a basın. 3 "AXI GPIO" bloğu ve 4 "AXI Timer" bloğu ekleyin. Blok otomasyonunu ve ardından S_AXI için bağlantı otomasyonunu çalıştırın. Yapılandırmak için GPIO bloklarına çift tıklayın. Bir blok, 4 bit girişli ve 4 bit çıkışlı çift kanallı olmalıdır. Bu bağlantıları harici yapın ve giriş için SW ve çıkış için LED olarak etiketleyin. İkinci blok ayrıca 2 adet 32 bit girişli çift kanal olmalıdır. Son GPIO bloğu, tek bir 32 bit giriş olacaktır. Her zamanlayıcı bloğundan pwm0 çıkışını harici yapın. Bunları PWM0, PWM1, PWM2 ve PWM3 olarak etiketleyin.

Kodlayıcı sürücüsünü blok şemaya ekleyin ve CLK'yı FCLK_CLK0'a bağlayın. OD0 ve OD1'i ikinci GPIO bloğunun giriş kanallarına bağlayın. ENC'yi harici yapın ve ENC_0'ı ENC olarak yeniden adlandırın. Ultrasonik sensör bloğunu ekleyin ve CLK'yı FCLK_CLK0'a bağlayın. TRIG ve ECHO'yu harici yapın ve TRIG_0'ı TRIG olarak ve ECHO_0'ı ECHO olarak yeniden adlandırın. RF'yi üçüncü GPIO bloğuna bağlayın. Referans için sağlanan blok şemaya bakın.

Kaynaklar bölmesinde blok diyagram dosyanıza sağ tıklayın ve bir HDL sarmalayıcı oluşturun. Kullanıcı düzenlemelerine izin verdiğinizden emin olun. Sağlanan ZYBO_Master.xdc dosyasını bir kısıtlama olarak ekleyin. "Bit Akışı Oluştur" a basın ve bir kahve molası verin.

Adım 4: Yazılım Geliştirme Ortamını Kurun

Donanımı Vivado SDK'ya aktarmak için "Dosya"nın altına gidin. Bit akışını eklediğinizden emin olun. "CORTEX_A9_Zynq_ZC702" içindeki RTOSDemo projesini içe aktarın. FreeRTOS kurulum dizini içinde yer alacaktır. Yeni bir Kurul Destek Paketi oluşturun lwip202 kitaplığını seçin. RTOSDemo projesinde başvurulan BSP'yi yeni oluşturduğunuz BSP ile değiştirin*.

* Bu Eğitilebilir Yazıyı yazarken, FreeRTOS'un doğru BSP'ye atıfta bulunmayla ilgili bir hatası var gibi görünüyor. Bunu düzeltmek için, ilkiyle aynı ayarlarla yeni bir BSP oluşturun. Başvurulan BSP'yi yenisiyle değiştirin ve oluşturma başarısız olduktan sonra eskisiyle değiştirin. FreeRTOS artık hatasız derlenmelidir. Kullanılmayan BSP'yi silmekten çekinmeyin.

Adım 5: Demo Programını Değiştirin

RTOSDemo'nun "src" dizini altında "drivers" adında yeni bir klasör oluşturun. Sağlanan gpio.h dosyasını kopyalayın. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h ve motor.c dosyalarını "drivers" dizinine atın.

main.c dosyasını açın ve mainSELECTED_APPLICATION öğesini 2 olarak ayarlayın. "lwIP_Demo" altındaki main_lwIP.c öğesini güncellenmiş sürümle değiştirin. "lwIP_Demo/apps/BasicSocketCommandServer" altındaki BasicSocketCommandServer.c de yeni bir sürümle güncellenmelidir. Son olarak, "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos"a gidin ve Sample-CLI-commands.c'yi sağlanan sürümle değiştirin. Projeyi oluşturun ve her şeyin başarıyla derlendiğinden emin olun.

Adım 6: Firmware'i QSPI'ye Flash

QSPI'ye Flash Bellenimi
QSPI'ye Flash Bellenimi
QSPI'ye Flash Bellenimi
QSPI'ye Flash Bellenimi
QSPI'ye Flash Bellenimi
QSPI'ye Flash Bellenimi

"Zynq FSBL" şablonunu kullanarak "FSBL" adlı yeni bir Uygulama Projesi oluşturun. FSBL projesini derledikten sonra, RTOSDemo projesinin bir önyükleme görüntüsünü oluşturun. "Önyükleme görüntüsü bölümleri" altında önyükleyici olarak "FSBL/Debug/FSBL.elf" öğesinin seçili olduğundan emin olun. Listelenmemişse, bu dosyanın yolunu manuel olarak ekleyin.

ZYBO üzerindeki JP5 atlama telini "JTAG" konumuna getirin. Bilgisayarınızı ZYBO'ya bağlamak için bir USB Micro-B kablosu kullanın. Pili bağlayın ve ZYBO'yu açın. ZYBO'nun bilgisayar tarafından doğru şekilde tanımlandığından emin olmak için Adept'i çalıştırın. Vivado SDK'da "Program Flash"ı tıklayın ve RTOSDemo'da BOOT.bin dosyasının ve FSBL'de FSBL.elf dosyasının yollarını belirtin. "Program"a basmadan önce "Flaş sonrası doğrula"yı seçtiğinizden emin olun. Yanıp sönme işleminin başarıyla tamamlandığından emin olmak için konsolu izleyin. Daha sonra ZYBO'yu kapatın ve USB kablosunu çıkarın. JP5 atlama telini "QSPI" konumuna getirin.

7. Adım: Kablosuz Erişim Noktasını Yapılandırın

Pil hala bağlıyken yönlendiricinin Wi-Fi ağına bağlanın. Varsayılan SSID ve parola yönlendiricinin altında olmalıdır. Daha sonra https://tplinkwifi.net adresine gidin ve kullanıcı adı ve şifre için "admin" kullanarak giriş yapın. Yönlendiriciyi DHCP etkinken erişim noktası modunda yapılandırmak için hızlı kurulum sihirbazını çalıştırın. Cihaz için varsayılan kullanıcı adını ve şifreyi de güncellediğinizden emin olun. Bitirdikten sonra yönlendirici otomatik olarak erişim noktası modunda yeniden başlatılmalıdır.

ZYBO'yu açın ve atadığınız SSID'yi kullanarak yönlendiriciye bağlanın. Yönlendirici büyük olasılıkla 192.168.0.100 veya 192.160.0.101 IP adresinde görünecektir. Yönlendiricinin sahip olmadığı adres ZYBO'ya atanacaktır. Yönlendiricinin IP adresini hızlı bir şekilde belirlemek için, Windows'ta komut isteminden "ipconfig" veya Linux veya MacOS'ta terminalden "ifconfig" komutunu çalıştırabilirsiniz. Yönlendiriciye hala bağlıysanız, kablosuz arabiriminizin yanında görüntülenen IP adresini göreceksiniz. ZYBO'nun IP adresini belirlemek için bu bilgiyi kullanın. ZYBO'nun IP adresini doğrulamak için komut satırından ping atabilir veya telnet üzerinden bağlanabilirsiniz.

Adım 8: Java Programını Çalıştırın

Java Programını Çalıştırın
Java Programını Çalıştırın

RobotClient.java dosyasını indirin ve komut satırından "javac RobotClient.java" komutunu kullanarak dosyayı derleyin. "Java RobotClient" komutunu çalıştırın, burada "ip_address", ZYBO'nun IP adresidir. Bilgisayar ve ZYBO arasında başarılı bir bağlantı kurulursa, kontrol GUI'si açılır. Pencereyi odakladıktan sonra, robot klavyedeki ok tuşları kullanılarak kontrol edilebilir olmalıdır. Oturumu sonlandırmak ve robotla bağlantıyı kesmek için kaçış düğmesine basın.

GUI, basılan tuşları vurgulayacak ve sağ üstte motor çıkışını gösterecektir. Soldaki mesafe ölçer, maksimum 10 metreye kadar her 2 metrede bir çubuğu doldurur.

9. Adım: Telemetreyi Kalibre Edin

ZYBO'daki anahtarlar, yerleşik telemetreyi yapılandırmak için kullanılabilir. Minimum algılama mesafesi d, anahtar girişi i'nin bir fonksiyonu olarak verilir:

d = 50i + 250

Giriş, tamsayı adımlarla 0 ila 15 arasında değişebilir. Bu, 0,25 metreden 1 metreye kadar bir mesafe aralığı anlamına gelir. Minimum mesafede, ilk LED yanıp sönmeye başlayacaktır. Aktif olan LED'lerin sayısı, nesnenin yakınlığı ile orantılıdır.

Adım 10: Erişilebilirlik

Bu robota çok kolay erişilebilir. Kontrolünün basitliği nedeniyle, sadece bir parmakla tamamen kontrol edilebilir. Erişilebilirliği iyileştirmek için ek giriş cihazları için destek eklenebilir. Bu, engelli kullanımların robotu vücudunun farklı bir kısmıyla kontrol etmesine izin verebilir.

Önerilen: