Daftar Isi:

WiBot: 10 Langkah (dengan Gambar)
WiBot: 10 Langkah (dengan Gambar)

Video: WiBot: 10 Langkah (dengan Gambar)

Video: WiBot: 10 Langkah (dengan Gambar)
Video: Upin & Ipin Musim 17 - Neo Santara Wirabot (Official Trailer) 2024, September
Anonim
WiBot
WiBot

Instruksi ini merinci proses pembuatan robot Wi-Fi di platform ZYBO. Proyek ini menggunakan sistem operasi real-time untuk deteksi objek, pengukuran jarak, dan kontrol responsif. Panduan ini akan mencakup antarmuka ZYBO dengan periferal, menjalankan firmware khusus, dan berkomunikasi melalui aplikasi Java. Berikut ini adalah daftar semua komponen utama yang diperlukan untuk proyek ini:

  • 1 Dewan Pengembangan ZYBO
  • 1 Router Nirkabel TL-WR802N
  • 1 Sasis Bayangan
  • 2 Roda 65mm
  • 2 Gearmotor 140rpm
  • 2 Wheel Encoder
  • 1 Sensor Ultrasonik HC-SR04
  • 1 Konverter Level Logika BSS138
  • 1 L293 H-Bridge Driver Motor
  • 1 Konverter 12V ke 5V DC/DC
  • Baterai LiPo 1 2200mAh
  • 1 Kabel Ethernet
  • 1 Kabel Mikro-B USB
  • 1 Konektor XT60 Wanita
  • 2 Kabel Jumper Pria-ke-Wanita
  • 30 Kabel Jumper Pria-ke-Pria
  • 2 10kΩ Resistor
  • 1 papan tempat memotong roti

Selain itu, perangkat lunak berikut harus diinstal pada komputer target:

  • Xilinx Vivado Design Suite 2018.2
  • Rajin Mahir 2.19.2
  • FreeRTOS 10.1.1
  • Kit Pengembangan Java SE 8.191

Langkah 1: Merakit Sasis Robot

Merakit Sasis Robot
Merakit Sasis Robot
Merakit Sasis Robot
Merakit Sasis Robot
Merakit Sasis Robot
Merakit Sasis Robot

Pasang sasis bayangan dan pasang gearmotors dan encoder ke rangka bawah. ZYBO, papan tempat memotong roti, dan sensor ultrasonik dapat dipasang dengan bagian yang disediakan yang dapat dicetak 3D dan dipasang pada sasis menggunakan penyangga dan selotip dua sisi. Baterai harus dipasang di dekat bagian belakang robot dan sebaiknya di antara bagian atas dan bingkai bawah. Pasang router dekat dengan ZYBO dan konverter DC/DC dekat dengan papan tempat memotong roti. Pasang roda ke gearmotors di bagian paling akhir.

Langkah 2: Kawat Elektronik

Kawat Elektronik
Kawat Elektronik
Kawat Elektronik
Kawat Elektronik
Kawat Elektronik
Kawat Elektronik

Hubungkan input dan output dari konverter DC/DC masing-masing ke dua rel daya pada papan tempat memotong roti. Ini akan berfungsi sebagai pasokan 12V dan 5V untuk sistem. Hubungkan ZYBO ke rel 5V seperti yang ditunjukkan pada gambar. Gunakan kabel suplai USB Micro-B untuk menghubungkan router ke rel 5V juga. Kabel XT60 harus dipasang ke rel 12V. Jangan mencolokkan baterai sampai perangkat elektronik lainnya terhubung dengan benar. Sensor ultrasonik harus disambungkan ke rel 5V. Buat rel 3.3V di papan tempat memotong roti menggunakan pin 6 dari port Pmod JC pada ZYBO. Input tegangan tinggi dari konverter logika harus disambungkan ke rel 5V sedangkan input tegangan rendah dari konverter logika harus disambungkan ke rel 3.3V. Hubungkan encoder motor ke rel 3.3V. Hubungkan VCC1 driver motor ke rel 5V dan hubungkan VCC2 ke rel 12V. Ikat semua pin EN ke 5V dan arde semua pin GND.

Hubungkan pin TRIG dan ECHO dari sensor ultrasonik masing-masing ke HV1 dan HV2 dari konverter logika. LV1 harus disambungkan ke JC4 dan LV2 harus disambungkan ke JC3. Lihat bagan untuk pinout Pmod. Hubungkan motor ke driver motor. Y1 harus dihubungkan ke terminal positif motor kanan dan Y2 harus dihubungkan ke terminal negatif motor kanan. Demikian pula, Y3 harus dihubungkan ke terminal positif motor kiri dan Y4 harus dihubungkan ke terminal negatif motor kiri. A1, A2, A3, dan A4 masing-masing harus dipetakan ke JB2, JB1, JB4, dan JB3. Lihat skema untuk nomor pin. Hubungkan JC2 ke encoder kanan dan JC1 ke encoder kiri. Pastikan resistor pull-up digunakan untuk mengikat sinyal ini ke rel 3.3V. Terakhir, gunakan kabel ethernet untuk menghubungkan ZYBO ke router.

Langkah 3: Buat Diagram Blok di Vivado

Buat Diagram Blok di Vivado
Buat Diagram Blok di Vivado

Buat proyek RTL baru di Vivado. Pastikan untuk tidak menentukan sumber apa pun saat ini. Cari "xc7z010clg400-1" dan tekan finish. Unduh encoder_driver.sv dan ultrasonic_driver.sv. Tempatkan mereka di folder mereka sendiri. Buka IP Packager di bawah "Tools" dan pilih untuk mengemas direktori tertentu. Rekatkan jalur ke folder yang berisi driver encoder dan tekan "Berikutnya". Klik "paket IP" dan ulangi proses untuk driver sensor ultrasonik. Setelah itu, navigasikan ke manajer repositori di bawah subbagian IP di menu pengaturan. Tambahkan path ke folder driver dan tekan apply untuk memasukkannya ke dalam pustaka IP.

Buat diagram blok baru dan tambahkan "ZYNQ7 Processing System". Klik dua kali blok dan impor file ZYBO_zynq_def.xml yang disediakan. Di bawah "MIO Configuration", aktifkan Timer 0 dan GPIO MIO. tekan "OK" untuk menyimpan konfigurasi. Tambahkan 3 blok "AXI GPIO" dan 4 blok "AXI Timer". Jalankan otomatisasi blok diikuti dengan otomatisasi koneksi untuk S_AXI. Klik dua kali blok GPIO untuk mengonfigurasinya. Satu blok harus saluran ganda dengan input 4-bit dan output 4-bit. Buat koneksi ini eksternal dan beri label SW untuk input dan LED untuk output. Blok kedua juga harus saluran ganda dengan 2 input 32-bit. Blok GPIO terakhir akan menjadi input 32-bit tunggal. Jadikan output pwm0 dari setiap blok timer eksternal. Beri label PWM0, PWM1, PWM2, dan PWM3.

Tambahkan driver encoder ke diagram blok dan hubungkan CLK ke FCLK_CLK0. Hubungkan OD0 dan OD1 ke saluran input blok GPIO kedua. Jadikan ENC eksternal dan ganti nama ENC_0 menjadi ENC. Tambahkan blok sensor ultrasonik dan sambungkan CLK ke FCLK_CLK0. Jadikan TRIG dan ECHO eksternal dan ganti nama TRIG_0 menjadi TRIG dan ECHO_0 menjadi ECHO. Hubungkan RF ke blok GPIO ketiga. Lihat diagram blok yang disediakan untuk referensi.

Klik kanan file diagram blok Anda di panel Sumber dan buat pembungkus HDL. Pastikan untuk mengizinkan pengeditan pengguna. Tambahkan file ZYBO_Master.xdc yang disediakan sebagai kendala. Tekan "Hasilkan Bitstream" dan istirahatlah untuk minum kopi.

Langkah 4: Atur Lingkungan Pengembangan Perangkat Lunak

Buka "File" untuk mengekspor perangkat keras ke Vivado SDK. Pastikan untuk menyertakan bitstream. Impor proyek RTOSDemo di dalam "CORTEX_A9_Zynq_ZC702". Itu akan terletak di dalam direktori instalasi FreeRTOS. Buat Paket Dukungan Dewan baru pilih perpustakaan lwip202. Ubah BSP yang direferensikan dalam proyek RTOSDemo ke BSP yang baru saja Anda buat*.

*Pada saat penulisan Instruksi ini, FreeRTOS tampaknya memiliki bug dengan mereferensikan BSP yang benar. Untuk mengatasinya, buat BSP baru dengan pengaturan yang sama seperti yang pertama. Ubah BSP yang direferensikan ke yang baru dan kemudian ubah kembali ke yang lama setelah gagal dibangun. FreeRTOS sekarang harus dikompilasi tanpa kesalahan. Jangan ragu untuk menghapus BSP yang tidak digunakan.

Langkah 5: Ubah Program Demo

Buat folder baru bernama "driver" di bawah direktori "src" RTOSDemo. Salin gpio.h yang disediakan. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h, dan motor.c ke dalam direktori "drivers".

Buka main.c dan atur mainSELECTED_APPLICATION ke 2. Ganti main_lwIP.c di bawah "lwIP_Demo" dengan versi yang diperbarui. BasicSocketCommandServer.c di bawah "lwIP_Demo/apps/BasicSocketCommandServer" juga harus diperbarui dengan versi baru. Terakhir, navigasikan ke "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" dan ganti Sample-CLI-commands.c dengan versi yang disediakan. Bangun proyek dan pastikan semuanya berhasil dikompilasi.

Langkah 6: Flash Firmware ke QSPI

Flash Firmware ke QSPI
Flash Firmware ke QSPI
Flash Firmware ke QSPI
Flash Firmware ke QSPI
Flash Firmware ke QSPI
Flash Firmware ke QSPI

Buat Proyek Aplikasi baru bernama "FSBL" menggunakan template "Zynq FSBL". Setelah mengkompilasi proyek FSBL, buat gambar boot dari proyek RTOSDemo. Pastikan "FSBL/Debug/FSBL.elf" dipilih sebagai bootloader di bawah "Boot image partitions". Tambahkan jalur ke file ini secara manual jika tidak terdaftar.

Pindahkan jumper JP5 pada ZYBO ke "JTAG". Gunakan kabel USB Micro-B untuk menghubungkan komputer Anda ke ZYBO. Hubungkan baterai dan nyalakan ZYBO. Jalankan Adept untuk memastikan ZYBO diidentifikasi dengan benar oleh komputer. Klik "Program Flash" di Vivado SDK dan berikan jalur ke file BOOT.bin di RTOSDemo dan file FSBL.elf di FSBL. Pastikan untuk memilih "Verifikasi setelah flash" sebelum menekan "Program". Tonton konsol untuk memastikan operasi flashing berhasil diselesaikan. Setelah itu, matikan ZYBO dan lepaskan kabel USB. Pindahkan jumper JP5 ke "QSPI".

Langkah 7: Konfigurasikan Titik Akses Nirkabel

Dengan baterai masih terhubung, sambungkan ke jaringan Wi-Fi router. SSID dan kata sandi default harus berada di bagian bawah router. Setelah itu, navigasikan ke https://tplinkwifi.net dan login menggunakan "admin" untuk nama pengguna dan kata sandi. Jalankan wizard pengaturan cepat untuk mengkonfigurasi router dalam mode titik akses dengan DHCP diaktifkan. Pastikan untuk memperbarui nama pengguna dan kata sandi default untuk perangkat juga. Router akan secara otomatis reboot ke mode titik akses setelah Anda selesai.

Nyalakan ZYBO dan sambungkan ke router menggunakan SSID yang Anda tetapkan. Router kemungkinan besar akan muncul di alamat IP 192.168.0.100 atau 192.160.0.101. ZYBO akan diberikan alamat mana pun yang tidak dimiliki router. Untuk menentukan alamat IP router dengan cepat, Anda dapat menjalankan "ipconfig" dari command prompt di windows atau "ifconfig" dari terminal di Linux atau MacOS. Jika Anda masih terhubung ke router, Anda akan melihat alamat IP-nya ditampilkan di sebelah antarmuka nirkabel Anda. Gunakan informasi ini untuk menentukan alamat IP ZYBO. Untuk mengonfirmasi alamat IP ZYBO, Anda dapat melakukan ping dari baris perintah atau menghubungkannya melalui telnet.

Langkah 8: Jalankan Program Java

Jalankan Program Java
Jalankan Program Java

Unduh RobotClient.java dan kompilasi file menggunakan perintah "javac RobotClient.java" dari baris perintah. Jalankan perintah "java RobotClient" di mana "ip_address" adalah alamat IP ZYBO. GUI kontrol akan muncul jika koneksi berhasil dibuat antara komputer dan ZYBO. Setelah memfokuskan jendela, robot harus dapat dikontrol menggunakan tombol panah pada keyboard. Tekan tombol escape untuk mengakhiri sesi dan memutuskan sambungan dari robot.

GUI akan menyorot tombol yang ditekan dan menampilkan output motor di kanan atas. Pengukur jarak di sebelah kiri mengisi bar setiap 2 meter hingga maksimum 10 meter.

Langkah 9: Kalibrasi Rangefinder

Sakelar onboard ZYBO dapat digunakan untuk mengkonfigurasi pengintai onboard. Jarak deteksi minimum d diberikan sebagai fungsi dari input sakelar i:

d = 50i + 250

Input dapat bervariasi antara 0 hingga 15 dalam langkah bilangan bulat. Ini diterjemahkan menjadi rentang jarak 0,25 meter hingga 1 meter. Pada jarak minimum, LED pertama akan mulai berkedip. Jumlah LED yang aktif sebanding dengan kedekatan objek.

Langkah 10: Aksesibilitas

Robot ini sangat mudah diakses. Karena kesederhanaan kontrolnya, ia dapat dikontrol sepenuhnya hanya dengan satu jari. Untuk meningkatkan aksesibilitas, dukungan untuk perangkat input tambahan dapat ditambahkan. Ini dapat memungkinkan penggunaan yang dinonaktifkan untuk mengontrol robot dengan bagian tubuh yang berbeda.

Direkomendasikan: