É uma biblioteca extra do
Arduino encontrada no seu site que possui funções para controlar motores de
passo. Fornece uma interface orientada a objeto para 2 ou 4 pinos de um motor
de passo.
Essa biblioteca melhora
significativamente a biblioteca padrão do arduino, a stepper.h, pois ela pode
mover vários motores simultaneamente, suporta aceleração e desaceleração,
suporta motores de 2 e 4 fios e
velocidades muito lentas.
Funções:
setMaxSpeed
(float speed ) – Define a velocidade máxima permitida. A
função run () irá acelerar o motor até atingir essa velocidade.
Ex:
#include <AccelStepper.h>
AccelStepper stepper1;
void setup {
stepper1.setMaxSpeed(100);
}
|
setAcceleration
(float acceleration) – Define os parâmetros de aceleração e
desaceleração.
Ex:
#include <AccelStepper.h>
AccelStepper stepper1;
void setup {
stepper1.setAccelaration (50);
}
|
moveTo
(long absolute) – move o motor para a posição desejada,
necessita da função run() para que o motor seja acionado.
Ex:
#include <AccelStepper.h>
AccelStepper stepper1;
void setup {
stepper1.moveTo (200);
}
|
run
() - Comando de acionamento do motor. Implementa a aceleração
e desaceleração no motor para que a trajetória desejada seja realizada.
Ex:
#include <AccelStepper.h>
AccelStepper stepper1;
void setup {
stepper1.moveTo (200);
}
void loop {
stepper1.run ();
}
|
distanceToGo
() - A distância
entre a posição atual para a posição de destino.
Ex:
#include <AccelStepper.h>
AccelStepper stepper1;
void setup {
stepper1.moveTo (200);
}
void loop {
stepper1.run ();
if (stepper1.distanceToGo == 0)
stepper1.moveTo(-100);
}
|
currentPosition () – Posição atual do motor.
Ex:
#include <AccelStepper.h>
AccelStepper stepper1;
void setup {
stepper1.moveTo (200);
}
void loop {
stepper1.run ();
if (stepper1.distanceToGo == 0){
stepper1.moveTo(-stepper1.currentPosition ());
stepper1.run();
}
}
|
runToPosition () – Move o motor para uma
posição até que atinja a posição desejada.
Ex:
#include <AccelStepper.h>
AccelStepper stepper1;
void setup {
stepper1.moveTo (200);
}
void loop {
stepper1.run ();
if (stepper1.distanceToGo == 0)
stepper1.runToPosition(-100);
}
|
runToNewPosition () – Move o motor para uma
nova posição até que atinja o alvo.
Ex:
#include <AccelStepper.h>
AccelStepper stepper1;
void setup {
stepper1.moveTo (200);
}
void loop {
stepper1.run ();
if (stepper1.distanceToGo == 0)
stepper1.runToNewPosition(-200);
}
|
Existem outras funções nessa biblioteca,
porém essas são as usadas para o programa de controle da CNC.
Nenhum comentário:
Postar um comentário