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
Video: CPE 133 prügikasti sorteerija: 14 sammu
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
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".