Indholdsfortegnelse:
- Trin 1: Byg elektronisk kredsløb
- Trin 2: Opsæt Pin Planner
- Trin 3: Verilog -kode
- Trin 4: Upload Verilog -kode
Video: FPGA Cyclone IV DueProLogic Controls Servomotor: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
I denne vejledning skal vi skrive Verilog -kode til styring af servomotor. Servoen SG-90 er fremstillet af Waveshare. Når du køber servomotoren, modtager du muligvis et datablad, der viser driftsspændingen, det maksimale drejningsmoment og den foreslåede pulsbreddemodulation (PWM) … osv. FPGA DuePrologic leverer dog indgangsspænding på 3,3V, hvor driftsspændingen for servo SG -90 er 5V - 7V. I mangel på elektrisk strøm vil jeg liste min kalibrerede PWM for at rotere servomotoren med succes.
Vores opgave: Servomotoren roteres frem og tilbage med en periode på 5 sekunder
Fuld menu: https://roywchpi.blogspot.com 2020/07/13-fpga-cyclone-iv-dueprologic-controls.html
Trin 1: Byg elektronisk kredsløb
Trin 2: Opsæt Pin Planner
Klik på "Start I/O -tildelingsanalyse" for at kontrollere, om stiften er planlagt korrekt. Ellers skal du selv importere alle portnavne.
Trin 3: Verilog -kode
Vi opretter en timer "servo_count". Når "servo_A" er HØJ, er PWM 1,5 ms, og derfor er servoen placeret ved 120 grader. I modsætning hertil, når "servo_A" er LAV, er PWM 0,15 ms, og derfor holdes servoen på 0 grader.
tildele XIO_2 [3] = servo_puls; // for V '
reg [31: 0] servo_count;
første begyndelse
servo_count <= 32'b0;
servo_A <= 1'b0;
ende
altid @(posedge CLK_66)
begynde
servo_count <= servo_count + 1'b1;
hvis (servo_count> 400000000) // Urcyklus 66MHz, 1/66M * 400000000 ~ 5 sekunder
begynde
servo_A <=! servo_A;
servo_count <= 32'b0;
ende
ende
reg [31: 0] ex_auto;
første begyndelse
ex_auto <= 32'b0;
servo_auto <= 1'b0;
ende
altid @(posedge CLK_66)
begynde
hvis (servo_A == 1'b1)
begynde
ex_auto <= ex_auto + 1'b1;
hvis (ex_auto> 100000) // Urcyklus 66MHz, er denne PWM ~ 1,5ms, servo roterer til 120 grader
begynde
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
ende
ende
hvis (servo_A == 1'b0)
begynde
ex_auto <= ex_auto + 1'b1;
hvis (ex_auto> 10000) // Urcyklus 66MHz, er denne PWM ~ 0,15ms, servoen roterer til 0 grader
begynde
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
ende
ende
ende
Trin 4: Upload Verilog -kode
Klik på "Start kompilering". Hvis der ikke vises en fejlmeddelelse, skal du gå til "Programmer" for at fuldføre hardwareopsætningen. Husk at opdatere pof -filen i "Skift fil" om nødvendigt. Klik på "Start" for at uploade koden.
Du skal trods alt se, at servomotoren roteres periodisk.
Anbefalede:
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 trin
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: På trods af at FPGA DueProLogic er officielt designet til Arduino, vil vi gøre FPGA og Raspberry Pi 4B overførbare. Tre opgaver implementeres i denne vejledning: (A) Tryk samtidigt på de to trykknapper på FPGA for at vende vinklen på
FPGA Cyclone IV DueProLogic - Trykknap og LED: 5 trin
FPGA Cyclone IV DueProLogic - Trykknap og LED: I denne vejledning skal vi bruge FPGA til at styre eksternt LED -kredsløb. Vi skal gennemføre følgende opgaver (A) Brug trykknapperne på FPGA Cyclone IV DuePrologic til at styre LED. (B) Flash LED tændt & fra periodisk Video demo Lab
Fpga kontrolleret RC servomotor robotarm - Digilent konkurrence: 3 trin
Fpga kontrolleret RC servomotor robotarm - Digilent konkurrence: FPGA styret servomotor robotarm Målet med dette projekt er at skabe et programmerbart system, der kan udføre loddeoperationer på perf board. Systemet er baseret på Digilent Basys3 udviklings bord, og det vil være i stand til at lodde
Indkapsling af trin servomotor med seriel kontrol via Arduino ved hjælp af en 3D -printer - Pt4: 8 trin
Indkapsling af trin -servomotoren med seriel kontrol via Arduino ved hjælp af en 3D -printer - Pt4: I denne fjerde video i Motor Step -serien vil vi bruge det, vi tidligere har lært, til at bygge en stepper servomotor med kontrol via seriel kommunikation og reel positionsfeedback ved hjælp af en resistiv encoder overvåget af en Arduino. I
Digispark Controls Relay Via GSM: 3 trin
Digispark Controls Relay Via GSM: Denne instruerbare bruger et Digispark -kort sammen med et relæ og GSM -modul til at tænde eller slukke for apparatet, mens den aktuelle tilstand sendes til et foruddefineret telefonnummer. Koden er meget rå, reagerer på enhver kommunikation fra modulet t