Բովանդակություն:

CPE 133 Աղբարկղերի տեսակավորող ՝ 14 քայլ
CPE 133 Աղբարկղերի տեսակավորող ՝ 14 քայլ

Video: CPE 133 Աղբարկղերի տեսակավորող ՝ 14 քայլ

Video: CPE 133 Աղբարկղերի տեսակավորող ՝ 14 քայլ
Video: CPE 133 Lab 2 2024, Նոյեմբեր
Anonim
CPE 133 Աղբարկղերի տեսակավորիչ
CPE 133 Աղբարկղերի տեսակավորիչ

CalPY- ում մեր CPE 133 դասի համար մեզ ասացին, որ ստեղծենք VHDL/Basys 3 նախագիծ, որը կօգնի շրջակա միջավայրին և բավականին պարզ էր, որ այն կարող էինք իրականացնել թվային դիզայնի մեր նոր գիտելիքներով: Մեր նախագծի հիմքում ընկած է այն գաղափարը, որ, ընդհանուր առմամբ, մարդիկ չեն մտածում, թե ուր են նետում իրենց աղբը: Մենք որոշեցինք ստեղծել մի մեքենա, որը կստիպի մարդկանց մտածել այն տեղը, որտեղ աղբը դնում են: Աղբի տեսակավորողը օգտվողի մուտքն ընդունում է երեք անջատիչների միջոցով, որոնցից յուրաքանչյուրը ներկայացնում է աղբը, վերամշակումը կամ պարարտությունը: Օգտատերն ընտրելուց հետո թափոնների տեսակը, որը կցանկանար թափել, սեղմում է կոճակը: Այս կոճակը կհանգեցնի համապատասխան տարայի կափարիչների բացմանը: Մեքենան օգտագործեց նաև Basys 3 -ի ցուցադրումը `նշելու, թե արդյոք կափարիչներից որևէ մեկը ներկայումս բաց է: Երբ կոճակը բացվի, կափարիչները նորից կփակվեն, որպեսզի մեքենան պատրաստ լինի հաջորդ օգտագործողի համար:

Քայլ 1: Նյութեր

Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր

Այս նախագծի համար անհրաժեշտ նյութերն են.

Basys 3 տախտակ

Տեղադրված է Vivado համակարգիչ

3x սերվո*

3 ոտնաչափ պղնձե մետաղալար

Հաղորդալար կտրող/մերկացուցիչ

Oldոդման երկաթ և զոդ

*քանի որ սերվերը թանկ են, և մենք քոլեջի ուսանողներ ենք, մենք փոխարինեցինք 68 օմ ռեզիստորով և LED- ով յուրաքանչյուր սերվոյի համար որպես նախատիպ (ծածկագիրը գործում է նույն կերպ)

Քայլ 2: Կոդավորման սկիզբ

Սկսվում է կոդավորումը
Սկսվում է կոդավորումը
Սկսվում է կոդավորումը
Սկսվում է կոդավորումը
Սկսվում է կոդավորումը
Սկսվում է կոդավորումը

Այս նախագծի համար շատ կոդեր պետք է գրվեն: Մենք կօգտագործենք Vivado- ում գրված VHDL ծածկագիրը: Սկսելու համար մենք կցանկանանք ստեղծել նոր նախագիծ: Նախ անվանեք նախագիծը և նշեք ծրագրի տեսակը: Համոզվեք, որ ընտրեք նույն կարգավորումները, ինչպես նկարում: Աղբյուրների էկրան հասնելուն պես կցանկանաք ավելացնել վեց աղբյուր ՝ «վերև», «մատով թռիչք», «հատվածներ», «servo_top», «servo_sig» և «clk_div» անուններով: Համոզվեք, որ ընտրեք VHDL յուրաքանչյուր ֆայլի լեզվի համար, այլ ոչ թե Verilog: Սահմանափակումների էկրանին դուք պետք է ստեղծեք մեկ ֆայլ ՝ կապի նշանակման համար: Այս ֆայլի անունը կարևոր չէ: Այնուհետև ձեզ կառաջարկվի ընտրել տախտակը, որը դուք կօգտագործեք: Համոզվեք, որ ընտրել եք ճիշտը: Տեղեկատվական լուսանկարներ ճիշտ ընտրության համար: Վերջին քայլը ձեզանից կպահանջի նշել յուրաքանչյուր աղբյուրի ֆայլի մուտքերն ու ելքերը: Այս քայլը կարող է ծածկագրվել ավելի ուշ, այնպես որ կտտացրեք հաջորդը:

Քայլ 3: Սահմանափակումների ֆայլ

Սահմանափակումների ֆայլ
Սահմանափակումների ֆայլ
Սահմանափակումների ֆայլ
Սահմանափակումների ֆայլ

Այս քայլում մենք կգրենք սահմանափակումների ֆայլը: Սա պատմում է Vivado- ին, թե որ կապերն են որ ազդանշանները կուղարկի/կընդունի միացումից: Մեզ անհրաժեշտ կլինի ժամացույց, երեք անջատիչ, յոթ հատվածի ցուցադրում (յոթ կաթոդ և չորս անոդ), կոճակ և երեք ելքային PMOD կապում, որոնք կօգտագործի սերվո/լուսադիոդային լույսը: Տեղեկատվական լուսանկարներ, թե ինչ տեսք ունի ծածկագիրը:

Քայլ 4: Flip Flop ֆայլ

Flip Flop ֆայլ
Flip Flop ֆայլ

Հաջորդ ֆայլը, որը մենք գրելու ենք, flip_flip սկզբնական ֆայլն է: Սա կլինի D Flip -flop- ի VHDL իրականացումը: Այլ կերպ ասած, այն միայն մուտքագրելու է ելքը դեպի ժամացույցի ազդանշանի բարձրացող եզրին և կոճակը սեղմելիս: Որպես մուտքագրում կպահանջվի ժամացույցը, D- ն և կոճակը և դուրս կգա Q. ծածկագրի համար նշեք լուսանկարները: Այս ֆայլի նպատակն է թույլ տալ, որ աղբարկղերը բացվեն միայն այն դեպքում, երբ կոճակը սեղմվում է, այլ ոչ թե ուղղակիորեն բացվում է ամեն անգամ, երբ անջատիչը շրջվում է և փակվում է միայն այն ժամանակ, երբ անջատիչը հետ է շրջվում:

Քայլ 5: Հատվածների ֆայլ

Հատվածների ֆայլ
Հատվածների ֆայլ

Հաջորդ ֆայլը, որը պետք է գրվի, հատվածների ֆայլն է: Սա կվերցնի կոճակը, ինչպես մուտքագրման և ելքի արժեքներում `Basys 3 -ի յոթ հատվածի ցուցադրման յոթ կաթոդների և չորս անոդների համար: Այս ֆայլը ստիպում է յոթ հատվածի ցուցադրմանը ցույց տալ «C», երբ աղբարկղերը փակ են և «O», երբ աղբարկղերը բաց են: Կոդի համար տե՛ս կից լուսանկարը:

Քայլ 6: ockամացույցի բաժանարար ֆայլ

Ockամացույցի բաժանարար ֆայլ
Ockամացույցի բաժանարար ֆայլ

Servos- ը կատարում է 64kHz հաճախականությամբ PWM ազդանշանի ընդունում, իսկ Basys 3 -ում ներկառուցված ժամացույցը գործում է 50M Hz- ով: Clockամացույցի բաժանարար ֆայլը կանխադրված ժամացույցը կվերածի սերվոյի բարեկամական հաճախականության: Ֆայլը որպես ժամացույց կվերցնի ժամացույցը և վերակայման ազդանշանը և դուրս կբերի ժամացույցի նոր ազդանշան: Կոդի համար տես լուսանկարը:

Քայլ 7: Servo ազդանշանային ֆայլ

Servo ազդանշանային ֆայլ
Servo ազդանշանային ֆայլ

Servo ազդանշանային ֆայլը կվերցնի ժամացույցի մուտքագրում, վերակայման մուտքագրում և ցանկալի դիրքի մուտքագրում: Այն կարտադրի PWM ազդանշան, որը սերվոյին կհասցնի ցանկալի դիրքի: Այս ֆայլը օգտագործում է վերջին ֆայլում ստեղծված ժամացույցի ազդանշանը `սերվոյի համար PWM ազդանշան ստեղծելու համար` տարբեր աշխատանքային ցիկլերով `կախված ցանկալի դիրքից: Սա թույլ է տալիս մեզ շրջել սերվերը, որոնք վերահսկում են աղբամանների կափարիչները: Կոդի համար տես կից լուսանկարը:

Քայլ 8: Servo սկավառակի ֆայլ

Servo սկավառակի ֆայլ
Servo սկավառակի ֆայլ

Այս ֆայլի նպատակն է հավաքել վերջին երկու ֆայլերը ֆունկցիոնալ սերվերի վարորդի մեջ: Այն կպահանջի ժամացույց, վերականգնում և դիրքորոշում ՝ որպես մուտքագրում, և կպահպանի servo PWM ազդանշանը: Այն որպես բաղադրիչ կօգտագործի և ժամացույցի բաժանարարը, և սերվո ազդանշանի ֆայլը և կներառի ներքին ժամացույցի ազդանշան `փոփոխված ժամացույցը ժամացույցի բաժանարարից սերվո ազդանշանի ֆայլ փոխանցելու համար: Տես լուսանկարները ՝ հասցեում

Քայլ 9: Վերևի ֆայլ

Լավագույն ֆայլ
Լավագույն ֆայլ
Լավագույն ֆայլ
Լավագույն ֆայլ
Լավագույն ֆայլ
Լավագույն ֆայլ
Լավագույն ֆայլ
Լավագույն ֆայլ

Սա նախագծի ամենակարևոր ֆայլն է, քանի որ այն ներառում է այն ամենը, ինչ մենք միասին ստեղծել ենք: Այն կվերցնի կոճակը, երեք անջատիչը և ժամացույցը որպես մուտքագրում: Այն ելքեր կտա յոթ կաթոդներին, չորս անոդներին և երեք servo/LED ազդանշաններին: Որպես բաղադրիչներ այն կօգտագործի մատով խափանումը, հատվածները և servo_top ֆայլերը և կունենա ներքին անջատիչ և ներքին սերվո ազդանշան:

Քայլ 10. Փորձարկում Vivado- ում

Գործարկեք սինթեզ, իրականացում և գրեք bitsream Vivado- ում: Եթե հանդիպեք որևէ սխալի հաղորդագրության, գտեք սխալի վայրը և ապա համեմատեք տվյալ ծածկագրի հետ: Աշխատեք ցանկացած սխալի միջոցով, մինչև այս բոլոր գործողությունները հաջողությամբ ավարտվեն:

Քայլ 11: Սարքաշարի ներածության ստեղծում

Այս քայլում դուք կստեղծեք LED սարքավորումներ, որոնք մենք օգտագործել ենք մեր նախատիպում: Սերվոներ օգտագործելիս նախագիծը պետք է պատրաստ լինի, քանի դեռ օգտագործվում են ճիշտ կապերը: LED- ների օգտագործման դեպքում հետևեք ստորև նշված քայլերին:

Քայլ 12: Նախապատրաստում

Կտրեք մետաղալարը վեց հավասար մասերի: Լարվածության յուրաքանչյուր կտորի ծայրերը բավականաչափ կպցրեք, որպեսզի կարողանա առաջանալ զոդում: LED- ները, դիմադրիչները և լարերը առանձնացրեք երեք խմբի: Տաքացրեք եռակցման երկաթը:

Քայլ 13: Sոդում

Oldոդման
Oldոդման
Oldոդման
Oldոդման

68 օմ դիմադրողներից յուրաքանչյուրը զոդեք իրենց համապատասխան LED- ի բացասական կողմին: Լարը կպցրեք LED- ի դրական կողմի վրա և մեկ այլ մետաղալար `դիմագծի այն կողմին, որը չի կպցված led- ին: Դուք պետք է ունենաք վերևում պատկերված լուսադիոդային սարքավորումներից երեքը:

Քայլ 14: Եզրափակիչ

Եզրափակիչ
Եզրափակիչ

Տեղադրեք յուրաքանչյուր դրական մետաղալար համապատասխան PMOD պին և յուրաքանչյուր բացասական ՝ հիմնավորված PMOD կապում: Oանկության դեպքում ավելացրեք ստվարաթղթե աղբամաններ ՝ աղբարկղերը ներկայացնելու և ձեր զոդման խառնաշփոթը թաքցնելու համար: Երբ լարերը ճիշտ միացված են, և ծածկագիրը պատշաճ կերպով տեղադրվում է տախտակ `առանց սխալների, մեքենան պետք է գործի այնպես, ինչպես նախատեսված է: Եթե ինչ -որ բան սխալ է ընթանում, վերադարձեք անսարքությունների վերացման նախորդ քայլերին: Funվարճացեք ձեր նոր «աղբի տեսակավորմամբ»:

Խորհուրդ ենք տալիս: