CPE 133 atkritumu šķirotājs: 14 soļi
CPE 133 atkritumu šķirotājs: 14 soļi
Anonim
CPE 133 atkritumu šķirotājs
CPE 133 atkritumu šķirotājs

Mūsu CPE 133 klasei Cal Poly mums lika izveidot VHDL/Basys 3 projektu, kas palīdzētu videi un būtu pietiekami vienkāršs, lai mēs varētu to īstenot ar mūsu jaunajām zināšanām par digitālo dizainu. Mūsu projekta ideja, ka kopumā cilvēki nedomā par to, kur izmet atkritumus. Mēs nolēmām izveidot mašīnu, kas liktu cilvēkiem domāt par to, kur viņi ievieto atkritumus. Mūsu atkritumu šķirotājs uztver lietotāju, izmantojot trīs slēdžus, no kuriem katrs ir vai nu atkritumi, pārstrāde vai komposts. Kad lietotājs ir izvēlējies sava veida atkritumus, kurus vēlas izmest, nospiediet pogu. Šī poga atvērs atbilstošos konteinera vākus. Iekārta arī izmantoja Basys 3 displeju, lai norādītu, vai kāds no vākiem pašlaik ir atvērts. Atlaižot pogu, vāki atkal aizvērsies, lai iekārta būtu gatava nākamajam lietotājam.

1. solis: materiāli

Materiāli
Materiāli
Materiāli
Materiāli
Materiāli
Materiāli

Šim projektam nepieciešamie materiāli ir:

Basys 3 dēlis

Dators ar instalētu Vivado

3x servo*

3 pēdu vara stieple

Stiepļu griezējs/noņēmējs

Lodāmurs un lodēt

*Tā kā servos ir dārgi un mēs esam koledžas studenti, mēs katram servo kā prototipu aizstājām 68 omu rezistoru un LED (kods darbojas vienādi)

2. darbība: kodēšanas sākums

Kodēšanas sākums
Kodēšanas sākums
Kodēšanas sākums
Kodēšanas sākums
Kodēšanas sākums
Kodēšanas sākums

Šim projektam ir jāraksta daudz kodu. Mēs izmantosim VHDL kodu, kas rakstīts Vivado. Lai sāktu, mēs vēlēsimies izveidot jaunu projektu. Vispirms nosauciet projektu un norādiet projekta veidu. Noteikti izvēlieties tos pašus iestatījumus, kas parādīti attēlā. Kad esat nokļuvis avotu ekrānā, vēlaties pievienot sešus avotus ar nosaukumu "top", "flip_flop", "segments", "servo_top", "servo_sig" un "clk_div". Katra faila valodai noteikti izvēlieties VHDL, nevis Verilog. Ierobežojumu ekrānā jums jāizveido viens fails tapas piešķiršanai. Šī faila nosaukums nav svarīgs. Pēc tam jums tiks piedāvāts izvēlēties dēli, kuru izmantosit. Pārliecinieties, ka esat izvēlējies pareizo. Atsauces fotoattēli pareizai izvēlei. Pēdējā solī jums tiks lūgts norādīt katra avota faila ieejas un izejas. Šo soli var kodēt vēlāk, tāpēc noklikšķiniet uz Tālāk.

3. darbība: ierobežojumu fails

Ierobežojumu fails
Ierobežojumu fails
Ierobežojumu fails
Ierobežojumu fails

Šajā solī mēs uzrakstīsim ierobežojumu failu. Tas norāda Vivado, kuras tapas nosūtīs/saņems signālus no shēmas. Mums būs nepieciešams pulkstenis, trīs slēdži, septiņu segmentu displejs (septiņi katodi un četri anodi), poga un trīs izejas PMOD tapas, kuras izmantos servo/LED. Atsauces fotoattēli, kā izskatīties kodam.

4. solis: Flip Flop fails

Flip Flop fails
Flip Flop fails

Nākamais fails, ko mēs rakstīsim, ir avota fails flip_flip. Šī būs D flip flop VHDL ieviešana. Citiem vārdiem sakot, tā ievadi nodos tikai izejai pulksteņa signāla augšupejošajā malā un nospiežot pogu. Tas ņems pulksteni, D un pogu kā ievadi un izvadīs Q. atsauci uz fotoattēliem, lai iegūtu kodu. Šī faila mērķis ir ļaut tvertnēm atvērties tikai tad, kad tiek nospiesta poga, nevis tieši atvērt katru reizi, kad slēdzis tiek pagriezts, un aizvērt tikai tad, kad slēdzis ir pagriezts atpakaļ.

5. darbība. Segmentu fails

Segmentu fails
Segmentu fails

Nākamais rakstītais fails ir segmentu fails. Tas aizņems pogu, kā ieejas un izvades vērtībās Basys 3 septiņu segmentu displeja septiņiem katodiem un četriem anodiem. Šis fails liek septiņu segmentu displejā parādīt "C", kad tvertnes ir aizvērtas, un "O", kad tvertnes ir atvērtas. Kodu skatiet pievienotajā fotoattēlā.

6. darbība: pulksteņa dalītāja fails

Pulksteņa dalītāja fails
Pulksteņa dalītāja fails

Servo funkcija, uzņemot PWM signālu ar frekvenci 64k Hz, savukārt Basys 3 iebūvētais pulkstenis darbojas ar frekvenci 50M Hz. Pulksteņa dalītāja fails pārveidos noklusējuma pulksteni par draudzīgu frekvenci servo. Fails ņems pulksteni un atiestatīšanas signālu kā ieeju un izvadīs jaunu pulksteņa signālu. Kodu skatiet pievienotajā fotoattēlā.

7. solis: Servo signāla fails

Servo signāla fails
Servo signāla fails

Servo signāla failā tiks izmantota pulksteņa ievade, atiestatīšanas ievade un vēlamās pozīcijas ievade. Tas izvadīs PWM signālu, kas virzīs servo vēlamajā pozīcijā. Šis fails izmanto pēdējā failā izveidoto pulksteņa signālu, lai izveidotu PWM signālu servo ar dažādiem darba cikliem atkarībā no vēlamās pozīcijas. Tas ļauj mums pagriezt servo, kas kontrolē atkritumu urnu vākus. Kodu skatiet pievienotajā fotoattēlā.

8. solis: Servo augšējais fails

Servo augšējais fails
Servo augšējais fails

Šī faila mērķis ir apkopot pēdējos divus failus funkcionālā servo draiverī. Tas prasīs pulksteni, atiestatīšanu un pozīciju kā ieeju, un tas izvadīs servo PWM signālu. Tas izmantos gan pulksteņa dalītāju, gan servo signāla failu kā komponentus un iekļaus iekšējo pulksteņa signālu, lai modificēto pulksteni pārsūtītu no pulksteņa dalītāja uz servo signāla failu. Skatiet fotoattēlus vietnē

9. darbība: augšējais fails

Augšējais fails
Augšējais fails
Augšējais fails
Augšējais fails
Augšējais fails
Augšējais fails
Augšējais fails
Augšējais fails

Šis ir vissvarīgākais projekta fails, jo tas aptver visu, ko esam izveidojuši kopā. Tā ieņems pogu, trīs slēdžus un pulksteni. Tas dos septiņus katodus, četrus anodus un trīs servo/LED signālus kā izejas. Tas izmantos flip flop, segmentus un servo_top failus kā sastāvdaļas, un tam būs iekšējs slēdzis un iekšējs servo signāls.

10. darbība: testēšana Vivado

Palaidiet sintēzi, ieviešanu un ierakstiet bitu plūsmu Vivado. Ja rodas kļūdu ziņojumi, atrodiet kļūdas vietu un pēc tam salīdziniet ar norādīto kodu. Apstrādājiet visas kļūdas, līdz visas šīs darbības ir veiksmīgi pabeigtas.

11. darbība. Aparatūras ievads

Šajā solī jūs izveidosit LED aparatūru, kuru izmantojām mūsu prototipā. Ja tiek izmantoti servo, projektam jābūt gatavam darbam, kamēr tiek izmantotas pareizās tapas. Ja izmantojat gaismas diodes, veiciet tālāk norādītās darbības.

12. solis: Sagatavošana

Izgrieziet vadu sešos vienmērīgos gabalos. Katra stieples gabala galus noņemiet pietiekami, lai varētu notikt lodēšana. Atdaliet gaismas diodes, rezistorus un vadus trīs grupās. Uzkarsējiet lodāmuru.

13. solis: lodēšana

Lodēšana
Lodēšana
Lodēšana
Lodēšana

Lodējiet katru no 68 omu rezistoriem uz atbilstošās gaismas diodes negatīvo pusi. Lodējiet vadu gaismas diodes pozitīvajā pusē un citu vadu rezistora pusē, kas nav pielodēta pie gaismas diodes. Jums vajadzētu būt trim no iepriekš redzamajām LED ierīcēm.

14. darbība: fināls

Fināls
Fināls

Ievietojiet katru pozitīvo vadu atbilstošajā PMOD tapā un katru negatīvo zemētā PMOD tapā. Pēc izvēles pievienojiet kartona tvertnes, lai attēlotu miskasti un paslēptu lodēšanas putru. Kad vadi ir pareizi pievienoti un kods ir pareizi augšupielādēts uz tāfeles bez kļūdām, mašīnai vajadzētu darboties, kā paredzēts. Ja kaut kas notiek nepareizi, atgriezieties iepriekšējos soļos, lai novērstu problēmu. Izklaidējieties ar savu jauno "atkritumu šķirotāju".

Ieteicams: