Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
Dalam tutorial ini, kita akan menulis kode Verilog untuk mengontrol motor servo. Servo SG-90 diproduksi oleh Waveshare. Saat Anda membeli motor servo, Anda mungkin menerima lembar data yang mencantumkan tegangan operasi, torsi maksimum, dan Modulasi Lebar Pulsa (PWM) yang diusulkan…dll. Namun, DuePrologic FPGA memberikan tegangan input 3.3V dimana tegangan operasi servo SG-90 adalah 5V - 7V. Dalam kekurangan daya listrik, saya akan mencantumkan PWM saya yang dikalibrasi agar dapat memutar motor servo dengan sukses.
Tugas kita: Motor servo diputar maju mundur dengan periode 5 detik
Menu lengkap:
Langkah 1: Bangun Sirkuit Elektronik
Langkah 2: Siapkan Pin Planner
Klik "Mulai Analisis Penugasan I/O" untuk memeriksa apakah perencana pin diatur dengan benar. Jika tidak, Anda harus mengimpor semua nama port sendiri.
Langkah 3: Kode Verilog
Kami membuat timer "servo_count". Ketika "servo_A" TINGGI, PWM adalah 1,5 ms dan karenanya servo terletak pada 120 derajat. Sebaliknya, ketika "servo_A" RENDAH, PWM adalah 0,15 ms dan oleh karena itu servo tetap pada 0 derajat.
menetapkan XIO_2[3] = servo_pulse; //untuk V'
reg [31:0] servo_count;
awal mulai
servo_count <= 32'b0;
servo_A <= 1'b0;
akhir
selalu @(berpose CLK_66)
mulai
servo_count <= servo_count + 1'b1;
if(servo_count > 400000000) //Siklus jam 66MHz, 1/66M * 400000000 ~ 5 detik
mulai
servo_A <= !servo_A;
servo_count <= 32'b0;
akhir
akhir
reg [31:0] ex_auto;
awal mulai
ex_auto <= 32'b0;
servo_auto <= 1'b0;
akhir
selalu @(berpose CLK_66)
mulai
if(servo_A==1'b1)
mulai
ex_auto <= ex_auto + 1'b1;
if(ex_auto > 100000) //Clock cycle 66MHz, PWM ini ~1.5ms, servo berputar hingga 120 derajat
mulai
servo_auto <= !servo_auto;
ex_auto <= 32'b0;
akhir
akhir
if(servo_A==1'b0)
mulai
ex_auto <= ex_auto + 1'b1;
if(ex_auto > 10000) //Clock cycle 66MHz, PWM ini ~0.15ms, servo berputar ke 0 derajat
mulai
servo_auto <= !servo_auto;
ex_auto <= 32'b0;
akhir
akhir
akhir
Langkah 4: Unggah Kode Verilog
Klik "Mulai Kompilasi". Jika tidak ada pesan kesalahan yang ditampilkan, buka "Programmer" untuk menyelesaikan pengaturan perangkat keras. Ingatlah untuk memperbarui file pof di "Ubah file" jika perlu. Klik "Mulai" untuk mengunggah kode.
Bagaimanapun, Anda harus melihat bahwa motor servo diputar secara berkala.
Direkomendasikan:
Cara Mengontrol Motor Servo Tutorial Arduino: 4 Langkah
Tutorial Cara Mengontrol Motor Servo Arduino : Hai guys! selamat datang di tutorial baru saya, saya harap Anda sudah menikmati instruksi saya sebelumnya "kontrol motor stepper besar". Hari ini 'Saya memposting tutorial informatif ini untuk mengajarkan Anda dasar-dasar kontrol servomotor apa pun, saya sudah memposting video
Cara Super Mudah Mengontrol Motor Servo Dengan Arduino: 8 Langkah
Cara Super Mudah Mengontrol Motor Servo Dengan Arduino: Dalam tutorial ini kita akan menggunakan Motor Servo dan Arduino UNO, dan Visuino untuk mengontrol posisi derajat motor servo hanya menggunakan beberapa komponen sehingga membuat proyek ini Super Sederhana. Tonton video demonstrasi
FPGA Cyclone IV DueProLogic Mengontrol Kamera Raspberry Pi: 5 Langkah
FPGA Cyclone IV DueProLogic Mengontrol Kamera Raspberry Pi: Meskipun FPGA DueProLogic secara resmi dirancang untuk Arduino, kita akan membuat FPGA dan Raspberry Pi 4B dapat dikomunikasikan. Tiga tugas diimplementasikan dalam tutorial ini:(A) Tekan dua tombol tekan secara bersamaan pada FPGA untuk membalik sudut
FPGA Cyclone IV DueProLogic - Tombol Tekan & LED: 5 Langkah
FPGA Cyclone IV DueProLogic - Push Button & LED: Dalam tutorial ini, kita akan menggunakan FPGA untuk mengontrol rangkaian LED eksternal. Kami akan menerapkan tugas-tugas berikut(A) Gunakan tombol tekan pada FPGA Cyclone IV DuePrologic untuk mengontrol LED.(B) LED Flash menyala & mati secara berkalaVideo demo Lab
Cara Mengontrol Drone Quadcopter Brushless DC Motor (Tipe 3 Kabel) dengan Menggunakan HW30A Motor Speed Controller dan Arduino UNO: 5 Langkah
Cara Mengontrol Motor DC Brushless Quadcopter Drone Quadcopter (Tipe 3 Kabel) dengan Menggunakan Pengontrol Kecepatan Motor HW30A dan Arduino UNO: Deskripsi: Pengontrol Kecepatan Motor HW30A dapat digunakan dengan baterai LiPo 4-10 NiMH/NiCd atau 2-3 sel. BEC berfungsi dengan hingga 3 sel LiPo. Dapat digunakan untuk mengontrol kecepatan motor DC Brushless (3 kabel) dengan maksimum hingga 12Vdc. Spesifik