CPE 133 prügikasti sorteerija: 14 sammu
CPE 133 prügikasti sorteerija: 14 sammu

Video: CPE 133 prügikasti sorteerija: 14 sammu

Video: CPE 133 prügikasti sorteerija: 14 sammu
Video: CPE 133 Lab 2 2025, Jaanuar
Anonim
CPE 133 prügikasti sorteerija
CPE 133 prügikasti sorteerija

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

Materjalid
Materjalid
Materjalid
Materjalid
Materjalid
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

Kodeerimise algus
Kodeerimise algus
Kodeerimise algus
Kodeerimise algus
Kodeerimise algus
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

Piirangute fail
Piirangute fail
Piirangute fail
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

Flip Flop -fail
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

Segmendi fail
Segmendi 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

Kellajaoturi fail
Kellajaoturi 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
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

Servo ülemine fail
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

Ülemine fail
Ülemine fail
Ülemine fail
Ülemine fail
Ülemine fail
Ülemine fail
Ülemine fail
Ü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

Jootmine
Jootmine
Jootmine
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

Finaal
Finaal

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".