Sadržaj:
- Korak 1: Materijali
- Korak 2: Početak kodiranja
- Korak 3: Datoteka ograničenja
- Korak 4: Datoteka sa japankama
- Korak 5: Datoteka segmenata
- Korak 6: Datoteka razdjelnika sata
- Korak 7: Datoteka signala servo signala
- Korak 8: Servo top datoteka
- Korak 9: Gornja datoteka
- Korak 10: Testiranje u Vivadu
- Korak 11: Uvod u izgradnju hardvera
- Korak 12: Priprema
- Korak 13: Lemljenje
- Korak 14: Finale
Video: CPE 133 Sortiranje smeća: 14 koraka
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Za našu klasu CPE 133 u Cal Polyu rečeno nam je da stvorimo VHDL/Basys 3 projekt koji bi pomogao okolišu i bio je dovoljno jednostavan da ga možemo implementirati s našim novim znanjem o digitalnom dizajnu. Ideja koja stoji iza našeg projekta da ljudi općenito ne razmišljaju o tome gdje bacaju smeće. Odlučili smo stvoriti mašinu koja će prisiliti ljude da razmisle gdje bacaju smeće. Naš razvrstač smeća vrši unos korisnika putem tri prekidača, od kojih svaki predstavlja smeće, recikliranje ili kompost. Kada korisnik odabere vrstu otpada koju želi odložiti, pritisne dugme. Ovo dugme će otvoriti odgovarajuće poklopce posuda. Mašina je takođe koristila ekran na Basys 3 da pokaže da li je neki od poklopaca trenutno otvoren. Kada se dugme otpusti, poklopci će se ponovo zatvoriti kako bi mašina bila spremna za sledećeg korisnika.
Korak 1: Materijali
Materijali potrebni za ovaj projekat su:
Basys 3 ploča
Računar sa instaliranim Vivadom
3x servo*
3 metra bakrene žice
Rezač žice/skidač žice
Lemilica i lemljenje
*jer su servomotori skupi i mi smo studenti, zamijenili smo otpornik od 68 ohma i LED za svaki servo kao prototip (kod funkcionira na isti način)
Korak 2: Početak kodiranja
Za ovaj projekt postoji mnogo kodova za pisanje. Koristit ćemo VHDL kod napisan na Vivadu. Za početak ćemo htjeti stvoriti novi projekt. Prvo ćete imenovati projekt i odrediti vrstu projekta. Obavezno odaberite iste postavke kao na slici. Kad dođete na ekran izvora, željet ćete dodati šest izvora pod nazivom "top", "flip_flop", "segments", "servo_top", "servo_sig" i "clk_div". Svakako odaberite VHDL za jezik svake datoteke, a ne Verilog. Na ekranu s ograničenjima trebate stvoriti jednu datoteku za dodjelu pinova. Ime ove datoteke nije važno. Tada će se od vas tražiti da odaberete ploču koju ćete koristiti. Pobrinite se da odaberete ispravnu. Referentne fotografije za ispravan odabir. U posljednjem koraku od vas će se tražiti da navedete ulaze i izlaze svake izvorne datoteke. Ovaj korak se može kasnije kodirati, pa kliknite na sljedeće.
Korak 3: Datoteka ograničenja
U ovom koraku ćemo napisati datoteku ograničenja. Ovo govori Vivadu koji pinovi će slati/primati koje signale iz kola. Trebat će nam sat, tri prekidača, zaslon sa sedam segmenata (sedam katoda i četiri anode), dugme i tri izlazna PMOD pina koje će koristiti servo/LED. Referentne fotografije kako bi kod trebao izgledati.
Korak 4: Datoteka sa japankama
Sljedeća datoteka koju ćemo pisati je izvorna datoteka flip_flip. Ovo će biti VHDL implementacija D japanke. Drugim riječima, on će samo proslijediti svoj ulaz na izlaz na rastućoj ivici signala sata i kada se pritisne tipka. Za ulaz će biti potrebni sat, D i dugme, a ispisat će Q. Referentne fotografije za kôd. Svrha ove datoteke je omogućiti otvaranje kanti samo kada se pritisne dugme, a ne direktno otvaranje svaki put kada se prekidač okrene i samo zatvaranje kada se prekidač povuče unazad.
Korak 5: Datoteka segmenata
Sljedeća datoteka koju treba napisati je datoteka segmenata. Ovo će uzeti dugme kao ulazne i izlazne vrijednosti za sedam katoda i četiri anode na sedmo segmentnom prikazu Basys 3. Ova datoteka uzrokuje da prikaz na sedam segmenata prikazuje "C" kada su kante zatvorene i "O" kada su kante otvorene. Za šifru pogledajte priloženu fotografiju.
Korak 6: Datoteka razdjelnika sata
Servos funkcionira tako što prima PWM signal s frekvencijom od 64k Hz, dok sat ugrađen u Basys 3 funkcionira na 50M Hz. Datoteka s razdjelnikom sata pretvara zadani sat u prijateljsku frekvenciju za servo. Datoteka će uzeti ulaz i sat za poništavanje kao ulaz i emitirat će novi signal sata. Za šifru pogledajte priloženu fotografiju.
Korak 7: Datoteka signala servo signala
Datoteka servo signala će uzeti ulaz sata, ulaz za resetiranje i ulaz željene pozicije. On će emitirati PWM signal koji će dovesti servo u željeni položaj. Ova datoteka koristi signal sata kreiran u posljednjoj datoteci za stvaranje PWM signala za servo s različitim radnim ciklusima ovisno o željenom položaju. To nam omogućuje okretanje servo upravljača koji kontroliraju poklopce kanti za smeće. Za šifru pogledajte priloženu fotografiju.
Korak 8: Servo top datoteka
Svrha ove datoteke je kompajliranje posljednje dvije datoteke u funkcionalni upravljački program servo upravljača. Trebat će sat, resetiranje i položaj kao ulaz i izlaz servo PWM signala. Koristit će i razdjelnik sata i datoteku servo signala kao komponente i uključivat će unutarnji signal sata za prosljeđivanje izmijenjenog takta od razdjelnika sata do datoteke servo signala. Fotografije pogledajte na
Korak 9: Gornja datoteka
Ovo je najvažnija datoteka projekta jer objedinjuje sve što smo stvorili zajedno. Za ulaz će uzeti dugme, tri prekidača i sat. On će davati sedam katoda, četiri anode i tri servo/LED signala kao izlaze. Koristiće flip flop, segmente i servo_top datoteke kao komponente i imat će interni prekidač i interni servo signal.
Korak 10: Testiranje u Vivadu
Pokrenite Synthesis, implementaciju i upišite bitsream u Vivadu. Ako naiđete na bilo koju poruku o grešci, pronađite lokaciju greške, a zatim usporedite s datim kodom. Popravite sve greške dok se svi ovi pokreti ne završe uspješno.
Korak 11: Uvod u izgradnju hardvera
U ovom koraku ćete stvoriti LED hardver koji smo koristili u našem prototipu. Ako koristite servo pogone, projekt bi trebao biti spreman za rad sve dok se koriste ispravni pinovi. Ako koristite LED diode, slijedite donje korake.
Korak 12: Priprema
Izrežite žicu na šest jednakih komada. Odvojite krajeve svakog komada žice dovoljno da dođe do lemljenja. Odvojite LED diode, otpornike i žice u tri grupe. Zagrijte lemilicu.
Korak 13: Lemljenje
Lemite svaki od 68 ohmskih otpornika na negativnu stranu odgovarajuće LED diode. Lemite žicu na pozitivnu stranu LED -a, a drugu žicu na stranu otpornika koja nije lemljena na LED. Trebali biste imati tri LED opreme prikazane gore.
Korak 14: Finale
Umetnite svaku pozitivnu žicu u odgovarajući PMOD pin, a svaki negativan u PMOD pin uzemljenja. Po želji dodajte kartonske kante za predstavljanje kanti za smeće i sakrijte nered sa lemljenjem. Nakon što su žice pravilno priključene i kôd ispravno postavljen na ploču bez grešaka, stroj bi trebao funkcionirati kako je predviđeno. Ako nešto pođe po zlu, vratite se na prethodne korake za rješavanje problema. Zabavite se sa svojim novim "razvrstačem smeća".