- Komponenta požadována
- Krokový motor NEMA17
- Krokový modul ovladače A4988
- Kruhový diagram
- Vysvětlení kódu
Krokový motor je typ stejnosměrného motoru, který pracuje v samostatných krocích a používá se všude od bezpečnostní kamery až po sofistikované roboty a stroje. Krokové motory poskytují přesné řízení a lze je rozlišit na základě točivého momentu, kroků na otáčku a vstupního napětí. V našem předchozím projektu jsme ovládali krokový motor 28-BYJ48 pomocí Arduina. 28-BYJ48 má relativně nižší točivý moment než ostatní krokové motory jako NEMA 14, NEMA17.
V tomto tutoriálu budeme ovládat krokový motor NEMA17 pomocí modulu krokového ovladače Arduino Uno a A4988. Krokový motor Nema17 má vyšší točivý moment a vyšší provozní napětí než 28-BYJ48. Zde bude také připojen potenciometr pro ovládání směru krokového motoru.
Komponenta požadována
- Arduino UNO
- Krokový motor NEMA17
- Krokový modul ovladače A4988
- 47 µf kondenzátor
- Potenciometr
Krokový motor NEMA17
Provoz Nema17 je podobný jako u běžných krokových motorů. Krokový motor NEMA 17 má čelní desku 1,7 x 1,7 palce a obvykle má větší točivý moment než menší varianty, jako je NEMA 14. Tento motor má šest vodičů a jmenovité napětí je 12 voltů. Může být provozován při nižším napětí, ale točivý moment poklesne. Krokové motory se neotáčejí krokově a motor NEMA17 má úhel kroku 1,8 stupně. znamená, že pokrývá 1,8 stupně v každém kroku. Schéma zapojení pro NEMA17 je uvedeno níže.
Jak vidíte, tento motor má unipolární šestivodičové uspořádání. Tyto vodiče jsou spojeny ve dvou dělených vinutích. Černé, žluté, zelené vodiče jsou součástí prvního vinutí, kde černý je středový kohoutek, a žluté a zelené jsou konce cívky, zatímco červený, bílý a modrý jsou součástí druhého vinutí, ve kterém je bílý středový kohoutek a červený a modrý jsou cívky koncové vodiče. Za normálních okolností jsou vodiče uprostřed vodovodu odpojené.
Kroky za revoluci pro NEMA17
Kroky na otáčku pro konkrétní krokový motor se počítají z úhlu kroku daného krokového motoru. Takže v tomto případě je úhel kroku NEMA 17 1,8 stupně.
Kroky na otáčku = 360 / úhel kroku 360 / 1,8 = 200 kroků na otáčku
Specifikace NEMA17
- Jmenovité napětí: 12V DC
- Úhel kroku: 1,8 stupně.
- Počet fází: 4
- Délka motoru: 1,54 palce
- 4vodičové, 8palcové vedení
- 200 kroků na otáčku, 1,8 stupně
- Provozní teplota: -10 až 40 ° C
- Unipolární zádržný moment: 22,2 oz-in
Zde také zkontrolujte různé projekty týkající se krokových motorů, které zahrnují nejen základní rozhraní s různými mikrokontroléry, ale mají také robotické projekty, které zahrnují krokový motor.
Krokový modul ovladače A4988
Modul krokového ovladače řídí činnost krokového motoru. Krokové ovladače posílají proud do krokového motoru v různých fázích.
A4988 Nema Ovladač 17 krokový je modul, ovladač mikrokrokování, který se používá k řízení bipolární krokové motory. Tento budicí modul má vestavěný překladač, což znamená, že můžeme ovládat krokový motor pomocí několika pinů z našeho ovladače.
Pomocí tohoto modulu ovladače motoru Nema 17 můžeme ovládat krokový motor pouze pomocí dvou pinů, tj. STEP a DIRECTION. Kolík STEP se používá k ovládání kroků, zatímco kolík DIRECTION se používá k ovládání směru motoru. Modul ovladače A4988 poskytuje pět různých rozlišení kroků: full-step, haft-step, quarter-step, eight-step, and sixteenth-step . Různá rozlišení kroku můžete vybrat pomocí pinů pro výběr rozlišení ((MS1, MS2 a MS3). Tabulka pravdivosti těchto pinů je uvedena níže:
MS1 | MS2 | MS3 | Mikrokrokové rozlišení |
Nízký | Nízký | Nízký | Celý krok |
Vysoký | Nízký | Nízký | ½ kroku (půl kroku) |
Nízký | Vysoký | Nízký | ¼ Krok (čtvrtletní krok) |
Vysoký | Vysoký | Nízký | Krok 1/8 (osmý krok) |
Vysoký | Vysoký | Vysoký | Krok 1/16 (šestnáctý krok) |
Specifikace A4988
Max. Provozní napětí: 35V
Min. Provozní napětí: 8V
Max. Proud na fázi: 2A
Rozlišení mikrokroku: Celý krok, ½ krok, ¼ krok, krok 1/8 a 1/16
Ochrana proti zpětnému napětí: Ne
Rozměry: 15,5 × 20,5 mm (0,6 ″ × 0,8 ″)
Kruhový diagram
Schéma zapojení krokového motoru Nema 17 pomocí Arduina je uvedeno na obrázku výše. Protože modul A4988 má vestavěný překladač, znamená to, že k Arduinu musíme připojit pouze piny Step a Direction. Krokový kolík se používá k ovládání kroků, zatímco směrový kolík se používá k ovládání směru. Krokový motor je napájen zdrojem 12V a modul A4988 je napájen přes Arduino. Potenciometr se používá k řízení směru motoru.
Pokud otočíte potenciometr ve směru hodinových ručiček, bude se krokovač otáčet ve směru hodinových ručiček, a pokud potenciometr otočíte proti směru hodinových ručiček, bude se otáčet proti směru hodinových ručiček. K ochraně desky před napěťovými špičkami se používá kondenzátor 47 µf. Piny MS1, MS2 a MS3 zůstaly odpojené, to znamená, že ovladač bude pracovat v režimu celého kroku.
Kompletní připojení pro Arduino Nema 17 A4988 uvedená v následující tabulce.
S.NO. |
A4988 Pin |
Spojení |
1 |
VMOT |
+ mám baterii |
2 |
GND |
-ve baterie |
3 |
VDD |
5 V Arduina |
4 |
GND |
GND Arduina |
5 |
STP |
Kolík 3 Arduina |
6 |
DIR |
Pin 2 Arduina |
7 |
1A, 1B, 2A, 2B |
Krokový motor |
Vysvětlení kódu
Kompletní kód s fungujícím ovládáním videa Nema 17 s Arduino je uveden na konci tohoto tutoriálu, zde vysvětlujeme kompletní program, abychom porozuměli fungování projektu.
Nejprve přidejte knihovnu krokových motorů do svého Arduino IDE. Knihovnu krokových motorů si můžete stáhnout zde.
Poté definujte počet kroků pro NEMA 17. Jak jsme vypočítali, počet ne. kroků na otáčku pro NEMA 17 je 200.
#zahrnout
Poté určete kolíky, ke kterým je připojen modul ovladače, a definujte typ rozhraní motoru jako Typ1, protože motor je připojen přes modul ovladače.
Stepper stepper (STEPS, 2, 3); #define motorInterfaceType 1
Dále nastavte rychlost krokového motoru pomocí funkce stepper.setSpeed . Maximální rychlost motoru pro NEMA 17 je 4688 ot / min, ale pokud ji spustíme rychleji než 1 000 ot / min, rychle klesne točivý moment.
void setup () { stepper.setSpeed (1000);
Nyní v hlavní smyčce odečteme hodnotu potenciometru z pinu A0. V této smyčce existují dvě funkce, jedna je potVal a druhá je Pval . Pokud je aktuální hodnota, tj. PotVal vyšší než předchozí hodnota, tj. Pval , posune se o deset kroků ve směru hodinových ručiček a pokud je aktuální hodnota menší než předchozí hodnota, posune se o deset kroků ve směru proti směru hodinových ručiček..
potVal = mapa (analogRead (A0), 0,1024,0 500); if (potVal> Pval) stepper.step (10); if (potVal
Nyní připojte Arduino k notebooku a nahrajte kód do své desky Arduino UNO pomocí Arduino IDE, vyberte desku a číslo portu a poté klikněte na tlačítko nahrávání.
Nyní můžete ovládat směr krokového motoru Nema17 pomocí potenciometru. Kompletní fungování projektu je uvedeno ve videu níže. Pokud máte ohledně tohoto projektu jakékoli pochybnosti, zveřejněte je v sekci komentářů níže.