![Servo motor FPGA Cyclone IV DueProLogic ovláda: 4 kroky Servo motor FPGA Cyclone IV DueProLogic ovláda: 4 kroky](https://i.howwhatproduce.com/images/002/image-3532-21-j.webp)
Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05
![Servomotor riadi FPGA Cyclone IV DueProLogic Servomotor riadi FPGA Cyclone IV DueProLogic](https://i.howwhatproduce.com/images/002/image-3532-22-j.webp)
V tomto tutoriáli napíšeme kód Verilog na ovládanie servomotora. Servo SG-90 vyrába spoločnosť Waveshare. Pri kúpe servomotora môžete dostať technický list so zoznamom prevádzkového napätia, maximálneho krútiaceho momentu a navrhovanej modulácie šírky impulzu (PWM) … atď. FPGA DuePrologic však poskytuje vstupné napätie 3,3 V, kde je prevádzkové napätie serva SG -90 5 V - 7 V. Pri nedostatku elektrického napájania uvediem svoj kalibrovaný PWM, aby sa servo motor úspešne otočil.
Naša úloha: Servomotor sa otáča tam a späť v priebehu 5 sekúnd
Kompletné menu:
Krok 1: Vytvorte elektronický obvod
![Zostavte elektronický obvod Zostavte elektronický obvod](https://i.howwhatproduce.com/images/002/image-3532-23-j.webp)
Krok 2: Nastavte plánovač pinov
![Nastavte plánovač pinov Nastavte plánovač pinov](https://i.howwhatproduce.com/images/002/image-3532-24-j.webp)
Kliknutím na „Spustiť analýzu priradenia I/O“skontrolujte, či je plánovač pinov správne nastavený. V opačnom prípade musíte importovať všetky názvy portov sami.
Krok 3: Verilog Code
Vytvárame časovač „servo_count“. Keď je „servo_A“HIGH, PWM je 1,5 ms, a preto je servo umiestnené pri 120 stupňoch. Naopak, keď je „servo_A“NÍZKY, PWM je 0,15 ms, a preto je servo udržiavané na 0 stupňoch.
priradiť XIO_2 [3] = servo_pulse; // pre V '
reg [31: 0] servo_count;
počiatočný začiatok
servo_count <= 32'b0;
servo_A <= 1'b0;
koniec
vždy @(posedge CLK_66)
začať
servo_count <= servo_count + 1'b1;
if (servo_count> 400000000) // Taktovací cyklus 66MHz, 1/66M * 400000000 ~ 5 sekúnd
začať
servo_A <=! servo_A;
servo_count <= 32'b0;
koniec
koniec
reg [31: 0] ex_auto;
počiatočný začiatok
ex_auto <= 32'b0;
servo_auto <= 1'b0;
koniec
vždy @(posedge CLK_66)
začať
ak (servo_A == 1'b1)
začať
ex_auto <= ex_auto + 1'b1;
ak (ex_auto> 100000) // Taktovací cyklus 66 MHz, tento PWM je ~ 1,5 ms, servo sa otáča o 120 stupňov
začať
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
koniec
koniec
ak (servo_A == 1'b0)
začať
ex_auto <= ex_auto + 1'b1;
ak (ex_auto> 10 000) // Taktovací cyklus 66 MHz, tento PWM je ~ 0,15 ms, servo sa otáča o 0 stupňov
začať
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
koniec
koniec
koniec
Krok 4: Nahrajte kód Verilog
![Image Image](https://i.howwhatproduce.com/images/002/image-3532-26-j.webp)
![](https://i.ytimg.com/vi/lsDoIZI5m34/hqdefault.jpg)
Kliknite na „Spustiť kompiláciu“. Ak sa nezobrazí žiadne chybové hlásenie, dokončite nastavenie hardvéru v časti „Programátor“. V prípade potreby nezabudnite aktualizovať súbor pof v časti „Zmeniť súbor“. Kliknutím na tlačidlo „Štart“nahráte kód.
Koniec koncov, mali by ste vidieť, že servomotor sa pravidelne otáča.
Odporúča:
FPGA Cyclone IV DueProLogic ovláda kameru Raspberry Pi: 5 krokov
![FPGA Cyclone IV DueProLogic ovláda kameru Raspberry Pi: 5 krokov FPGA Cyclone IV DueProLogic ovláda kameru Raspberry Pi: 5 krokov](https://i.howwhatproduce.com/images/001/image-1646-19-j.webp)
FPGA Cyclone IV DueProLogic Ovláda kameru Raspberry Pi: Napriek tomu, že FPGA DueProLogic je oficiálne navrhnutý pre Arduino, chystáme sa sprístupniť FPGA a Raspberry Pi 4B. V tomto návode sú implementované tri úlohy: (A) Súčasne stlačte dve tlačidlá na FPGA na prevrátenie uhla
FPGA Cyclone IV DueProLogic - tlačidlo a LED: 5 krokov
![FPGA Cyclone IV DueProLogic - tlačidlo a LED: 5 krokov FPGA Cyclone IV DueProLogic - tlačidlo a LED: 5 krokov](https://i.howwhatproduce.com/images/001/image-1648-12-j.webp)
FPGA Cyclone IV DueProLogic - tlačidlo a LED: V tomto tutoriáli použijeme FPGA na ovládanie externého obvodu LED. Budeme implementovať nasledujúce úlohy (A) Na ovládanie LED diódy používajte tlačidlá na FPGA Cyclone IV DuePrologic. (B) Blikajúca LED dióda & pravidelne vypnuté Video demo laboratórium
Ako vytvoriť Wifi systém, ktorý ovláda osvetlenie a kúrenie v akváriu: 5 krokov
![Ako vytvoriť Wifi systém, ktorý ovláda osvetlenie a kúrenie v akváriu: 5 krokov Ako vytvoriť Wifi systém, ktorý ovláda osvetlenie a kúrenie v akváriu: 5 krokov](https://i.howwhatproduce.com/images/004/image-9926-j.webp)
Ako vytvoriť Wifi systém, ktorý ovláda osvetlenie a kúrenie v akváriu: Čo to robí? Systém, ktorý automaticky zapína / vypína vaše akvárium podľa plánu alebo manuálne pomocou tlačidla alebo internetovej požiadavky. Systém, ktorý monitoruje teplotu vody a odosiela e -maily a upozornenia v prípade vypnutia v
Výučba: Ako Arduino ovláda viac zariadení s rovnakou adresou pomocou multiplexora TCA9548A I2C: 3 kroky
![Výučba: Ako Arduino ovláda viac zariadení s rovnakou adresou pomocou multiplexora TCA9548A I2C: 3 kroky Výučba: Ako Arduino ovláda viac zariadení s rovnakou adresou pomocou multiplexora TCA9548A I2C: 3 kroky](https://i.howwhatproduce.com/images/009/image-25184-j.webp)
Tutorial: How Arduino Control Multiple Same Address Devices by Using TCA9548A I2C Multiplexer: Popis: The TCA9548A I2C Multiplexer Module is to allow to connect devices with the same I2C address (up to 8 same address I2C) hookled up to one microcontroller. Multiplexor funguje ako strážca brány a prenáša príkazy do zvolenej sady
Arduino ovláda prehrávač v jednote: 7 krokov
![Arduino ovláda prehrávač v jednote: 7 krokov Arduino ovláda prehrávač v jednote: 7 krokov](https://i.howwhatproduce.com/images/010/image-27477-j.webp)
Arduino Controls Player in Unity: Met dit project can be de snelheid van de player bepalen in Unity met behulp van een touch screen op de Arduino. Ook is er een waarde die on een tijdje Steeds minder word, in mijn project heet deze waarde "" oxygen ". Hoe lager deze waarde wo