
Sisukord:
- Samm: materjalid
- Samm: kodeerimise algus
- 3. samm: piirangute fail
- Samm 4: Flip Flop -fail
- 5. samm: segmentide fail
- 6. samm: kellajaguri fail
- Samm: servosignaali fail
- 8. samm: servo ülemine fail
- Samm: ülemine fail
- Samm: testimine Vivados
- 11. samm: riistvara sissejuhatuse loomine
- 12. samm: ettevalmistus
- 13. samm: jootmine
- 14. samm: lõpp
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40

Meie CPE 133 klassi jaoks Cal Poly'is kästi meil luua VHDL/Basys 3 projekt, mis aitaks keskkonda ja oleks piisavalt lihtne, et saaksime seda rakendada oma uute teadmistega digitaalsest disainist. Meie projekti idee, et üldiselt inimesed ei mõtle sellele, kuhu nad prügi viskavad. Otsustasime luua masina, mis sunniks inimesi mõtlema, kuhu nad oma prügi panevad. Meie prügisorteerija võtab kasutaja sisendi kolme lüliti kaudu, millest igaüks esindab kas prügi, ringlussevõttu või komposti. Kui kasutaja on valinud oma jäätmetüübi, mida nad tahaksid kõrvaldada, vajutage nuppu. See nupp avab vastavad mahuti kaaned. Masin kasutas ka Basys 3 ekraani, et näidata, kas mõni kaas on praegu avatud. Nupu vabastamisel suletakse kaaned uuesti, nii et masin on järgmise kasutaja jaoks valmis.
Samm: materjalid



Selle projekti jaoks vajalikud materjalid on järgmised:
Basys 3 pardal
Arvuti, millele on installitud Vivado
3x servo*
3 jalga vasktraat
Traadi lõikur/eemaldaja
Jootekolb ja jootekolb
*kuna servod on kallid ja me oleme kolledži üliõpilased, asendasime iga servo prototüübina 68 oomi takisti ja LED -i (kood toimib samamoodi)
Samm: kodeerimise algus



Selle projekti jaoks tuleb kirjutada palju koodi. Kasutame Vivados kirjutatud VHDL -koodi. Alustuseks tahame luua uue projekti. Esmalt nimetage projekt ja määrake projekti tüüp. Valige kindlasti samad seaded, mis pildil. Kui olete jõudnud allikate ekraanile, soovite lisada kuus allikat nimega "top", "flip_flop", "segment", "servo_top", "servo_sig" ja "clk_div". Valige kindlasti iga faili keeleks VHDL, mitte Verilog. Piirangute ekraanil peaksite looma ühe faili tihvti määramiseks. Selle faili nimi pole oluline. Seejärel palutakse teil valida kasutatav tahvel. Veenduge, et valisite õige. Viitefotod õigeks valimiseks. Viimases etapis palutakse teil määrata iga lähtefaili sisendid ja väljundid. Seda sammu saab hiljem kodeerida, nii et klõpsake järgmisel.
3. samm: piirangute fail


Selles etapis kirjutame piirangute faili. See ütleb Vivadole, millised tihvtid signaale vooluringilt saadavad/võtavad. Vajame kella, kolme lülitit, seitsme segmendi kuva (seitse katoodi ja neli anoodi), nuppu ja kolme väljundiga PMOD -tihvti, mida servo/LED kasutab. Viitefotod, kuidas kood välja peaks nägema.
Samm 4: Flip Flop -fail

Järgmine fail, mille me kirjutame, on lähtefail flip_flip. See on D flip flopi VHDL -rakendus. Teisisõnu, see edastab sisendi ainult kella signaali tõusva serva väljundisse ja nupule vajutamisel. See võtab sisendiks kella, D ja nupu ning väljastab Q. viita fotodele koodi saamiseks. Selle faili eesmärk on võimaldada prügikastidel avaneda ainult siis, kui nuppu vajutatakse, mitte otse avada iga kord, kui lülitit pööratakse, ja sulguda alles siis, kui lüliti tagasi pööratakse.
5. samm: segmentide fail

Järgmine kirjutatav fail on segmentide fail. See vajutab nuppu nagu Basys 3 seitsme segmendi kuva seitsme katoodi ja nelja anoodi sisend- ja väljundväärtustes. Selle faili tõttu kuvatakse seitsme segmendi ekraanil "C", kui prügikastid on suletud, ja "O", kui prügikastid on avatud. Koodi vaata lisatud fotolt.
6. samm: kellajaguri fail

Servod töötavad, võttes PWM -signaali sagedusega 64k Hz, samas kui Basys 3 sisseehitatud kell töötab sagedusel 50M Hz. Kellajaoturi fail teisendab vaikekella servo jaoks sobivaks sageduseks. Fail võtab sisendiks kella ja lähtestussignaali ning väljastab uue kella signaali. Vaadake koodi lisatud fotolt.
Samm: servosignaali fail

Servosignaali fail võtab kella sisendi, lähtestussisendi ja soovitud asukoha sisendi. See väljastab PWM -signaali, mis juhib servo soovitud asendisse. See fail kasutab viimases failis loodud kellasignaali, et luua servole PWM -signaal erinevate töötsüklitega, sõltuvalt soovitud asendist. See võimaldab meil pöörata servosid, mis juhivad prügikastide kaaneid. Koodi leiate lisatud fotolt.
8. samm: servo ülemine fail

Selle faili eesmärk on kompileerida kaks viimast faili funktsionaalseks servodraiveriks. See võtab kella, lähtestamise ja sisendina positsiooni, mis väljastab servo PWM -signaali. See kasutab komponentidena nii kellajagurit kui ka servosignaali faili ning sisaldab sisemist kellasignaali, et edastada muudetud kell kellajagurilt servosignaali faili. Vaata fotosid aadressil
Samm: ülemine fail




See on projekti kõige olulisem fail, kuna see sisaldab kõike, mida oleme loonud. See võtab sisendina nupu, kolm lülitit ja kella. See annab väljundina seitse katoodi, neli anoodi ja kolm servo-/LED -signaali. See kasutab komponentidena klappi, segmente ja servo_top faile ning sellel on sisemine lüliti ja sisemine servosignaal.
Samm: testimine Vivados
Käivitage süntees, rakendamine ja kirjutage bitivool Vivados. Kui ilmneb tõrketeade, leidke vea asukoht ja võrrelge seejärel antud koodiga. Töötage kõik vead läbi, kuni kõik need jooksud on edukalt lõpule viidud.
11. samm: riistvara sissejuhatuse loomine
Selles etapis loote LED -riistvara, mida kasutasime oma prototüübis. Servode kasutamisel peaks projekt olema töövalmis, kui kasutatakse õigeid tihvte. Kui kasutate LED -e, järgige alltoodud samme.
12. samm: ettevalmistus
Lõika traat kuueks ühtlaseks tükiks. Eemaldage iga traaditüki otsad piisavalt, nii et võib tekkida jootmine. Eraldage LED -id, takistid ja juhtmed kolme rühma. Kuumuta jootekolb.
13. samm: jootmine


Jootke kõik 68 oomi takistid vastava LED -i negatiivsele küljele. Jootke traat LED -i positiivsele küljele ja teine juhe takistile, mis ei ole LED -i külge joodetud. Teil peaks olema kolm ülaltoodud LED -seadet.
14. samm: lõpp

Sisestage iga positiivne juhe vastavasse PMOD -tihvti ja iga negatiivne maandatud PMOD -tihvti. Lisage valikuliselt papist prügikastid, mis esindavad prügikaste ja peidavad jootmissegadust. Kui juhtmed on õigesti ühendatud ja kood on korralikult tahvlile laaditud ilma vigadeta, peaks masin toimima ettenähtud viisil. Kui midagi läheb valesti, pöörduge veaotsingu eelmiste sammude juurde. Lõbutsege oma uue "prügisorteerijaga".
Soovitan:
CPE 133 Lõplik projekti kümnendarv binaarseks: 5 sammu

CPE 133 Lõplik projekti kümnendkohaks binaariks: kahendnumbrid on üks esimesi asju, mis digitaalsele loogikale mõeldes pähe tuleb. Kuid kahendnumbrid võivad olla neile uutele keerulised kontseptsioonid. See projekt aitab neid, kes on nii uued kui ka kogenud kahendnumbritega
Elektrooniline müntide sorteerija: 7 sammu (piltidega)

Elektrooniline müntide sorteerija: ammu -ammu, kui veel oli võimalik kooli minna, tulime huvitavale ideele teha seade, mis töötab üsna lihtsal viisil - pärast õige rahasumma viskamist annab välja konkreetse toote. Ma ei saa paljastada
PhantomX Pincher Robot - Apple sorteerija: 6 sammu

PhantomX Pincher Robot - Apple Sorter: Toiduohutusnõuded kasvavad. Nii tarbijad kui ka ametivõimud nõuavad üha enam, et toit, mida me sööme, peaks olema kvaliteetne ja kõrge turvalisusega. Kui toidu tootmisel peaks ilmnema probleeme, võib vea allikas olla
CPE 133 metronoom: 3 sammu

CPE 133 Metronoom: Lõppprojekti jaoks Cal Poly'is lõime tempo hoidmise seadme, mida nimetatakse metronoomiks, valisime selle projekti muusika ja digitaalse disaini huvides. Kasutasime CPE 133 varasemaid laboreid, et aidata koostada meie koodi ja veebipõhiseid õpetusi, et aidata kaasa
Kork: Interaktiivne pudeli korgi sorteerija: 6 sammu

Cap It: Interaktiivne pudeli korgi sorteerija: see juhend on loodud Lõuna -Florida ülikooli 2018. aasta meistrikursuse projektinõude täitmiseks (www.makecourse.com) Aeg -ajalt naudin kojujõudmist ja mõne õlle võtmist lõdvestu pärast pikka elupäeva