{{ :hu:arduino:stepper.png?300|stepper}} A [[hu:aktor:steppers|léptetőmotor]]ok vezérlésére az Arduino-ból alapvetően két módszer létezik. Az egyszerűbb és gazdaságosabb, ha a vezérlést a board közvetlenül hajtja végre, azaz némi erősítő-bővítményeken keresztül az (általában) négyvezetékes vezérlést közvetlenül végzi. A másik, kissé költségesebb megoldás, ha a board egy kompex vezérlőnek csak enegedélyezőjelet, irányt és lépésimpulzust ad ki, a többi funkció a külső vezérlőben fut le. Fontos paraméter ezen kívül a motor teljesítménye és a lépések felbontása, ezek mentén a megoldások palettája az egyszerűbbektől az egészen elvetemültebbekig meglehetősen széles. A léptetőmotorokról [[hu:aktor:steppers|bővebb leírást itt talál]]. Különböző vezérlők, IC-k és megoldások összehasonlítása ^IC/megoldás^megoldás jellege^kimeneti\\ áram (feszültség)\\ maximuma^egyéb| |**[[#tb6560|TB6560]]**|**kontroller** 2 vagy 4 fázisú motorokhoz|3.0A (peak 3,5A)|- Full & 1/2-1/8, 1/16 Microstep\\ - beépített hővédelem\\ -táp: 10-35VDC| |**[[#tb6600|TB6600]]**|**kontroller** 2 vagy 4 fázisú motorokhoz|3.5A (peak 4A)|- Full & 1/2-1/8, 1/16, 1/32 Microstep\\ - beépített hővédelem, hűtőborda\\ -táp: 10-40VDC| |**[[#dm542|DM542]]**|**kontroller** kétfázisú és 4-fázisú hibrid léptetőmotorokhoz|1.0 ~ 4.2A|Impulzus/fordulat 400 - 25.000\\ - kompakt kivitel\\ -táp: +20~50VDC (tipikusan 36VDC)| |**[[#dm556|DM556]]**|**kontroller** kétfázisú és 4-fázisú hibrid léptetőmotorokhoz|1.8 ~ 5.6A|Impulzus/fordulat 400 - 25.000\\ - kompakt kivitel\\ -táp: +20~50VDC (tipikusan 24-48VDC)| |**[[#dm860h|DM860H]]**|**kontroller** kétfázisú és 4-fázisú hibrid léptetőmotorokhoz|2.4 ~ 7.2A|Impulzus/fordulat 400 - 25.000\\ - kompakt kivitel\\ -táp: DC24-80V vagy AC18-50V| |**[[#a3967|A3967 - "EasyDriver"]]**|**kontroller** kétfázisú léptetőmotorokhoz|max 1.5A|Impulzus/fordulat 200 - 1.600\\ -táp: DC7-30V| |**[[#uln2003|ULN2003]]**|**soros jelerősítő**: 7 darlington sor IC|50 mA (50V)|- Egy 4 fázisú, vagy három 2 fázisú kisteljesítményű motor jelerősítésére alkalmas| |**[[#l293d|L293D]]**|**soros jelerősítő**: 4 fél-H híd vezérlő|600 mA (36V)|- nem léptetőmotorokhoz lett kitalálva, de használható| |**[[#l6219|L6219]]**|léptetőmotor **vezérlő IC**|750 mA (46V)|- kompett léptetőmotor vezérlő PWM-mel, meg mindennel | |**[[#l297|L297]]**|léptetőmotor **vezérlő IC**||| |**[[#l298n|L298N]]**|dupla (FULL-BRIDGE) **végerősítő IC** vagy modul|4.0A|- Kimeneti teljesítménye maximum 25W \\ - jól párosítható az L297-tel| ====== TB6560 ====== {{ :wiki:arduino:tb6560.jpg?250|TB6560}} A CNC vezérlőkhöz a leggyakrabban a TB6560 bázisú paneleket szokás használni, illetve ennek a továbbfejlesztett változatát. a TB6600-at (lásd lejjebb). Jellemzően a [[hu:aktor:steppers#nema|NEMA]] 17 - 23 sorozatok hajtására szokás alkalmazni. === technikai jellemzői === **Tápfeszültség:** 32 VDC \\ **Kimeneti áram:** maximum 3,0 A, 7 kimeneti áramszint választható \\ **Kimeneti frekvencia:** maximum 20 kHz \\ **Motortípus:** 2- és 4 fázisú motorokhoz is alkalmazható \\ **Felbontás:** maximum 3200 lépés / fordulat ([[hu:aktor:steppers#microstepping|mikrolépéses vezérlés]]) \\ ^Paraméter^Minimum^Jellemző^Maximum| |Kimeneti áram|0,6 A|-|3.0 A (peak 3,5A)| |Tápfeszültség|7 V DC|24 V DC|35 V DC| |Bemeneti frekvencia|640 Hz|-|20.000 Hz| |Kimeneti frekvencia|0 Hz|-|16.000 Hz| |Kimeneti feszültség H/L|4,5 / 0 VDC|5 / 0 VDC|5,5 / 0,5 VDC| ====== TB6600 ====== A TB6600 a TB65600 továbbfejlesztett változata. Különbségek a két típus között: ^Paraméter^TB6560^TB6600| |Üzemi feszültség|DC 10V-35V|DC 10-40V| |Mikrolépés vezérlés|Full, half, 1/4, 1/8, 1/16|Full, half, 1/4, 1/8, 1/16, és 32th| |Maximum kimeneti áram|± 3.0A|± 3.5A| |Pillanatnyi maximum áram (peak)|3.5A|4A| A TB6600 ezen kívül egy hűtőbordával is ki lett egészítve. A TB6600 jellemzően két kiviteli formában található meg a piacon: ^{{ :wiki:arduino:tb6600_1.jpg?300 |TB6600 panel}}^{{ :wiki:arduino:tb6600_2.jpg?300 |TB6600 házzal}}| ==== A TB6600 vezetékezése ==== {{ :wiki:arduino:tb6600_wir.jpg?400 |A TB6600 vezetékezése}} Fontos megjegyezni, hogy minden ilyen vezérlő esetén a közös jelvezetéket mindig az 5V+-hoz kell kötni. ====== DM542, DM556, DM860H ====== {{ :wiki:arduino:dm.png?250|DM556}} {{anchor:dm542}} {{anchor:dm556}} {{anchor:dm860h}} A DM sorozat egy sokoldalú, teljesen digitális meghajtó, amely DSP vezérlésen alapszik, a legkorszerűbb vezérlőszoftverrel. Kétfázisú és 4-fázisú hibrid léptetőmotorokhoz alkalmazható. ^paraméter^DM542^DM556^DM860H| |Kimeneti áram (+peak)|1.0~4.2A (3.0 RMS)|1.8~5.6A (4.0 RMS)|2.4~7.2A| |Bemeneti feszültség|+20~50VDC (tipikusan 36VDC)|+20~50VDC (tipikusan 24-48VDC)|DC24-80V vagy AC18-50V| |Jeláram|7~16mA (tipikusan 10mA)| 7~16mA (tipikusan 10mA)| 7~16mA (tipikusan 10mA)| A vezérlőkön a léptetőmotor áramerőssége és a mikrolépés-vezérlés beállítható. A mikrolépéses vezérlésről [[hu:aktor:steppers#mikrolepeses_vezerles|itt olvashat bővebben]]. ==== DM vezetékezés ==== {{ :wiki:arduino:dm_wiring.png?400 |DM vezetékezés}} Fontos megjegyezni, hogy minden ilyen vezérlő esetén a közös jelvezetéket mindig az 5V+-hoz kell kötni. ====== A3967 - "EasyDriver" ====== {{ :wiki:arduino:easydriver_v43_top.png?200|EasyDriver V4.3}} {{anchor:a3967}} {{anchor:easydriver}} A [[https://www.schmalzhaus.com/EasyDriver/|schmalzhaus]] által fejlesztett EasyDriver sorozat egy viszonylag egyszerű megoldást kínál a léptetőmotorok vezérlésére. Az EasyDriver kb. 750 mA-t képes fázisonként meghajtani egy bipoláris léptetőmotorban. **Ez azt jelenti, hogy egy négyvezetékes NEMA esetén a maximális áramfelvétel 1.5A lehet - ez meglehetősen sovány.** Alapértelmezés szerint 8 mikrolépéses beállítási mód van, azaz ha a motor fordulatszámonként 200 teljes lépést tesz, akkor az EasyDriver használatával 1600 lépés / fordulat érhető el. Ezt a beállítást könnyen felülbírálhatja, ha az MS1/MS2 pineket a földre köti. Az EasyDriver az Allegro A3967 IC-n alapszik, az {{ :wiki:downloads:a3967.pdf |IC típuslapja itt található}}. Az IC termikus védelemmel rendelkezik, legkésőbb 165°C felett lekapcsol, de a vezérlést már 65°C felett korlátozza (lásd a fenti típuslapot). Eleve az IC üzemi hőmérséklete magas, érdemes extra hűtőbordával kiegészíteni. A motor maximális hajtási feszültsége körülbelül 30 V lehet, ez az 5 V-os szabályozást is magában foglalja, csak egy tápellátásra van szükség. Az áramszabályozás 150 mA / fázis és 750 mA / fázis között állítható a panelen található potméterrel. A modul tápellátása 7v és 30v között kell, hogy maradjon. Az EasyDriver modul kapcsolási sémája {{ :wiki:downloads:easydriver_v45_sch.pdf |itt található}}. ===== A modul pinjei ===== {{:wiki:arduino:easydriver.png?800|EasyDriver v4.3}} **DIR:** irány bemenet \\ **STEP:** lépés bemenet \\ **GND:** GND \\ **MS1:** Microstep select 1 input, lásd lent \\ **SLP:** Sleep mode (neg!) \\ **+5V:** +5v output \\ **GND:** GND \\ **M+:** Power in + (7-30v) \\ **GND:** Power in- \\ **MS2:** Microstep select 2 input, lásd lent \\ **ENABLE:** Enable input (neg!) \\ **RST:** Reset input (neg!) \\ **PFD:** Percent Fast Decay Input, mode select with 3 voltage-level \\ **B:** Motor coil A \\ **B:** Motor coil A \\ **A:** Motor coil B \\ **A:** Motor coil B \\ **CUR ADJ:** \\ ==== MS1-MS2 pinek ==== Az MS1, MS2 (mikrolépés) pinek kódolása: ^MS1^MS2^felbontás| |L|L|Full step (2 phase)| |H|L|Half step| |L|H|Quarter step| |H|H|Eighth step| A mikrolépéses vezérlésről [[hu:aktor:steppers#mikrolepeses_vezerles|itt olvashat bővebben]]. ==== PFD pin ==== A PFD-vel 3 üzemmód választható ki: PFD bemenet > 0,6V: „slow-decay” mód \\ PFD bemenet < 0,21V: „fast-decay” mód \\ PFD bemenet > 0,21V és < 0,6V: „mixed-decay” mód \\ A decay módokról [[hu:aktor:steppers#decay|itt olvashat bővebben]]. ===== Vezetékezés ===== {{:wiki:arduino:easydriver_wiring.jpg?400|EasyDriver vezetékezés}} A léptetőmotorok vezeték-színkódjairól [[hu:aktor:steppers#unipolaris_bipolaris_tipusu_leptetomotorok|itt olvashat bővebben]]. ==== Példaprogram ==== Oda-vissza tesztprogram int smDirectionPin = 2; //Direction pin int smStepPin = 3; //Stepper pin void setup(){ /*Sets all pin to output; the microcontroller will send them(the pins) bits, it will not expect to receive any bits from thiese pins.*/ pinMode(smDirectionPin, OUTPUT); pinMode(smStepPin, OUTPUT); Serial.begin(9600); } void loop(){ digitalWrite(smDirectionPin, HIGH); //Writes the direction to the EasyDriver DIR pin. (HIGH is clockwise). /*Slowly turns the motor 1600 steps*/ for (int i = 0; i < 1600; i++){ digitalWrite(smStepPin, HIGH); delayMicroseconds(700); digitalWrite(smStepPin, LOW); delayMicroseconds(700); } delay(1000); //Pauses for a second (the motor does not need to pause between switching direction, so you can safely remove this) digitalWrite(smDirectionPin, LOW); //Writes the direction to the EasyDriver DIR pin. (LOW is counter clockwise). /*Turns the motor fast 1600 steps*/ for (int i = 0; i < 1600; i++){ digitalWrite(smStepPin, HIGH); delayMicroseconds(70); digitalWrite(smStepPin, LOW); delayMicroseconds(70); } delay(1000); } ====== L297 / L298N ====== {{anchor:l297}} {{anchor:l298n}} Az L297 egy léptetőmotor vezérlő IC, míg az L298N egy (full bridge) végfokozat ehhez. Az L297 természetesen elhagyható, ezesetben az Arduino-nak kell a közvetlen léptetőmotor vezérlést is végeznie. ===== Közvetlen Arduino vezérlés L297 nélkül ===== ===== Arduino + L297 + L298N (vagy ULN2003) ===== {{:wiki:arduino:l297pluszl298n.png|Arduino + L297 + L298N}} Az Arduino-s kapcsolatot természetesen projektre lehet szabni. A minimum kapcsolat az 2 vezetéket igényel (irány (DIR)/ lépés (CLOCK)), de összetettebb megoldásokban több mindent is vezérelhetővé tehetünk. Az IC lábkiosztása: {{:wiki:arduino:l297pin.png?200|L297 lábkiosztása}} ^láb^név^funkció| |1|SYNC|Az ütemező oszcillátor kimenete, amennyiben több IC-t is szinkronizálni kell| |2|GND|test| |3|HOME|Nyitott kollektorú kimenet, mely jelzi, ha az L297 kezdeti állapotában van (ABCD = 0101).| |4|A|A motorfázis-kimenet az erősítő felé| |5|INH1|Köztes terhelési-áram kimenet (A-B)| |6|B|B motorfázis-kimenet az erősítő felé| |7|C|C motorfázis-kimenet az erősítő felé| |8|INH2|Köztes terhelési-áram kimenet (C-D)| |9|D|D motorfázis-kimenet az erősítő felé| |10|ENABLE|Engedélyezőjel. Ha LO, akkor az INH1, INH2, A, B, C és D szintén LO lesz.| |11|CONTROL|A vezérlő bemenete, mely meghatározza az ütemezést. LO: Az INH1 és az INH2-t vezérli, HI: a motorfázis-kimenetet vezérli (ABCD)| |12|Vs|5V betáp| |13|SENS2|A C és D fázisok teljesítményfokozat bemenete. Nem szokás használni, mert a teljesítményerősítést jellemzően másik IC végzi, pl. L298N vagy ULN2003.| |14|SENS1|Az A és B fázisok teljesítményfokozat bemenete. Nem szokás használni, mert a teljesítményerősítést jellemzően másik IC végzi, pl. L298N vagy ULN2003.| |15|Vref|Referenciafeszültség a megszakító számára. Ennek a bemenetnek a feszültsége határozza meg a kimeneti feszültség maximumát| |16|OSC|Szinkronizációs mód beállítása| |17|CW/CCW|Az óramutató járásával megegyező vagy ellentéses irányú a motor forgásiránya (ez a fizikai csatlakozástól is függ)| |18|CLOCK|Léptetés. LO: egy lépés| |19|HALF/FULL|Fél vagy teljes lépés kiválasztása. LO: Half, HI: Full| |20|RESET|Reset bemenet. LO: visszaállítás alaphelyzetre: ABCD = 0101|