CONTENIDO ►
El motor paso a paso Arduino (stepper motor) está diseñado para posicionar o mover con precisión un objeto en un número determinado de pasos de eje. La placa Arduino puede controlar el motor paso a paso utilizando un driver y la librería stepper.h. Veamos el principio de funcionamiento y el diagrama de conexión del motor paso a paso a Arduino y el programa para controlar el motor paso a paso 28BYJ-48 con el módulo UNL2003.
Para esta actividad necesitaremos:
- Arduino Uno / Arduino Nano / Arduino Mega
- motor paso a paso 28BYJ-48;
- módulo UNL2003;
- cables de conexion.
Motor paso a paso 28BYJ-48 Arduino (datasheet)
Un motor 28BYJ-48 con el módulo UNL2003 es un motor paso a paso síncrono sin escobillas. Como todos los motores, convierte la energía eléctrica en energía mecánica. A diferencia de un motor de corriente continua en el que el eje gira, el eje de un motor paso a paso realiza movimientos discretos, es decir, no gira continuamente, sino por pasos. Cada paso del eje (rotor) representa una parte motor 28BYJ-48 de una revolución completa.

Características motor 28BYJ-48:
- Alimentación: 5 V
- Corriente: 25 mA
- Reducción: 1/64
- Número de pasos por revolución: 64 (reducción de 4096 a la salida del eje)
- Distancia de montaje: 35 mm
Según el diseño, se utilizan tres tipos de motores paso a paso: de imanes permanentes, de imanes variables e híbridos. Con los motores de imanes permanentes, el número de pasos por revolución del eje es de hasta 48, es decir, un paso corresponde a una rotación del eje de 7,5°. Los motores híbridos permiten 400 pasos por revolución (ángulo de paso 0,9°). Contando el número de pasos dados, se puede determinar el ángulo de rotación del rotor.
El eje del motor gira gracias a una señal que controla el campo magnético de las bobinas del estator del motor. La señal es generada por el controlador del motor paso a paso 28BYJ-48. El campo magnético generado por el flujo de corriente eléctrica en los devanados del estator hace girar el eje sobre el que están montados los imanes. El número de pasos se define en el programa utilizando los comandos de la librería Stepper.h.
Cómo conectar motor paso a paso Arduino

El motor paso a paso 28BYJ-48 con el módulo UNL2003 se controla a través del Arduino pulsando las bobinas del motor en una secuencia determinada. Se han creado librerías especiales stepper.h para facilitar el control de los motores paso a paso, pero es posible hacer girar el eje del motor sin las librerías estándar. Conecta el motor paso a paso 28BYJ-48 al microcontrolador Arduino como en el diagrama anterior y carga el programa.
Programa Arduino para controlar motor paso a paso
#define in1 8 #define in2 9 #define in3 10 #define in4 11 int dl = 20; // minimum 10 ms void setup() { pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); } void loop() { digitalWrite(in1, HIGH); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); delay(dl); digitalWrite(in1, HIGH); digitalWrite(in2, HIGH); digitalWrite(in3, LOW); digitalWrite(in4, LOW); delay(dl); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); delay(dl); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, HIGH); delay(dl); }
Explicación del código para controlar motor paso a paso:
- se puede utilizar cualquier puerto digital en lugar de los puertos 8, 9, 10, 11;
- tiempo de retardo en milisegundos int dl = 20; puede cambiarse, cuanto menor sea el retardo en el programa, más rápido girará el eje del motor.
Cómo conectar módulo UNL2003 y motor paso a paso

Considere la posibilidad de controlar motores paso a paso utilizando la biblioteca estándar Stepper.h, donde se implementan muchos comandos y funciones adicionales. El esquema eléctrico del motor sigue siendo el mismo. Características principales del motor 28BYJ-48: alimentación de 5 ó 12 voltios, motor de 4 fases, ángulo de paso de 5,625°. Los puertos controladores IN1 a IN4 se conectan a cualquier pin digital de la placa Arduino.
Programa Arduino para motor paso a paso y módulo UNL2003
#include "Stepper.h" const int stepsPerRevolution = 200; Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); void setup() { myStepper.setSpeed(60); } void loop() { myStepper.step(stepsPerRevolution); delay(500); myStepper.step(-stepsPerRevolution); delay(500); myStepper.step(200); delay(2000); myStepper.step(-300); delay(2000); }
Explicación del código para motor paso a paso y UNL2003:
- tiempo de retardo en milisegundos int dl = 20; puede cambiarse, cuanto menor sea el retardo en el programa, más rápido girará el eje del motor.
Conclusión. El motor paso a paso es hoy en día el accionamiento ideal en impresoras 3D, máquinas CNC y otros equipos industriales. La conexión entre el módulo controlador y el motor paso a paso 28BYJ-48 Arduino Uno es sencilla, ya que existe un conector con ranuras que sirve para guiar la unión entre ambos dispositivos. El módulo Arduino UNL2003 tiene cuatro diodos que indican qué bobina está activa en cada momento.

Deja una respuesta