Razvrščevalnik smeti CPE 133: 14 korakov
Razvrščevalnik smeti CPE 133: 14 korakov

Video: Razvrščevalnik smeti CPE 133: 14 korakov

Video: Razvrščevalnik smeti CPE 133: 14 korakov
Video: как настроить DHCP сервер TP-Link 2025, Januar
Anonim
Razvrščevalnik smeti CPE 133
Razvrščevalnik smeti CPE 133

Za naš razred CPE 133 v Cal Poly so nam povedali, naj ustvarimo projekt VHDL/Basys 3, ki bi pomagal okolju in je bil dovolj preprost, da ga lahko izvedemo z novim znanjem o digitalnem oblikovanju. Ideja našega projekta, da ljudje na splošno ne razmišljajo o tem, kam odvržejo smeti. Odločili smo se, da bomo ustvarili stroj, ki bo prisilil ljudi, da razmislijo, kam odlagajo smeti. Naš razvrščevalnik smeti vnaša uporabnike prek treh stikal, od katerih vsako predstavlja smeti, recikliranje ali kompost. Ko uporabnik izbere vrsto odpadkov, ki jih želi odstraniti, pritisne gumb. S tem gumbom se odprejo ustrezni pokrovi posode. Stroj je na zaslonu Basys 3 prikazal tudi, ali je pokrov trenutno odprt. Ko spustite gumb, se pokrovi znova zaprejo, tako da bo stroj pripravljen za naslednjega uporabnika.

1. korak: Materiali

Materiali
Materiali
Materiali
Materiali
Materiali
Materiali

Za ta projekt so potrebni naslednji materiali:

Basys 3 deska

Računalnik z nameščenim Vivadom

3x servo*

3 čevlji bakrene žice

Rezalnik/odstranjevalec žice

Spajkalnik in spajkanje

*ker so servomotorji dragi in smo študentje, smo za vsak servo kot prototip zamenjali 68 ohmski upor in LED (koda deluje na enak način)

2. korak: Začetek kodiranja

Začetek kodiranja
Začetek kodiranja
Začetek kodiranja
Začetek kodiranja
Začetek kodiranja
Začetek kodiranja

Za ta projekt je treba napisati veliko kode. Uporabljali bomo kodo VHDL, napisano v Vivadu. Za začetek bomo želeli ustvariti nov projekt. Najprej poimenujete projekt in določite vrsto projekta. Izberite enake nastavitve kot na sliki. Ko pridete na zaslon virov, boste želeli dodati šest virov z imenom "top", "flip_flop", "segments", "servo_top", "servo_sig" in "clk_div". Za jezik vsake datoteke izberite VHDL, ne Verilog. Na zaslonu omejitev morate ustvariti eno datoteko za dodelitev pin. Ime te datoteke ni pomembno. Nato boste morali izbrati ploščo, ki jo boste uporabljali. Prepričajte se, da ste izbrali pravega. Referenčne fotografije za pravilno izbiro. Zadnji korak vas bo prosil, da določite vhode in izhode vsake izvorne datoteke. Ta korak lahko kasneje kodirate, zato kliknite Naprej.

3. korak: Datoteka omejitev

Datoteka omejitev
Datoteka omejitev
Datoteka omejitev
Datoteka omejitev

V tem koraku bomo napisali datoteko omejitev. To pove Vivadu, kateri zatiči bodo pošiljali/sprejemali signale iz vezja. Potrebovali bomo uro, tri stikala, sedem segmentni zaslon (sedem katod in štiri anode), gumb in tri izhodne zatiče PMOD, ki jih bo uporabljal servo/LED. Referenčne fotografije o tem, kako naj bi koda izgledala.

4. korak: Datoteka flip flop

Datoteka flip flop
Datoteka flip flop

Naslednja datoteka, ki jo bomo pisali, je izvorna datoteka flip_flip. To bo izvedba VHDL natikača D. Z drugimi besedami, svoj vhod bo prenesel le na izhod na vzhodnem robu signala ure in ko pritisnete gumb. Za vnos bodo potrebovali uro, D in gumb, izpisali pa bodo Q, za fotografije si oglejte fotografije. Namen te datoteke je omogočiti, da se koši odprejo le ob pritisku gumba, namesto da se odprejo neposredno ob vsakem obračanju stikala in se zaprejo šele, ko se stikalo obrne nazaj.

5. korak: Datoteka segmentov

Datoteka segmentov
Datoteka segmentov

Naslednja datoteka za zapis je datoteka segmentov. To bo vzelo gumb kot vhodne in izhodne vrednosti za sedem katod in štiri anode sedem segmentnega zaslona Basys 3. Ta datoteka povzroči, da zaslon na sedmih segmentih prikaže "C", ko so zabojniki zaprti, in "O", ko so koši odprti. Kodo si oglejte v priloženi fotografiji.

6. korak: Datoteka razdelilnika ure

Datoteka razdelilnika ure
Datoteka razdelilnika ure

Servomotorji delujejo tako, da sprejmejo signal PWM s frekvenco 64k Hz, medtem ko ura, vgrajena v Basys 3, deluje pri 50M Hz. Datoteka delilnika ure pretvori privzeto uro v prijazno frekvenco za servo. Datoteka bo vzela uro in signal za ponastavitev kot vhod in bo oddala nov signal ure. Kodo si oglejte na priloženi fotografiji.

7. korak: Datoteka servo signala

Servo signalna datoteka
Servo signalna datoteka

Datoteka servo signala bo sprejela vhod ure, vhod za ponastavitev in vnos želenega položaja. Oddajal bo signal PWM, ki bo servo potisnil v želeni položaj. Ta datoteka uporablja signal ure, ustvarjen v zadnji datoteki, da ustvari signal PWM za servo z različnimi delovnimi cikli, odvisno od želenega položaja. To nam omogoča obračanje servomotorjev, ki nadzorujejo pokrove košev za smeti. Za kodo si oglejte priloženo fotografijo.

8. korak: Datoteka zgornjega strežnika

Servo top datoteka
Servo top datoteka

Namen te datoteke je združiti zadnji dve datoteki v funkcionalni gonilnik servomotorja. Potrebovali bodo uro, ponastavitev in položaj kot vhod in bodo oddajali servo PWM signal. Kot komponente bo uporabljal delilnik ure in datoteko servo signala, vključeval pa bo tudi notranji signal ure za prenos spremenjene ure iz delilnika ure v datoteko servo signala. Oglejte si fotografije na

9. korak: zgornja datoteka

Top File
Top File
Top File
Top File
Top File
Top File
Top File
Top File

To je najpomembnejša datoteka projekta, saj zajema vse, kar smo ustvarili skupaj. Za vhod bodo vzeli gumb, tri stikala in uro. Kot izhod bo dal sedem katod, štiri anode in tri servo/LED signale. Kot komponente bo uporabljal flip flop, segmente in datoteke servo_top ter bo imel notranje stikalo in notranji servo signal.

10. korak: Testiranje v Vivadu

Zaženite sintezo, izvedbo in zapišite bitsream v Vivadu. Če naletite na sporočilo o napaki, poiščite lokacijo napake in jo nato primerjajte s podano kodo. Odpravite vse napake, dokler se vsi ti zagoni ne končajo uspešno.

11. korak: Uvod v izdelavo strojne opreme

V tem koraku boste ustvarili LED strojno opremo, ki smo jo uporabili v našem prototipu. Če uporabljate servomotorje, mora biti projekt pripravljen za uporabo, dokler se uporabljajo pravilni zatiči. Če uporabljate LED, sledite spodnjim korakom.

12. korak: Priprava

Žico razrežite na šest enakih kosov. Odstranite konce vsakega kosa žice dovolj, da pride do spajkanja. LED, upore in žice ločite v tri skupine. Segrejte spajkalnik.

13. korak: Spajkanje

Spajkanje
Spajkanje
Spajkanje
Spajkanje

Vsak od 68 ohmskih uporov spajkajte na negativno stran ustrezne LED. Spajajte žico na pozitivno stran LED in drugo žico na stran upora, ki ni spajkana na LED. Imeti morate tri od zgoraj prikazanih LED naprav.

14. korak: Finale

Finale
Finale

Vsako pozitivno žico vstavite v ustrezen pin PMOD in vsak minus v ozemljitveni pin PMOD. Po želji dodajte kartonske koše, ki predstavljajo koše za smeti in skrijejo spajkanje. Ko so žice pravilno priključene in koda pravilno prenesena na ploščo brez napak, mora stroj delovati, kot je predvideno. Če gre kaj narobe, se vrnite na prejšnje korake za odpravljanje težav. Zabavajte se z novim "razvrščevalcem smeti".