Dificultad: media

En este artículo vamos a ver el motor paso a paso 28BYJ-48 con Arduino. Este tipo de motores se utiliza en una gran cantidad de proyectos. Desde impresoras 3D a robots. En este artículo vamos a dar un repaso por los conceptos más importantes del motor paso a paso.

Lista de componentes:

  • Arduino Uno
  • Motor Paso a Paso 28BYJ-48
  • Placa driver de motor.
  • Cables de conexión
  • Protoboard

Imágenes ilustrativas de componentes:

PASO 1 : conexión de componentes:

Antes de ver las conexiones, hay que aclarar que este tipo de motores lleva un driver o etapa de potencia. Este componente nos permite suministrar la energía suficiente al motor paso a paso para que se mueva.

Para conectarlo puedes seguir el siguiente esquema eléctrico.

Alimentación con 5V del motor 28BYJ-48

Ten mucho cuidado con los jumpers de alimentación. Para alimentar el motor 28BYJ-48 desde una placa de Arduino, tenemos que puentear las conexiones con un jumper. Estos jumpers nos permiten seleccionar una alimentación de 5V o de 12V. Recuerda que el Arduino UNO trabaja con 5V cómo máximo.

Yo he utilizado un cable hembra. Conectas un extremo al pin 3 y el otro al pin 4. En las siguiente imagen te muestro el resultado final.

Paso 2 programacion:

Para programar el movimiento del motor paso a paso, vamos a utilizar la librería Steper que viene incluida con el entorno de desarrollo oficial de Arduino. Esta librería nos facilita el uso de este tipo de motores y viene adaptada para motores bipolares.

A continuación de muestra el código utilizado, copiar y pegarlo en el Arduino (borrando anteriormente el código previo):

// Incluímos la librería para poder utilizarla
#include <Stepper.h>
// Esto es el número de pasos por revolución
#define STEPS 4096 
// Número de pasos que queremos que de
#define NUMSTEPS 100
// Constructor, pasamos STEPS y los pines donde tengamos conectado el motor
Stepper stepper(STEPS, 8, 9, 10, 11);
void setup() {
  // Asignamos la velocidad en RPM (Revoluciones por Minuto)
  stepper.setSpeed(5);
}
void loop() {
  // Movemos el motor un número determinado de pasos
  stepper.step(NUMSTEPS);
  delay(2000);
}

Aprieta el boton subir para enviar el codigo al Arduino.

Si “cargado exitosamente” aparece al fondo de la Ventana, significa que el codigo se cargo exitosamente en la placa.