Stepper շարժիչ. Arduino- ի հետ ինտեգրում

Stepper շարժիչ

Էլեկտրական շարժիչները գնալով ավելի շատ պահանջարկ ունեն, նրանց մեջ թերևս առանձնանում են նրանք, ովքեր աշխատում են ուղղակի հոսանքով, ամենատարածվածն Arduino- ի արտադրողների նախագծերում, քանի որ դրանք ապահովում են շարժունակություն: Դրանց թվում, կարեւորեք stepper շարժիչներ որոնք օգտագործվում են բազմաթիվ ծրագրերի, հատկապես ռոբոտաշինության համար, ինչպիսիք են մղիչները և այլն:

Էլեկտրական մեքենաներ, փոքր ինքնավար ռոբոտներ, ավտոմատացման արդյունաբերական ծրագրեր, կրկնվող շարժիչ սարքեր և այլն: Այս ծրագրերի համար servo շարժիչները և stepper շարժիչները այնքան լավն են, որ նրանք կարող են կատարել դանդաղ կամ արագ շարժումներ, բայց առաջին հերթին վերահսկվում է, Բացի այդ, կրիչները շարունակական են այն ծրագրերի համար, որտեղ շատ կանգառ և մեկնարկ պահանջվում է բարձր ճշգրտությամբ:

Էլեկտրաշարժիչների տեսակները

Ներսում էլեկտրական շարժիչներ հետևյալ տեսակները կարող են ընդգծվել.

  • DC կամ DC շարժիչ: DC շարժիչները աշխատում են այս տեսակի հոսանքի հետ, ինչպես անունն է հուշում: Դրանք կարող են տատանվել մի քանի մՎտ հզորությունից մինչև մի քանի մեգավատ հզորագույն հզորության մեջ, որոնք օգտագործվում են արդյունաբերական ծրագրերի, տրանսպորտային միջոցների, վերելակների, փոխակրիչների, օդափոխիչների և այլնի համար: Դրա պտտման արագությունը (RPM) և կիրառվող մոմենտը կարող են կարգավորվել ըստ հոսքի:
  • AC կամ AC շարժիչ (ասինխրոն և վերքի ռոտոր)դրանք աշխատում են փոփոխական հոսանքով, շատ յուրահատուկ ռոտորով, որն աշխատում է այն փուլերի շնորհիվ, որոնք այս տեսակի հոսանքը նպաստում է էլեկտրամագնիսների մագնիսական վանման միջոցով ռոտացիայի առաջացմանը, նույն կերպ, ինչպես DC- ները: Դրանք շատ էժան են և հասնում են մի քանի կՎտ-ի: Դրանք կարող են կարգավորվել պտտման արագությամբ, բայց կարգավորման տարրերն ավելի թանկ են, քան DC- ները: Սրանք հաճախ օգտագործվում են կենցաղային տեխնիկայի համար:
  • Stepper շարժիչ- Նաև հայտնի է որպես steppers, նրանք շատ առումներով նման են DC- ին, բայց պտտման ցածր արագությամբ և հզորությամբ: Այստեղ առանձնանում է առանցքի դիրքավորումը, այսինքն ՝ դրանք որոշակի դիրքում դնելու ճշգրտությունը: Դրանց պտտման անկյունը և արագությունը շատ հնարավոր է վերահսկել, այդ իսկ պատճառով դրանք օգտագործվում էին անգործունյա կրիչների, կոշտ սկավառակների (HDD), ռոբոտների, պրոցեսների ավտոմատացման և այլնի մեջ:
  • Սերվոմոտորկարելի է ասել, որ դա ստեպերային շարժիչի էվոլյուցիա է, որը աշխատում է փոքր ուժերի և արագությունների հետ, որոնք որոշ դեպքերում հասնում են մինչև 7000 RPM- ի: Այս շարժիչը ներառում է հանդերձանքի կրճատման տուփ և կառավարման միացում: Նրանք ունեն դիրքի նույն ճշգրտությունը, ինչ steppers- ը և շատ կայուն են գործադրվող մոմենտ ստեղծելու տեսանկյունից `դրանք դարձնելով իդեալական որոշ ռոբոտների և արդյունաբերական ծրագրերի համար:

Stepper շարժիչներ և servo շարժիչներ

ռոտոր և ստատոր

Դուք արդեն գիտեք, թե որոնք են այս երկու տեսակի էլեկտրոնային շարժիչը, բայց ես կցանկանայի ինչ-որ բան ասել ավելին ՝ ստեպերի մասին, Նրանց շրջադարձը կատարվում է ոչ թե անընդհատ, այլ փոքր քայլերով, ուստի և դրանց անվանումը: Ռոտորը (պտտվող մասը) ատամնավոր անիվի ձև ունի, իսկ ստատորը (որը չի պտտվում) բաղկացած է միջլարված բևեռացված էլեկտրամագնիսներից: Այսպիսով, երբ մեկը «ակտիվանում է», նրա կողմերում գտնվողները չեն ակտիվանում, ինչը ռոտորի ատամն է ձգում դեպի այն ՝ թույլ տալով ճշգրիտ առաջխաղացում, որի համար դրանք բնութագրվում են:

Առնչվող հոդված.
DRV8825. Շարժիչային շարժիչների շարժիչ

Կախված նրանից ռոտորային ատամներ, իր հերթին հնարավոր կլինի քիչ թե շատ առաջ շարժվել: Եթե ​​ավելի շատ ատամներ ունեք, շրջադարձն ավարտելու համար ավելի շատ քայլեր են անհրաժեշտ, բայց քայլերն ավելի կարճ կլինեն, ուստի այն կլինի ավելի ճշգրիտ շարժիչ: Եթե ​​դուք ունեք մի քանի ատամ, քայլերն ավելի կտրուկ թռիչքներ կլինեն, առանց այդքան ճշգրտության: Հետևաբար, քայլերը, որոնք պետք է կատարի ռելսային շարժիչը շրջադարձն ավարտելու համար, կախված կլինեն անկյունային աստիճաններից:

Այդ քայլերը անկյունային են ստանդարտացված, չնայած կարող եք գտնել որոշ շարժիչներ, որոնք ունեն ոչ ստանդարտ բարձրություն: Անկյունները սովորաբար լինում են ՝ 1.8º, 5.625º, 7.5º, 11.25º, 18º, 45º և 90º: Հաշվարկելու համար, թե քանի քայլ է անհրաժեշտ stepper շարժիչին լրիվ շրջադարձ կամ շրջադարձ կատարելու համար (360º), պարզապես անհրաժեշտ է բաժանել: Օրինակ, եթե ունեք 45º ստեպ շարժիչ, կունենաք 8 աստիճան (360/45 = 8):

պտտվել կողմնակալությամբ (փուլ)

Այս շարժիչների շրջանակներում դուք ունեք միաբևեռ (ամենատարածված) ՝ 5 ​​կամ 6 մալուխով, կամ երկբևեռ ՝ 4 մալուխով: Ըստ այդմ ՝ իրականացվելու է մեկը կամ մյուսը բեւեռացման հաջորդականությունները հոսանքն անցնում է իր ոլորուններով.

  • Բևեռացում համար երկբևեռ:
Paso Տերմինալ Ա Տերմինալ Բ Տերմինալ C Տերմինալ D
1 +V -V +V -V
2 +V -V -V +V
3 -V +V -V +V
4 -V +V +V -V
  • Համար միաբևեռ:
Paso Կծիկ Ա Coil B Կծիկ C Կծիկ D
1 +V +V 0 0
2 0 +V +V 0
3 0 0 +V +V
4 +V 0 0 +V

Գործողությունը երկու դեպքում էլ նույնն է `բևեռացնելով ոլորունները` ռոտորը ներգրավելու համար այնտեղ, որտեղ ցանկանում եք տեղադրել առանցքը: Եթե ​​ուզում եք պահեք այն մեկ դիրքում, դուք պետք է պահպանեք բևեռացումը այդ դիրքի և voila- ի համար: Եվ եթե ուզում եք, որ այն առաջ շարժվի, բեւեռացնում եք հաջորդ մագնիսը և դա կանի եւս մեկ քայլ, և այսպես շարունակ ...

Եթե ​​օգտագործում եք a սերվոմոտոր, դուք արդեն գիտեք, որ դա հիմնականում stepper շարժիչ է, ուստի ասված ամեն ինչ նրանց համար էլ է գործում: Միակ բանը, որն իր մեջ ներառում է այդ կրճատման մեխանիզմները `մեկ հերթում շատ ավելի քայլեր ստանալու համար և, այդպիսով, շատ ավելի բարձր ճշգրտություն ունենալու համար: Օրինակ ՝ կարելի է գտնել մեկ պտույտով 8 քայլ ունեցող շարժիչ, որը եթե ունենար 1:64 փոխանցումատուփ, քանի որ դա նշանակում է, որ այդ ութից յուրաքանչյուր քայլը բաժանված է 64 ավելի փոքր աստիճանի, ինչը կտա առավելագույնը 512 քայլ մեկ պտույտի համար: Այսինքն ՝ յուրաքանչյուր քայլ կլինի մոտ 0.7º:

Առնչվող հոդված.
L298N: Arduino- ի շարժիչները կառավարելու մոդուլ

Ավելացրեք նաև, որ պետք է օգտագործել մի քանիսը վերահսկիչ որով կարելի է վերահսկել բևեռացումը, արագությունը և այլն, օրինակ ՝ H- կամրջով: Որոշ մոդելներ են L293, ULN2003, ULQ2003 և այլն:

Donde comprar

Դուք գնել այն տարբեր առցանց կայքերում կամ էլեկտրոնիկայի մասնագիտացված խանութներում: Բացի այդ, եթե սկսնակ եք, կարող եք օգտագործել հավաքածուներ, որոնք ներառում են այն ամենը, ինչ ձեզ հարկավոր է և նույնիսկ ափսեը Arduino UNO և ձեռնարկ ՝ փորձեր սկսելու և ձեր նախագծերը ստեղծելու համար: Այս լրակազմերը պարունակում են այն ամենը, ինչ ձեզ հարկավոր է ՝ սկսած բուն շարժիչից, կարգավարներից, տախտակներից, տախտակի տախտակից և այլն:

Stepper շարժիչի օրինակ Arduino- ի հետ

Arduino ՝ շարժիչային շարժիչով և հսկիչով

Վերջապես, ցույց տվեք ա գործնական օրինակ Arduino- ի հետ, օգտագործելով ULN2003 կարգավար և 28BYJ-48 տափաստանային շարժիչ: Դա շատ պարզ է, բայց բավական կլինի, որ դուք սկսեք ծանոթանալ, թե ինչպես է դա գործում, որպեսզի կարողանաք սկսել որոշ թեստեր և տեսնել, թե ինչպես է դա իրեն զգում ...

Ինչպես երեւում է այստեղից կապի սխեման, A (IN1), B (IN2), C (IN3) և D (IN4) շարժիչային մարտկոցները նշանակվել են Arduino տախտակի վրա համապատասխանաբար 8, 9, 10 և 11 միացումներին: Մյուս կողմից, վարորդը կամ հսկիչի տախտակը պետք է սնվեն դրա 5-12 վ պիներով (Arduino- ի GND- ով և 5V- ով) համապատասխան լարման միջոցով, որպեսզի այն իր հերթին սնուցի շարժիչը, որը միացված է սպիտակ պլաստիկ միակցիչին, որն ունի այս վարորդը կամ վերահսկիչ

այս 28BYJ-48 շարժիչ Դա միաբևեռ տիպի շարժիչային շարժիչ է `չորս պարույրով: Հետևաբար, դրա աշխատանքի մասին պատկերացում կազմելու համար, կարող եք Arduino տախտակից բարձր (1) կամ OWԱ (Ր (0) արժեքներ ուղարկել կծիկներին հետևյալ քայլերի համար ՝

Paso Կծիկ Ա Coil B Կծիկ C Կծիկ D
1 ԲԱՐՁՐ ԲԱՐՁՐ Ցածր Ցածր
2 Ցածր ԲԱՐՁՐ ԲԱՐՁՐ Ցածր
3 Ցածր Ցածր ԲԱՐՁՐ ԲԱՐՁՐ
4 ԲԱՐՁՐ Ցածր Ցածր ԲԱՐՁՐ

Ինչ վերաբերում է ուրվագիծ կամ ծածկագիր, որն անհրաժեշտ է ձեր շարժումը ծրագրավորելու համար, քանի որ դա կլինի հետևյալը ՝ օգտագործելով Arduino IDE (փոփոխեք և փորձարկեք ՝ շարժումը փոխելու փորձը ստուգելու համար).

// Definir pines conectados a las bobinas del driver
#define IN1  8
#define IN2  9
#define IN3  10
#define IN4  11

// Secuencia de pasos a par máximo del motor. Realmente es una matriz que representa la tabla del unipolar que he mostrado antes
int paso [4][4] =
{
  {1, 1, 0, 0},
  {0, 1, 1, 0},
  {0, 0, 1, 1},
  {1, 0, 0, 1}
};

void setup()
{
  // Todos los pines se configuran como salida, ya que el motor no enviará señal a Arduino
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

// Bucle para hacerlo girar
void loop()
{ 
    for (int i = 0; i < 4; i++)
    {
      digitalWrite(IN1, paso[i][0]);
      digitalWrite(IN2, paso[i][1]);
      digitalWrite(IN3, paso[i][2]);
      digitalWrite(IN4, paso[i][3]);
      delay(10);
    }
}


Հոդվածի բովանդակությունը հավատարիմ է մեր սկզբունքներին խմբագրական էթիկա, Սխալի մասին հաղորդելու համար կտտացրեք այստեղ.

Եղիր առաջին մեկնաբանողը

Թողեք ձեր մեկնաբանությունը

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու: Պահանջվող դաշտերը նշված են *

*

*

  1. Տվյալների համար պատասխանատու ՝ Միգել Անխել Գատոն
  2. Տվյալների նպատակը. Վերահսկել SPAM, մեկնաբանությունների կառավարում:
  3. Օրինականություն. Ձեր համաձայնությունը
  4. Տվյալների հաղորդագրություն. Տվյալները չեն փոխանցվի երրորդ անձանց, բացառությամբ իրավական պարտավորության:
  5. Տվյալների պահպանում. Տվյալների շտեմարան, որը հյուրընկալվում է Occentus Networks (EU) - ում
  6. Իրավունքներ. Timeանկացած պահի կարող եք սահմանափակել, վերականգնել և ջնջել ձեր տեղեկատվությունը: