Kategorie: Elektromotory a jejich aplikace, Obvody mikrokontrolérů
Počet zobrazení: 24464
Komentáře k článku: 0

Arduino a krokový motor: základy, schémata, připojení a ovládání

 

Krokové motory se používají k ovládání polohy něčeho nebo k otáčení pracovní jednotky při dané rychlosti a úhlu. Takové vlastnosti umožnily jeho použití v robotice, číslicově řízených strojích (CNC) a dalších automatizačních systémech. V tomto článku se budeme zabývat řadou otázek souvisejících s konstrukcí krokových motorů a jejich řízení pomocí mikrokontroléru Arduino.

Arduino a krokový motor

Krokový motor se liší od obvyklých

Všechny elektrické motory používané v praxi fungují kvůli elektrodynamickým jevům a procesům vyskytujícím se v magnetických polích rotorů a statorů. Jak jsme již zmínili, každý motor se skládá alespoň ze dvou částí - pojízdný (rotor) a nehybný (stator). Pro jeho rotaci je nutné, aby se také otáčelo magnetické pole. Rotorové pole se otáčí za statorovým polem.

V zásadě takové základní informace postačují k pochopení obecného obrazu o činnosti elektromotorů. Ve skutečnosti však průmysl vyrábí různé možnosti motorumezi které patří:

1. Indukční motor s veverkovou klecí nebo vinutým rotorem.

2. Synchronní motor s vinutím pole nebo s permanentními magnety.

3. Stejnosměrný motor.

4. Univerzální kolektorový motor (pracuje na stejnosměrném i střídavém proudu, protože samotná vinutí rotoru jsou díky konstrukci lamel a kotev připojena a odpojena od kontaktů zdroje energie).

5. Střídavé stejnosměrné motory (BLDC).

6. Serva.

7. Krokové motory.

Poslední dva druhy mají zvláštní hodnotu, vzhledem k možnosti jejich, do jisté míry, přesného umístění v prostoru. Podívejme se blíže na konstrukci krokového motoru.

Krokový motor

Definice

Krokový motor se nazývá bezkartáčový synchronní motor. Na statoru je umístěn určitý počet vinutí, jehož spojení způsobuje rotaci rotoru o určitý úhel v závislosti na počtu kroků. Jinými slovy, proud ve vinutí statoru způsobuje otáčení hřídele v diskrétním úhlu.

S rovnoměrnou a postupnou změnou polarity napětí napříč vinutími a přepínáním vinutí pod napětím se krokový motor otáčí, podobně jako u běžného elektrického motoru, i když ve skutečnosti dochází k pravidelné rotaci pod pevným úhlem.

Krokové motorové zařízení

Krokový motor se někdy nazývá motor. s konečným počtem poloh rotoru. Nezní to úplně jasně, pojďme na to přijít. Představte si běžný motor - poloha jeho rotoru není nijak pevně stanovena, to znamená, že se jednoduše otáčí, zatímco je připojen výkon, a když se vypne, zastaví se po nějaké době v závislosti na jeho setrvačnosti. Pozice rotoru mohou být libovolné, ale mohou se lišit podle nejmenších zlomků stupně.

U krokového motoru způsobuje spojení vinutí nebo několika vinutí „magnetizaci“ rotoru vzhledem k těmto vinutím. Navenek to vypadá přesně jako otáčení hřídele v určitém úhlu (stoupání). Protože počet kroků je jednou z důležitých charakteristik tohoto typu elektrického pohonu, počet pozic rotoru se rovná počtu kroků. Pro začátečníky je obtížné porozumět tomu, jak to může být a jak se v tomto případě točí - ve skutečnosti je vše celkem jednoduché, ukážeme to na obrázcích a popisech níže.

Arduino a krokový motor

Konstrukce

Budicí vinutí je upevněno na statoru elektromotoru. Jeho rotor je vyroben z měkkých magnetických nebo tvrdých magnetických materiálů. Materiál rotoru závisí na točivém momentu a upevnění hřídele bez vinutí. Tyto parametry mohou být kritické.

Kroková motorová vinutí

Proto se rozlišují magneticky pevné rotory (jsou také s permanentními magnety) a magneticky měkké (reaktivní) rotory, navíc k nim patří hybridní rotory.

Hybridní rotor je vyroben ozubený, počet zubů odpovídá počtu kroků. Zuby jsou umístěny podél osy rotoru. Kromě toho je takový rotor rozdělen na dvě části. Mezi nimi je nainstalován permanentní magnet, takže každá z polovin rotoru je magnetickým pólem. Mělo by se také říci, že polovina rotoru se otáčí o polovinu rozteče zubů vůči sobě navzájem.

Motorový rotor

Jak již bylo zmíněno, takový motor je synchronní a proces jeho rotace spočívá v tom, že se vytvoří rotační pole rotoru, které magnetický rotor hledá, a to se dosáhne přepínáním vinutí regulátorem.

Typy krokových motorů pro návrh vinutí jsou rozděleny do tří hlavních skupin podle schématu zapojení vinutí:

1. Bipolární.

2. Unipolární.

3. Se čtyřmi vinutími.

Druhy krokových motorů

Většina bipolárních elektromotorů má 4 kontakty - to jsou závěry ze dvou vinutí. Uvnitř motoru jsou z velké části navzájem nespojené. Hlavním problémem je to, že je nutné zajistit přepínání výkonové polarity, což znamená, že řidič a samotný řídicí proces budou komplikovanější.

Unipolární se podobají spojení vinutí podle vzoru hvězd. Jinými slovy, máte 5 závěrů - 4 z nich jsou konce vinutí a 1 je spojovacím bodem všech vinutí.

K ovládání takového motoru stačí střídavě dodávat energii na každý konec vinutí (nebo několik z nich, v závislosti na zvoleném režimu otáčení), takže polovina vinutí bude vždy napájena. Může fungovat v bipolárním režimu, pokud celé vinutí zcela posunete obtokem kohoutku z jeho středu.

Motory se 4 vinutími mají tu výhodu, že můžete vinutí spojit jakýmkoli způsobem, který je pro vás vhodný, a získat tak bipolární i unipolární motor.



Režimy řízení

K dispozici jsou 4 hlavní režimy řízení krokového motoru:

1. Ovládání vlnou.

2. Celý krok.

3. Půlkrok.

4. Mikrokrokování


Volnov ovládání se nazývá ovládání jednoho vinutí. I.e. současně proud protéká jedním z vinutí, tedy dvěma charakteristickými rysy - nízká spotřeba energie (to je dobré) a nízký točivý moment (to je špatné).

V tomto případě tento motor provede 4 kroky v jedné otáčce. Skutečné motory provádějí desítky kroků v jedné otáčce, čehož je dosaženo velkým počtem střídavých magnetických pólů.

Ovládání vlnou

Správa celého kroku je nejčastěji používán. Zde není napětí přiváděno do jednoho vinutí, ale do dvou současně. Pokud jsou vinutí zapojena paralelně, pak se zdvojnásobí proud, a pokud je to v sérii, zdvojnásobí se napájecí napětí. Na jedné straně v této regulační metodě motor na rozdíl od předchozího spotřebovává více energie, na druhé straně 100% točivý moment.

Správa celého kroku

Řízení v polovině kroku Je zajímavé v tom, že je možné přesněji umístit hřídel motoru, vzhledem k tomu, že poloviny jsou přidávány do celých kroků, čehož je dosaženo kombinací předchozích dvou režimů provozu a střídavého vinutí, poté zapínáním ve dvojicích, poté po jednom.

Stojí za zvážení, že okamžik na hřídeli vznáší 50 až 100%, v závislosti na tom, zda je v tuto chvíli zapojeno 1 nebo 2 vinutí.

Ještě přesnější je mikrokrokování. Je podobný předchozímu, ale liší se v tom, že síla vinutí není dodávána v plném rozsahu, ale postupně se mění. Míra dopadu každého rotoru na rotor se mění a úhel otáčení hřídele v mezikrokech se hladce mění.

Kde získat krokový motor

Kde získat krokový motor

Vždy budete mít čas na nákup krokového motoru, ale skuteční amatérští amatéři, domácí lidé a elektroničtí inženýři jsou známí tím, že mohou udělat něco užitečného z odpadu. Určitě máte doma alespoň jeden krokový motor. Pojďme zjistit, kde hledat, abychom našli takový motor.

1. Tiskárna.Krokové motory mohou stát na rotaci hřídele podávání papíru (ale může zde být také stejnosměrný motor se snímačem posunu).

2. Skenery a MFP. Skenery často instalují krokový motor a mechanickou část, podél které jsou vodítka vozíku, tyto části mohou být také užitečné při vývoji domácího CNC stroje.

3. Jednotky CD a DVD. Můžete také získat tyče a šroubové hřídele pro domácí výrobky a různé CNC v nich.

Šroubovitá hřídel

4. Diskety. Diskety mají také krokové motory, zejména disketové soubory ve formátu 5,25 ”.

Disketa

Krokový motorový ovladač

K ovládání krokových motorů použijte speciální mikroobvody řidiče. Většinou se jedná o H-můstek tranzistorů. Díky tomuto začlenění je možné na vinutí zapnout napětí požadované polarity. Tyto čipy jsou také vhodné pro řízení stejnosměrných motorů s podporou změny směru otáčení.

V zásadě lze velmi malé motory nastartovat přímo z kolíků mikrokontroléru, ale obvykle dávají až 20-40 mA, což ve většině případů nestačí. Zde je několik příkladů ovladačů pro krokové motory:


1. Desky založené na L293D. Je jich mnoho, jedna z nich se prodává pod domácí značkou Amperka pod názvem Troyka Stepper, příklad jejího použití ve skutečném projektu je uveden v níže uvedeném videu. Výhodou této konkrétní desky je, že má logické čipy, které mohou snížit počet kolíků používaných k ovládání.

Čip sám pracuje pod napětím 4,5-36V a produkuje proud až 600 mA-1A, v závislosti na případu IC.


2. Ovladač založený na A4988. Je napájen napětím do 35 V, vydrží proud až 1A bez radiátoru a s radiátorem až 2A. Může ovládat motor, a to jak v celých krocích, tak v částech - od 1/16 kroku do 1 kroku, pouze 5 možností. Obsahuje dva H-můstky. Pomocí ladicího rezistoru (vidět na pravé fotografii) můžete nastavit výstupní proud.

Krokový motorový ovladač

Velikost kroku je nastavena signály na vstupech MS1, MS2, MS3.

Velikost kroku je nastavena signály na vstupech MS1, MS2, MS3

Zde je schéma jeho zapojení, každý impuls na vstupu STEP nastavuje motor, aby se otáčel o 1 krok nebo mikrokrok.

Schéma zapojení

3. Ovladač založený na ULN2003 pracuje s motory 5 a 12 V a vytváří proud až 500 mA. Na většině desek jsou 4 LED diody indikující činnost každého kanálu.

Ovladač založený na ULN2003

Také na desce vidíte svorkovnici pro připojení motorů, mimochodem, mnoho z nich se prodává s tímto konektorem. Příkladem takového motoru je 5V model - 28BYJ-48.

Model - 28BYJ-48

A to nejsou všechny možnosti ovladače pro krokové motory, ve skutečnosti jich je ještě více.


Připojení k ovladači Arduino a krokovému motoru

Ve většině případů potřebujete použít mikrokontrolér spárovaný s ovladačem pro krokový motor. Pojďme se podívat na schéma připojení a příklady kódu. Zvažte připojení založené na nejnovějším uvedeném ovladači - ULN2003 na tabuli Arduino. A tak má 4 vstupy, jsou podepsány jako IN1, IN2 atd. Musí být připojeny k digitálním pinům desky Arduino a motor by měl být připojen k ovladači, jak je znázorněno na obrázku níže.

Připojení k ovladači Arduino a krokovému motoru

Dále, v závislosti na způsobu ovládání, musíte použít vstupy 1 nebo 0 z těchto pinů včetně 1 nebo 2 vinutí v požadované sekvenci. Kód ovládacího programu pro celý krok vypadá takto:

int in1 = 2;

int in2 = 3;

int in3 = 4;

int in4 = 5;

const int dl = 5;

neplatné nastavení () {

pinMode (in1, OUTPUT);

pinMode (in2, OUTPUT);

pinMode (in3, OUTPUT);

pinMode (in4, OUTPUT);

}

void loop () {

digitalWrite (in1, HIGH);

digitalWrite (in2, HIGH);

digitalWrite (in3, LOW);

digitalWrite (in4, LOW);

zpoždění (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, HIGH);

digitalWrite (in3, HIGH);

digitalWrite (in4, LOW);

zpoždění (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, LOW);

digitalWrite (in3, HIGH);

digitalWrite (in4, HIGH);

zpoždění (dl);

digitalWrite (in1, HIGH);

digitalWrite (in2, LOW);

digitalWrite (in3, LOW);

digitalWrite (in4, HIGH);

zpoždění (dl);

}

 

Zahrnuje vinutí v následujícím pořadí:

Vinutí sekvence

Zde je kód pro režim v polovině kroku, jak vidíte, je mnohem objemnější, protože zahrnuje větší počet spínacích vinutí.

int in1 = 2;

int in2 = 3;

int in3 = 4;

int in4 = 5;

const int dl = 5;

neplatné nastavení () {

pinMode (in1, OUTPUT);

pinMode (in2, OUTPUT);

pinMode (in3, OUTPUT);

pinMode (in4, OUTPUT);

}

void loop () {

digitalWrite (in1, HIGH);

digitalWrite (in2, LOW);

digitalWrite (in3, LOW);

digitalWrite (in4, LOW);

zpoždění (dl);

digitalWrite (in1, HIGH);

digitalWrite (in2, HIGH);

digitalWrite (in3, LOW);

digitalWrite (in4, LOW);

zpoždění (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, HIGH);

digitalWrite (in3, LOW);

digitalWrite (in4, LOW);

zpoždění (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, HIGH);

digitalWrite (in3, HIGH);

digitalWrite (in4, LOW);

zpoždění (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, LOW);

digitalWrite (in3, HIGH);

digitalWrite (in4, LOW);

zpoždění (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, LOW);

digitalWrite (in3, HIGH);

digitalWrite (in4, HIGH);

zpoždění (dl);

digitalWrite (in1, LOW);

digitalWrite (in2, LOW);

digitalWrite (in3, LOW);

digitalWrite (in4, HIGH);

zpoždění (dl);

digitalWrite (in1, HIGH);

digitalWrite (in2, LOW);

digitalWrite (in3, LOW);

digitalWrite (in4, HIGH);

zpoždění (dl);

}

 

Tento program zahrnuje následující vinutí:

Vinutí sekvence

Chcete-li konsolidovat přijaté informace, podívejte se na užitečné video:


Závěr

Krokové motory jsou populární mezi Arduiny spolu se servy, protože vám umožňují vytvářet roboty a CNC stroje. Posledně jmenovaným pomáhá hojnost sekundárních trhů super levných použitých optických jednotek.

Viz také na i.electricianexp.com:

  • Jak rozlišit indukční motor od stejnosměrného motoru
  • Krokové motory
  • Druhy elektrických motorů a zásady jejich práce
  • Metody čtení a správy vstupních / výstupních portů Arduino
  • Připojení a programování Arduino pro začátečníky

  •