Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
U ovom ćemo vodiču napisati Verilog kod za upravljanje servo motorom. Servo SG-90 proizvodi Waveshare. Kada kupite servo motor, možda ćete dobiti tehnički list koji navodi radni napon, maksimalni okretni moment i predloženu pulsno -širinsku modulaciju (PWM) … itd. Međutim, FPGA DuePrologic daje ulazni napon od 3,3 V gdje je radni napon servo SG -90 5V - 7V. U nedostatku električne energije navest ću svoj kalibrirani PWM kako bih uspješno rotirao servo motor.
Naš zadatak: Servo motor se okreće naprijed -nazad u razdoblju od 5 sekundi
Cijeli meni:
Korak 1: Izgradite elektroničko kolo
Korak 2: Postavite Pin Planner
Kliknite "Pokreni analizu dodjele I/O" da biste provjerili je li pin planer pravilno postavljen. U suprotnom, morate sami uvesti sva imena portova.
Korak 3: Verilog koda
Kreiramo tajmer "servo_count". Kada je "servo_A" VISOKO, PWM je 1,5 ms pa se servo nalazi na 120 stepeni. Nasuprot tome, kada je "servo_A" NISKA, PWM je 0,15 ms i stoga se servo drži na 0 stupnjeva.
dodijeli XIO_2 [3] = servo_puls; // za V '
reg [31: 0] servo_broj;
početni početak
broj servo <= 32'b0;
servo_A <= 1'b0;
kraj
uvijek @(postavljeno CLK_66)
početi
servo_broj <= broj servo_boda + 1'b1;
if (broj servo> 400000000) // Sat takta 66MHz, 1/66M * 400000000 ~ 5 sekundi
početi
servo_A <=! servo_A;
broj servo <= 32'b0;
kraj
kraj
reg [31: 0] ex_auto;
početni početak
ex_auto <= 32'b0;
servo_auto <= 1'b0;
kraj
uvijek @(postavljeno CLK_66)
početi
if (servo_A == 1'b1)
početi
ex_auto <= ex_auto + 1'b1;
if (ex_auto> 100000) // Satni ciklus 66MHz, ovaj PWM je ~ 1.5ms, servo se okreće na 120 stepeni
početi
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
kraj
kraj
if (servo_A == 1'b0)
početi
ex_auto <= ex_auto + 1'b1;
if (ex_auto> 10000) // Satni ciklus 66MHz, ovaj PWM je ~ 0,15ms, servo se okreće na 0 stepeni
početi
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
kraj
kraj
kraj
Korak 4: Postavite Verilog kôd
Kliknite "Pokreni kompilaciju". Ako se ne prikaže poruka o grešci, idite na "Programer" da biste dovršili postavljanje hardvera. Ne zaboravite ažurirati pof datoteku u "Promijeni datoteku" ako je potrebno. Kliknite "Start" da biste učitali kôd.
Uostalom, trebali biste vidjeti da se servo motor povremeno okreće.