Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
V tomto tutoriálu budeme psát kód Verilog pro ovládání servomotoru. Servo SG-90 vyrábí společnost Waveshare. Při koupi servomotoru můžete obdržet datový list se seznamem provozního napětí, maximálního točivého momentu a navrhované modulace šířky pulsu (PWM)… atd. FPGA DuePrologic však poskytuje vstupní napětí 3,3 V, kde je provozní napětí serva SG -90 5 V - 7 V. Při nedostatku elektrické energie uvedu svůj kalibrovaný PWM, aby se servomotor úspěšně otočil.
Náš úkol: Servomotor se otáčí tam a zpět po dobu 5 sekund
Kompletní nabídka:
Krok 1: Vybudujte elektronický obvod
Krok 2: Nastavte Pin Planner
Kliknutím na „Spustit analýzu přiřazení I/O“zkontrolujte, zda je plánovač pinů nastaven správně. V opačném případě musíte importovat všechny názvy portů sami.
Krok 3: Verilog Code
Vytvoříme časovač „servo_count“. Když je „servo_A“VYSOKÝ, PWM je 1,5 ms, a proto je servo umístěno na 120 stupňů. Naproti tomu, když je „servo_A“NÍZKÉ, PWM je 0,15 ms, a proto servo zůstane na 0 stupních.
přiřadit XIO_2 [3] = servo_pulse; // pro V '
reg [31: 0] servo_count;
počáteční začátek
servo_count <= 32'b0;
servo_A <= 1'b0;
konec
vždy @(posedge CLK_66)
začít
servo_count <= servo_count + 1'b1;
if (servo_count> 400000000) // Clock cycle 66MHz, 1/66M * 400000000 ~ 5 seconds
začít
servo_A <=! servo_A;
servo_count <= 32'b0;
konec
konec
reg [31: 0] ex_auto;
počáteční začátek
ex_auto <= 32'b0;
servo_auto <= 1'b0;
konec
vždy @(posedge CLK_66)
začít
if (servo_A == 1'b1)
začít
ex_auto <= ex_auto + 1'b1;
if (ex_auto> 100000) // Clock cycle 66MHz, this PWM is ~ 1,5ms, servo rotates to 120 deg
začít
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
konec
konec
if (servo_A == 1'b0)
začít
ex_auto <= ex_auto + 1'b1;
if (ex_auto> 10 000) // Taktovací cyklus 66MHz, tento PWM je ~ 0,15ms, servo se otáčí o 0 stupňů
začít
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
konec
konec
konec
Krok 4: Nahrajte kód Verilog
Klikněte na „Spustit kompilaci“. Pokud se nezobrazí žádná chybová zpráva, dokončete nastavení hardwaru v části „Programátor“. V případě potřeby nezapomeňte aktualizovat soubor pof v části „Změnit soubor“. Kód odešlete kliknutím na „Start“.
Koneckonců byste měli vidět, že se servomotor pravidelně otáčí.
Doporučuje:
FPGA Cyclone IV DueProLogic ovládá kameru Raspberry Pi: 5 kroků
FPGA Cyclone IV DueProLogic Ovládá kameru Raspberry Pi: Navzdory FPGA je DueProLogic oficiálně navržen pro Arduino, chystáme se komunikovat FPGA a Raspberry Pi 4B. V tomto tutoriálu jsou implementovány tři úkoly: (A) Současně stiskněte dvě tlačítka na FPGA k převrácení úhlu
FPGA Cyclone IV DueProLogic - tlačítko a LED: 5 kroků
FPGA Cyclone IV DueProLogic - tlačítko a LED: V tomto tutoriálu použijeme FPGA k ovládání externího obvodu LED. Chystáme se implementovat následující úkoly (A) K ovládání LED použijte tlačítka na FPGA Cyclone IV DuePrologic. (B) Bliká LED na & pravidelně vypnuto Video demo Lab
Jak vytvořit Wifi systém, který ovládá osvětlení a topení v akváriu: 5 kroků
Jak vytvořit Wifi systém, který ovládá osvětlení a topení v akváriu: Co to dělá? Systém, který automaticky zapíná / vypíná vaše akvárium podle plánu nebo ručně pomocí tlačítka nebo internetového požadavku. Systém, který monitoruje teplotu vody a odesílá e -maily a upozornění pro případ, že dojde k
Výukový program: Jak Arduino ovládá více zařízení se stejnou adresou pomocí multiplexeru TCA9548A I2C: 3 kroky
Výukový program: Jak Arduino ovládá více zařízení se stejnou adresou pomocí multiplexeru TCA9548A I2C: Popis: Modul multiplexeru TCA9548A I2C umožňuje připojení zařízení se stejnou adresou I2C (až 8 stejných adres I2C) připojených k jednomu mikrokontroléru. Multiplexer funguje jako strážce brány a přenáší příkazy do vybrané sady
Relé Digispark ovládá přes GSM: 3 kroky
Ovládání relé Digispark přes GSM: Tento návod k použití používá desku Digispark spolu s relé a modulem GSM k zapnutí nebo vypnutí a zapnutí zařízení, přičemž odesílá textové zprávy o aktuálním stavu na předem definovaná telefonní čísla. Kód je velmi hrubý, reaguje na jakákoli komunikace z modulu t