
INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-23 12:53

In hierdie handleiding gaan ons Verilog -kode skryf om die servomotor te beheer. Die servo SG-90 word vervaardig deur Waveshare. As u die servomotor koop, ontvang u moontlik 'n datablad met die werkspanning, maksimum wringkrag en die voorgestelde Pulse Width Modulation (PWM) … ens. Die FPGA DuePrologic bied egter insetspanning van 3.3V, waar die werkspanning van servo SG -90 5V - 7V is. By gebrek aan elektriese krag, sal ek my gekalibreerde PWM lys om die servomotor suksesvol te draai.
Ons taak: die servomotor word met 'n tydperk van 5 sekondes heen en weer gedraai
Volledige spyskaart: https://roywchpi.blogspot.com 2020/07/13-fpga-cyclone-iv-dueprologic-controls.html
Stap 1: Bou 'n elektroniese stroombaan

Stap 2: Stel penbeplanner op

Klik op "Start I/O Assignment Analysis" om te kyk of die penbeplanner korrek ingestel is. Andersins moet u alle poortname self invoer.
Stap 3: Verilog -kode
Ons skep 'n timer 'servo_count'. As "servo_A" HOOG is, is die PWM 1,5 ms en vandaar dat die servo 120 grade is. In teenstelling hiermee, as "servo_A" LAAG is, is die PWM 0.15 ms en word die servo dus op 0 grade gebly.
ken XIO_2 [3] toe = servo_puls; // vir V '
reg [31: 0] servo_count;
aanvanklike begin
servo_count <= 32'b0;
servo_A <= 1'b0;
einde
altyd @(posedge CLK_66)
begin
servo_count <= servo_count + 1'b1;
as (servo_telling> 400000000) // Kloksiklus 66MHz, 1/66M * 400000000 ~ 5 sekondes
begin
servo_A <=! servo_A;
servo_count <= 32'b0;
einde
einde
reg [31: 0] ex_auto;
aanvanklike begin
ex_auto <= 32'b0;
servo_auto <= 1'b0;
einde
altyd @(posedge CLK_66)
begin
as (servo_A == 1'b1)
begin
ex_auto <= ex_auto + 1'b1;
as (ex_auto> 100000) // Kloksiklus 66MHz, is hierdie PWM ~ 1.5ms, servo draai tot 120 grade
begin
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
einde
einde
as (servo_A == 1'b0)
begin
ex_auto <= ex_auto + 1'b1;
as (ex_auto> 10000) // Kloksiklus 66MHz, is hierdie PWM ~ 0.15ms, servo draai na 0 grade
begin
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
einde
einde
einde
Stap 4: Laai Verilog -kode op


Klik op "Begin samestelling". As daar geen foutboodskap verskyn nie, gaan na "Programmer" om die hardeware -opstelling te voltooi. Onthou om die pof -lêer by te werk in "Verander lêer" indien nodig. Klik op "Start" om die kode op te laai.
U moet immers sien dat die servomotor gereeld gedraai word.
Aanbeveel:
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 stappe

FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera: Ten spyte van die FPGA DueProLogic is amptelik ontwerp vir Arduino, gaan ons die FPGA en Raspberry Pi 4B oordraagbaar maak. FPGA om die hoek van
FPGA Cyclone IV DueProLogic - drukknop en LED: 5 stappe

FPGA Cyclone IV DueProLogic - drukknop en LED: In hierdie tutoriaal gaan ons die FPGA gebruik om die eksterne LED -stroombaan te beheer. Ons gaan die volgende take uitvoer (A) Gebruik die drukknoppies op FPGA Cyclone IV DuePrologic om LED te beheer. (B) Flash LED aan & periodiek af Video demo -laboratorium
Arduino Cyclone Game: 5 stappe (met foto's)

Arduino Cyclone Game: Ek het nog nooit die regte sikloon -arkadespel gespeel nie, maar ek hou van die idee om met ons reaksietyd te speel. Ek het 'n geminiaturiseerde spel ontwerp. Dit bestaan uit 32 LED's wat 'n sirkel vorm, die LED's brand een vir een as 'n geleide jaer. Die doel is om 'n knop te druk
Fpga -beheerde RC -servomotor -robotarm - Digilent -wedstryd: 3 stappe

Fpga -beheerde RC Servo Motor Robot Arm - Digilent Wedstryd: FPGA beheerde servo motor robot arm Die doel van hierdie projek is om 'n programmeerbare stelsel te skep wat soldeerbewerkings op perf board kan verrig. Die stelsel is gebaseer op die Digilent Basys3 -ontwikkelingsbord en kan soldeer
Digispark Controls Relay Via GSM: 3 stappe

Digispark Controls Relay Via GSM: Hierdie instruksies gebruik 'n Digispark -bord, tesame met 'n relais en GSM -module om die huidige toestand na 'n voorafbepaalde telefoonnommer (s) te stuur. Die kode is baie kru, reageer op enige kommunikasie uit die module t