Բովանդակություն:
- Քայլ 1: Getանոթացեք Steppers- ին
- Քայլ 2: Գտեք ընդհանուր հիմք
- Քայլ 3: Պարզեք աստիճանների կարգը
- Քայլ 4. Շարժիչը վերցնել փորձարկման համար
- Քայլ 5: Թեքեք այն ետ և առաջ
- Քայլ 6: Ես երբեք կիսաքայլ չեմ անում, որովհետև ես կիսաքայլ չեմ…
- Քայլ 7: Ավելացրեք շարժիչի վարորդ
- Քայլ 8: Վերջ
Video: Քշեք stepper շարժիչով AVR միկրոպրոցեսորով `8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:52
Ունե՞ք տպիչներից/սկավառակների կրիչներից և այլն հավաքված տափակ շարժիչներ:
Ոմանք ստուգում են ohmeter- ով, որին հաջորդում է միկրոպրոցեսորի վրա դրված վարորդի մի պարզ կոդ, և դուք կհայտնվեք ոճով:
Քայլ 1: Getանոթացեք Steppers- ին
Հիմնականում, դուք պետք է պարզեք, թե ուր են գնում բոլոր փոքր լարերը:
Առաջին քայլը պարզելն է ՝ դա միաբևեռ է, թե երկբևեռ շարժիչ: Նայեք Jones- ին Steppers- ին ՝ ավելի խորը նախապատմության համար, այնուհետև Ian Harries 'Site- ին ՝ անհայտ շարժիչը պարզելու պարզ մեթոդի համար: Մի քիչ կարդացեք, ապա միացեք ինձ այս էժան գնով ձեռք բերած այս շարժիչի հետքերով: (Նրանք այժմ վաճառվում են 0,99 դոլարով: Նրանք փոքր են, համեմատաբար թեթև, բայց մեծ ոլորող մոմենտ չունեն: Չգիտեմ, թե ինչի համար դա դեռ լավ կլինի):
Քայլ 2: Գտեք ընդհանուր հիմք
Այսպիսով, դուք ունեք հինգ (կամ չորս, կամ վեց) լար: Ձեր շարժիչը կունենա երկու կես, և, հավանաբար, կարող եք նույնիսկ ասել ՝ նայելով, թե յուրաքանչյուր մետաղալարին որ կողմին է պատկանում:
Եթե դուք միայն չորս լար եք նայում, ապա հաջողակ եք, դա երկբևեռ շարժիչ է: Մնում է պարզել, թե որ երկու զույգ լարերն են միասին գնում: Եթե ունեք միաբևեռ շարժիչ կամ 4 -ից ավելի լարեր, ապա ստիպված կլինեք ճեղքել ձեր ohmeter- ը: Այն, ինչ դուք փնտրում եք, յուրաքանչյուր կիսամյակի ընդհանուր (գրունտային) մետաղալարն է: Դուք կարող եք ասել, թե որն է երկբևեռ շարժիչի մեջ հիմնավորված, քանի որ այն ունի բևեռներից որևէ մեկին դիմադրության կեսը, քան բևեռներն իրենց վրա: Նկարում պատկերված են իմ գրառումները ՝ լարերը միացնելով լարերին և նշելով դիմադրությունը (կամ եթե դրանք ընդհանրապես կապված են): Դուք կարող եք տեսնել, որ Սպիտակ գույնը ստորին եռ/բ եռյակի համար է, այն ունի Կարմիր կամ Կապույտ դիմադրության կեսը, որ նրանք ունեն միմյանց նկատմամբ: (Այս շարժիչը տարօրինակ է և չունի կենտրոնական թակել վերին մագնիսական կծիկի վրա: Կարծես այն կիսաբևեռ է, կիսաբևեռ: Միգուցե դա կարող եք օգտագործել կարմիր-սպիտակ-կապույտ կծիկում պտույտը զգալու համար, երբ Սև-դեղին կծիկ է քշվում)
Քայլ 3: Պարզեք աստիճանների կարգը
Ես պատրաստվում էի այս շարժիչը քշել որպես երկբևեռ, այնպես որ ես անտեսում եմ Սպիտակ հողալարերը: Ես միայն չորս լար ունեմ անհանգստանալու համար:
Դուք միգուցե ամեն դեպքում ցանկանում եք միաբևեռ շարժիչը գործարկել որպես երկբևեռ, քանի որ այն օգտագործում է ամբողջ կծիկը երկու փուլերում ՝ յուրաքանչյուր կծիկի երկու կեսերի միջև փոխարինման փոխարեն: Ավելի շատ կծիկ = ավելի մեծ ոլորող մոմենտ: Ընթացիկ ընթացք մի զույգի միջով (նշելով ձեր ընտրած բևեռականությունը), այնուհետև ընթացեք մյուս զույգի միջով միաժամանակ: Երբ միացնում եք երկրորդ զույգը, դիտեք, թե որ կողմից է շրջվում շարժիչը: Գրեք սա: Այժմ հակադարձեք ձեր ընտրած առաջին զույգի բևեռականությունը: Այնուհետև նորից միացրեք երկրորդ զույգին, քանի որ նրանց բևեռականությունը նույնպես հակառակն է: Նշեք ուղղությունը: Դրանից դուք պետք է կարողանաք պարզել շարժիչը երկու ուղղությամբ պտտելու հաջորդականությունը: Իմ օրինակում երկուսն էլ ավարտվեցին ժամացույցի սլաքի հակառակ ուղղությամբ, ուստի հաջորդականությամբ նույն ընտրած ճանապարհով շարժվելու է CCW շարժիչը:
Քայլ 4. Շարժիչը վերցնել փորձարկման համար
Եթե դուք դեռ չափից դուրս պատրաստ չեք միկրոպրոցեսորային ծրագրավորման համար, կարող եք ավելի վատ անել, քան Ghetto Development Kit- ը կամ տարբեր PIC ծրագրավորողներից որևէ մեկը: Կցեք լարերը անմիջապես ձեր միկրոկրոտրիկի վրա և այրեք այն հետևյալ կոդով.
/* Խաղալով փոքր տափաստանային շարժիչները քշելիս: */
/ * Ներառել հետաձգման գործառույթը */ #սահմանել F_CPU 1000000UL #include/ * Pin defs for ATTiny2313 *// * Clockwise order */ #define BLUE _BV (PB0) #define BLACK _BV (PB1) #define RED _BV (PB2) #define YELLOW _BV (PB3) #սահմանել ՀՈELՍՈՄ 200 / * միլիվայրկյան քայլերի միջև * / int հիմնական (անվավեր) {DDRB = 0xff; / * Միացնել ելքը B բոլոր կապում */ PORTB = 0x00; / * Բոլորը սահմանեք 0v */ մինչ (1) {/ * հիմնական հանգույց այստեղ */ PORTB = BLUE; _delay_ms (ՈELՇԱԴՐՈԹՅՈՆ); PORTB = ՍԵՎ; _delay_ms (ՈELՇԱԴՐՈԹՅՈՆ); PORTB = ԿԱՐՄԻՐ; _delay_ms (ՈELՇԱԴՐՈԹՅՈՆ); ՊՈՐՏԲ = ԴԵELLԻՆ; _delay_ms (ՈELՇԱԴՐՈԹՅՈՆ); }} Որքան պարզ է այդ կոդը: Իսկապես պարզ: Այն ամենը, ինչ անում է, մի քանի գեղեցիկ սահմանումներ է տալիս, որպեսզի ես կարողանայի հաղորդել լարերը ըստ գույնի, այլ ոչ թե նրանց անունների, և այնուհետև դրանք հաջորդաբար միացնում է ՝ դրանց միջև կարգավորելի ուշացումով: Սկսնակների համար ես ընտրեցի քայլերի միջև կես վայրկյան ուշացում: Արդյունքների համար տես կարճ տեսանյութը: Եթե դուք իսկապես ձեր խաղին եք մասնակցում, հաշվարկեք քայլերի քանակը մեկ ցիկլի համար `պարզելու համար շարժիչի մեկ քայլով անկյունային լուծումը: (Օհ, այո: Հ. Գ. Հեշտությամբ վարում է առանց բեռի 3.6 վ լարման դեպքում: Մարտկոցը դիտեք տեսանյութում):
Քայլ 5: Թեքեք այն ետ և առաջ
Այսպիսով, դուք ստացել եք այն ժամացույցի սլաքի ուղղությամբ: Ավելի հետաքրքիր բան կա՞: Մի փոքր կոդի մաքրում, և մենք կարող ենք այն հետ ու առաջ գործարկել: Theամացույցի սլաքի հաջորդականությունը տեղադրեցի զանգվածի մեջ, որպեսզի կարողանաք փուլերով անցնել պարզ օղակի համար: Այժմ դուք կարող եք օղակը վարել վեր կամ վար ՝ ժամացույցի սլաքի կամ հակառակ ուղղությամբ շարժվելու համար:
int հիմնական (անվավեր) {const uint8_t հետաձգում = 50; const uint8_t ժամացույցի սլաքի ուղղությամբ = {ԿԱՊՈ,, ՍԵՎ, ԿԱՐՄԻՐ, ԴԵELLԻՆ}; uint8_t i; DDRB = 0xff; / * Միացնել ելքը B բոլոր կապում */ PORTB = 0x00; / * Բոլորը սահմանեք 0v */ մինչ (1) {/ * հիմնական հանգույցն այստեղ */ for (i = 0; i <= 3; i ++) {/ * գույների ժամացույցի սլաքի ուղղությամբ */ PORTB = ժամացույցի սլաքի ուղղությամբ ; _delay_ms (ուշացում); } (i = 3; i> = 0; i-) { / * գույների միջով ccw * / PORTB = ժամացույցի սլաքի ուղղությամբ ; _delay_ms (ուշացում); }}} Դիտեք զվարճալի տեսահոլովակը հետ-ամրացման համար:
Քայլ 6: Ես երբեք կիսաքայլ չեմ անում, որովհետև ես կիսաքայլ չեմ…
Մի կողմ թողեք քնարերգությունը, ձեր շարժիչը կիսով չափ քայլելով այն տեղում է: Դուք ստանում եք ավելի շատ գագաթնակետային հոսանք, ավելի ակնթարթային ոլորող մոմենտ ստեղծելու հնարավորություն և կրկնակի անկյունային թույլատրելիություն: Կիսամյակային արտահայտություն. Կապույտի, Սևի, Կարմիրի, Դեղինի փոխարեն շարժիչը շարժում եք Կապույտ, Կապույտ+Սև, Սև, Սև+Կարմիր, Կարմիր, Կարմիր+Դեղին, Դեղին, Դեղին+Կապույտ: Արդյունքն այն է, որ կես անգամ դուք միանգամից ներգրավում եք երկու մագնիսները: Եվ երկու հավաքածուների ներգրավման ժամանակ շարժիչը ցույց է տալիս երկուսի կեսը ՝ փոքրացնելով «քայլերի» անկյունը և ստիպելով շարժիչն ավելի սահուն պտտվել: Տեսանյութից կարո՞ղ եք ասել: Վստահ չեմ… Այժմ կոդի այն հատվածը, որը կատարում է կիսաքայլը, այսպիսին է.
անվավեր կես Քայլ (uint16_t հետաձգում, uint8_t ուղղություն ) {uint8_t i; համար (i = 0; i <= 3; i ++) {PORTB = ուղղություն ; / * մեկ կծիկ մաս */ _delay_ms (ուշացում); PORTB | = ուղղություն [i+1]; / * ավելացնել կիսաքայլ */ _delay_ms (հետաձգում); }} Առաջին PORTB հրամանը մեկ բևեռը սահմանում է դրական, իսկ մնացածը ՝ բացասական: Հետո սպասում է: Այնուհետև երկրորդ PORTB հրահանգը երկրորդ բևեռը (մյուս ոլորուն) դնում է դրական ՝ ներգրավելով երկու ոլորուն 1.4x ոլորող մոմենտի համար (և 2 անգամ ընթացիկ): Ստորև կցվում է ծրագրի ամբողջական ցանկը: Երկու զանգված այժմ սահմանվում են (ժամացույցի սլաքի ուղղությամբ, ժամացույցի սլաքի հակառակ ուղղությամբ) և երկուսն էլ ունեն 5 տարր, որոնցից յուրաքանչյուրը թույլ է տալիս մուտքագրել i+1 գործառույթը կիսով չափ:
Քայլ 7: Ավելացրեք շարժիչի վարորդ
Առայժմ ամեն ինչ լավ է:
Միակ խնդիրն այն է, որ շարժիչը կարծես այդքան մեծ ոլորող մոմենտ չունի, ինչը կարող է պայմանավորված լինել այն հանգամանքով, որ միկրոպրոցեսորը միայն 50 մԱ ֆունտ կթողնի մեկ կապում: Ակնհայտ հաջորդ քայլը կլինի այն միացնել շարժիչով աշխատող վարորդին `ավելի շատ հյութ մատակարարելու համար: Բայց հետո մի փոքր մտածեք. Դա նշանակում է, որ շարժիչը միայն 40 մԱ է քաշում մեկ կապում, և այն պետք է միանգամայն լավ վարվի (տխուր!) AVR չիպով: Այսպիսով, շարժիչն ավելի մեծ լարման հասցնելու համար ես այն կապեցի SN754410 H- կամուրջի չիպի հետ: Շղթան բավականին պարզ է: AVR- ի յուրաքանչյուր կապում անցնում է մուտքի, իսկ համապատասխան ելքային կապերը շարժիչին: Տրամաբանական հատվածի համար չիպին անհրաժեշտ է 5 վ, իսկ շարժիչի հատվածում կարող է շատ ավելի մեծ լարվածություն վերցնել: 11.25v (երեք 3.6 վ մարտկոց) աշխատելը մի փոքր օգնեց: Նկատելիորեն ավելի մեծ ոլորող մոմենտ իմ մատին, բայց դա դեռ հզորություն չէ: Չնայած վատ չէ նիկելից փոքր շարժիչի համար: Եվ այժմ շղթան դարձել է ընդհանուր նշանակության երկբևեռ արագաչափ շարժիչ: Ավելացված է նոյեմբերի 29 -ին. Անցած գիշեր 12v- ով մի փոքր շարժեք շարժիչը, և այն սկսեց տաքանալ: Ես վստահ չեմ, որ դա ռեզոնանսային հաճախականության խնդիր էր, թե պարզապես այն շատ ընթացիկ էր ոլորունների համար: Ամեն դեպքում, մի փոքր զգույշ եղեք, եթե այս փոքր շարժիչն ավելի մեծ լարում եք վարում:
Քայլ 8: Վերջ
Այսպիսով, ինչ սովորեցի: AVR- ով (և H-Bridge չիպով) սլացիկ շարժիչ վարելը բավականին հեշտ է, նույնիսկ «շքեղ» կիսաքայլ ռեժիմում:
Չգիտեմ, թե ինչ կանեմ փոքր տափաստանային շարժիչների հետ: Suggestionsանկացած առաջարկությու՞ն:
Խորհուրդ ենք տալիս:
556 ժամաչափ օգտագործելով stepper շարժիչով `5 քայլ
556 ժամաչափ օգտագործելով stepper Motor:
Քշեք Rover (խաղալիք մեքենա) ինտերնետի միջոցով. 8 քայլ
Քշեք Rover (խաղալիք մեքենա) ինտերնետի միջոցով. Ինչ եք կառուցելու Այն ներառում է կենդանի վիդեո հոսք և կառավարման ինտերֆեյս ՝ մեքենա վարելու համար: Քանի որ ռովերը և ձեր հեռախոսը երկուսն էլ ունեն ինտերնետ հասանելիություն, խաղալիքը կարող է
Տագնապային շարժիչով վերահսկվող հետընթաց շարժիչ - Stepper Motor որպես պտտվող կոդավորիչ. 11 քայլ (նկարներով)
Տագնապային շարժիչով վերահսկվող հետընթաց շարժիչ | Stepper Motor As a Rotary Encoder. Ունեն մի քանի stepper շարժիչներ պառկած շուրջը և ուզում են ինչ -որ բան անել: Այս Ուղեցույցում եկեք օգտագործենք հետընթաց շարժիչ `որպես պտտվող կոդավորիչ` Arduino միկրոկոնտրոլերի միջոցով մեկ այլ սլաքի շարժիչի դիրքը վերահսկելու համար: Այսպիսով, առանց ավելորդ երկարաձգման, եկեք տեսնենք
Pike - քշեք ավելի ապահով, քշեք ավելի խելացի, քշեք մի հեծան: 5 քայլ
Pike - Քշիր ավելի ապահով, վարիր ավելի խելացի, քշիր մի պիկ !: Բարի գալուստ իմ նախագիծ, որը կոչվում է Pike: Սա նախագիծ է որպես իմ կրթության մի մաս: Ես ուսանող եմ NMCT- ում, Բելգիայում, Howest- ում: Նպատակն էր ՝ ինչ -որ բան խելացի դարձնել ՝ օգտագործելով Raspberry Pi- ն: Մենք ունեինք լիակատար ազատություն, որում ցանկանում էինք խելացի լինել: Ինձ համար դա
Պտտվող լուսադիոդներ `շարժիչով շարժիչով (eVoltis Stirlingmachine). 12 քայլ (նկարներով)
Պտտվող լուսադիոդներ `շարժիչով (eVoltis Stirlingmachine). Այս Stirlingengine- ը (և բոլոր մյուսները նույնպես) աշխատում են տաք ներքևի կողմի ջերմաստիճանի տարբերությամբ (օրինակ ՝ տաքացուցիչով