Krokové motory
Krokový motor 42SPM24DGYB1
PJJQ182ZA-M
Specifications
Resistance (Ohms) 140
Wires 6
Condition pulled
Steps / Revolution 48
weight 140 grams
Step Size (degrees) 7.5
===========================================
EPSON EM-326
EPSON EM-400 a 402
2.3v, 1A, 1,8 stupně krok s 1,2 kg / cm přídržného momentu
Tyto informace jsou prezentovány v několika různých okruzích a je zde poměrně málo překrytí a vzájemného odkazování nápadů, takže navrhuji, abyste si alespoň jednu poznámku přečetli. Myslím, že by bylo možné vynechat některé důležité informace, pokud si jen přečtete ten kousek, který vás okamžitě zajímá.
V této poznámce jsem uvedl Pololu produkty. Nemám žádné spojení se společností, kromě toho, že jsem spokojený uživatel jejich A4988 krokových ovladačů desek.
Tato poznámka má sloužit jako návod pro uživatele Arduina, který je novým krokovým motorem. Není zamýšleno jako odborná disertace na toto téma.
Uvědomte si prosím, že tento text bude pokračovat na příštím příspěvku
Typy krokového motoru
======================
Obecně řečeno existují dva druhy krokového motoru – unipolární a bipolární .
Bipolární motory mají 4 vodiče připojující se ke dvěma samostatným cívkám uvnitř motoru – jeden pár pro každou cívku.
Existují také dva typy unipolárních motorů – ty s 5 vodiči a 6 vodičů.
6vodičové motory mohou být také označovány jako hybridní motory. Jsou podobné bipolárním motorům se 4 vodiči a mají extra vodič připojený ke středu každé cívky. Pokud chcete použít 6-vodičový motor v bipolárním režimu, jednoduše ignorujte vodiče, které se připojují ke středům cívek.
5vodičové motory nemohou být poháněny ovladačem určeným pro bipolární motor. Příkladem 5vodičového motoru je malý motor 28BYJ-48, který lze vidět v mnoha projektech Arduino a jako ovladač obvykle používá čip ULN2003.
Tato poznámka se týká pouze bipolárních motorů a NENÍ použito pro 5vodičové motory nebo ovladač ULN2003.
Specifikace motoru
===========
Datové listy normálně uvádějí proud cívky, odpor cívky, jmenovité napětí a přídržný moment a kroky na otáčku. Například u tohoto motoru jsou hodnoty 1 Amp, 2,7 Ohm, 2,7 V, 1,4 Kg-cm a 200 kroků / ot.
Jmenovité napětí je pro všechny praktické účely irelevantní. Důležitá hodnota je jmenovitý proud.
Jmenovitý proud je normálně proud na cívce a když jsou proudy uváděny pro desky s krokovými motory, které jsou normálně také na cívce.
Přídržný moment je moment, který je k dispozici, aby odolával otáčení, když je motor v klidu. Dostupný točivý moment klesá s rostoucí rychlostí.
Někteří výrobci poskytují grafy ukazující, jak se točivý moment mění s rychlostí.
Provozní napětí
============
Krokové motory se velmi liší od běžných stejnosměrných motorů.
S motorem stejnosměrného proudu ovládáte proud, abyste mohli řídit otáčky motoru. Obvyklý způsob řízení proudu je změna napětí – možná pomocí funkce Arduino analogWrite () pro řízení pulzně šířkového modulovaného napájení motoru.
Krokové motory do značné míry čerpají svůj plný proud po celou dobu, i když jsou stacionární – to je to, jak se brání přesunu ze své současné pozice. To znamená, že jsou velmi neefektivní.
Pro všechny praktické účely je jmenovité napětí krokového motoru irelevantní. Je to napětí, které by pohánělo jmenovitý proud přes cívku, když motor stojí na základě zákona Ohms, např. 2.7v = 1A * 2.7 Ohm. Jakmile však motor začne pohybovat, kombinace indukčnosti cívek a zpětného emf generovaného pohybem zabrání tomu, aby jmenovité napětí produkovalo jmenovitý proud.
Z tohoto důvodu jsou krokové motory obvykle poháněny mnohem vyšším napětím. To zase znamená, že je zapotřebí specializovaná řídicí deska krokového motoru, která může omezit proud na to, co může motor přijmout. Pokud proud není omezen, vysoké napětí by rychle zničilo motor.
Desky ovladačů krokových motorů
===============
Jedná se o specializované komponenty, které jsou určeny pro pohodlné a efektivní řízení krokových motorů. Pololu A4988 je jen příkladem, který je často používán s Arduinos.
Obecně řečeno, specializované desky s krokovým motorem vyžadují pouze dvě připojení (plus GND) k Arduinu pro krokové a směrové signály.
Normálně specializované desky s krokovým motorem mají schopnost omezit proud v motoru, což jim umožňuje řídit motor s vysokým napětím (až 35V pro Pololu A4988) pro lepší výkon při vysokých rychlostech.
A všichni mají obvykle schopnost dělat mikroprocesy. Pololu A4988 umí dělat 1/2, 1/4, 1/8 a 1/16 mikrostepy. Výchozí nastavení je úplné kroky. Věřím, že BigEasydriverkterý používá stejný čip A4988 jako výchozí režim 1/16 mikroprocesoru.
H-bridge driver – např LN298
============================
Ty mohou být pro řízení krokového motoru, ale oni jsou velmi špatné volba – hlavně proto, že nemají žádnou metodu pro omezení proudu, a proto nemohou používat vysoké napětí. Oni jsou také více problémů se připojit k Arduino (oni vyžadují více pinů) a více problémů s ovládáním s Arduino (více výpočtů pro Arduino dělat).
Výběr motoru a motorového ovladače
============
Nejprve vyberte motor
Důležitou specifikací je točivý moment motoru. Obecně lze říci, že se uvádí přídržný moment. Pro motor I, na který je navázán, je to 1,4 kg-cm. Dostupný užitečný točivý moment bude klesat s rostoucí rychlostí a při maximálních otáčkách bez zatížení bude nulový. Někteří (pravděpodobně dražší) výrobci motorů poskytují grafy ukazující, jak se točivý moment mění s rychlostí.
Chcete-li zjistit, jaký motor potřebujete, budete muset změřit nebo odhadnout požadovaný točivý moment. Bylo by dobré zvolit motor s dobrým rozpětím nadbytečného momentu.
Není příliš obtížné provést hrubé měření požadovaného točivého momentu, ale je nad rámec této poznámky.
Edit 17 Feb 2015 Viz Odpověď # 29 pro návrh
Poté zvolte ovladač krokového motoru
Pokud jste vybrali motor a víte, jaký proud vyžaduje, můžete zvolit ovladač krokového motoru, který může pohodlně dodávat požadovaný proud.
Měli byste si uvědomit, že ekonomické jednočipové krokové ovladače (například A4988 a DRV8825) mohou dodávat pouze přibližně 2 ampéry. Pokud váš motor vyžaduje více než to, budete muset získat jeden z dražších komerčních krokové ovladače. Pracovní princip však bude prakticky totožný s A4988.
NEMA 17 a 23
=======
Tyto normy definují pouze velikost přední strany motoru a umístění a velikost otvorů pro montážní šroub. Neříkají nic o síle motoru. 17 je zkratka 1,7 palce.
Microsteps
=======
Většina krokových motorů (ale určitě ne všechny) dělají 200 plných kroků na jednu revoluci. Vhodným řízením proudu v cívkách je možné motor pohybovat v menších krocích. Pololu A4988 může motor pohybovat v krocích po 1/16 – nebo 3 200 krocích za otáčku.
Hlavní výhodou mikropřepínání je snížení drsnosti pohybu. Jediné zcela přesné pozice jsou pozice v plném kroku. Motor nebude schopen udržet stacionární polohu v jedné z mezilehlých poloh se stejnou polohovou přesností nebo se stejným přídržným momentem jako v polohách plných stupňů.
Obecně lze říci, že pokud jsou vyžadovány vysoké rychlosti, měly by být použity úplné kroky.
U většiny ovladačů včetně Pololu A4988 je možné použít program Arduino pro změnu nastavení mikropásu. To by vyžadovalo další spojení mezi řidičem a Arduinem.
Rychlost krokového motoru
=======
Ve srovnání s běžnými stejnosměrnými motory jsou krokové motory velmi pomalá.
Typické rychlosti mohou být 1000 až 4000 kroků za sekundu a pro 200 krokový motor, který by představoval 5 až 20 rps (300 až 1200 ot / min).
Obecně platí, že motory s nízkým odporem cívky a vysokými proudy (a nízkými jmenovitými napětími) budou nejvhodnější pro vyšší rychlosti. Vysoké napětí bude také zapotřebí pro vysokou rychlost.
Zrychlení
=========
Je-li krokový motor potřebný k pohybu těžkého nákladu, bude obvykle nutné spustit pohyb pomalu (jako u jakéhokoliv motoru) a zrychlit na požadovanou rychlost a stejně tak zpomalit, když je nutné zastavit.
To se liší od stejnosměrného motoru, který se automaticky zrychlí a zpomalí.
Pokud se pokusíte spustit nebo zastavit krokový motor příliš rychle, jednoduše to přeskočí kroky bez poškození motoru. Arduino však nemá žádný způsob, jak zjistit, zda nebo kolik kroků bylo vynecháno a všechny kontroly pozice budou ztraceny.
Z tohoto důvodu je zejména nezbytné zvolit motor s dostatečným točivým momentem pro danou zakázku a v případě potřeby použít zrychlení a zpomalení.
Zpětná vazba polohy
============
Krokové motory nemají schopnost říci Arduinovi, jakou pozici mají, ani nemají schopnost (jako servo) jít do určité pozice. Jediné, co mohou udělat, je přesunout N kroků z místa, kde jsou nyní.
Pokud je nezbytné mít zpětnou vazbu polohy, může být k hřídeli motoru připojen rotační snímač, který však přesahuje rámec této eseje.
Výchozí pozice
================
Při startu Arduino nemá možnost vědět, kde je umístěn krokový motor – například někdo mohl být přesunuty ručně, když síla byla pryč.
Obvyklým způsobem stanovení počátečního bodu pro kroky počítání je koncový spínač. Při spuštění bude Arduino pohybovat motorem, dokud sepne spínač. Arduino pak bude tento krok považovat za krok nula pro účely budoucího udržování pozice.
Arduino knihovny
=========
Když používáte Arduino se specializovanou deskou řidiče krokového motoru, jako je například Pololu A4988, je málo, co byste mohli získat z používání knihovny Arduino, pokud nepotřebujete funkce akcelerace knihovny AccelStepper .
Demonstrace Kód Arduino
=====================
Kód kódu v jednoduchém ukázkovém krokuje určen jako první krok k tomu, aby váš motor fungoval. Také ukazuje, jak snadné je ovládat motor bez knihovny, když se používá specializovaný ovladač krokového motoru, jako je například Pololu A4988 i8s.
Připojení kabelů pro krokový motor
==============
Kód v mém jednoduchém kroku demo předpokládá, že motor je připojen podle schémat zapojení na webové stránce Pololu A4988.
Arduino pulsní šířkové modulace (PWM)
====================================
Arduino PWM pomocí analogWrite () má nic společného s ovládáním krokových motorů. Pro ovládání krokového motoru, i když specializovaný ovladač krokového motoru, Arduino potřebuje pouze poskytnout krokové a směrové signály pomocí digitalWrite ().
PWM může být použit v ovladači krokového motoru pro omezení proudu v cívkách motoru, ale tento proces je pro uživatele Arduina neviditelný.