Stepper motor
Askelmoottori
Askelmoottori
https://learn.adafruit.com/all-about-stepper-motors/what-is-a-stepper-motor
Stepperi / askelmoottori on moottori, jonka pyöriminen voidaan toteuttaa askeleittain ja siten hallita moottoria hyvinkin tarkasti. Stepperi tarvitsee mieluiten erillisen ohjauspiirin.
Arduino ohjeita ja esimerkkejä koodeineen: https://www.arduino.cc/en/Reference/Stepper
Esimerkki kytkentäkuvin: https://brainy-bits.com/blogs/tutorials/control-stepper-motor-with-arduino
Edullisesti ja laajalti on saatavissa 28BYJ-48 (unipolar) steppereitä. Niiden käyttön aloittamiseen löytyy hyvät ohjeet tästä:
Voit käyttää 28BYJ-48:ia myös arduinon Stepper tai AccelStepper (ladattavissa library managerissa) kirjastojen avulla. Huomaa, että tuon stepperi maksiminopeus ei ole kovin suuri. Esimerkki AccelStepper-kirjaston käytöstä:
Havainnollistavaa teoriaa.
Avattuna ja toiminnassa
Adafruitin opas steppereiden ja niiden ohjaimien käyttöön: https://learn.adafruit.com/all-about-stepper-motors/driving-a-stepper
Arduinon omalla Stepper-kirjastolla voi ohjata molempia moottorityyppejä kahdella tai neljällä I/O-pinnillä, moottorit suoraan kytkettynä arduinoon:
#include <Stepper.h>
/*
Kirjaston askelluskuvio = FULL-STEP DRIVE
Step C0 C1 C2 C3
PUN SIN KEL MUS
1. 1 0 1 0
2. 0 1 1 0
3. 0 1 0 1
4. 1 0 0 1
*/
#define KEL 4
#define PUN 5
#define MUS 6
#define SIN 7
#define STEPS 20 // askelten määrä per kierros
#define SPEED 200 // nopeus 200 kierrosta minuutissa
Stepper stepper(STEPS, PUN, SIN, KEL, MUS); // itse moottorin alustus
// alustus
void setup() {
stepper.setSpeed(SPEED); // asetetaan moottorin nopeus
}
// pääluuppi
void loop() {
stepper.step(1); // yksi askel kerrallaan
delay(500); // puolen sekunnin viive
}
Suositeltavampaa on käyttää erillistä ohjauspiiriä, jolloin moottorin käyttämä virta on myös mahdollista antaa ohjauspiirin kautta erillisestä virtalähteestä rasittamatta Arduinoa liikaa. Katso esim:
Arduinolle löytyy myös muita kirjastoja, joista osa on tehty tiettyjä piirejä tai shieldejä varten (kuten Adafruitin Motor Shield) sekä AccelStepper jossa on mukana kiihdytys/jarrutustoiminnot.