Penyusun Sampah CPE 133: 14 Langkah
Penyusun Sampah CPE 133: 14 Langkah
Anonim
Penyusun Sampah CPE 133
Penyusun Sampah CPE 133

Untuk kelas CPE 133 kami di Cal Poly kami diberitahu untuk membuat projek VHDL / Basys 3 yang dapat membantu persekitaran dan cukup sederhana sehingga kami dapat melaksanakannya dengan pengetahuan baru kami mengenai reka bentuk digital. Idea di sebalik projek kami bahawa, secara umum, orang tidak memikirkan di mana mereka membuang sampah mereka. Kami memutuskan untuk membuat mesin yang akan memaksa orang untuk memikirkan tempat mereka membuang sampah. Penyusun sampah kami mengambil input pengguna melalui tiga suis, masing-masing mewakili sampah, kitar semula atau kompos. Setelah pengguna memilih mereka jenis sampah yang mereka ingin membuang mereka menekan butang. Butang ini akan menyebabkan penutup bekas yang sesuai terbuka. Mesin juga menggunakan paparan di Basys 3 untuk menunjukkan jika penutup mana-mana yang terbuka. Apabila butang dilepaskan, penutup akan ditutup semula sehingga mesin siap untuk pengguna seterusnya.

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan
Bahan
Bahan

Bahan yang diperlukan untuk projek ini adalah:

Papan basys 3

Komputer dengan Vivado dipasang

3x servo *

Wayar tembaga 3 kaki

Pemotong Kawat / Stripper

Pateri dan pateri

* kerana servo itu mahal dan kita sebagai pelajar kolej, kita menggantikan perintang 68 ohm dan LED untuk setiap servo sebagai prototaip (kod berfungsi dengan cara yang sama)

Langkah 2: Pengekodan Awal

Pengekodan Permulaan
Pengekodan Permulaan
Pengekodan Permulaan
Pengekodan Permulaan
Pengekodan Permulaan
Pengekodan Permulaan

Terdapat banyak kod yang perlu ditulis untuk projek ini. Kami akan menggunakan kod VHDL yang ditulis di Vivado. Untuk memulakan kami ingin membuat projek baru. Mula-mula anda akan menamakan projek dan menentukan jenis projek. Pastikan untuk memilih tetapan yang sama seperti yang digambarkan. Apabila anda telah sampai ke layar sumber, anda akan mahu menambahkan enam sumber bernama "atas", "flip_flop", "segmen", "servo_top", "servo_sig" dan "clk_div". Pastikan untuk memilih VHDL untuk bahasa setiap fail, bukan Verilog. Pada skrin kekangan anda harus membuat satu fail untuk penugasan pin. Nama fail ini tidak penting. Anda kemudian akan diminta untuk memilih papan yang akan anda gunakan. Pastikan anda memilih yang betul. Foto rujukan untuk pemilihan yang betul. Langkah terakhir akan meminta anda menentukan input dan output dari setiap fail sumber. Langkah ini dapat dikodkan kemudian jadi klik seterusnya.

Langkah 3: Fail Kekangan

Fail Kekangan
Fail Kekangan
Fail Kekangan
Fail Kekangan

Pada langkah ini kita akan menulis fail kekangan. Ini memberitahu Vivado pin mana yang akan menghantar / menerima isyarat mana dari litar. Kita memerlukan jam, tiga suis, paparan tujuh segmen (tujuh katod dan empat anod), butang dan tiga pin PMOD keluaran yang akan digunakan oleh servo / LED. Foto rujukan untuk bagaimana kod itu kelihatan.

Langkah 4: Fail Flip Flop

Fail Flip Flop
Fail Flip Flop

Fail seterusnya yang akan kita tulis adalah fail sumber flip_flip. Ini akan menjadi pelaksanaan VHDL dari flip flop D. Dengan kata lain, ia hanya akan menyampaikan inputnya ke output pada tepi isyarat jam yang meningkat dan apabila butang ditekan. Ia akan mengambil jam, D dan butang sebagai input dan akan mengeluarkan Q. merujuk foto untuk kod. Tujuan fail ini adalah untuk membiarkan tong terbuka hanya apabila butang ditekan dan bukannya membuka secara langsung setiap kali suis dibalik dan hanya ditutup apabila suis dibalik ke belakang.

Langkah 5: Fail Segmen

Fail Segmen
Fail Segmen

Fail seterusnya yang akan ditulis adalah fail segmen. Ini akan mengambil butang seperti dalam nilai input dan output untuk tujuh katod dan empat anod dari paparan tujuh segmen Basys 3. Fail ini menyebabkan paparan tujuh segmen menunjukkan "C" ketika tong ditutup dan "O" ketika tong terbuka. Untuk kod lihat foto yang dilampirkan.

Langkah 6: Fail Pembahagi Jam

Fail Pembahagi Jam
Fail Pembahagi Jam

Servos berfungsi dengan mengambil isyarat PWM dengan frekuensi 64k Hz sementara jam yang dimasukkan ke dalam Basys 3 berfungsi pada 50M Hz. Fail pembahagi jam akan menukar jam lalai ke frekuensi mesra untuk servo. Fail akan mengambil jam dan isyarat ulang sebagai input dan akan mengeluarkan isyarat jam baru. Lihat foto yang dilampirkan untuk kod.

Langkah 7: Fail Isyarat Servo

Fail Isyarat Servo
Fail Isyarat Servo

Fail isyarat servo akan mengambil input jam, input reset dan input kedudukan yang diinginkan. Ia akan mengeluarkan isyarat PWM yang akan mendorong servo ke kedudukan yang diinginkan. Fail ini menggunakan isyarat jam yang dibuat dalam fail terakhir untuk membuat isyarat PWM untuk servo dengan kitaran tugas yang berbeza bergantung pada kedudukan yang diinginkan. Ini membolehkan kita menghidupkan servo yang mengawal penutup tong sampah. Lihat foto yang dilampirkan untuk kod.

Langkah 8: Fail Atas Servo

Fail Atas Servo
Fail Atas Servo

Tujuan fail ini adalah untuk menyusun dua fail terakhir menjadi pemacu servo yang berfungsi. Ia memerlukan jam, reset dan kedudukan sebagai input dan akan mengeluarkan isyarat servo PWM. Ia akan menggunakan pembahagi jam dan fail isyarat servo sebagai komponen dan akan merangkumi isyarat jam dalaman untuk meneruskan jam yang diubah dari pembahagi jam ke fail isyarat servo. Lihat gambar di

Langkah 9: Fail Teratas

Fail Teratas
Fail Teratas
Fail Teratas
Fail Teratas
Fail Teratas
Fail Teratas
Fail Teratas
Fail Teratas

Ini adalah fail projek yang paling penting kerana membungkus semua yang kami buat bersama. Ia akan mengambil butang, tiga suis dan jam sebagai input. Ia akan memberikan tujuh katod, empat anod dan tiga isyarat servo / LED sebagai output. Ia akan menggunakan flip flop, segmen dan file servo_top sebagai komponen dan akan mempunyai suis dalaman dan isyarat servo dalaman.

Langkah 10: Ujian di Vivado

Jalankan Sintesis, pelaksanaan dan tulis bitsream di Vivado. Sekiranya anda menemui sebarang mesej ralat, cari lokasi ralat dan kemudian bandingkan dengan kod yang diberikan. Selesaikan sebarang kesilapan sehingga semua larian ini berjaya diselesaikan.

Langkah 11: Membina Pengenalan Perkakasan

Pada langkah ini, anda akan membuat perkakasan LED yang kami gunakan dalam prototaip kami. Sekiranya menggunakan servos projek harus siap selagi pin yang betul digunakan. Sekiranya menggunakan LED ikuti langkah di bawah.

Langkah 12: Persiapan

Potong wayar menjadi enam bahagian. Jalur hujung setiap helai wayar dengan cukup sehingga pematerian boleh berlaku. Pisahkan LED, perintang dan wayar kepada tiga kumpulan. Panaskan besi pematerian.

Langkah 13: Pematerian

Pematerian
Pematerian
Pematerian
Pematerian

Pateri setiap perintang 68 ohm ke sisi negatif LED yang sepadan. Pateri wayar ke sisi positif LED dan wayar lain ke sisi perintang tidak disolder ke led. Anda mesti mempunyai tiga alat LED yang digambarkan di atas.

Langkah 14: Akhir

Selesai
Selesai

Masukkan setiap wayar positif ke pin PMOD yang sesuai dan masing-masing negatif ke pin PMOD tanah. Tambahkan pilihan kadbod untuk mewakili tong sampah dan sembunyikan kekacauan pematerian anda. Setelah wayar terpasang dengan betul dan kodnya dimuat dengan betul ke papan tanpa kesalahan mesin harus berfungsi seperti yang diharapkan. Sekiranya ada yang salah, kembali ke langkah sebelumnya untuk menyelesaikan masalah. Bersenang-senang dengan "penyortir sampah" baru anda.

Disyorkan: