Съдържание:
- Стъпка 1: Материали
- Стъпка 2: Начало на кодирането
- Стъпка 3: Файл с ограничения
- Стъпка 4: Файл с джапанки
- Стъпка 5: Файл със сегменти
- Стъпка 6: Файл с разделител на часовника
- Стъпка 7: Файл със серво сигнали
- Стъпка 8: Най -горният файл на серво
- Стъпка 9: Топ файл
- Стъпка 10: Тестване във Vivado
- Стъпка 11: Въведение в изграждането на хардуер
- Стъпка 12: Подготовка
- Стъпка 13: Запояване
- Стъпка 14: Финал
Видео: Сортиращ отпадък CPE 133: 14 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
За нашия CPE 133 клас в Cal Poly ни беше казано да създадем проект VHDL/Basys 3, който би помогнал на околната среда и беше достатъчно прост, че можем да го приложим с нашите нови познания за дигитален дизайн. Идеята зад нашия проект, че като цяло хората не се замислят къде хвърлят боклука си. Решихме да създадем машина, която да принуди хората да се замислят там, където оставят боклука си. Нашият сортировъчър за боклук приема потребителски вход чрез три превключвателя, всеки от които представлява или боклук, рециклиране или компост. След като потребителят е избрал вида отпадъци, които би искал да изхвърли, натиска бутон. Този бутон ще доведе до отваряне на съответните капаци на контейнера. Машината също използва дисплея на Basys 3, за да покаже дали някой от капаците в момента е отворен. Когато бутонът бъде освободен, капаците ще се затворят отново, така че машината да е готова за следващия потребител.
Стъпка 1: Материали
Необходимите материали за този проект са:
Базис 3 борда
Компютър с инсталиран Vivado
3x серво*
3 фута медна жица
Резачка/стриптизьор за тел
Поялник и спойка
*тъй като сервомоторите са скъпи и ние сме студенти, заменихме 68 ома резистор и светодиод за всяко серво като прототип (кодът работи по същия начин)
Стъпка 2: Начало на кодирането
За този проект трябва да се напише много код. Ще използваме VHDL код, написан на Vivado. За начало ще искаме да създадем нов проект. Първо ще дадете име на проекта и ще посочите типа на проекта. Не забравяйте да изберете същите настройки, както на снимката. Когато стигнете до екрана с източници, ще искате да добавите шест източника с име „top“, „flip_flop“, „segments“, „servo_top“, „servo_sig“и „clk_div“. Не забравяйте да изберете VHDL за езика на всеки файл, а не Verilog. На екрана с ограничения трябва да създадете един файл за присвояване на щифтове. Името на този файл не е важно. След това ще бъдете подканени да изберете дъската, която ще използвате. Уверете се, че сте избрали правилния. Справочни снимки за правилен избор. Последната стъпка ще ви помоли да посочите входовете и изходите на всеки изходен файл. Тази стъпка може да бъде кодирана по -късно, така че щракнете върху следващия.
Стъпка 3: Файл с ограничения
В тази стъпка ще напишем файла с ограничения. Това казва на Vivado кои пинове кои сигнали ще изпращат/приемат от веригата. Ще ни трябват часовникът, три превключвателя, седемсегментният дисплей (седем катода и четири анода), бутон и трите изходни PMOD пина, които серво/LED ще използва. Справочни снимки за това как трябва да изглежда кодът.
Стъпка 4: Файл с джапанки
Следващият файл, който ще пишем, е изходният файл flip_flip. Това ще бъде VHDL реализация на D джапанка. С други думи, той ще предава само своя вход към изхода на нарастващия ръб на часовника и при натискане на бутона. Това ще отнеме часовник, D и бутона като вход и ще изведе Q. позовавайте се на снимките за код. Целта на този файл е да позволи на контейнерите да се отварят само при натискане на бутона, а не директно да се отваря всеки път, когато превключвателят е обърнат, и само да се затваря, когато превключвателят се обърне назад.
Стъпка 5: Файл със сегменти
Следващият файл, който трябва да бъде записан, е файлът със сегменти. Това ще вземе бутона като входни и изходни стойности за седемте катода и четири анода на седемсегментния дисплей на Basys 3. Този файл кара дисплея от седем сегмента да показва "C", когато контейнерите са затворени, и "O", когато контейнерите са отворени. За код вижте приложената снимка.
Стъпка 6: Файл с разделител на часовника
Сервомоторите функционират, като приемат ШИМ сигнал с честота 64k Hz, докато вграденият в Basys 3 часовник функционира при 50M Hz. Файлът с разделител на часовника ще преобразува часовника по подразбиране в приятелска честота за серво. Файлът ще вземе часовника и сигнала за нулиране като вход и ще изведе нов сигнал на часовника. За код вижте приложената снимка.
Стъпка 7: Файл със серво сигнали
Файлът със серво сигнал ще приема вход за часовник, вход за нулиране и вход за желана позиция. Той ще извежда PWM сигнал, който ще задвижва серво до желаната позиция. Този файл използва часовника, създаден в последния файл, за да създаде PWM сигнал за серво с различни работни цикли в зависимост от желаната позиция. Това ни позволява да завъртаме сервомоторите, които контролират капаците на кофите за боклук. За код вижте приложената снимка.
Стъпка 8: Най -горният файл на серво
Целта на този файл е да компилира последните два файла във функционален серво драйвер. Това ще отнеме часовник, нулиране и позиция като вход и ще изведе серво PWM сигнал. Той ще използва както разделителя на часовника, така и файла със сервосигнал като компоненти и ще включва вътрешен часовник, за да предаде модифицирания часовник от разделителя на часовника към файла със серво сигнал. Вижте снимки на
Стъпка 9: Топ файл
Това е най -важният файл на проекта, тъй като обгръща всичко, което сме създали заедно. Той ще вземе бутона, трите превключвателя и часовника като входове. Той ще дава седемте катода, четирите анода и трите серво/LED сигнала като изходи. Той ще използва джапанките, сегментите и servo_top файловете като компоненти и ще има вътрешен превключвател и вътрешен серво сигнал.
Стъпка 10: Тестване във Vivado
Стартирайте Synthesis, внедряване и запис на bitsream във Vivado. Ако срещнете съобщения за грешка, намерете местоположението на грешката и след това сравнете с дадения код. Премахнете всички грешки, докато всички тези изпълнения завършат успешно.
Стъпка 11: Въведение в изграждането на хардуер
В тази стъпка ще създадете LED хардуера, който използвахме в нашия прототип. Ако използвате сервомоторите, проектът трябва да е готов за работа, стига да се използват правилните щифтове. Ако използвате светодиоди, следвайте стъпките по -долу.
Стъпка 12: Подготовка
Нарежете жицата на шест равни части. Отстранете краищата на всяко парче тел достатъчно, за да може да възникне запояване. Разделете светодиодите, резисторите и проводниците в три групи. Загрейте поялника.
Стъпка 13: Запояване
Запоявайте всеки от 68 ома резистори към отрицателната страна на съответния им светодиод. Запоявайте проводник към положителната страна на светодиода и друг проводник към страната на резистора, която не е запоена към светодиода. Трябва да имате три от светодиодните конструкции, показани по -горе.
Стъпка 14: Финал
Поставете всеки положителен проводник в съответния PMOD щифт и всеки отрицателен в заземен PMOD щифт. По желание добавете картонени кошчета, за да представлявате кофите за боклук и да скриете бъркотията за запояване. След като кабелите са правилно включени и кодът е правилно качен на дъската без грешки, машината трябва да функционира по предназначение. Ако нещо се обърка, върнете се към предишните стъпки за отстраняване на неизправности. Забавлявайте се с новия си "сортиращ боклук".
Препоръчано:
CPE 133 Окончателен проект Десетичен до двоичен: 5 стъпки
CPE 133 Final Project Decimal to Binary: Двоичните числа са едно от първите неща, които идват на ум, когато мислите за цифрова логика. Бинарните числа обаче могат да бъдат трудна концепция за тези, които са нови в него. Този проект ще помогне на тези, които са нови и имат опит с двоични числа
Как да направите сортиращ елемент в Minecraft: 12 стъпки
Как да направите сортиращ елемент в Minecraft: Това е урок с 11 стъпки за това как да направите сортировъчен елемент в Minecraft
CPE 133 метроном: 3 стъпки
CPE 133 Metronome: За финалния си проект в Cal Poly създадохме устройство за поддържане на темпо, наречено метроном, избрахме този проект поради интерес към музика и дигитален дизайн. Използвахме минали лаборатории в CPE 133, за да помогнем при проектирането на нашия код и онлайн уроци, за да помогнем в съвместното
Cap It: Интерактивен сортиращ капак за бутилки: 6 стъпки
Cap It: Интерактивна сортираща капачка за бутилки: Тази инструкция е създадена в изпълнение на изискванията на проекта от Makecourse 2018 в Университета на Южна Флорида (www.makecourse.com) От време на време се радвам да се прибирам и да пия по няколко бири отпуснете се след дълъг живот
Сортиращ/държач за LED: 10 стъпки
LED сортиращ/държач: Тази инструкция ще ви покаже как да направите светодиоден държач, който е категоризиран в слотове по цвят, размер и дали е разпръснат или не. Това е много полезно за светодиодите, които са ясни, но светят в различен цвят като оранжево. Можете да завъртите превключвател