Arduino - Motor paso a paso

Un motor paso a paso o un motor paso a paso es un motor síncrono sin escobillas, que divide una rotación completa en varios pasos. A diferencia de un motor de CC sin escobillas, que gira continuamente cuando se le aplica un voltaje de CC fijo, un motor paso a paso gira en ángulos de paso discretos.

Por lo tanto, los motores paso a paso se fabrican con pasos por revolución de 12, 24, 72, 144, 180 y 200, lo que da como resultado ángulos de paso de 30, 15, 5, 2,5, 2 y 1,8 grados por paso. El motor paso a paso se puede controlar con o sin retroalimentación.

Imagínese un motor en un avión RC. El motor gira muy rápido en una dirección u otra. Puede variar la velocidad con la cantidad de potencia dada al motor, pero no puede decirle a la hélice que se detenga en una posición específica.

Ahora imagina una impresora. Hay muchas partes móviles dentro de una impresora, incluidos motores. Uno de estos motores actúa como alimentador de papel, haciendo girar rodillos que mueven la hoja de papel a medida que se imprime tinta en ella. Este motor necesita poder mover el papel una distancia exacta para poder imprimir la siguiente línea de texto o la siguiente línea de una imagen.

Hay otro motor conectado a una varilla roscada que mueve el cabezal de impresión hacia adelante y hacia atrás. Nuevamente, esa varilla roscada debe moverse una cantidad exacta para imprimir una letra tras otra. Aquí es donde los motores paso a paso son útiles.

¿Cómo funciona un motor paso a paso?

Un motor de CC normal gira en una única dirección, mientras que un motor paso a paso puede girar en incrementos precisos.

Los motores paso a paso pueden girar una cantidad exacta de grados (o pasos) según se desee. Esto le da un control total sobre el motor, lo que le permite moverlo a una ubicación exacta y mantener esa posición. Lo hace alimentando las bobinas del interior del motor durante períodos de tiempo muy cortos. La desventaja es que tiene que alimentar el motor todo el tiempo para mantenerlo en la posición deseada.

Todo lo que necesitas saber por ahora es que, para mover un motor paso a paso, le dices que mueva un cierto número de pasos en una dirección u otra, y le dices la velocidad a la que dar un paso en esa dirección. Existen numerosas variedades de motores paso a paso. Los métodos descritos aquí pueden usarse para inferir cómo usar otros motores y controladores que no se mencionan en este tutorial. No obstante, siempre se recomienda consultar las fichas técnicas y guías de los motores y drivers específicos de los modelos que tiene.

Componentes requeridos

Necesitará los siguientes componentes:

  • 1 × placa Arduino UNO
  • 1 × motor paso a paso bipolar pequeño como se muestra en la imagen que se muestra a continuación
  • 1 × LM298 conducción IC

Procedimiento

Siga el diagrama del circuito y realice las conexiones como se muestra en la imagen que se muestra a continuación.

Bosquejo

Abra el software Arduino IDE en su computadora. La codificación en el lenguaje Arduino controlará su circuito. Abra un nuevo archivo de dibujo haciendo clic en Nuevo.

Código Arduino

/* Stepper Motor Control */

#include <Stepper.h>
const int stepsPerRevolution = 90;
// change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
   // set the speed at 60 rpm:
   myStepper.setSpeed(5);
   // initialize the serial port:
   Serial.begin(9600);
}

void loop() {
   // step one revolution in one direction:
   Serial.println("clockwise");
   myStepper.step(stepsPerRevolution);
   delay(500);
   // step one revolution in the other direction:
   Serial.println("counterclockwise");
   myStepper.step(-stepsPerRevolution);
   delay(500);
}

Código a tener en cuenta

Este programa impulsa un motor paso a paso unipolar o bipolar. El motor está conectado a los pines digitales 8-11 de Arduino.

Resultado

El motor dará una revolución en una dirección, luego una revolución en la otra dirección.