logo-instruksi

instruksikan Kontrol Kecepatan Motor VHDL Tentukan Arah dan Kecepatan Pengontrol Kecepatan Kiri dan Kanan

instruksi-VHDL-Kontrol Kecepatan Motor-Tentukan-Arah-dan-Kecepatan-Kiri-dan-Kanan-Pengendali Kecepatan-PRODUK

CATATAN: Halaman ini adalah salah satu bagian dari bangunan yang lebih besar. Harap pastikan Anda memulai DI SINI, sehingga Anda memahami di mana hal-hal berikut ini cocok dalam proyek yang lebih besar

Lebihview

Pengendalian kecepatan dan arah motor merupakan salah satu dari dua divisi utama dalam robot fotodetektor, yang lainnya adalah divisi fotodetektor atau pendeteksi cahaya. Sementara divisi fotodetektor berfokus pada penglihatan robot, divisi kendali kecepatan dan arah motor berfokus pada pergerakan robot. Pengendalian kecepatan dan arah motor mengolah data yang diberikan dari bagian fotodetektor dan memberikan keluaran fisik berupa gerak motorik.

Tujuan dari pembagian ini adalah untuk mengontrol kecepatan dan arah motor kiri dan kanan robot pencari cahaya. Untuk menentukan nilai-nilai ini, Anda memerlukan ukuran dan posisi cahaya yang telah ditangkap oleh kamera dan diproses dengan ambang batas. Anda juga memerlukan kecepatan terukur pada masing-masing motor. Dari masukan tersebut, Anda akan dapat mengeluarkan nilai PWM (Pulse-Width Modulation) untuk masing-masing motor.

Untuk mencapai hal ini, Anda perlu membuat modul VHDL berikut (juga ditautkan di bawah):

  1. Kontrol
  2. Perhitungan kesalahan
  3. Konversi biner
  4.  Tidak adanya sumber cahaya

Anda dapat melihat kode VHDL untuk divisi ini di sini.

Perlengkapan
Kami menyarankan untuk membuat kode dengan ISE Design Suite 14.7 karena ini juga dapat digunakan untuk menguji kode dalam VHDL. Namun, untuk mengunggah kode ke BASYS 3, Anda perlu menginstal Vivado (ver. 2015.4 atau 2016.4) dan menulis batasan dengan ekstensi .xdc.instruksi-VHDL-Kontrol Kecepatan Motor-Tentukan-Arah-dan-Kecepatan-Kiri-dan-Kanan-Pengontrol Kecepatan-gbr-1

Kontrol Kecepatan Motor VHDL: Tentukan Arah dan Kecepatan, Pengontrol Kecepatan Kiri dan Kanan: Halaman 1

LANGKAH INSTRUKSI

Langkah 1: Kontrol
Untuk memahami cara mengontrol perilaku robot pencari cahaya, kami akan menjelaskan perilaku robot yang diinginkan saat melihat sumber cahaya. Perilaku ini akan dikontrol berdasarkan posisi dan ukuran sumber cahaya.instruksi-VHDL-Kontrol-Kecepatan-Motor-Tentukan-Arah-dan-Kecepatan-Kiri-dan-Kanan-Pengontrol Kecepatan-

Algoritma yang digunakan dianalogikan dengan pengontrol robot RC, dengan satu tuas yang dapat diputar ke kiri atau ke kanan, dan satu lagi tuas yang dapat diputar maju atau mundur.

Untuk mencari cahaya, robot ini ingin bergerak lurus jika posisi sumber cahaya tepat di depan robot. Untuk melakukan itu, Anda menginginkan kecepatan yang sama pada motor kiri dan kanan. Jika lampu terletak di sisi kiri robot, maka diinginkan agar motor kanan bergerak lebih cepat dari motor kiri agar robot dapat berbelok ke kiri menuju lampu. Sebaliknya jika lampu terletak di sisi kanan robot, maka diinginkan agar motor kiri bergerak lebih cepat dibandingkan motor kanan agar robot dapat berbelok ke kanan menuju lampu. Ini analog dengan tuas kiri pengontrol RC, di mana Anda dapat mengontrol apakah Anda ingin menggerakkan robot ke kiri, kanan, atau lurus.

Kemudian, robot harus bergerak maju jika sumber cahaya jauh (sumber cahaya kecil), atau mundur jika sumber cahaya terdeteksi terlalu dekat (sumber cahaya besar). Anda juga ingin semakin jauh jarak robot dari sumber cahaya, maka semakin cepat robot tersebut bergerak. Hal ini analog dengan tuas kanan pengontrol RC, di mana Anda dapat mengontrol apakah Anda ingin bergerak maju atau mundur, dan seberapa cepat Anda ingin menggerakkannya.

Anda kemudian dapat memperoleh rumus matematika untuk kecepatan masing-masing motor, dan kita memilih rentang kecepatan antara -255 hingga 255. Nilai negatif berarti motor akan berputar ke belakang, sedangkan nilai positif berarti motor akan berputar ke depan.

Itulah algoritma dasar pergerakan robot ini. Untuk mempelajari lebih lanjut tentang modul ini, klik di sini.

Langkah 2: Perhitungan Kesalahan
Karena Anda sudah mempunyai target kecepatan dan arah motor, Anda juga perlu memperhitungkan kecepatan dan arah motor yang diukur. Jika sudah mencapai target kecepatan, kita ingin motor hanya bergerak berdasarkan momentumnya saja. Jika belum, kami ingin menambah kecepatan pada motor. Dalam teori Kontrol, ini dikenal sebagai sistem kontrol umpan balik loop tertutup.

Untuk mempelajari lebih lanjut tentang modul ini, klik di sini.instruksi-VHDL-Kontrol Kecepatan Motor-Tentukan-Arah-dan-Kecepatan-Kiri-dan-Kanan-Pengontrol Kecepatan-gbr-2

Langkah 3: Konversi Biner
Dari perhitungan sebelumnya, Anda sudah mengetahui aksi yang diperlukan untuk masing-masing motor. Namun, penghitungannya dilakukan menggunakan biner bertanda. Tujuan dari modul ini adalah untuk mengubah nilai-nilai yang ditandatangani tersebut menjadi nilai yang dapat dibaca oleh generator PWM, yaitu arahnya (searah jarum jam atau berlawanan arah jarum jam) dan kecepatannya (berkisar antara 0 hingga 255). Selain itu, karena umpan balik dari motor diukur dalam biner tak bertanda, modul lain diperlukan untuk mengubah nilai tak bertanda (arah dan kecepatan) menjadi nilai bertanda yang dapat dihitung dengan modul penghitungan kesalahan. Untuk mempelajari lebih lanjut tentang modul ini, klik di sini.

Langkah 4: Tidak Adanya Sumber Cahaya
Anda telah membuat robot yang bergerak mencari cahaya ketika cahaya terdeteksi oleh robot. Namun apa jadinya jika robot tidak mendeteksi cahaya? Tujuan dari modul ini adalah untuk menentukan apa yang harus dilakukan ketika kondisi seperti itu terjadi.

Cara termudah untuk mencari dan mencari sumber cahaya adalah dengan memutar robot di tempatnya. Setelah berputar selama beberapa detik, jika robot masih belum menemukan sumber cahaya, Anda ingin robot berhenti bergerak, untuk menghemat daya. Setelah beberapa detik tertentu, robot harus berputar lagi di tempatnya untuk mencari cahaya. Untuk mempelajari lebih lanjut tentang modul ini, klik di sini.

Langkah 5: Cara Kerjanya
Anda dapat merujuk pada gambar di atas untuk penjelasan ini. Seperti yang disebutkan di awal instruksi ini, Anda memerlukan input “ukuran” dan “posisi” dari divisi ambang batas. Untuk memastikan bahwa masukan ini valid (misalnyaampmisalnya, ketika Anda menerima ukuran = 0, ukurannya benar-benar nol karena kamera tidak mendeteksi cahaya, dan bukan karena kamera masih melakukan inisialisasi) Anda juga memerlukan semacam indikator, yang kami sebut “SIAP”. Data ini akan diproses oleh kontrol (Ctrl.vhd) untuk menentukan kecepatan sasaran masing-masing motor (9 bit, ditandatangani).

Untuk keluaran yang lebih stabil pada motor, Anda ingin menggunakan umpan balik dalam sistem loop tertutup. Hal ini memerlukan input “arah” dan “kecepatan” masing-masing motor dari divisi pengukuran kecepatan motor. Karena Anda ingin memasukkan masukan ini ke perhitungan Anda, Anda harus mengonversi nilai yang tidak ditandatangani ini menjadi biner bertanda 9-bit. Hal ini dilakukan oleh konverter biner yang tidak ditandatangani ke yang ditandatangani (US2S.vhd).

Apa yang dilakukan perhitungan kesalahan (error.vhd) adalah mengurangi kecepatan terukur dari kecepatan sasaran untuk menentukan aksi setiap motor. Artinya bila keduanya mempunyai nilai yang sama maka pengurangannya menjadi nol dan motor hanya akan bergerak berdasarkan momentumnya. Anda juga dapat menambahkan faktor perkalian agar robot dapat mencapai kecepatan tujuan lebih cepat.

Karena pengontrol motor memerlukan kecepatan dan arah setiap motor, Anda harus menerjemahkan nilai tindakan yang ditandatangani menjadi dua nilai terpisah yang tidak ditandatangani: kecepatan (1 bit) dan arah (8 bit). Hal ini dilakukan oleh konverter biner yang ditandatangani ke tidak ditandatangani (S2US.vhd), dan akan menjadi masukan ke divisi kontrol motor.

Kami juga menambahkan modul untuk menentukan apa yang harus dilakukan ketika cahaya tidak terdeteksi (tidak ada penghitung cahaya. Bhd). Karena modul ini pada dasarnya adalah penghitung, modul ini akan menghitung berapa lama robot perlu berputar atau tetap di tempatnya. Hal ini akan memastikan robot “melihat” lingkungannya, bukan hanya apa yang ada di depannya, dan menghemat daya baterai ketika tidak ada sumber cahaya yang tersedia.instruksi-VHDL-Kontrol Kecepatan Motor-Tentukan-Arah-dan-Kecepatan-Kiri-dan-Kanan-Pengontrol Kecepatan-gbr-3

Langkah 6: Gabungkan Files
Untuk menggabungkan files, Anda perlu menghubungkan sinyal dari setiap modul. Untuk melakukan itu, Anda harus membuat modul tingkat atas yang baru file. Masukkan input dan output modul sebelumnya sebagai komponen, tambahkan sinyal untuk koneksi dan tetapkan setiap port ke pasangan yang sesuai. Anda dapat merujuk pada koneksi pada ilustrasi di atas, dan melihat kodenya di sini.instruksi-VHDL-Kontrol Kecepatan Motor-Tentukan-Arah-dan-Kecepatan-Kiri-dan-Kanan-Pengontrol Kecepatan-gbr-4

Langkah 7: Ujilah
Setelah Anda selesai dengan seluruh kode, Anda perlu mengetahui apakah kode Anda berfungsi sebelum Anda mengunggahnya ke papan, terutama karena bagian dari kode tersebut mungkin dibuat oleh orang yang berbeda. Ini memerlukan testbench, di mana Anda akan memasukkan nilai dummy dan melihat apakah kode berperilaku seperti yang kita inginkan. Anda dapat memulainya dengan menguji setiap modul, dan jika semuanya berfungsi dengan benar, Anda kemudian dapat menguji modul tingkat atas.

Langkah 8: Cobalah di Perangkat Keras
Setelah kode Anda diuji di komputer, Anda dapat menguji kode tersebut pada perangkat keras sebenarnya. Anda harus membuat batasan file di Vivado (.xdc file untuk BASYS 3) untuk mengontrol input dan output mana yang menuju ke port mana.

TIPS PENTING: Kami belajar dari pengalaman pahit bahwa komponen listrik mungkin memiliki nilai arus atau vol maksimumtagyaitu. Pastikan untuk merujuk ke lembar data untuk mengetahui nilainya. Untuk PMOD HB5, pastikan untuk mengatur voltage dari sumber listrik pada 12 volt (karena ini adalah tegangan yang diperlukantage untuk motor), dan arus sesedikit yang dibutuhkan motor untuk bergerak.

Langkah 9: Gabungkan Dengan Bagian Lain
Jika langkah sebelumnya berhasil, gabungkan kode tersebut dengan kelompok lain untuk mendapatkan kode akhir yang akan diunggah ke robot. Kalau begitu, voila! Anda telah berhasil membuat robot pencari cahaya.

Langkah 10: Kontributor
Dari kiri ke kanan:

  • Antonius Gregorius Deaven Rivaldi
  • Felix Wiguna
  • Nicholas Sanjaya
  • Richard Mediantoinstruksi-VHDL-Kontrol Kecepatan Motor-Tentukan-Arah-dan-Kecepatan-Kiri-dan-Kanan-Pengontrol Kecepatan-gbr-6

Bagus sekali: Kontrol Kecepatan Motor VHDL: Tentukan Arah dan Kecepatan, Pengontrol Kecepatan Kiri dan Kanan: Halaman 6
Terima kasih untuk reviewing! Proyek ini sebenarnya hanya satu bagian dari proyek kelas (Robot Pencari Cahaya dengan papan BASYS 3 dan kamera OV7670), jadi saya akan segera menambahkan tautan ke instruksi kelas!

Luar biasa: Saya menantikan untuk melihat semuanya disatukan.

Dokumen / Sumber Daya

instruksikan Kontrol Kecepatan Motor VHDL Tentukan Arah dan Kecepatan Pengontrol Kecepatan Kiri dan Kanan [Bahasa Indonesia:] Instruksi
Kontrol Kecepatan Motor VHDL Tentukan Arah dan Kecepatan Pengontrol Kecepatan Kiri dan Kanan, Kecepatan Motor VHDL, Kontrol Tentukan Arah dan Kecepatan Pengontrol Kecepatan Kiri dan Kanan

Referensi

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Bidang yang wajib diisi ditandai *