Sisällysluettelo:
- Vaihe 1: Rakenna elektroninen piiri
- Vaihe 2: Määritä Pin Planner
- Vaihe 3: Verilog -koodi
- Vaihe 4: Lähetä Verilog -koodi
Video: FPGA Cyclone IV DueProLogic Controls Servomoottori: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Tässä opetusohjelmassa aiomme kirjoittaa Verilog -koodin servomoottorin ohjaamiseen. Servo SG-90 on Wavesharen valmistama. Kun ostat servomoottorin, saatat saada tietolomakkeen, jossa luetellaan käyttöjännite, suurin vääntömomentti ja ehdotettu pulssileveysmodulaatio (PWM) jne. FPGA DuePrologic tarjoaa kuitenkin 3,3 V: n tulojännitteen, kun SG -90: n käyttöjännite on 5 V - 7 V. Sähkötehon puuttuessa luettelen kalibroidun PWM: n servomoottorin pyörittämiseksi onnistuneesti.
Tehtävämme: Servomoottoria pyöritetään edestakaisin 5 sekunnin ajan
Koko valikko:
Vaihe 1: Rakenna elektroninen piiri
Vaihe 2: Määritä Pin Planner
Napsauta "Aloita I/O -määritysanalyysi" tarkistaaksesi, onko pin -suunnittelija asetettu oikein. Muussa tapauksessa sinun on tuotava kaikki porttien nimet itse.
Vaihe 3: Verilog -koodi
Luomme ajastimen "servo_count". Kun "servo_A" on KORKEA, PWM on 1,5 ms ja siten servo sijaitsee 120 astetta. Sitä vastoin, kun "servo_A" on LOW, PWM on 0,15 ms ja siksi servo pysyy 0 astetta.
antaa XIO_2 [3] = servo_pulse; // V: lle
reg [31: 0] servo_count;
alku alkaa
servoluku <= 32'b0;
servo_A <= 1'b0;
loppuun
aina @(postaus CLK_66)
alkaa
servo_ count <= servo_ count + 1'b1;
if (servoluku> 400000000) // Kellojakso 66MHz, 1/66M * 400000000 ~ 5 sekuntia
alkaa
servo_A <=! servo_A;
servoluku <= 32'b0;
loppuun
loppuun
reg [31: 0] ex_auto;
alku alkaa
ex_auto <= 32'b0;
servo_auto <= 1'b0;
loppuun
aina @(postaus CLK_66)
alkaa
jos (servo_A == 1'b1)
alkaa
ex_auto <= ex_auto + 1'b1;
jos (ex_auto> 100000) // Kellojakso 66 MHz, tämä PWM on ~ 1,5 ms, servo pyörii 120 asteeseen
alkaa
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
loppuun
loppuun
jos (servo_A == 1'b0)
alkaa
ex_auto <= ex_auto + 1'b1;
jos (ex_auto> 10000) // Kellojakso 66 MHz, tämä PWM on ~ 0,15 ms, servo pyörii 0 asteeseen
alkaa
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
loppuun
loppuun
loppuun
Vaihe 4: Lähetä Verilog -koodi
Napsauta "Aloita kokoaminen". Jos virheilmoitusta ei näy, mene "Ohjelmoija" loppuun laitteiston asennuksen suorittamiseksi. Muista päivittää pof -tiedosto tarvittaessa "Vaihda tiedosto" -kohtaan. Napsauta "Käynnistä" ladataksesi koodin.
Loppujen lopuksi sinun pitäisi nähdä, että servomoottoria pyöritetään säännöllisesti.
Suositeltava:
Hakkeroitu! Servomoottori mallin veturinkuljettajana!: 17 vaihetta
Hakkeroitu! Servomoottori mallin veturinkuljettajana!: Aloittaminen rautateiden malleissa? Eikö sinulla ole tarpeeksi budjettia kaikkien kalliiden junanohjaimien ostamiseen? Älä huoli! Tässä ohjeessa näytän sinulle, kuinka voit tehdä oman pienen budjetin junaohjaimen hakkeroimalla servomoottorin. Joten, otetaan
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 vaihetta
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: FPGA DueProLogic on virallisesti suunniteltu Arduinolle, mutta aiomme tehdä FPGA: sta ja Raspberry Pi 4B: stä kommunikoitavia. FPGA kääntää kulmaa
FPGA Cyclone IV DueProLogic - Painike ja LED: 5 vaihetta
FPGA Cyclone IV DueProLogic - Painike ja LED: Tässä opetusohjelmassa aiomme käyttää FPGA: ta ulkoisen LED -piirin ohjaamiseen. Toteutamme seuraavat tehtävät (A) Käytä FPGA Cyclone IV DuePrologicin painikkeita LED: in ohjaamiseen. (B) Salaman merkkivalo palaa & pois käytöstä ajoittainVideoesittelylaboratorio
Kissanruoan kulunvalvonta (ESP8266 + servomoottori + 3D -tulostus): 5 vaihetta (kuvilla)
Kissanruoan pääsyn valvonta (ESP8266 + servomoottori + 3D -tulostus): Tämä projekti kattaa prosessin, jonka käytin luodessani automaattisen kissanruokakupin ikääntyneelle diabeettiselle kissalle Chazille. Katso, hänen on syötävä aamiainen ennen kuin hän voi saada insuliininsä, mutta unohdan usein noutaa hänen ruokalajinsa ennen nukkumaanmenoa, mikä
Servomoottori, jossa 10 LEDiä: 5 vaihetta
Servomoottori, jossa on 10 LEDiä: tässä videossa näytän sinulle, kuinka sytyttää LEDit yhdessä servomoottorin nousevan kulman kanssa. Toivon, että pidät tästä ohjeesta