Sommario:
- Passaggio 1: costruire il circuito elettronico
- Passaggio 2: imposta il pianificatore di pin
- Passaggio 3: codice Verilog
- Passaggio 4: carica il codice Verilog
Video: FPGA Cyclone IV DueProLogic controlla il servomotore: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
In questo tutorial, scriveremo il codice Verilog per controllare il servomotore. Il servo SG-90 è prodotto da Waveshare. Quando acquisti il servomotore, potresti ricevere una scheda tecnica che elenca la tensione di esercizio, la coppia massima e la modulazione di larghezza di impulso proposta (PWM) … ecc. Tuttavia, l'FPGA DuePrologic fornisce una tensione di ingresso di 3,3 V dove la tensione operativa del servo SG-90 è 5 V - 7 V. In mancanza di alimentazione elettrica, elencherò il mio PWM calibrato per ruotare con successo il servomotore.
Il nostro compito: il servomotore viene ruotato avanti e indietro con un periodo di 5 secondi
Menù completo:
Passaggio 1: costruire il circuito elettronico
Passaggio 2: imposta il pianificatore di pin
Fare clic su "Avvia analisi assegnazione I/O" per verificare se il pianificatore pin è impostato correttamente. Altrimenti, devi importare tutti i nomi delle porte da solo.
Passaggio 3: codice Verilog
Creiamo un timer "servo_count". Quando "servo_A" è ALTO, il PWM è 1,5 ms e quindi il servo si trova a 120 gradi. Al contrario, quando "servo_A" è LOW, il PWM è 0,15 ms e quindi il servo è rimasto a 0 gradi.
assegnare XIO_2[3] = servo_pulse; //per V'
reg [31:0] servo_count;
inizio iniziale
servo_count <= 32'b0;
servo_A <= 1'b0;
fine
sempre @(posedge CLK_66)
inizio
servo_count <= servo_count + 1'b1;
if(servo_count > 400000000) //Ciclo di clock 66MHz, 1/66M * 400000000 ~ 5 secondi
inizio
servo_A <= !servo_A;
servo_count <= 32'b0;
fine
fine
reg [31:0] ex_auto;
inizio iniziale
ex_auto <= 32'b0;
servo_auto <= 1'b0;
fine
sempre @(posedge CLK_66)
inizio
if(servo_A==1'b1)
inizio
ex_auto <= ex_auto + 1'b1;
if (ex_auto > 1000000) // Ciclo di clock 66 MHz, questo PWM è ~ 1,5 ms, il servo ruota a 120 gradi
inizio
servo_auto <= !servo_auto;
ex_auto <= 32'b0;
fine
fine
if(servo_A==1'b0)
inizio
ex_auto <= ex_auto + 1'b1;
if(ex_auto > 10000) //Clock cycle 66MHz, questo PWM è ~0.15ms, il servo ruota a 0 gradi
inizio
servo_auto <= !servo_auto;
ex_auto <= 32'b0;
fine
fine
fine
Passaggio 4: carica il codice Verilog
Fare clic su "Avvia compilazione". Se non viene visualizzato alcun messaggio di errore, andare su "Programmatore" per completare la configurazione dell'hardware. Ricordati di aggiornare il file pof in "Cambia file" se necessario. Fare clic su "Avvia" per caricare il codice.
Dopotutto, dovresti vedere che il servomotore viene ruotato periodicamente.
Consigliato:
Come controllare il tutorial Arduino del servomotore: 4 passaggi
Come controllare il tutorial Arduino del servomotore: Ehi ragazzi! benvenuto nel mio nuovo tutorial, spero che ti sia già piaciuto il mio precedente "controllo motore passo-passo grande". Oggi pubblico questo tutorial informativo per insegnarti le basi di qualsiasi controllo servomotore, ho già pubblicato un video
Ruota l'orologio della sabbia ogni minuto usando il servomotore - Arduino: 8 passaggi
Ruota l'orologio della sabbia ogni minuto usando il servomotore - Arduino: in questo tutorial impareremo come ruotare un piccolo orologio della sabbia (1 minuto) ogni 60 secondi usando il servomotore e Visuino, guarda un video dimostrativo
FPGA Cyclone IV DueProLogic controlla la fotocamera Raspberry Pi: 5 passaggi
FPGA Cyclone IV DueProLogic controlla la fotocamera Raspberry Pi: nonostante l'FPGA DueProLogic sia ufficialmente progettato per Arduino, renderemo comunicabili l'FPGA e il Raspberry Pi 4B. In questo tutorial sono implementate tre attività: (A) Premi contemporaneamente i due pulsanti su FPGA per capovolgere l'angolo di
FPGA Cyclone IV DueProLogic - Pulsante e LED: 5 passaggi
FPGA Cyclone IV DueProLogic - Pulsante e LED: In questo tutorial, utilizzeremo l'FPGA per controllare il circuito LED esterno. Implementeremo le seguenti attività (A) Utilizzare i pulsanti su FPGA Cyclone IV DuePrologic per controllare il LED. (B) Flash LED acceso & off periodicamenteVideo demo Lab
Braccio robotico con servomotore RC controllato da Fpga - Concorso Digilent: 3 passaggi
Braccio robotico con servomotore RC controllato da Fpga - Digilent Contest: braccio robotico con servomotore controllato da FPGA L'obiettivo di questo progetto è creare un sistema programmabile in grado di eseguire operazioni di saldatura su scheda perf. Il sistema è basato sulla scheda di sviluppo Digilent Basys3 e sarà in grado di saldare co