Daftar Isi:

Penyortir Sampah CPE 133: 14 Langkah
Penyortir Sampah CPE 133: 14 Langkah

Video: Penyortir Sampah CPE 133: 14 Langkah

Video: Penyortir Sampah CPE 133: 14 Langkah
Video: The robot solving America’s trash crisis | Hard Reset 2024, November
Anonim
Penyortir Sampah CPE 133
Penyortir Sampah CPE 133

Untuk kelas CPE 133 kami di Cal Poly, kami diminta untuk membuat proyek VHDL/Basys 3 yang akan membantu lingkungan dan cukup sederhana sehingga kami dapat menerapkannya dengan pengetahuan baru kami tentang desain digital. Gagasan di balik proyek kami bahwa, secara umum, orang tidak memikirkan di mana mereka membuang sampah. Kami memutuskan untuk membuat mesin yang akan memaksa orang untuk memikirkan tempat mereka membuang sampah. Penyortir sampah kami menerima masukan pengguna melalui tiga sakelar, masing-masing mewakili sampah, daur ulang, atau kompos. Setelah pengguna memilih jenis sampah yang ingin mereka buang, mereka menekan tombol. Tombol ini akan menyebabkan tutup wadah yang sesuai terbuka. Mesin juga menggunakan tampilan pada Basys 3 untuk menunjukkan apakah ada penutup yang sedang terbuka. Saat tombol dilepas, tutupnya akan menutup kembali sehingga mesin siap digunakan untuk pengguna berikutnya.

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan
Bahan
Bahan

Bahan-bahan yang dibutuhkan untuk proyek ini adalah:

Papan Basy 3

Komputer dengan Vivado diinstal

3x servo*

3 kaki kawat tembaga

Pemotong Kawat/Stripper

Besi solder dan solder

*karena servo mahal dan kami adalah mahasiswa, kami mengganti resistor 68 ohm dan LED untuk setiap servo sebagai prototipe (kode berfungsi dengan cara yang sama)

Langkah 2: Memulai Pengkodean

Pengkodean Awal
Pengkodean Awal
Pengkodean Awal
Pengkodean Awal
Pengkodean Awal
Pengkodean Awal

Ada banyak kode yang harus ditulis untuk proyek ini. Kami akan menggunakan kode VHDL yang ditulis dalam Vivado. Untuk memulai kita akan ingin membuat proyek baru. Pertama, Anda akan memberi nama proyek dan menentukan jenis proyek. Pastikan untuk memilih pengaturan yang sama seperti yang digambarkan. Ketika Anda telah masuk ke layar sumber Anda akan ingin menambahkan enam sumber bernama "top", "flip_flop", "segments", "servo_top", "servo_sig" dan "clk_div". Pastikan untuk memilih VHDL untuk bahasa setiap file, bukan Verilog. Pada layar batasan Anda harus membuat satu file untuk penetapan pin. Nama file ini tidak penting. Anda kemudian akan diminta untuk memilih papan yang akan Anda gunakan. Pastikan Anda memilih yang benar. Referensi foto untuk pemilihan yang benar. Langkah terakhir akan meminta Anda untuk menentukan input dan output dari setiap file sumber. Langkah ini bisa dikodekan nanti jadi klik next.

Langkah 3: File Kendala

File Kendala
File Kendala
File Kendala
File Kendala

Pada langkah ini kita akan menulis file constraint. Ini memberi tahu Vivado pin mana yang akan mengirim/menerima sinyal mana dari sirkuit. Kita akan membutuhkan jam, tiga sakelar, tampilan tujuh segmen (tujuh katoda dan empat anoda), sebuah tombol dan tiga pin output PMOD yang akan digunakan servo/LED. Referensi foto untuk bagaimana kode akan terlihat.

Langkah 4: File Flip Flop

File Flip Flop
File Flip Flop

File selanjutnya yang akan kita tulis adalah file sumber flip_flip. Ini akan menjadi implementasi VHDL dari D flip flop. Dengan kata lain itu hanya akan meneruskan inputnya ke output di tepi naik sinyal jam dan ketika tombol ditekan. Ini akan mengambil jam, D dan tombol sebagai input dan akan menampilkan Q. referensi foto untuk kode. Tujuan dari file ini adalah untuk memungkinkan tempat sampah terbuka hanya ketika tombol ditekan daripada langsung membuka setiap kali sakelar dibalik dan hanya menutup ketika sakelar dibalik.

Langkah 5: File Segmen

File Segmen
File Segmen

File selanjutnya yang akan ditulis adalah file segmen. Ini akan mengambil tombol seperti pada nilai input dan output untuk tujuh katoda dan empat anoda dari tampilan tujuh segmen Basys 3. File ini menyebabkan tampilan tujuh segmen menampilkan "C" saat nampan ditutup dan "O" saat nampan terbuka. Untuk kode lihat foto terlampir.

Langkah 6: File Pembagi Jam

File Pembagi Jam
File Pembagi Jam

Servos berfungsi dengan mengambil sinyal PWM dengan frekuensi 64k Hz sedangkan clock yang dibangun ke dalam Basys 3 berfungsi pada 50M Hz. File pembagi jam akan mengubah jam default menjadi frekuensi yang bersahabat untuk servo. File akan mengambil jam dan sinyal reset sebagai input dan akan mengeluarkan sinyal jam baru. Lihat foto terlampir untuk kode.

Langkah 7: File Sinyal Servo

File Sinyal Servo
File Sinyal Servo

File sinyal servo akan mengambil input jam, input reset dan input posisi yang diinginkan. Ini akan mengeluarkan sinyal PWM yang akan menggerakkan servo ke posisi yang diinginkan. File ini menggunakan sinyal clock yang dibuat di file terakhir untuk membuat sinyal PWM untuk servo dengan siklus tugas yang berbeda tergantung pada posisi yang diinginkan. Ini memungkinkan kita untuk memutar servos yang mengontrol tutup tempat sampah. Lihat foto terlampir untuk kode.

Langkah 8: File Servo Atas

File Atas Servo
File Atas Servo

Tujuan dari file ini adalah untuk mengkompilasi dua file terakhir menjadi driver servo fungsional. Ini akan mengambil jam, reset dan posisi sebagai input dan akan mengeluarkan sinyal PWM servo. Ini akan menggunakan pembagi jam dan file sinyal servo sebagai komponen dan akan menyertakan sinyal jam internal untuk melewatkan jam yang dimodifikasi dari pembagi jam ke file sinyal servo. Lihat foto di

Langkah 9: File Teratas

File Atas
File Atas
File Atas
File Atas
File Atas
File Atas
File Atas
File Atas

Ini adalah file proyek yang paling penting karena membungkus semua yang telah kita buat bersama. Ini akan mengambil tombol, tiga sakelar dan jam sebagai input. Ini akan memberikan tujuh katoda, empat anoda dan tiga sinyal servo / LED sebagai output. Ini akan menggunakan flip flop, segmen dan file servo_top sebagai komponen dan akan memiliki saklar internal dan sinyal servo internal.

Langkah 10: Menguji di Vivado

Jalankan Sintesis, implementasi, dan tulis bitsream di Vivado. Jika Anda menemukan pesan kesalahan, temukan lokasi kesalahan dan kemudian bandingkan dengan kode yang diberikan. Selesaikan kesalahan apa pun hingga semua proses ini selesai dengan sukses.

Langkah 11: Membangun Pengenalan Perangkat Keras

Pada langkah ini Anda akan membuat perangkat keras LED yang kami gunakan dalam prototipe kami. Jika menggunakan servos, proyek harus siap selama pin yang benar digunakan. Jika menggunakan LED ikuti langkah-langkah di bawah ini.

Langkah 12: Persiapan

Potong kawat menjadi enam bagian genap. Kupas ujung masing-masing kawat secukupnya sehingga penyolderan dapat terjadi. Pisahkan LED, resistor, dan kabel menjadi tiga kelompok. Panaskan besi solder.

Langkah 13: Menyolder

Pematerian
Pematerian
Pematerian
Pematerian

Solder masing-masing resistor 68 ohm ke sisi negatif dari LED yang sesuai. Solder kabel ke sisi positif LED dan kabel lain ke sisi resistor yang tidak disolder ke led. Anda harus memiliki tiga alat LED yang digambarkan di atas.

Langkah 14: Final

Akhir
Akhir

Masukkan setiap kabel positif ke pin PMOD yang sesuai dan masing-masing negatif ke pin PMOD ground. Secara opsional tambahkan tempat sampah karton untuk mewakili tempat sampah dan sembunyikan kekacauan penyolderan Anda. Setelah kabel dicolokkan dengan benar dan kode diunggah dengan benar ke papan tanpa kesalahan, mesin harus berfungsi sebagaimana dimaksud. Jika ada yang salah, kembali ke langkah sebelumnya untuk memecahkan masalah. Bersenang-senanglah dengan "penyortir sampah" baru Anda.

Direkomendasikan: