Мазмұны:
- 1 -қадам: материалдар
- 2 -қадам: кодтауды бастау
- 3 -қадам: шектеулер файлы
- 4 -қадам: флип -флоп файлы
- 5 -қадам: Сегменттер файлы
- 6 -қадам: Сағат бөлгіш файл
- 7 -қадам: Серво сигналдық файлы
- 8 -қадам: Servo жоғарғы файлы
- 9 -қадам: Жоғарғы файл
- 10 -қадам: Vivado -да тестілеу
- 11 -қадам: Hardware Intro құру
- 12 -қадам: дайындық
- 13 -қадам: дәнекерлеу
- 14 -қадам: Финал
Бейне: CPE 133 қоқыс сұрыптаушысы: 14 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Cal Poly -дегі CPE 133 сыныбы үшін бізге қоршаған ортаға көмектесетін VHDL/Basys 3 жобасын құру туралы айтылды, және біз оны цифрлық дизайн туралы жаңа білімімізбен жүзеге асыра аламыз. Біздің жобаның идеясы, әдетте, адамдар қоқысты қайда тастайтыны туралы ойламайды. Біз адамдарды қоқыс тастайтын жерге ойлануға мәжбүрлейтін машина жасауды шештік. Біздің қоқыс сұрыптаушы пайдаланушылардың кірісін үш қосқыш арқылы алады, олардың әрқайсысы қоқысты, қайта өңдеуді немесе компостты білдіреді. Пайдаланушы қоқыс (тар) түрін таңдағаннан кейін, олар батырманы басады. Бұл түйме сәйкес контейнер қақпақтарының ашылуына әкеледі. Сондай -ақ, құрылғы Basys 3 дисплейін пайдаланып, қақпақтардың кез келгені ашық екенін көрсетеді. Түйме босатылған кезде қақпақтар қайтадан жабылады, осылайша машина келесі пайдаланушыға дайын болады.
1 -қадам: материалдар
Бұл жобаға қажет материалдар:
Basys 3 тақта
Vivado орнатылған компьютер
3х серво*
3 футтық мыс сым
Сым кескіш/стриппер
Дәнекерлеуіш пен дәнекерлеуіш
*өйткені сервопродуктылар қымбат және біз колледж студенттері болғандықтан, прототип ретінде әр серво үшін 68 Ом резистор мен жарық диодты ауыстырдық (код бірдей жұмыс істейді)
2 -қадам: кодтауды бастау
Бұл жобаға жазылатын код көп. Біз Vivado -да жазылған VHDL кодын қолданамыз. Бастау үшін біз жаңа жоба жасағымыз келеді. Алдымен сіз жобаның атын атап, жобаның түрін көрсетесіз. Суретте көрсетілген параметрлерді таңдағаныңызға сенімді болыңыз. Дереккөздер экранына жеткенде, сіз «top», «flip_flop», «segments», «servo_top», «servo_sig» және «clk_div» деп аталатын алты көзді қосқыңыз келеді. Verilog емес, әр файлдың тілі үшін VHDL таңдаңыз. Шектеулер экранында түйреуіш тағайындау үшін бір файл жасау керек. Бұл файлдың атауы маңызды емес. Содан кейін сізге қолданылатын тақтаны таңдау ұсынылады. Дұрысын таңдағаныңызға көз жеткізіңіз. Дұрыс таңдау үшін фотосуреттер. Соңғы қадам әр бастапқы файлдың кірісі мен шығысын көрсетуді сұрайды. Бұл қадамды кейінірек кодтауға болады, сондықтан келесіге басыңыз.
3 -қадам: шектеулер файлы
Бұл қадамда біз шектеулер файлын жазамыз. Бұл Vivado -ға қандай түйреуіштер тізбектен қандай сигнал жіберетінін/алатынын айтады. Бізге сағат, үш қосқыш, жеті сегментті дисплей (жеті катод және төрт анод), түйме және серво/светодиод қолданатын үш шығыс PMOD түйреуіші қажет болады. Код қалай көрінетіні туралы анықтамалық фотосуреттер.
4 -қадам: флип -флоп файлы
Біз жазатын келесі файл - flip_flip бастапқы файлы. Бұл D флип -флоптың VHDL енгізуі болады. Басқаша айтқанда, ол кіріс сигналын сағат сигналының жоғарылау жиегіне және түйме басылған кезде ғана береді. Кіріс ретінде сағат, D және түйме қажет болады және Q. шығарады, код үшін фотосуреттерге сілтеме. Бұл файлдың мақсаты - қоқыс жәшіктерін тек ашылған кезде ғана ашуға емес, тек түймені басқанда ғана ашуға рұқсат беру және қосқышты артқа аударғанда ғана жабу.
5 -қадам: Сегменттер файлы
Келесі жазылатын файл - бұл сегменттер файлы. Бұл батырманы Basys 3 жеті сегментті дисплейінің жеті катодының және төрт анодының кіріс және шығыс мәндеріндегідей қабылдайды. Бұл файл жеті сегменттің дисплейінде жәшіктер жабылғанда «С», ал контейнерлер ашық болғанда «О» белгісін көрсетеді. Код үшін берілген фотосуретті қараңыз.
6 -қадам: Сағат бөлгіш файл
Сервис 64 кГц жиіліктегі PWM сигналын қабылдау арқылы жұмыс істейді, ал Basys 3 орнатылған сағат 50 МГц жиілікте жұмыс істейді. Сағат бөлгіш файлы әдепкі сағатты серво үшін қолайлы жиілікке түрлендіреді. Файл кіріс ретінде сағатты және қалпына келтіру сигналын қабылдайды және жаңа сағат сигналын шығарады. Код үшін берілген суретті қараңыз.
7 -қадам: Серво сигналдық файлы
Серво сигналының файлы сағаттық кірісті, қалпына келтіруді және қалаған позиция кірісін алады. Ол PWM сигналын шығарады, ол сервоны қажетті орынға жеткізеді. Бұл файл қалаған позицияға байланысты әр түрлі жұмыс циклдары бар сервоға PWM сигналын жасау үшін соңғы файлда жасалған сағат сигналын пайдаланады. Бұл қоқыс жәшіктерінің қақпақтарын басқаратын серводы бұруға мүмкіндік береді. Код үшін берілген суретті қараңыз.
8 -қадам: Servo жоғарғы файлы
Бұл файлдың мақсаты - соңғы екі файлды сервоприводтық драйверге жинау. Ол үшін сағатты, қалпына келтіруді және орнын алады, ол PWM серво сигналын шығарады. Ол компоненттер ретінде сағат бөлгішті де, серво сигналдық файлды да қолданады және өзгертілген сағатты сағат бөлгіштен серво сигнал файлына беру үшін ішкі сағат сигналын қосады. Фотосуреттерді қараңыз
9 -қадам: Жоғарғы файл
Бұл жобаның ең маңызды файлы, өйткені ол біз жасағанның бәрін біріктіреді. Ол кіріс ретінде түймені, үш қосқышты және сағатты алады. Ол жеті катодты, төрт анодты және үш серво/жарықдиодты сигналды шығарады. Ол флип -флопты, сегменттерді және servo_top файлдарын компоненттер ретінде пайдаланады және ішкі қосқыш пен ішкі серво сигналы болады.
10 -қадам: Vivado -да тестілеу
Vivado -да синтезді іске қосыңыз және bitsream жазыңыз. Егер сіз кез келген қате туралы хабарды тапсаңыз, қатенің орнын табыңыз, содан кейін берілген кодпен салыстырыңыз. Барлық орындалулар сәтті аяқталғанша кез келген қателермен жұмыс жасаңыз.
11 -қадам: Hardware Intro құру
Бұл қадамда сіз біздің прототипте қолданған жарықдиодты жабдықты жасайсыз. Егер сервоприводты пайдалансаңыз, жоба дұрыс түйреуіштер қолданылғанша жүруге дайын болуы керек. Егер жарықдиодты шамдарды қолдансаңыз, төмендегі қадамдарды орындаңыз.
12 -қадам: дайындық
Сымды алты бірдей бөлікке кесіңіз. Әр сымның ұштарын дәнекерлеу пайда болуы үшін жеткілікті түрде алыңыз. Жарық диодтары, резисторлар мен сымдар үш топқа бөлінеді. Пісіру үтікті қыздырыңыз.
13 -қадам: дәнекерлеу
68 Ом резисторларының әрқайсысын тиісті жарықдиодты теріс жағына дәнекерлеңіз. Жарық диодының оң жағына сымды дәнекерлеңіз, ал резистордың екінші жағына сымға қосылыңыз. Сізде жоғарыда көрсетілген жарықдиодты контрасттардың үшеуі болуы керек.
14 -қадам: Финал
Әрбір оң сымды сәйкес PMOD түйреуішіне, ал әрбір теріс жердегі PMOD түйреуішіне салыңыз. Қоқыс жәшіктерін бейнелейтін және дәнекерлеудегі былықты жасыру үшін қосымша ретінде картон жәшіктерді қосыңыз. Сымдар дұрыс қосылып, код тақтаға қатесіз жүктелгеннен кейін, машина ойдағыдай жұмыс істеуі керек. Егер бірдеңе дұрыс болмаса, ақауларды жою үшін алдыңғы қадамдарға оралыңыз. Жаңа «қоқыс сұрыптаушыңызбен» көңілді болыңыз.
Ұсынылған:
CPE 133 Қорытынды жоба ондық екілік: 5 қадам
CPE 133 ондық екілік санаудың соңғы жобасы: екілік сандар - цифрлық логика туралы ойлағанда ең алдымен ойға оралатындардың бірі. Алайда, екілік сандар жаңадан бастағандар үшін қиын ұғым болуы мүмкін. Бұл жоба екілік сандармен тәжірибесі барларға жаңа
Монетаның электронды сұрыптаушысы: 7 қадам (суреттермен)
Электронды монеталарды сұрыптаушы: Ұзақ уақыт бұрын, мектепке баруға әлі мүмкін емес кезде, біз өте қарапайым түрде жұмыс істейтін құрылғыны жасау туралы қызықты идеямен келдік - қажетті мөлшерде ақша тастағаннан кейін нақты өнім шығарады. Ашып айта алмаймын
PhantomX Pincher роботы - Apple сұрыптаушысы: 6 қадам
PhantomX Pincher роботы - Apple сұрыптаушысы: Азық -түлікке қойылатын қауіпсіздік талаптары өсуде. Тұтынушылар да, билік те біз жейтін тағамның сапалы әрі қауіпсіздігі жоғары болуын талап етуде. Егер азық -түлік өндіру кезінде проблемалар туындаса, қатенің көзі
M&M түс сұрыптаушысы: 3 қадам
M&M Түс сұрыптаушысы: Бұл жобаның басында біз түрлі түсті кәмпиттерді бөлек ыдыстарға тиімді мөлшерде автоматты түрде сұрыптауға кірістік. Бізді https://howtomechatronics.com/projects/arduino-col сайтында жарияланған жазбаны көргенде осы идея шабыттандырды
CPE 133 Метрономы: 3 қадам
CPE 133 Metronome: Cal Poly -дегі соңғы жобамыз үшін біз метроном деп аталатын жылдамдықты сақтайтын құрылғы жасадық, біз музыканы және цифрлық дизайнды қызығушылықпен таңдадық. Біз кодты жобалауға көмектесу үшін CPE 133 -тегі өткен зертханаларды қолдандық және серіктестікке көмектесу үшін онлайн -оқулықтарды