![FPGA Cyclone IV DueProLogic vezérlő szervomotor: 4 lépés FPGA Cyclone IV DueProLogic vezérlő szervomotor: 4 lépés](https://i.howwhatproduce.com/images/002/image-3532-21-j.webp)
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47
![Az FPGA Cyclone IV DueProLogic vezérli a szervo motort Az FPGA Cyclone IV DueProLogic vezérli a szervo motort](https://i.howwhatproduce.com/images/002/image-3532-22-j.webp)
Ebben az oktatóanyagban Verilog kódot fogunk írni a szervomotor vezérléséhez. Az SG-90 szervót a Waveshare gyártja. A szervomotor vásárlásakor kaphat egy adatlapot, amely felsorolja az üzemi feszültséget, a maximális nyomatékot és a javasolt impulzusszélesség -modulációt (PWM) stb. Az FPGA DuePrologic azonban 3,3 V bemeneti feszültséget biztosít, ahol az SG -90 szervo üzemi feszültsége 5V - 7V. Az elektromos áram hiányában felsorolom a kalibrált PWM -eket a szervomotor sikeres forgatása érdekében.
Feladatunk: A szervomotor 5 másodperc alatt előre -hátra forog
Teljes menü:
1. lépés: Elektronikus áramkör építése
![Elektronikus áramkör építése Elektronikus áramkör építése](https://i.howwhatproduce.com/images/002/image-3532-23-j.webp)
2. lépés: A Pin Planner beállítása
![A Pin Planner beállítása A Pin Planner beállítása](https://i.howwhatproduce.com/images/002/image-3532-24-j.webp)
Kattintson a "Start I/O Assignment Analysis" gombra, hogy ellenőrizze, hogy a tű tervező helyesen van -e beállítva. Ellenkező esetben az összes portnevet egyedül kell importálnia.
3. lépés: Verilog -kód
Létrehozunk egy "servo_count" időzítőt. Ha a "servo_A" MAGAS, akkor a PWM 1,5 ms, és ezért a szervó 120 fokon található. Ezzel szemben, ha a "servo_A" alacsony, a PWM 0,15 ms, és ezért a szervó 0 fokon marad.
hozzárendel XIO_2 [3] = servo_pulse; // V -re
reg [31: 0] servo_count;
kezdő kezdet
szervo_szám <= 32'b0;
szervo_A <= 1'b0;
vége
mindig @(poszter CLK_66)
kezdődik
szervo_szám <= szervo_szám + 1'b1;
if (szervo_szám> 400000000) // Óraciklus 66MHz, 1/66M * 400000000 ~ 5 másodperc
kezdődik
szervo_A <=! servo_A;
szervo_szám <= 32'b0;
vége
vége
reg [31: 0] ex_auto;
kezdő kezdet
ex_auto <= 32'b0;
szervo_auto <= 1'b0;
vége
mindig @(poszter CLK_66)
kezdődik
ha (servo_A == 1'b1)
kezdődik
ex_auto <= ex_auto + 1'b1;
ha (ex_auto> 100000) // Óraciklus 66 MHz, ez a PWM ~ 1,5 ms, a szervó 120 fokra forog
kezdődik
szervo_auto <=! servo_auto;
ex_auto <= 32'b0;
vége
vége
ha (servo_A == 1'b0)
kezdődik
ex_auto <= ex_auto + 1'b1;
ha (ex_auto> 10000) // Óraciklus 66 MHz, ez a PWM ~ 0,15 ms, a szervó 0 fokig forog
kezdődik
szervo_auto <=! servo_auto;
ex_auto <= 32'b0;
vége
vége
vége
4. lépés: Töltse fel a Verilog -kódot
![Image Image](https://i.howwhatproduce.com/images/002/image-3532-26-j.webp)
![](https://i.ytimg.com/vi/lsDoIZI5m34/hqdefault.jpg)
Kattintson a "Fordítás indítása" gombra. Ha nem jelenik meg hibaüzenet, lépjen a "Programozó" részre a hardver beállításának befejezéséhez. Ne felejtse el frissíteni a pof fájlt a "Fájl módosítása" részben, ha szükséges. Kattintson a "Start" gombra a kód feltöltéséhez.
Végül is látnia kell, hogy a szervomotor rendszeresen forog.
Ajánlott:
A homokóra forgatása percenként a szervomotor használatával - Arduino: 8 lépés
![A homokóra forgatása percenként a szervomotor használatával - Arduino: 8 lépés A homokóra forgatása percenként a szervomotor használatával - Arduino: 8 lépés](https://i.howwhatproduce.com/images/001/image-60-32-j.webp)
Forgassa el a homokórát minden percben a szervomotor használatával - Arduino: Ebben az oktatóanyagban megtanuljuk, hogyan kell egy kicsi (1 perces) homokórát 60 másodpercenként elforgatni a szervomotor és a Visuino segítségével. Nézzen meg egy bemutató videót
Intelligens szemetes az Arduino, az ultrahangos érzékelő és a szervomotor használatával: 3 lépés
![Intelligens szemetes az Arduino, az ultrahangos érzékelő és a szervomotor használatával: 3 lépés Intelligens szemetes az Arduino, az ultrahangos érzékelő és a szervomotor használatával: 3 lépés](https://i.howwhatproduce.com/images/001/image-183-24-j.webp)
Intelligens szemetes az Arduino, az ultrahangos érzékelő és a szervomotor használatával: Ebben a projektben megmutatom, hogyan készítsünk intelligens szemetet az Arduino használatával, ahol a szemétkosár fedele automatikusan kinyílik, ha szemetes szemléletmóddal közeledik. Az intelligens szemeteskosár készítéséhez használt egyéb fontos összetevők egy HC-04 ultrahangos érzékelő
HAKELT! Szervómotor mint vonatvezető !: 17 lépés
![HAKELT! Szervómotor mint vonatvezető !: 17 lépés HAKELT! Szervómotor mint vonatvezető !: 17 lépés](https://i.howwhatproduce.com/images/001/image-08-99-j.webp)
HAKELT! Szervómotor mint vonatvonatvezető !: Első lépések a vasúti modellben? Nincs elég költségvetése ahhoz, hogy megvásárolja ezeket a drága vonatvezérlőket? Ne aggódj! Ebben az utasításban megmutatom, hogyan készíthet saját alacsony költségvetésű vonatvezérlőt egy szervomotor feltörésével. Szóval, gyerünk
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 lépés
![FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 lépés FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 lépés](https://i.howwhatproduce.com/images/001/image-1646-19-j.webp)
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: Annak ellenére, hogy az FPGA DueProLogic -t hivatalosan az Arduino számára tervezték, az FPGA -t és a Raspberry Pi 4B -t kommunikálhatóvá tesszük. Ebben az oktatóanyagban három feladat valósul meg: (A) Nyomja meg egyszerre a két nyomógombot FPGA a szög forgatásához
FPGA Cyclone IV DueProLogic - Nyomógomb és LED: 5 lépés
![FPGA Cyclone IV DueProLogic - Nyomógomb és LED: 5 lépés FPGA Cyclone IV DueProLogic - Nyomógomb és LED: 5 lépés](https://i.howwhatproduce.com/images/001/image-1648-12-j.webp)
FPGA Cyclone IV DueProLogic - Nyomógomb és LED: Ebben az oktatóanyagban az FPGA -t fogjuk használni a külső LED áramkör vezérlésére. A következő feladatokat fogjuk végrehajtani (A) A LED vezérléséhez használja az FPGA Cyclone IV DuePrologic nyomógombjait. (B) Vaku LED világít & időnként ki