CPE 133 Renditësi i plehrave: 14 hapa
CPE 133 Renditësi i plehrave: 14 hapa

Video: CPE 133 Renditësi i plehrave: 14 hapa

Video: CPE 133 Renditësi i plehrave: 14 hapa
Video: Секвенсор MusE 2025, Janar
Anonim
CPE 133 Renditësi i plehrave
CPE 133 Renditësi i plehrave

Për klasën tonë CPE 133 në Cal Poly na u tha të krijonim një projekt VHDL/Basys 3 që do të ndihmonte mjedisin dhe ishte mjaft i thjeshtë sa që ne mund ta zbatonim atë me njohuritë tona të reja të dizajnit dixhital. Ideja prapa projektit tonë që, në përgjithësi, njerëzit nuk mendojnë se ku i hedhin plehrat e tyre. Ne vendosëm të krijonim një makinë që do t'i detyronte njerëzit të mendonin se ku i vendosnin plehrat e tyre. Renditësi ynë i plehrave merr hyrjen e përdoruesit përmes tre çelsave, secili përfaqëson ose plehra, riciklim ose plehrash. Pasi përdoruesi të ketë zgjedhur llojin e mbeturinave (ve) që do të donin t'i hidhte ata shtypin një buton. Ky buton do të bëjë që kapakët përkatës të enëve të hapen. Makina gjithashtu përdori ekranin në Basys 3 për të treguar nëse ndonjë nga kapakët janë aktualisht të hapur. Kur të lëshohet butoni, kapakët do të mbyllen përsëri në mënyrë që makina të jetë gati për përdoruesin e ardhshëm.

Hapi 1: Materialet

Materiale
Materiale
Materiale
Materiale
Materiale
Materiale

Materialet e nevojshme për këtë projekt janë:

Basys 3 bordi

Kompjuter me Vivado të instaluar

3x servo*

3 metra tela bakri

Prerës/Striptues i telave

Saldim dhe saldim

*sepse servot janë të shtrenjta dhe ne jemi studentë kolegji zëvendësuam një rezistencë 68 ohm dhe LED për çdo servo si një prototip (kodi funksionon në të njëjtën mënyrë)

Hapi 2: Fillimi i Kodimit

Fillimi i Kodimit
Fillimi i Kodimit
Fillimi i Kodimit
Fillimi i Kodimit
Fillimi i Kodimit
Fillimi i Kodimit

Ka shumë kod për të shkruar për këtë projekt. Ne do të përdorim kodin VHDL të shkruar në Vivado. Për të filluar ne do të duam të krijojmë një projekt të ri. Së pari ju do të emërtoni projektin dhe do të specifikoni llojin e projektit. Sigurohuni që të zgjidhni të njëjtat cilësime si në figurë. Kur të keni arritur në ekranin e burimeve, do të dëshironi të shtoni gjashtë burime të quajtura "lart", "flip_flop", "segmente", "servo_top", "servo_sig" dhe "clk_div". Sigurohuni që të zgjidhni VHDL për gjuhën e secilit skedar, jo Verilog. Në ekranin e kufizimeve duhet të krijoni një skedar për caktimin e kunjit. Emri i këtij skedari nuk është i rëndësishëm. Pastaj do t'ju kërkohet të zgjidhni tabelën që do të përdorni. Sigurohuni që të zgjidhni atë të duhurin. Fotot e referencës për përzgjedhjen e saktë. Hapi i fundit do t'ju kërkojë të specifikoni hyrjet dhe daljet e secilit skedar burimi. Ky hap mund të kodohet më vonë, kështu që klikoni tjetër.

Hapi 3: Skedari i Kufizimeve

Skedari i Kufizimeve
Skedari i Kufizimeve
Skedari i Kufizimeve
Skedari i Kufizimeve

Në këtë hap do të shkruajmë skedarin e kufizimeve. Kjo i tregon Vivados se cilat kunja do të dërgojnë/marrin cilat sinjale nga qarku. Do të na duhen ora, tre ndërprerës, ekrani me shtatë segmente (shtatë katoda dhe katër anoda), një buton dhe tre kunjat dalëse PMOD që servo/LED do të përdorë. Fotot referuese se si duhet të duket kodi.

Hapi 4: Skedari Flip Flop

Skedari Flip Flop
Skedari Flip Flop

Skedari tjetër që do të shkruajmë është skedari burimor flip_flip. Ky do të jetë një zbatim VHDL i një flip -flop D. Me fjalë të tjera, ai vetëm do të kalojë hyrjen e tij në dalje në skajin në rritje të sinjalit të orës dhe kur shtypet butoni. Do të marrë orën, D dhe butonin si hyrje dhe do të dalë Q. referojini fotot për kodin. Qëllimi i këtij skedari është të lejojë koshat të hapen vetëm kur shtypet butoni në vend që të hapet drejtpërdrejt sa herë që çelësi ndërrohet dhe mbyllet vetëm kur çelësi kthehet prapa.

Hapi 5: Skedari i segmenteve

Skedari i segmenteve
Skedari i segmenteve

Skedari tjetër që do të shkruhet është skedari i segmenteve. Kjo do të marrë butonin si në vlerat hyrëse dhe dalëse për shtatë katodat dhe katër anodat e ekranit të shtatë segmenteve të Basys 3. Ky skedar bën që ekrani i shtatë segmenteve të shfaqë një "C" kur kazanët janë të mbyllur dhe një "O" kur kazanët janë të hapur. Për kodin shihni foton e bashkangjitur.

Hapi 6: Skedari i ndarësit të orës

Skedari i ndarësit të orës
Skedari i ndarësit të orës

Servos funksionon duke marrë një sinjal PWM me një frekuencë 64k Hz ndërsa ora e ndërtuar në Basys 3 funksionon në 50M Hz. Skedari i ndarjes së orës do të shndërrojë orën e paracaktuar në një frekuencë miqësore për servo. Skedari do të marrë orën dhe një sinjal rivendosjeje si hyrje dhe do të nxjerrë një sinjal të ri të orës. Shikoni foton e bashkangjitur për kodin.

Hapi 7: Skedari i sinjalit të shërbimit

Skedari i sinjalit të shërbimit
Skedari i sinjalit të shërbimit

Skedari i servo sinjalit do të marrë një hyrje të orës, një hyrje të rivendosur dhe një hyrje të pozicionit të dëshiruar. Do të japë një sinjal PWM që do ta çojë servo në pozicionin e dëshiruar. Ky skedar përdor sinjalin e orës të krijuar në skedarin e fundit për të krijuar një sinjal PWM për servo me cikle të ndryshme detyre në varësi të pozicionit të dëshiruar. Kjo na lejon të kthejmë servot që kontrollojnë kapakët e koshave të plehrave. Shikoni foton e bashkangjitur për kodin.

Hapi 8: Skedari Servo Top

Servo Top File
Servo Top File

Qëllimi i këtij skedari është të përpilojë dy skedarët e fundit në një shofer servo funksional. Do të duhet një orë, një rivendosje dhe një pozicion si hyrje dhe do të nxjerrë sinjalin servo PWM. Ai do të përdorë si ndarësin e orës ashtu edhe skedarin e sinjalit servo si komponentë dhe do të përfshijë një sinjal të brendshëm të orës për të kaluar orën e modifikuar nga pjesëtuesi i orës në skedarin e sinjalit servo. Shihni fotot në

Hapi 9: Skedari kryesor

Skedari kryesor
Skedari kryesor
Skedari kryesor
Skedari kryesor
Skedari kryesor
Skedari kryesor
Skedari kryesor
Skedari kryesor

Ky është skedari më i rëndësishëm i projektit pasi përfshin gjithçka që kemi krijuar së bashku. Do të marrë butonin, tre çelsin dhe orën si hyrje. Ai do të japë shtatë katodat, katër anodat dhe tre sinjalet servo/LED si dalje. Ai do të përdorë flip flop -in, segmentet dhe skedarët servo_top si komponentë dhe do të ketë një ndërprerës të brendshëm dhe një sinjal servo të brendshëm.

Hapi 10: Testimi në Vivado

Drejtoni Sintezën, zbatimin dhe shkruani bitsream në Vivado. Nëse hasni ndonjë mesazh gabimi gjeni vendndodhjen e gabimit dhe pastaj krahasojeni me kodin e dhënë. Punoni me çdo gabim derisa të gjitha këto drejtime të përfundojnë me sukses.

Hapi 11: Ndërtimi i prezantimit të harduerit

Në këtë hap ju do të krijoni harduerin LED që kemi përdorur në prototipin tonë. Nëse përdorni servos, projekti duhet të jetë gati për të vazhduar për aq kohë sa përdoren kunjat e sakta. Nëse përdorni LED, ndiqni hapat e mëposhtëm.

Hapi 12: Përgatitja

Pritini tela në gjashtë pjesë të barabarta. Rripni skajet e secilës pjesë të telit në mënyrë që të ndodhë bashkimi. Ndani LED, rezistorët dhe telat në tre grupe. Ngrohni hekurin e saldimit.

Hapi 13: Saldimi

Bashkim
Bashkim
Bashkim
Bashkim

Ngjitni secilën nga rezistencat 68 ohm në anën negative të LED -it të tyre përkatës. Ngjitni një tel në anën pozitive të LED dhe një tel tjetër në anën e rezistencës që nuk është ngjitur në led. Ju duhet të keni tre nga pajisjet LED të paraqitura më lart.

Hapi 14: Finalja

Finale
Finale

Futni çdo tel pozitiv në kunjin përkatës PMOD dhe secilin negativ në një kunj PMOD të tokëzuar. Shtoni sipas dëshirës koshat e kartonit për të përfaqësuar koshat e plehrave dhe për të fshehur rrëmujën tuaj të saldimit. Pasi telat të jenë lidhur mirë dhe kodi të ngarkohet siç duhet në tabelë pa gabime, makina duhet të funksionojë ashtu siç është menduar. Nëse diçka nuk shkon, kthehuni në hapat e mëparshëm për të zgjidhur problemin. Argëtohuni me "ndarësin e plehrave" tuaj të ri.