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

Stepper Driver Վերջնական ծրագրի մոդուլը `5 քայլ
Stepper Driver Վերջնական ծրագրի մոդուլը `5 քայլ

Video: Stepper Driver Վերջնական ծրագրի մոդուլը `5 քայլ

Video: Stepper Driver Վերջնական ծրագրի մոդուլը `5 քայլ
Video: Օգտագործելով L298N Stepper շարժիչով կառավարիչ ՝ 4 լարերը խորքային շարժիչը կառավարելու համար 2024, Նոյեմբեր
Anonim
Stepper Driver վերջնական ծրագրի մոդուլ
Stepper Driver վերջնական ծրագրի մոդուլ

Մարկիզ Սմիթի և Պիտեր Մո-Լենգի կողմից

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

Այս նախագծում մենք օգտագործեցինք stepper վարորդ, որը վերահսկում էր stepper շարժիչը պտտվելիս: Այս քայլող շարժիչն ունակ է շարժվել շատ ճշգրիտ ընդմիջումներով և տարբեր արագություններով: Մենք օգտագործել ենք Basys 3 FPGA տախտակը ՝ ազդանշան ուղարկելու համար սանդուղքի վարորդին և շարժիչին ՝ տախտակի միջով:

Լրացուցիչ ֆունկցիոնալությունը ներկայացվում է անջատիչներով, որոնք համապատասխանում են ստեպերի վարորդի մուտքերին: Properlyիշտ գործելու դեպքում մեր շարժիչային շարժումների միջակայքերը հիմնված կլինեն HDL կոդի և մետաղալարերի մուտքերի միջոցով գործածվող պետական մեքենայի վրա ՝ ամբողջական 1/1 քայլանի շարժումից մինչև ճշգրիտ 1/16 աստիճանի շարժում: Մեր զրոյացումը պարզապես «անհաջող» է: այսինքն, եթե որևէ անցանկալի բան տեղի ունենա պետական մեքենայի ներսում, վարորդը կկանչի շարժիչը շարժման միջակայքի ամենաբարձր պարամետրին:

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

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

Ահա այն նյութերը, որոնք ձեզ հարկավոր են տեղադրման համար.

A4988 Stepper վարորդ

Nema 17 Stepper Motor (Մենք օգտագործել ենք 4-լարի մոդել, 6 մետաղալարով մոդելը կպահանջի ավելի շատ մուտք և կոդ փոփոխական հզորության/ոլորող մոմենտի ֆունկցիոնալության համար)

Standardանկացած ստանդարտ տախտակ

Ստանդարտ Jumper լարերը

Փոփոխական էներգիայի մատակարարում (Այս նախագծի համար էներգիայի միջակայքերը որոշակիորեն զգայուն են օպտիմալ կատարման համար)

Կասետ (կամ ինչ -որ տեսակի դրոշ ՝ շարժիչային քայլերն ավելի հստակ տեսնելու համար)

Ալիգատորներ

Քայլ 3. Սխեմաներ, ծածկագիր և բլոկների ձևավորում

Կոդի հղում ՝

Այս ծածկագիրը PWM մոդուլի իրականացում է. մեկը, որը վերցնում է թվային ժամացույցը և հերթապահ մուտքերը և թողարկում է «միացված» և «անջատված» ցիկլը, որը նմանակում է անալոգային մուտքերը: Մեր stepper վարորդի բաղադրիչը այնուհետև ընդունում է այս ելքը որպես մուտք և օգտագործում այն շարժիչը քայլ առ քայլ քշելու համար:

Հրաժարում. Թեև մենք սկզբում օգտագործում էինք տվյալ ժամացույցի VHDL ծածկագիրը և մի փոքր փոփոխում այն ՝ մեր ստեպերի վրա աշխատելու համար, այն չուներ այն ամբողջ գործառույթը, որն անհրաժեշտ էր ընդմիջումներով: Ֆայլի «աղբյուր» մասում գտնված ծածկագիրը ցույց է տալիս կազմակերպությունը և հեղինակին ՝ Սքոթ Լարսոն անունով. Այնուամենայնիվ, մենք ավելացրեցինք մեր ստեղծած պետական մեքենան (նույն pwm ֆայլում), որը մոդուլացնում է ժամացույցի միացման և անջատման ցիկլերը:

Քայլ 4: Հավաքում

Ժողով
Ժողով

1. Օգտագործելով 2 Jumper լար, միացրեք PMOD- ի ձեր երկու ելքերը տախտակին: Սրանք pwm_out ազդանշանի և ձեր ուղղորդող ազդանշանի համար են, որոնք անուղղակիորեն միանալու են stepper վարորդին:

2. Օգտագործելով 3 Jumper լար և նախընտրելի է նույն PMOD սյուները պարզության համար միացրեք ձեր «ճշգրիտ» ելքերը հացահատիկին: Այս լարերը նախատեսված են այն բանի համար, թե որ աստիճանի վիճակն է գործարկվում ՝ նորից օգտագործելով ստեպեր վարորդի մուտքերը

3. Օգտագործելով 4 ծալքավոր միակցիչ, միացրեք 4-լարի շարժիչը հացաթղթին: Համոզվեք, որ պատվերը նույնն է, ինչ տրված է նմուշի տեղադրման վրա. սա կարևոր է, հակառակ դեպքում կարող եք փչել չիպը:

4. Օգտագործելով երկրորդ 4-սեղմիչ միակցիչ, առաջինը միացրեք երկրորդին:

5. Ենթադրելով, որ դուք օգտագործում եք երկակի ելքային (2 առանձին լարման/ուժեղացուցիչի մակարդակի) սնուցման աղբյուր, միացրեք տախտակի VCC ելքը տախտակին, ինչպես ցույց է տրված: EԱՆՈԹԱԳՐՈԹՅՈՆ. Համոզվեք, որ հաջորդ փուլում շարժիչը շարժիչից առաջ սնուցվում է տախտակին (և հետագայում `սլաքի վարորդին), քանի որ ավելորդ լարման դեպքում կարող եք ոչնչացնել չիպի ներքին մասերը:

6. Ի վերջո, օգտագործելով ալիգատորների սեղմակներ կամ որոշ այլ լարեր, միացրեք 2 -րդ ելքային լարումը շարժիչին ՍԵՐԻԱՅԻՆ: Կրկին համոզվեք, որ սա օգտագործում է stepper վարորդի համապատասխան ելքը:

Քայլ 5: Եզրակացություն

Եվ ահա այն ունեք, վազող քայլող շարժիչ, որը փոփոխում է իր քայլերը ՝ հիմնվելով սլաքի վարորդին տրված մետաղալարերի մուտքի վրա: Մեր սահմանափակ ժամանակի պատճառով մենք չկարողացանք, այլ ուզում էինք Python- ի միջոցով G- կոդը թարգմանել ժամացույցի ցիկլերի, որոնք այնուհետև կարող էին օգտագործվել մի քանի շարժիչների հետ միացման ժամանակ `ստեղծելով բազմակի առանցք ունեցող մոդուլ: Մենք նաև չկարողացանք հաջողությամբ հասնել վերջին 1/16 ստեպեր ռեժիմին (ամենաճշգրիտը) ՝ հետևողականորեն աշխատելու համար: Դա, ամենայն հավանականությամբ, պայմանավորված էր նրանով, որ մեր պետական մեքենան բռնել էր կամ ինքնաբերաբար վերակայվել էր այս փուլին հասնելուց առաջ, նույնիսկ այն ժամանակ, երբ մեր անջատիչի մուտքերը ճիշտ էին:

Ահա տեսանյութի վերջին հղումը.

drive.google.com/open?id=1jEnI3bdv_hVR-2FiZinzCbqi8-BS3Pwe

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