Talaan ng mga Nilalaman:

CPE 133 Trash Sorter: 14 Mga Hakbang
CPE 133 Trash Sorter: 14 Mga Hakbang

Video: CPE 133 Trash Sorter: 14 Mga Hakbang

Video: CPE 133 Trash Sorter: 14 Mga Hakbang
Video: Get Tax Ready! Solving Source Doc Gathering Issues 2024, Nobyembre
Anonim
CPE 133 Trash Sorter
CPE 133 Trash Sorter

Para sa aming klase ng CPE 133 sa Cal Poly sinabi sa amin na lumikha ng isang proyekto ng VHDL / Basys 3 na makakatulong sa kapaligiran at sapat na simpleng maipapatupad namin ito sa aming bagong kaalaman sa digital na disenyo. Ang ideya sa likod ng aming proyekto na, sa pangkalahatan, hindi iniisip ng mga tao kung saan nila itinapon ang kanilang basurahan. Nagpasya kaming lumikha ng isang makina na pipilitin ang mga tao na isipin kung saan nila inilalagay ang kanilang basurahan. Ang aming sorter sorter ay tumatagal ng input ng gumagamit sa pamamagitan ng tatlong mga switch, ang bawat isa ay kumakatawan sa alinman sa basurahan, pag-recycle o pag-aabono. Sa sandaling napili ng gumagamit ay nag-uri sila ng (mga) basura na nais nilang itapon na pinindot nila ang isang pindutan. Ang pindutan na ito ay magiging sanhi ng pagbukas ng kaukulang mga takip ng lalagyan. Ginamit din ng makina ang display sa Basys 3 upang ipahiwatig kung alinman sa mga takip ay kasalukuyang bukas. Kapag ang pindutan ay pinakawalan ang mga takip ay pagkatapos ay isara muli upang ang makina ay handa na para sa susunod na gumagamit.

Hakbang 1: Mga Kagamitan

Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan

Ang mga materyal na kinakailangan para sa proyektong ito ay:

Basys 3 board

Computer na may naka-install na Vivado

3x servo *

3 talampakan na kawad

Wire Cutter / Stripper

Panghinang at bakalang panghinang

* Dahil ang mga servo ay mahal at kami ay mga mag-aaral sa kolehiyo pinalitan namin ang isang 68 ohm risistor at LED para sa bawat servo bilang isang prototype (gumana ang code sa parehong paraan)

Hakbang 2: Simula sa Pag-coding

Simula Coding
Simula Coding
Simula Coding
Simula Coding
Simula Coding
Simula Coding

Mayroong maraming code na maisusulat para sa proyektong ito. Gumagamit kami ng VHDL code na nakasulat sa Vivado. Upang magsimula nais naming lumikha ng isang bagong proyekto. Pangalanan mo muna ang proyekto at tukuyin ang uri ng proyekto. Tiyaking piliin ang parehong mga setting tulad ng nakalarawan. Kapag nakarating ka sa screen ng mga mapagkukunan gugustuhin mong magdagdag ng anim na mapagkukunan na pinangalanang "tuktok", "flip_flop", "mga segment", "servo_top", "servo_sig" at "clk_div". Tiyaking piliin ang VHDL para sa wika ng bawat file, hindi sa Verilog. Sa screen ng mga hadlang dapat kang lumikha ng isang file para sa pagtatalaga ng pin. Ang pangalan ng file na ito ay hindi mahalaga. Pagkatapos ay sasabihan ka upang piliin ang board na iyong gagamitin. Tiyaking pinili mo ang tama. Mga sanggunian na larawan para sa tamang pagpili. Hihilingin sa iyo ng huling hakbang na tukuyin ang mga input at output ng bawat source file. Ang hakbang na ito ay maaaring naka-code sa ibang pagkakataon kaya mag-click sa susunod.

Hakbang 3: Mga Pagpipigil na File

Mga Pinipigilan na File
Mga Pinipigilan na File
Mga Pinipigilan na File
Mga Pinipigilan na File

Sa hakbang na ito isusulat namin ang mga hadlang na file. Sinasabi nito sa Vivado kung aling mga pin ang magpapadala / tatanggap ng aling mga signal mula sa circuitry. Kakailanganin namin ang orasan, tatlong switch, pitong segment na display (pitong cathode at apat na anode), isang pindutan at ang tatlong output PMOD pin na gagamitin ng servo / LED. Mga larawan ng sanggunian para sa hitsura ng code.

Hakbang 4: Flip Flop File

Flip Flop File
Flip Flop File

Ang susunod na isusulat na file namin ay ang flip_flip source file. Ito ay magiging isang pagpapatupad ng VHDL ng isang flip flop. Sa madaling salita magpapasa lamang ito ng input sa output sa tumataas na gilid ng signal ng orasan at kapag pinindot ang pindutan. Dadalhin ang orasan, D at ang pindutan bilang isang input at magpapalabas ng Q. sanggunian ang mga larawan para sa code. Ang layunin ng file na ito ay payagan ang mga bins na buksan lamang kapag ang pindutan ay pinindot kaysa sa direktang pagbubukas sa bawat oras na ang flip ay lumipat at isara lamang kapag ang switch ay baligtad pabalik.

Hakbang 5: File ng Mga Segment

Mga File ng Mga Segment
Mga File ng Mga Segment

Ang susunod na isusulat na file ay ang mga segment ng file. Dadalhin nito ang pindutan tulad ng mga halaga ng pag-input at output para sa pitong cathode at apat na anode ng pitong segment na pagpapakita ng Basys 3. Ang file na ito ay sanhi ng pitong segment display upang ipakita ang isang "C" kapag ang mga bin ay sarado at isang "O" kapag ang mga bin ay bukas. Para sa code tingnan ang nakalakip na larawan.

Hakbang 6: Clock Divider File

Clock Divider File
Clock Divider File

Ang pag-andar ng servos sa pamamagitan ng pagkuha ng isang signal ng PWM na may dalas na 64k Hz habang ang orasan ay binuo sa Basys 3 na pagpapaandar sa 50M Hz. Ang orasan divider file ay i-convert ang default na orasan sa isang palakaibigang dalas para sa servo. Dadalhin ng file ang orasan at isang reset signal bilang isang input at maglalabas ng isang bagong signal ng orasan. Tingnan ang nakalakip na larawan para sa code.

Hakbang 7: Servo Signal File

Servo Signal File
Servo Signal File

Ang file ng signal ng servo ay kukuha ng input ng orasan, isang reset na input at isang nais na input ng posisyon. Ito ay maglalabas ng isang signal ng PWM na magdadala sa servo sa nais na posisyon. Gumagamit ang file na ito ng signal ng orasan na nilikha sa huling file upang lumikha ng isang signal ng PWM para sa servo na may iba't ibang mga cycle ng tungkulin depende sa nais na posisyon. Pinapayagan kaming ibalik ang mga servo na kumokontrol sa mga takip ng mga basurahan. Tingnan ang nakalakip na larawan para sa code.

Hakbang 8: Nangungunang File ng Servo

Nangungunang File ng Servo
Nangungunang File ng Servo

Ang layunin ng file na ito ay upang mai-compile ang huling dalawang mga file sa isang functional driver ng servo. Kakailanganin ang isang orasan, isang pag-reset at isang posisyon bilang isang input ay magpapalabas ng signal ng servo PWM. Gagamitin nito ang kapwa ang divider ng orasan at ang file ng signal ng servo bilang mga sangkap at magsasama ng isang panloob na signal ng orasan upang maipasa ang binagong orasan mula sa divider ng orasan sa file ng signal ng servo. Tingnan ang mga larawan sa

Hakbang 9: Nangungunang File

Nangungunang File
Nangungunang File
Nangungunang File
Nangungunang File
Nangungunang File
Nangungunang File
Nangungunang File
Nangungunang File

Ito ang pinakamahalagang file ng proyekto habang binabalot nito ang lahat ng aming nilikha nang sama-sama. Dadalhin ang pindutan, ang tatlong switch at ang orasan bilang mga input. Ibibigay nito ang pitong mga codeode, ang apat na anode at ang tatlong signal ng servo / LED bilang mga output. Gagamitin nito ang flip flop, mga segment at servo_top file bilang mga bahagi at magkakaroon ng panloob na switch at panloob na signal ng servo.

Hakbang 10: Pagsubok sa Vivado

Patakbuhin ang Synthesis, pagpapatupad at pagsusulat ng bitsream sa Vivado. Kung nakatagpo ka ng anumang mga mensahe ng error hanapin ang lokasyon ng error at pagkatapos ihambing sa ibinigay na code. Gumawa ng anumang mga error hanggang sa ang lahat ng mga ito ay tumatakbo na matagumpay na natapos.

Hakbang 11: Pagbuo ng Intro sa Hardware

Sa hakbang na ito lilikha ka ng LED hardware na ginamit namin sa aming prototype. Kung gumagamit ng servos ang proyekto ay dapat handa na upang pumunta hangga't ginagamit ang tamang mga pin. Kung gumagamit ng mga LED sundin ang mga hakbang sa ibaba.

Hakbang 12: Paghanda

Gupitin ang kawad sa anim na pantay na piraso. Hubarin nang sapat ang mga dulo ng bawat piraso ng kawad upang maganap ang paghihinang. Paghiwalayin ang mga LED, resistors at wires sa tatlong pangkat. Pag-init ng bakal na bakal.

Hakbang 13: Paghihinang

Paghihinang
Paghihinang
Paghihinang
Paghihinang

Paghinang ng bawat isa sa 68 ohm resistors sa negatibong bahagi ng kanilang kaukulang LED. Maghinang ng isang kawad papunta sa positibong bahagi ng LED at isa pang kawad papunta sa gilid ng risistor na hindi nahinang sa led. Dapat ay mayroon kang tatlo sa mga LED contraption na nakalarawan sa itaas.

Hakbang 14: Pangwakas

Pangwakas
Pangwakas

Ipasok ang bawat positibong kawad sa kaukulang PMOD pin at bawat negatibo sa isang ground PMOD pin. Opsyonal na magdagdag ng mga karton na bins upang kumatawan sa mga basurahan at itago ang iyong gulo ng paghihinang. Kapag ang mga wire ay naka-plug in nang tama at ang code ay maayos na na-upload sa board nang walang mga pagkakamali ang machine ay dapat na gumana tulad ng nilalayon. Kung may anumang maling nangyayari bumalik sa mga nakaraang hakbang upang mag-troubleshoot. Maglibang sa iyong bagong "basurero".

Inirerekumendang: