Мазмұны:

CPE 133 қоқыс сұрыптаушысы: 14 қадам
CPE 133 қоқыс сұрыптаушысы: 14 қадам

Бейне: CPE 133 қоқыс сұрыптаушысы: 14 қадам

Бейне: CPE 133 қоқыс сұрыптаушысы: 14 қадам
Бейне: CPE 133 Lab 2 2024, Қараша
Anonim
CPE 133 қоқыс сұрыптаушысы
CPE 133 қоқыс сұрыптаушысы

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 Flop файлы
Flip Flop файлы

Біз жазатын келесі файл - 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 түйреуішіне салыңыз. Қоқыс жәшіктерін бейнелейтін және дәнекерлеудегі былықты жасыру үшін қосымша ретінде картон жәшіктерді қосыңыз. Сымдар дұрыс қосылып, код тақтаға қатесіз жүктелгеннен кейін, машина ойдағыдай жұмыс істеуі керек. Егер бірдеңе дұрыс болмаса, ақауларды жою үшін алдыңғы қадамдарға оралыңыз. Жаңа «қоқыс сұрыптаушыңызбен» көңілді болыңыз.

Ұсынылған: