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.