Tartalomjegyzék:

CPE 133 szemétválogató: 14 lépés
CPE 133 szemétválogató: 14 lépés

Videó: CPE 133 szemétválogató: 14 lépés

Videó: CPE 133 szemétválogató: 14 lépés
Videó: CPE 133 Lab 2 2024, November
Anonim
CPE 133 szemétválogató
CPE 133 szemétválogató

A Cal Poly -nál a CPE 133 osztályunknak azt mondták, hogy hozzunk létre egy VHDL/Basys 3 projektet, amely segíti a környezetet, és elég egyszerű ahhoz, hogy a digitális tervezés új ismereteivel megvalósíthassuk. A projektünk ötlete, hogy általában az emberek nem gondolnak arra, hová dobják a szemetet. Úgy döntöttünk, hogy létrehozunk egy olyan gépet, amely arra kényszeríti az embereket, hogy gondolják át, hová teszik a szemetet. Szemétválogatónk három kapcsolón keresztül veszi a felhasználói adatokat, mindegyik szemetet, újrahasznosítást vagy komposztot jelent. Miután a felhasználó kiválasztotta, hogy milyen típusú hulladékot (hulladékokat) szeretne eltávolítani, nyomja meg a gombot. Ezzel a gombbal kinyílik a megfelelő tartály fedele. A gép a Basys 3 kijelzőjén is jelezte, hogy jelenleg nyitva van -e a fedél. A gomb elengedésekor a fedelek ismét bezáródnak, így a gép készen áll a következő felhasználó számára.

1. lépés: Anyagok

Anyagok
Anyagok
Anyagok
Anyagok
Anyagok
Anyagok

A projekthez szükséges anyagok a következők:

Basys 3 tábla

Számítógép telepítve Vivadóval

3x szervó*

3 láb rézhuzal

Drótvágó/szalaghúzó

Forrasztópáka és forrasztópáka

*mivel a szervók drágák, és mi egyetemisták vagyunk, prototípusként mindegyik szervóra 68 ohmos ellenállást és LED -et cseréltünk (a kód ugyanúgy működik)

2. lépés: A kódolás kezdete

A kódolás kezdete
A kódolás kezdete
A kódolás kezdete
A kódolás kezdete
A kódolás kezdete
A kódolás kezdete

Ehhez a projekthez sok kódot kell írni. A Vivado -ban írt VHDL kódot fogjuk használni. Kezdésként egy új projektet szeretnénk létrehozni. Először nevezze el a projektet, és adja meg a projekt típusát. Ügyeljen arra, hogy ugyanazokat a beállításokat válassza, mint a képen. Amikor elérte a források képernyőt, hat forrást szeretne hozzáadni "top", "flip_flop", "segment", "servo_top", "servo_sig" és "clk_div". Ügyeljen arra, hogy a VHDL -t válassza az egyes fájlok nyelvéhez, ne a Verilog -ot. A megszorítások képernyőn hozzon létre egy fájlt a pin hozzárendeléshez. Ennek a fájlnak a neve nem fontos. Ezután a rendszer felszólítja a használni kívánt tábla kiválasztására. Győződjön meg arról, hogy a megfelelőt választotta. Referenciafotók a helyes kiválasztáshoz. Az utolsó lépésben meg kell adnia minden forrásfájl bemenetét és kimenetét. Ez a lépés később is kódolható, ezért kattintson a Tovább gombra.

3. lépés: Kényszerfájl

Kényszerfájl
Kényszerfájl
Kényszerfájl
Kényszerfájl

Ebben a lépésben megírjuk a kényszerfájlt. Ez megmondja Vivadónak, hogy melyik csapok mely jeleket küldik/veszik az áramkörről. Szükségünk lesz az órára, három kapcsolóra, a hét szegmenses kijelzőre (hét katód és négy anód), egy gombra és a három kimeneti PMOD -érintkezőre, amelyeket a szervo/LED fog használni. Referenciafotók a kód kinézetéről.

4. lépés: Flip Flop fájl

Flip Flop fájl
Flip Flop fájl

A következő fájl, amelyet írni fogunk, a flip_flip forrásfájl. Ez egy D flip flop VHDL megvalósítása lesz. Más szóval csak akkor adja át bemenetét az órajel emelkedő szélén lévő kimenetre, és amikor megnyomja a gombot. Ez az órát, a D gombot és a gombot fogja használni bemenetként, és Q kimenetet kap. Hivatkozzon a fényképekre a kódért. Ennek a fájlnak az a célja, hogy lehetővé tegye a tárolók kinyitását csak a gomb megnyomásakor, és ne nyissa ki közvetlenül a kapcsoló minden fordításakor, és csak akkor zárjon, amikor a kapcsolót visszafordítják.

5. lépés: Szegmensfájl

Szegmensfájl
Szegmensfájl

A következő írandó fájl a szegmensfájl. Ez a gomb a Basys 3 hét szegmenses kijelzőjének hét katódja és négy anódja bemeneti és kimeneti értékeiben fog megjelenni. Ez a fájl azt eredményezi, hogy a hét szegmenses kijelzőn "C" jelenik meg, ha a tartályok zárva vannak, és "O", amikor a tartályok nyitva vannak. A kódot lásd a mellékelt képen.

6. lépés: Óraosztó fájl

Óraosztó fájl
Óraosztó fájl

A szervók úgy működnek, hogy 64 kHz frekvenciájú PWM jelet vesznek, míg a Basys 3 -ba beépített óra 50M Hz -en működik. Az óraosztó fájl az alapértelmezett órát barátságos frekvenciává alakítja a szervó számára. A fájl bemenetként az órát és a reset jelet veszi fel, és új órajelet ad ki. A kódot lásd a mellékelt fotón.

7. lépés: Szervo jelfájl

Szervo jelfájl
Szervo jelfájl

A szervo jelfájl egy óra bemenetet, egy reset bemenetet és egy kívánt pozíció bemenetet vesz fel. PWM jelet ad ki, amely a szervót a kívánt pozícióba hajtja. Ez a fájl az utolsó fájlban létrehozott órajel segítségével hozza létre a PWM jelet a szervó számára, a kívánt pozíciótól függően különböző működési ciklusokkal. Ez lehetővé teszi, hogy elfordítsuk a szeméttárolók fedelét vezérlő szervókat. A kódot lásd a mellékelt fotón.

8. lépés: Szervo felső fájl

Szervo felső fájl
Szervo felső fájl

Ennek a fájlnak az a célja, hogy az utolsó két fájlt egy funkcionális szervo -illesztőprogramba fordítsa. Egy óra, egy visszaállítás és egy bemeneti pozíció szükséges a szervo PWM jel kibocsátásához. Mind az óraosztót, mind a szervo jelfájlt fogja használni összetevőként, és tartalmaz egy belső órajelet, hogy átadja a módosított órát az óraosztóról a szervo jelfájlra. Fotókat lásd:

9. lépés: Felső fájl

Felső fájl
Felső fájl
Felső fájl
Felső fájl
Felső fájl
Felső fájl
Felső fájl
Felső fájl

Ez a projekt legfontosabb fájlja, mivel mindent összegyűjtött, amit létrehoztunk. A gomb, a három kapcsoló és az óra lesz bemenet. Kimenetként a hét katódot, a négy anódot és a három szervo/LED jelet adja. A flip flopot, a szegmenseket és a servo_top fájlokat fogja használni összetevőként, és belső kapcsolóval és belső szervojelekkel rendelkezik.

10. lépés: Tesztelés Vivadóban

Futtassa a szintézist, a megvalósítást és írjon bitfolyamot a Vivadóban. Ha bármilyen hibaüzenetet talál, keresse meg a hiba helyét, majd hasonlítsa össze a megadott kóddal. Hajtsa végre a hibákat mindaddig, amíg ezek a futtatások sikeresen befejeződnek.

11. lépés: Hardverbemutató készítése

Ebben a lépésben létrehozza a prototípusunkban használt LED hardvert. Szervok használata esetén a projektnek készen kell állnia a használatra, amíg a megfelelő csapokat használja. Ha LED -eket használ, kövesse az alábbi lépéseket.

12. lépés: Előkészítés

Vágja a huzalt hat egyenlő darabra. Csavarja le minden huzaldarab végét annyira, hogy forrasztás történhessen. Különítse el a LED -eket, ellenállásokat és vezetékeket három csoportba. A forrasztópáka felmelegítése.

13. lépés: Forrasztás

Forrasztás
Forrasztás
Forrasztás
Forrasztás

A 68 ohmos ellenállások mindegyikét forrasztja a megfelelő LED negatív oldalára. Forrasztjon egy vezetéket a LED pozitív oldalára, és egy másik vezetéket az ellenállás oldalára, amely nincs forrasztva a LED -hez. A fenti képen látható három LED -felülettel rendelkeznie kell.

14. lépés: Finale

Finálé
Finálé

Helyezzen be minden pozitív vezetéket a megfelelő PMOD tűbe, és minden negatívot egy földelt PMOD tűbe. Opcionálisan kartondobozokat is hozzáadhat a kukákhoz, és elrejti a forrasztási zűrzavart. Miután a vezetékeket megfelelően csatlakoztatta, és a kódot hibátlanul feltöltötte a táblára, a gépnek megfelelően kell működnie. Ha valami nem stimmel, térjen vissza a hibaelhárítás korábbi lépéseihez. Jó szórakozást az új "szemétválogató" -hoz.

Ajánlott: