Biblioteca Stepper

Esta biblioteca le permite controlar motores paso a paso unipolares o bipolares. Para utilizarlo se necesita un motor paso a paso, y el hardware adecuado para su control. Para más información sobre esto, vea las un tutorial sobre los motores paso a paso 

FUNCIONES

Stepper(steps, pin1, pin2)

Stepper(steps, pin1, pin2, pin3, pin4)

Descripción:
Esta función crea una nueva instancia de la clase Stepper que representa un motor paso a paso, conectado a la placa Arduino. Utilicelo en la parte superior de su programa, por encima de setup () y loop (). El número de parámetros depende de cómo haya conectado el cable a su motor - ya sea utilizando dos o cuatro pines de la placa Arduino.

Parámetros:
steps: el número de pasos en una revolución de su motor. Si su motor da el número de grados por paso, dividir ese número por 360 para obtener el número de pasos (por ejemplo 360 / 3.6 da 100 pasos). (int)
pin 1, pin 2: dos pines que están conectados al motor (int)
pin3, pin4: opcional los últimos dos pines unidos al motor, si está conectado a cuatro pines(int)

Retornos:
Una nueva instancia de la clase Stepper

Ejemplo:
Stepper myStepper = Stepper(100, 5, 6);
________________________________________________________________________

setSpeed(rpms)

Descripción:
Configura la velocidad del motor en revoluciones por minuto (RPM). Esta función no hace que el motor gire, simplemente selecciona la velocidad a la que girará cuando de llame a step ().

Parámetros:
rpm: la velocidad a la cual el motor debe girar en revoluciones por minuto - un número positivo (long)

Retornos:
Ninguno
_________________________________________________________________________________

step(steps)

Descripción:
Enciende el motor durante un número determinado de pasos, a una velocidad determinada por la llamada más reciente a setSpeed (). Esta función es bloqueante; es decir, se va a esperar hasta que el motor se haya terminado de mover para pasar el control a la siguiente línea en su programa. Por ejemplo, si se establece la velocidad de, digamos, 1 RPM y se llama a step(100) en un motor de 100 pasos, esta función podría tardar un minuto en resolver. Para un mejor control, mantenga la velocidad alta y sólo ir unos pasos con cada llamada a step().

Parámetros:
steps: el número de pasos a activar el motor - positivo para girar en una dirección, negativo para girar en la otra (int)

Retornos:
Ninguno
________________________________________________________________________

Circuitos

Motor Unipolar 2 pines



Motor Unipolar 4 pines



Motor Bipolar 2 pines


Motor Bipolar 4 pines



Ejemplos




3 comentarios:

  1. Hola consulta, yo estoy manejando 2 motores de una cnc utilizano los driver dm542e, el tema es que parte y frena muy rotundo, me comentaron que para aprtir o parar tiene que tener una aceleracion y desaceleracion, esta libreria ahce eso? Actualmente estoy moviendo los motores sin librerias.

    Saludos y gracias

    ResponderEliminar
  2. Hola. Con esta librería podés serrar la velocidad de inicio y final del motor.( Rampa de aceleración).

    ResponderEliminar
  3. observo que dando 200 o -200 varias veces nunca se queda en el mismo sitio y el motor es de 1.8º * 200 =360º pero no lo cumple
    Esto lo hace usando la libreria Stepper.h y usando el monitor como entrada de los pasos.
    if (Serial.available()){
    int pasos = Serial.parseInt ();
    Serial.println (pasos);
    myStepper.step(pasos);

    ResponderEliminar