Isi kandungan:

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, November
Anonim
WiBot
WiBot

Instruksional ini memperincikan proses untuk membina robot Wi-Fi di platform ZYBO. Projek ini menggunakan sistem operasi masa nyata untuk pengesanan objek, pengukuran jarak, dan kawalan responsif. Panduan ini akan merangkumi antara muka ZYBO dengan periferal, menjalankan firmware tersuai, dan berkomunikasi melalui aplikasi Java. Berikut adalah senarai semua komponen penting yang diperlukan untuk projek ini:

  • 1 Lembaga Pembangunan ZYBO
  • 1 Penghala Tanpa Wayar TL-WR802N
  • 1 Casis Bayangan
  • 2 Roda 65mm
  • 2 140rpm Gearmotor
  • Pengekod 2 Roda
  • 1 Sensor Ultrasonik HC-SR04
  • 1 Penukar Tahap Logik BSS138
  • 1 Pemandu Motor L293 H-Bridge
  • 1 Penukar 12V hingga 5V DC / DC
  • 1 Bateri LiPo 2200mAh
  • 1 Kabel Ethernet
  • 1 Kabel Mikro-B USB
  • 1 Penyambung XT60 Perempuan
  • 2 Wayar Pelompat Lelaki-ke-Perempuan
  • 30 Wayar Pelompat Lelaki-ke-Lelaki
  • 2 Perintang 10kΩ
  • 1 Papan Roti

Di samping itu, perisian berikut mesti dipasang pada komputer sasaran:

  • Xilinx Vivado Design Suite 2018.2
  • Digilent Adept 2.19.2
  • FreeRTOS 10.1.1
  • Kit Pembangunan Java SE 8.191

Langkah 1: Pasang Casis Robot

Pasang Casis Robot
Pasang Casis Robot
Pasang Casis Robot
Pasang Casis Robot
Pasang Casis Robot
Pasang Casis Robot

Pasang casis bayangan dan pasangkan roda gigi dan pengekod ke bingkai bawah. Sensor ZYBO, papan roti, dan ultrasonik boleh dipasang dengan bahagian yang disediakan yang boleh dicetak 3D dan dipasang pada casis menggunakan penutup dan pita dua sisi. Bateri harus dipasang berhampiran bahagian belakang robot dan lebih baik antara bahagian atas dan bingkai bawah. Pasang penghala dekat dengan ZYBO dan penukar DC / DC dekat dengan papan roti. Pasang roda ke roda gigi pada hujungnya.

Langkah 2: Elektronik Wayar

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

Sambungkan input dan output penukar DC / DC ke dua rel kuasa pada papan roti masing-masing. Ini akan berfungsi sebagai bekalan 12V dan 5V untuk sistem. Sambungkan ZYBO ke rel 5V seperti yang ditunjukkan dalam gambar. Gunakan kabel bekalan USB Micro-B untuk menyambungkan penghala ke rel 5V juga. Kabel XT60 harus dipasang pada rel 12V. Jangan pasangkan bateri sehingga elektronik yang lain disambung dengan betul. Sensor ultrasonik harus disambungkan ke rel 5V. Buat rel 3.3V di papan roti menggunakan pin 6 Pmod port JC di ZYBO. Input voltan tinggi penukar logik harus disambungkan ke rel 5V sementara input voltan rendah penukar logik harus disambungkan ke rel 3.3V. Kabel pengekod motor ke rel 3.3V. Sambungkan VCC1 pemandu motor ke rel 5V dan sambungkan VCC2 ke rel 12V. Ikat semua pin EN ke 5V dan arahkan semua pin GND.

Sambungkan pin TRIG dan ECHO sensor ultrasonik ke HV1 dan HV2 dari penukar logik. LV1 harus disambungkan ke JC4 dan LV2 harus disambungkan ke JC3. Rujuk carta untuk pinout Pmod. Sambungkan motor ke pemandu motor. Y1 harus dihubungkan ke terminal positif motor kanan dan Y2 harus dihubungkan ke terminal negatif motor kanan. Begitu juga, Y3 harus disambungkan ke terminal positif motor kiri dan Y4 harus dihubungkan ke terminal negatif motor kiri. A1, A2, A3, dan A4 harus dipetakan ke JB2, JB1, JB4, dan JB3 masing-masing. Rujuk skema untuk nombor pin. Kawat JC2 ke pengekod kanan dan JC1 ke pengekod kiri. Pastikan perintang tarik digunakan untuk mengikat isyarat ini ke rel 3.3V. Terakhir, gunakan kabel ethernet untuk menyambungkan ZYBO ke penghala.

Langkah 3: Buat Gambarajah Blok di Vivado

Buat Gambarajah Blok di Vivado
Buat Gambarajah Blok di Vivado

Buat projek RTL baru di Vivado. Pastikan tidak menyatakan sumber pada masa ini. Cari "xc7z010clg400-1" dan tekan selesai. Muat turun encoder_driver.sv dan ultrasonic_driver.sv. Letakkannya di folder mereka sendiri. Buka IP Packager di bawah "Tools" dan pilih untuk mengemas direktori yang ditentukan. Tampal jalan ke folder yang mengandungi pemacu pengekod dan tekan "Next". Klik "paket IP" dan ulangi proses untuk pemacu sensor ultrasonik. Selepas itu, arahkan ke pengurus repositori di bawah subseksyen IP di menu tetapan. Tambahkan jalan ke folder pemacu dan tekan terapkan untuk memasukkannya ke perpustakaan IP.

Buat gambarajah blok baru dan tambahkan "Sistem Pemprosesan ZYNQ7". Klik dua kali blok dan import fail ZYBO_zynq_def.xml yang disediakan. Di bawah "Konfigurasi MIO", aktifkan Pemasa 0 dan GPIO MIO. tekan "OK" untuk menyimpan konfigurasi. Tambahkan 3 blok "AXI GPIO" dan 4 blok "Timer AXI". Jalankan automasi blok diikuti dengan automasi sambungan untuk S_AXI. Klik dua kali blok GPIO untuk mengkonfigurasinya. Satu blok mestilah dwi saluran dengan input 4-bit dan output 4-bit. Jadikan sambungan ini luaran dan labelkan SW untuk input dan LED untuk output. Blok kedua juga mestilah dwi saluran dengan 2 input 32-bit. Blok GPIO terakhir akan menjadi input 32-bit tunggal. Jadikan output pwm0 dari setiap blok pemasa di luar. Labelkannya PWM0, PWM1, PWM2, dan PWM3.

Tambahkan pemacu pengekod ke rajah blok dan sambungkan CLK ke FCLK_CLK0. Sambungkan OD0 dan OD1 ke saluran input blok GPIO kedua. Jadikan ENC luaran dan namakan semula ENC_0 kepada ENC. Tambahkan blok sensor ultrasonik dan sambungkan CLK ke FCLK_CLK0. Jadikan TRIG dan ECHO luaran dan ganti nama TRIG_0 menjadi TRIG dan ECHO_0 menjadi ECHO. Sambungkan RF ke blok GPIO ketiga. Rujuk rajah blok yang disediakan untuk rujukan.

Klik kanan fail rajah blok anda di panel Sumber dan buat pembungkus HDL. Pastikan untuk membenarkan pengeditan pengguna. Tambahkan fail ZYBO_Master.xdc yang disediakan sebagai kekangan. Tekan "Hasilkan Bitstream" dan berehat sebentar.

Langkah 4: Persiapkan Persekitaran Pembangunan Perisian

Pergi ke bawah "Fail" untuk mengeksport perkakasan ke Vivado SDK. Pastikan untuk memasukkan aliran bit. Import projek RTOSDemo di dalam "CORTEX_A9_Zynq_ZC702". Ia akan berada di dalam direktori pemasangan FreeRTOS. Buat Pakej Sokongan Papan baru pilih perpustakaan lwip202. Tukar BSP yang dirujuk dalam projek RTOSDemo ke BSP yang baru anda buat *.

* Pada saat menulis Instructable ini, FreeRTOS nampaknya mempunyai bug dengan merujuk BSP yang betul. Untuk menyelesaikannya, buat BSP baru dengan tetapan yang sama dengan yang pertama. Tukar BSP yang dirujuk ke yang baru dan kemudian ubah kembali ke yang lama setelah gagal dibina. FreeRTOS kini harus menyusun tanpa ralat. Jangan hapus BSP yang tidak digunakan.

Langkah 5: Ubahsuai Program Demo

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

Buka main.c dan tetapkan mainSELECTED_APPLICATION ke 2. Ganti main_lwIP.c di bawah "lwIP_Demo" dengan versi yang dikemas kini. BasicSocketCommandServer.c di bawah "lwIP_Demo / apps / BasicSocketCommandServer" juga harus dikemas kini dengan versi baru. Terakhir, arahkan ke "FreeRTOSv10.1.1 / FreeRTOS-Plus / Demo / Common / FreeRTOS_Plus_CLI_Demos" dan ganti Sample-CLI-Command.c dengan versi yang disediakan. Bina projek dan pastikan semuanya berjaya disusun.

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 Projek Aplikasi baru yang disebut "FSBL" menggunakan templat "Zynq FSBL". Setelah menyusun projek FSBL, buat imej boot projek RTOSDemo. Pastikan "FSBL / Debug / FSBL.elf" dipilih sebagai pemuat but di bawah "Boot image partitions". Tambahkan jalan ke fail ini secara manual jika tidak disenaraikan.

Pindahkan pelompat JP5 di ZYBO ke "JTAG". Gunakan kabel Micro-B USB untuk menyambungkan komputer anda ke ZYBO. Sambungkan bateri dan hidupkan ZYBO. Jalankan Adept untuk memastikan ZYBO dikenal pasti dengan betul oleh komputer. Klik "Program Flash" di Vivado SDK dan berikan laluan ke fail BOOT.bin di RTOSDemo dan fail FSBL.elf di FSBL. Pastikan untuk memilih "Verifikasi setelah flash" sebelum menekan "Program". Perhatikan konsol untuk memastikan operasi berkelip berjaya diselesaikan. Selepas itu, matikan ZYBO dan cabut kabel USB. Pindahkan pelompat JP5 ke "QSPI".

Langkah 7: Konfigurasikan Titik Akses Tanpa Wayar

Dengan bateri yang masih tersambung, sambungkan ke rangkaian Wi-Fi penghala. SSID dan kata laluan lalai harus berada di bahagian bawah penghala. Selepas itu, arahkan ke https://tplinkwifi.net dan log masuk menggunakan "admin" untuk nama pengguna dan kata laluan. Jalankan wizard persediaan cepat untuk mengkonfigurasi penghala dalam mod titik akses dengan DHCP diaktifkan. Pastikan juga mengemas kini nama pengguna dan kata laluan lalai untuk peranti. Penghala harus reboot secara automatik ke mod titik akses setelah anda selesai.

Hidupkan ZYBO dan sambungkan ke penghala menggunakan SSID yang anda tetapkan. Penghala 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 oleh penghala. Untuk menentukan alamat IP penghala dengan cepat, anda dapat menjalankan "ipconfig" dari command prompt di windows atau "ifconfig" dari terminal di Linux atau MacOS. Sekiranya anda masih tersambung ke penghala, anda akan melihat alamat IPnya dipaparkan di sebelah antara muka wayarles anda. Gunakan maklumat ini untuk menentukan alamat IP ZYBO. Untuk mengesahkan alamat IP ZYBO, anda boleh membuat ping dari baris arahan atau menyambungkannya melalui telnet.

Langkah 8: Jalankan Program Java

Jalankan Program Java
Jalankan Program Java

Muat turun RobotClient.java dan kumpulkan fail menggunakan arahan "javac RobotClient.java" dari baris arahan. Jalankan arahan "java RobotClient" di mana "ip_address" adalah alamat IP ZYBO. GUI kawalan akan muncul jika sambungan berjaya dibuat antara komputer dan ZYBO. Setelah memfokuskan tingkap, robot harus dikawal dengan menggunakan kekunci anak panah pada papan kekunci. Tekan butang melarikan diri untuk mengakhiri sesi dan memutuskan sambungan dari robot.

GUI akan menyoroti kekunci yang ditekan dan menunjukkan output motor di kanan atas. Meter jarak di sebelah kiri mengisi bar setiap 2 meter hingga maksimum 10 meter.

Langkah 9: Calibrate Rangefinder

Suis di atas ZYBO dapat digunakan untuk mengkonfigurasi pengintai jarak jauh. Jarak pengesanan minimum d diberikan sebagai fungsi input suis i:

d = 50i + 250

Input boleh berbeza antara 0 hingga 15 dalam langkah bilangan bulat. Ini diterjemahkan kepada jarak jarak 0.25 meter hingga 1 meter. Pada jarak minimum, LED pertama akan mula berkelip. Bilangan LED yang aktif berkadar dengan jarak objek.

Langkah 10: Kebolehcapaian

Robot ini sangat mudah diakses. Oleh kerana kesederhanaan pengawalannya, ia dapat dikawal sepenuhnya dengan hanya satu jari. Untuk meningkatkan aksesibilitas, dukungan untuk peranti input tambahan dapat ditambahkan. Ini membolehkan penggunaan orang kurang upaya mengawal robot dengan bahagian tubuh mereka yang berbeza.

Disyorkan: