Obsah:

Triedič odpadu CPE 133: 14 krokov
Triedič odpadu CPE 133: 14 krokov

Video: Triedič odpadu CPE 133: 14 krokov

Video: Triedič odpadu CPE 133: 14 krokov
Video: 2021- 9. zasedání Zastupitelstva města Děčín - 25.11.2021 (ANONYMIZOVÁNO) 2024, November
Anonim
Triedič odpadu CPE 133
Triedič odpadu CPE 133

Pre našu triedu CPE 133 v Cal Poly nám bolo povedané, aby sme vytvorili projekt VHDL/Basys 3, ktorý by pomohol životnému prostrediu a bol dostatočne jednoduchý na to, aby sme ho mohli implementovať s našimi novými znalosťami digitálneho dizajnu. Myšlienka nášho projektu, že ľudia vo všeobecnosti nemyslia na to, kam vyhodia odpadky. Rozhodli sme sa vytvoriť stroj, ktorý by prinútil ľudí premýšľať o tom, kam hodia odpadky. Náš triedič odpadu preberá vstup používateľov prostredníctvom troch prepínačov, z ktorých každý predstavuje buď odpad, recykláciu alebo kompost. Keď si užívateľ vyberie typ odpadu, ktorý by chcel zlikvidovať, stlačí tlačidlo. Toto tlačidlo spôsobí otvorenie zodpovedajúcich viečok nádob. Zariadenie tiež použilo displej na základniach 3 na označenie, či sú niektoré viečka aktuálne otvorené. Po uvoľnení tlačidla sa viečka opäť zatvoria, takže stroj bude pripravený pre ďalšieho používateľa.

Krok 1: Materiály

Materiály
Materiály
Materiály
Materiály
Materiály
Materiály

Materiály potrebné pre tento projekt sú:

Základná doska 3

Počítač s nainštalovaným Vivado

3x servo*

3 stopy medeného drôtu

Orezávač/strihač drôtu

Spájkovačka a spájkovačka

*pretože serva sú drahé a sme vysokoškoláci, nahradili sme 68 ohmový odpor a LED pre každé servo ako prototyp (kód funguje rovnako)

Krok 2: Začíname s kódovaním

Začíname s kódovaním
Začíname s kódovaním
Začíname s kódovaním
Začíname s kódovaním
Začíname s kódovaním
Začíname s kódovaním

Pre tento projekt je potrebné napísať veľa kódu. Budeme používať kód VHDL napísaný vo Vivado. Na začiatku budeme chcieť vytvoriť nový projekt. Najprv pomenujete projekt a zadáte typ projektu. Nezabudnite vybrať rovnaké nastavenia ako na obrázku. Keď sa dostanete na obrazovku zdrojov, budete chcieť pridať šesť zdrojov s názvom „top“, „flip_flop“, „segmenty“, „servo_top“, „servo_sig“a „clk_div“. Uistite sa, že ste vybrali VHDL pre jazyk každého súboru, nie pre Verilog. Na obrazovke obmedzení by ste mali vytvoriť jeden súbor pre priradenie pinov. Názov tohto súboru nie je dôležitý. Potom budete vyzvaní, aby ste vybrali dosku, ktorú budete používať. Uistite sa, že ste vybrali ten správny. Referenčné fotografie pre správny výber. Posledný krok vás požiada o zadanie vstupov a výstupov každého zdrojového súboru. Tento krok je možné kódovať neskôr, takže kliknite na tlačidlo Ďalej.

Krok 3: Súbor obmedzení

Súbor obmedzení
Súbor obmedzení
Súbor obmedzení
Súbor obmedzení

V tomto kroku napíšeme súbor obmedzení. To hovorí Vivadovi, ktoré piny budú odosielať/prijímať ktoré signály z obvodov. Budeme potrebovať hodiny, tri prepínače, sedemsegmentový displej (sedem katód a štyri anódy), tlačidlo a tri výstupné piny PMOD, ktoré bude používať servo/LED. Referenčné fotografie, ako by mal kód vyzerať.

Krok 4: Prevráťte súbor Flop

Flip Flop File
Flip Flop File

Ďalší súbor, ktorý budeme písať, je zdrojový súbor flip_flip. Toto bude implementácia VHDL klopného obvodu D. Inými slovami, prejde iba svojim vstupom na výstup na stúpajúcej hrane hodinového signálu a po stlačení tlačidla. Ako vstup budú potrebovať hodiny, D a tlačidlo a na výstup bude vydaný Q. odkaz na fotografie. Cieľom tohto súboru je umožniť, aby sa priehradky otvárali iba pri stlačení tlačidla, a nie aby sa priamo otvárali pri každom preklopení prepínača, a aby sa zatvorili iba vtedy, keď je prepínač otočený späť.

Krok 5: Súbor segmentov

Súbor segmentov
Súbor segmentov

Ďalší zapísaný súbor je súbor segmentov. Toto tlačidlo bude mať vstupné a výstupné hodnoty pre sedem katód a štyri anódy sedemsegmentového displeja Basys 3. Tento súbor spôsobí, že na sedemsegmentovom displeji sa zobrazí „C“, keď sú priehradky zatvorené, a „O“, keď sú priehradky otvorené. Kód nájdete na priloženej fotografii.

Krok 6: Súbor oddeľovača hodín

Súbor oddeľovača hodín
Súbor oddeľovača hodín

Servá fungujú tak, že zachytávajú signál PWM s frekvenciou 64 kHz, zatiaľ čo hodiny zabudované v základni 3 fungujú pri 50 MHz. Súbor deliča hodín prevedie predvolené hodiny na priateľskú frekvenciu pre servo. Súbor prevezme hodiny a resetovací signál ako vstup a vydá nový hodinový signál. Kód nájdete na priloženej fotografii.

Krok 7: Súbor signálu serva

Súbor signálu servo
Súbor signálu servo

Súbor signálu serva bude mať hodinový vstup, resetovací vstup a vstup požadovanej polohy. Bude vydávať signál PWM, ktorý privedie servo do požadovanej polohy. Tento súbor používa hodinový signál vytvorený v poslednom súbore na vytvorenie signálu PWM pre servo s rôznymi pracovnými cyklami v závislosti od požadovanej polohy. To nám umožňuje otáčať servopohony, ktoré ovládajú viečka odpadkových košov. Kód nájdete na priloženej fotografii.

Krok 8: Horný súbor servo

Vrchný súbor servo
Vrchný súbor servo

Účelom tohto súboru je skompilovať posledné dva súbory do funkčného ovládača servo. Bude to trvať hodiny, reset a pozíciu, ako vstup a výstup signálu PWM serva. Ako súčiastky bude používať rozdeľovač hodín aj súbor signálu serva a bude obsahovať interný signál hodín na prechod upravených hodín z rozdeľovača hodín do súboru signálu serva. Pozrite si fotografie na

Krok 9: Najvyšší súbor

Horný súbor
Horný súbor
Horný súbor
Horný súbor
Horný súbor
Horný súbor
Horný súbor
Horný súbor

Toto je najdôležitejší súbor projektu, pretože obsahuje všetko, čo sme vytvorili. Ako vstupy budú použité tlačidlo, tri prepínače a hodiny. Ako výstup poskytne sedem katód, štyri anódy a tri signály servo/LED. Ako súčiastky použije klopný obvod, segmenty a súbory servo_top a bude mať interný prepínač a interný signál serva.

Krok 10: Testovanie vo Vivado

Spustite syntézu, implementáciu a napíšte bitsream vo Vivado. Ak sa stretnete s akýmkoľvek chybovým hlásením, vyhľadajte miesto chyby a porovnajte ho s daným kódom. Spracujte všetky chyby, kým sa všetky tieto cykly úspešne nedokončia.

Krok 11: Úvod do budovania hardvéru

V tomto kroku vytvoríte hardvér LED, ktorý sme použili v našom prototype. Ak používate servá, projekt by mal byť pripravený na prevádzku, pokiaľ sú použité správne kolíky. Ak používate LED diódy, postupujte podľa nižšie uvedených krokov.

Krok 12: Príprava

Rozrežte drôt na šesť rovnomerných kúskov. Konce každého kusu drôtu odizolujte dostatočne, aby mohlo dôjsť k spájkovaniu. Rozdeľte LED diódy, odpory a vodiče do troch skupín. Zahrejte spájkovačku.

Krok 13: Spájkovanie

Spájkovanie
Spájkovanie
Spájkovanie
Spájkovanie

Spájajte každý zo 68 ohmových odporov na zápornú stranu ich zodpovedajúcej diódy LED. Spájajte vodič na kladnú stranu LED a ďalší vodič na stranu rezistora, ktorý nie je spájkovaný s LED. Mali by ste mať tri z LED zariadení vyobrazených vyššie.

Krok 14: Finále

Finále
Finále

Vložte každý kladný vodič do zodpovedajúceho pinu PMOD a každý záporný do uzemneného pinu PMOD. Voliteľne môžete pridať kartónové zásobníky, ktoré budú predstavovať odpadkové koše a skryjú váš neporiadok pri spájkovaní. Akonáhle sú vodiče správne zapojené a kód je správne nahraný na dosku bez chýb, stroj by mal fungovať podľa plánu. Ak sa niečo pokazí, vráťte sa k predchádzajúcim krokom na riešenie problémov. Bavte sa so svojim novým „triedičom odpadu“.

Odporúča: