
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48

Այս ձեռնարկում մենք պատրաստվում ենք գրել Verilog ծածկագիրը `սերվո շարժիչը կառավարելու համար: Servo SG-90- ը արտադրվում է Waveshare- ի կողմից: Երբ դուք գնում եք servo շարժիչ, դուք կարող եք ստանալ տվյալների թերթիկ, որը ցույց է տալիս աշխատանքային լարումը, առավելագույն ոլորող մոմենտը և առաջարկվող Pulse Width Modulation (PWM) … և այլն: Այնուամենայնիվ, FPGA DuePrologic- ն ապահովում է մուտքի լարումը 3.3 Վ, որտեղ servo SG -90- ի աշխատանքային լարումը 5V - 7V է: Էլեկտրաէներգիայի բացակայության դեպքում ես թվարկելու եմ իմ չափագրված PWM- ը `սերվո շարժիչը հաջողությամբ պտտելու համար:
Մեր խնդիրը. Servo շարժիչը պտտվում է այս ու այն կողմ 5 վայրկյան ժամանակահատվածով
Ամբողջական ընտրացանկ ՝
Քայլ 1: Կառուցեք էլեկտրոնային միացում

Քայլ 2: Ստեղծեք Pin պլանավորող

Կտտացրեք «Սկսել մուտքի/ելքի առաջադրանքի վերլուծությունը» ՝ ստուգելու, թե արդյոք քորոց պլանավորողը ճիշտ է դրված: Հակառակ դեպքում, դուք պետք է ինքնուրույն ներմուծեք բոլոր նավահանգիստների անունները:
Քայլ 3: Verilog Code
Մենք ստեղծում ենք «servo_count» ժամաչափ: Երբ «servo_A» - ն բարձր է, PWM- ը 1,5ms է, և, հետևաբար, servo- ն գտնվում է 120 աստիճանի վրա: Ի հակադրություն, երբ «servo_A» - ն OWԱՐ է, PWM- ն 0.15ms է, և, հետևաբար, servo- ն մնում է 0 աստիճանի վրա:
նշանակել XIO_2 [3] = servo_pulse; // V- ի համար
reg [31: 0] servo_count;
սկզբնական սկիզբ
servo_count <= 32'b0;
servo_A <= 1'b0;
վերջ
միշտ @(posedge CLK_66)
սկսել
servo_count <= servo_count + 1'b1;
եթե (servo_count> 400000000) // Clամացույցի ցիկլ 66 ՄՀց, 1/66M * 400000000 ~ 5 վայրկյան
սկսել
servo_A <=! servo_A;
servo_count <= 32'b0;
վերջ
վերջ
reg [31: 0] ex_auto;
սկզբնական սկիզբ
ex_auto <= 32'b0;
servo_auto <= 1'b0;
վերջ
միշտ @(posedge CLK_66)
սկսել
եթե (servo_A == 1'b1)
սկսել
ex_auto <= ex_auto + 1'b1;
եթե (ex_auto> 100000) // ockամացույցի ցիկլ 66 ՄՀց, այս PWM- ն ~ 1.5 մ է, սերվոն պտտվում է մինչև 120 աստիճան
սկսել
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
վերջ
վերջ
եթե (servo_A == 1'b0)
սկսել
ex_auto <= ex_auto + 1'b1;
եթե (ex_auto> 10000) // ockամացույցի ցիկլ 66 ՄՀց, այս PWM- ն ~ 0.15ms է, սերվոն պտտվում է 0 աստիճանի
սկսել
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
վերջ
վերջ
վերջ
Քայլ 4: Վերբեռնեք Verilog ծածկագիրը


Կտտացրեք «Սկսել կազմումը»: Եթե սխալ հաղորդագրություն չի ցուցադրվում, գնացեք «merրագրավորող» ՝ ապարատային կարգավորումն ավարտելու համար: Անհրաժեշտության դեպքում հիշեք pof ֆայլը «Փոխել ֆայլը» բաժնում: Կոդը վերբեռնելու համար կտտացրեք «Սկսել»:
Ի վերջո, դուք պետք է տեսնեք, որ servo շարժիչը պարբերաբար պտտվում է:
Խորհուրդ ենք տալիս:
FPGA ցիկլոն IV DueProLogic վերահսկում է ազնվամորի Pi տեսախցիկը `5 քայլ

FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera. Չնայած FPGA DueProLogic- ը պաշտոնապես նախատեսված է Arduino- ի համար, մենք պատրաստվում ենք փոխանցելի դարձնել FPGA- ն և Raspberry Pi 4B- ն: Այս ձեռնարկում կատարվում են երեք առաջադրանքներ. (A) Միաժամանակ սեղմեք երկու կոճակները FPGA ՝ շրջելու անկյունը
FPGA ցիկլոն IV DueProLogic - կոճակ և լուսադիոդ ՝ 5 քայլ

FPGA ցիկլոն IV DueProLogic - Հրել կոճակ և LED. Այս ձեռնարկում մենք պատրաստվում ենք օգտագործել FPGA- ն ՝ արտաքին LED միացումը վերահսկելու համար: Մենք պատրաստվում ենք իրականացնել հետևյալ առաջադրանքները. անջատվում է պարբերաբար Տեսանյութի ցուցադրական լաբորատորիա
Construindo Controls Para Makey Makey: 6 քայլ

Կառուցվածքային վերահսկողություն Makey Makey- ի համար. Ստեղծեք անհատական u200b u200b կառուցվածք `Makey Makey- ի միջոցով, որը կարող է իրականացվել որպես խրախուսման նախնական միջոց: Կոնֆերանսը պարզ է դառնում ՝ 1) 1) Եթե ցանկանում եք պատկերացնել ինտերնետը (OBS. Você deve estar atento para quantidade d
Fpga Controlled RC Servo Motor Robot Arm - Digilent մրցույթ. 3 քայլ

Fpga Controlled RC Servo Motor Robot Arm - Digilent Contest: FPGA վերահսկվող սերվո շարժիչով ռոբոտի բազուկ Այս նախագծի նպատակն է ստեղծել ծրագրավորվող համակարգ, որը կարող է զոդման աշխատանքներ կատարել տախտակի վրա: Համակարգը հիմնված է Digilent Basys3 զարգացման տախտակի վրա և այն ի վիճակի կլինի զոդել
Arduino- ի վրա հիմնված Nextion Touch Controls- ը `4 քայլ

Arduino- ի վրա հիմնված Nextion Touch Controls- ը: Ընկերը փնտրում էր հիանալի լուծում ՝ իր մեքենայի HVAC (ջեռուցում, օդափոխություն, օդորակիչ) սենսորային էկրանի և Arduino- ի միջոցով վերահսկելու համար: Գաղափարը ներշնչվեց իմ ավելի հին նախագծով ՝ ձգվող լիմուզինի ներքին հսկողության մասին, բայց դա