segunda-feira, 23 de abril de 2012

Biblioteca Accel Stepper


É 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