
Mundarija:
- 1 -qadam: materiallar
- 2 -qadam: kodlashni boshlash
- 3 -qadam: Faylni cheklash
- 4 -qadam: Flip Flop faylini aylantiring
- 5 -qadam: Segmentlar fayli
- 6 -qadam: soatni ajratuvchi fayl
- 7 -qadam: Servo signalli fayl
- 8 -qadam: Servo yuqori fayl
- 9 -qadam: Yuqori fayl
- 10 -qadam: Vivadoda test
- 11 -qadam: Uskuna kirishini yaratish
- 12 -qadam: tayyorgarlik
- 13 -qadam: Lehimlash
- 14 -qadam: Final
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14

Cal Poly -dagi CPE 133 sinfimiz uchun bizga atrof -muhitga yordam beradigan VHDL/Basys 3 loyihasini yaratish kerak edi va biz uni raqamli dizayn haqidagi yangi bilimlarimiz bilan amalga oshirishimiz mumkin edi. Bizning loyihamizning g'oyasi, umuman olganda, odamlar axlatni qayerga tashlashni o'ylamaydilar. Biz odamlarni axlatni qaerga tashlashni o'ylashga majburlaydigan mashina yaratishga qaror qildik. Chiqindilarni ajratish moslamasi foydalanuvchining ma'lumotlarini uchta kalit orqali oladi, ularning har biri axlat, qayta ishlash yoki kompost. Foydalanuvchi chiqindilar turini tanlagandan so'ng, ularni yo'q qilishni xohlaydi, tugmani bosadi. Bu tugma mos keladigan idish qopqog'ining ochilishiga olib keladi. Mashina, shuningdek, Basys 3 displeyidan foydalanib, hozirda qovoqlardan birortasi ochiq yoki yo'qligini ko'rsatdi. Tugma qo'yilganda, qopqoq yana yopiladi, shunda mashina keyingi foydalanuvchiga tayyor bo'ladi.
1 -qadam: materiallar



Ushbu loyiha uchun zarur bo'lgan materiallar:
Basys 3 taxta
Vivado o'rnatilgan kompyuter
3x servo*
3 metrli mis sim
Tel kesuvchi/stripper
Lehimlash temir va lehim
*chunki servolar qimmat va biz kollej talabalari, biz prototip sifatida har bir servo uchun 68 ohmli qarshilik va LEDni almashtirdik (kod xuddi shunday ishlaydi)
2 -qadam: kodlashni boshlash



Bu loyiha uchun juda ko'p kod yozish kerak. Biz Vivadoda yozilgan VHDL kodidan foydalanamiz. Boshlash uchun biz yangi loyiha yaratmoqchimiz. Birinchidan, siz loyihani nomlaysiz va loyihaning turini belgilaysiz. Rasmdagi kabi bir xil sozlamalarni tanlaganingizga ishonch hosil qiling. Manbalar ekraniga kirganingizda, siz "top", "flip_flop", "segmentlar", "servo_top", "servo_sig" va "clk_div" nomli oltita manbani qo'shishni xohlaysiz. Verilog emas, balki har bir fayl tili uchun VHDL -ni tanlaganingizga ishonch hosil qiling. Cheklovlar ekranida siz pinni belgilash uchun bitta fayl yaratishingiz kerak. Bu faylning nomi muhim emas. Keyin sizdan foydalanadigan taxtani tanlash talab qilinadi. To'g'ri birini tanlaganingizga ishonch hosil qiling. To'g'ri tanlash uchun mos yozuvlar fotosuratlari. Oxirgi qadam sizdan har bir manba faylining kirish va chiqishini belgilashingizni so'raydi. Bu qadamni keyinroq kodlash mumkin, shuning uchun keyingisini bosing.
3 -qadam: Faylni cheklash


Bu bosqichda biz cheklovlar faylini yozamiz. Bu Vivadoga qaysi pinlar sxemadan qaysi signallarni yuborishi/qabul qilishini aytadi. Bizga soat, uchta kalit, etti segmentli displey (etti katod va to'rt anod), tugma va servo/LED ishlatadigan uchta chiqish PMOD pinlari kerak bo'ladi. Kod qanday ko'rinishi kerakligi haqida ma'lumotnomalar.
4 -qadam: Flip Flop faylini aylantiring

Biz yozadigan keyingi fayl - bu flip_flip manba fayli. Bu D flip flopning VHDL dasturi bo'ladi. Boshqacha qilib aytganda, u faqat kirish signalini soat signalining ko'tarilish chekkasida va tugma bosilganda uzatadi. Kirish uchun soat, D va tugma kerak bo'ladi va Q. kodi uchun rasmlarga havola qilinadi. Bu faylning maqsadi - har safar tugma bosilganda to'g'ridan -to'g'ri ochilish emas, faqat tugma bosilganda qutilar ochilishiga ruxsat berish va faqat kalit orqaga qaytarilganda yopiladi.
5 -qadam: Segmentlar fayli

Keyingi yoziladigan fayl - bu segmentlar fayli. Bu tugmani Basys 3 ning etti segmentli displeyining etti katodli va to'rtta anodli kirish va chiqish qiymatlaridagi kabi oladi. Bu fayl 7 qismli displeyda axlat qutilari yopilganda "C" va axlat qutilari ochilganda "O" ko'rsatilishiga olib keladi. Kod uchun biriktirilgan rasmga qarang.
6 -qadam: soatni ajratuvchi fayl

Servos 64 KGts chastotali PWM signalini qabul qilib, Basys 3 -ga o'rnatilgan soat 50 MGts chastotada ishlaydi. Soatni ajratuvchi fayl standart soatni servo uchun qulay chastotaga aylantiradi. Fayl kirish sifatida soat va tiklash signalini oladi va yangi soat signalini chiqaradi. Kod uchun ilova qilingan rasmga qarang.
7 -qadam: Servo signalli fayl

Servo signal fayli soat kiritilishini, asl holatini tiklash va kerakli pozitsiyani kiritadi. U PWM signalini chiqaradi, bu servoni kerakli holatga o'tkazadi. Bu fayl, kerakli pozitsiyaga qarab, har xil ish davrlariga ega bo'lgan servo uchun PWM signalini yaratish uchun oxirgi faylda yaratilgan soat signalidan foydalanadi. Bu bizga axlat qutilarining qopqog'ini boshqaradigan servolarni aylantirish imkonini beradi. Kod uchun biriktirilgan rasmga qarang.
8 -qadam: Servo yuqori fayl

Ushbu faylning maqsadi oxirgi ikkita faylni funktsional servo drayverga yig'ishdir. Buning uchun soat, qayta o'rnatish va pozitsiya kerak bo'ladi, bu PWM servo signalini chiqaradi. U komponent sifatida soat ajratgichni ham, servo signal faylini ham ishlatadi va o'zgartirilgan soatni soat bo'linmasidan servo signal fayliga o'tkazish uchun ichki soat signalini o'z ichiga oladi. Rasmlarga qarang
9 -qadam: Yuqori fayl




Bu loyihaning eng muhim fayli, chunki u biz yaratgan hamma narsani birlashtiradi. U kirish sifatida tugma, uchta kalit va soatni oladi. U etti katodni, to'rtta anodni va uchta servo/LED signallarini chiqish sifatida beradi. U flip flop, segmentlar va servo_top fayllarini komponent sifatida ishlatadi va ichki kalit va ichki servo signalga ega bo'ladi.
10 -qadam: Vivadoda test
Vivadoda bitsream -ni sintez qilish, amalga oshirish va yozishni ishga tushiring. Agar siz xato xabarlariga duch kelsangiz, xato joyini toping va keyin berilgan kod bilan solishtiring. Bu ishlarning barchasi muvaffaqiyatli yakunlanmaguncha, har qanday xato bilan ishlang.
11 -qadam: Uskuna kirishini yaratish
Ushbu bosqichda siz bizning prototipimizda ishlatilgan LED uskunalarini yaratasiz. Agar servolardan foydalansangiz, to'g'ri pinlar ishlatilgan bo'lsa, loyiha ishga tayyor bo'lishi kerak. Agar LEDlar ishlatilsa, quyidagi amallarni bajaring.
12 -qadam: tayyorgarlik
Telni oltita teng bo'laklarga bo'ling. Har bir bo'lakning uchlarini etarlicha kesib oling, shunda lehim paydo bo'lishi mumkin. LEDlar, rezistorlar va simlarni uch guruhga ajrating. Lehimlash temirini qizdiring.
13 -qadam: Lehimlash


68 ohmli rezistorlarning har birini mos keladigan LEDning salbiy tomoniga lehimlang. LEDni musbat tomoniga simni va rezistorning yon tomoniga boshqa simni lehimlanmagan holda lehimlang. Sizda yuqorida ko'rsatilgan uchta LED kontrasti bo'lishi kerak.
14 -qadam: Final

Har bir musbat simni tegishli PMOD piniga va har bir manfiyni PMOD piniga kiriting. Ixtiyoriy ravishda axlat qutilarini ifodalash va lehimdagi tartibsizlikni yashirish uchun karton qutilarni qo'shing. Simlar to'g'ri ulangan va kod taxtaga xatosiz yuklanganidan so'ng, mashina maqsadga muvofiq ishlashi kerak. Agar biror narsa noto'g'ri ketayotgan bo'lsa, muammolarni bartaraf etish uchun avvalgi bosqichlarga qayting. Yangi "axlat yig'uvchi" bilan xursand bo'ling.
Tavsiya:
CPE 133 Yakuniy loyiha o'nlikdan ikkilikka: 5 qadam

CPE 133 yakuniy loyihasi o'nlikdan ikkilikka: ikkilik raqamlar - raqamli mantiq haqida o'ylashda aqlga kelgan birinchi narsalardan biri. Biroq, ikkilik raqamlar yangi boshlanuvchilar uchun qiyin tushuncha bo'lishi mumkin. Bu loyiha ikkilik raqamlar bilan tajribali bo'lganlarga yordam beradi
Shlyapani saralash: 3 qadam

Saralash shlyapasi: Yilning turli vaqtlarida biz har xil liboslarda kiyinamiz, bir yili bizning maktab xodimlari bo'limlar bo'yicha mavzularni tanlashga qaror qilishdi. Garri Potter juda mashhur tanlov edi, va men chindan ham Amigurumi qo'g'irchoqlarini tikish bilan shug'ullanardim
Sorter bin - axlatni aniqlash va saralash: 9 qadam

Sorter Bin - axlatni aniqlang va saralang: Siz hech qachon qayta ishlamayotgan yoki yomon ishlayotgan odamni ko'rganmisiz? Siz uchun qayta ishlanadigan mashinani orzu qilganmisiz? Loyihamizni o'qishda davom eting, afsuslanmaysiz! Sorter bin - bu aniq yordam motivatsiyasiga ega loyiha
CPE 133 Metronom: 3 qadam

CPE 133 Metronome: Cal Poly -dagi yakuniy loyihamiz uchun biz metronome deb nomlangan tezlikni saqlash moslamasini yaratdik, biz musiqa va raqamli dizaynga qiziqish tufayli ushbu loyihani tanladik. Biz CPE 133 -dagi o'tmishdagi laboratoriyalardan foydalanib, o'z kodlarimizni va onlayn darsliklarimizni loyihalashtirishda yordam berdik
TRASH ROCKS - Qayta ishlanmaydigan axlatni yo'q qilish: 8 qadam

TRASH ROCKS - Qayta ishlanmaydigan axlatni yo'q qiling: axlat toshini yasash uchun avval to'rdan qop tikiladi. U axlat bilan to'ldirilgan va tsement bilan gipslangan. Olingan chig'anoqlar shakli noyob va juda tabiiy ko'rinadi. Axlat toshlari estetik jihatdan yoqimli va konstruktivdir