Motor paso a paso 28BYJ-48 con Arduino Leave a comment

Comparte este Post

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.

Motor paso a paso

Lo primero que hay que destacar es su precio, lo podemos encontrar por unos 3€. Aunque parezca un componente complejo, resulta sencillo su manejo una vez entendamos cómo funciona. En este artículo voy a centrarme, sobre todo, en cómo debemos programar el motor paso a paso.

Resumen de las características principales del motor paso a paso 28BYJ-48

Ya hablé de este tipo de motores en el podcast 73, te recomiendo que lo escuches. El él hacía un análisis pormenorizado de sus características. A continuación te hago un resumen.

  • Motor paso a paso con 5 cables (unipolar 4 bobinas)
  • Voltaje de funcionamiento 5V o 12V
  • Viene con un circuito integrado
    • 4 LEDs que indican cuando se excita una bobina
    • 4 resistencias para proteger los LEDs
    • Chip ULN2003 que contiene 3 transistores Darlington
    • 4 entradas para el controlador, por donde entran los pulsos.
    • Jumpers para seleccionar el voltaje de funcionamiento (5V o 12V)
    • Hay que puentear el voltaje que no se utiliza
  • Cada paso avanza 5,625º
  • Caja reductora mediante engranajes 1/64
    • Se consigue un paso de 5,625/64 = 0,088º
  • Resistencia del bobinado de 50 Ω
  • Torque de 34 Newton Metro más o menos 35 gramos por cm
  • Frecuencia máxima 100Hz que equivale a un delay de 10 ms

Motor paso a paso 28BYJ-48

 

Motor paso a paso conectado a Arduino

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.

Conexión motor 28byj-48 Arduino

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.

Alimentación motor 28BYJ-48

Programando el motor paso a paso

Existen dos formas de programar un motor paso a paso. De forma manual y a través de una librería. En este artículo vamos a ver las dos maneras que tenemos de hacerlo Pero antes debemos de conocer cómo funciona este tipo de motores.

Funcionamiento del motor unipolar de 4 bobinas

Debido a que el 28BYJ-48 es un motor unipolar (4 bobinas), lo podemos mover de tres maneras diferentes, movimiento normal, movimiento por ola o paso completo y movimiento de medio paso. Veamos como funcionan cada uno de estos movimientos.

Movimiento normal (par máximo)

Consiste en excitar, administrar corriente, a dos bobinas a la vez en cada paso. Se consigue el máximo par pero también es el máximo consumo.

PASOBOBINA ABOBINA BBOBINA CBOBINA D
1HIGHHIGHLOWLOWpar-maximo
2LOWHIGHHIGHLOW
3LOWLOWHIGHHIGH
4HIGHLOWLOWHIGH

Movimiento por ola o paso completo (par menor)

Consiste en excitar una bobina cada vez. El consumo se reduce pero también el par, por lo tanto es un consumo y par moderados.

PASOBOBINA ABOBINA BBOBINA CBOBINA D
1HIGHLOWLOWLOWmovimiento-ola
2LOWHIGHLOWLOW
3LOWLOWHIGHLOW
4LOWLOWLOWHIGH

Movimiento de medio paso

Se consigue un movimiento lento y suave con un par y consumo entre medias de los otros dos movimientos.

PASOBOBINA ABOBINA BBOBINA CBOBINA D
1HIGHLOWLOWLOWmovimiento-medio
2HIGHHIGHLOWLOW
3LOWHIGHLOWLOW
4LOWHIGHHIGHLOW
5LOWLOWHIGHLOW
6LOWLOWHIGHHIGH
7LOWLOWLOWHIGH
8HIGHLOWLOWHIGH

Asignando las bobinas a los pines

Las tablas anteriores nos van a indicar que valor tenemos que tener en las salidas digitales de Arduino. Según el esquema visto anteriormente, tenemos las siguientes conexiones.

ARDUINO891011
BOBINAABCD

Programación manual del motor paso a paso

La primera manera de programar nuestro motor es de forma manual. Es un poco artesanal, pero nos permitirá utilizar el movimiento más adecuado en nuestro proyecto. A continuación te dejo el código de los tres tipos de movimiento.

Movimiento normal (par máximo)

Movimiento por ola (par menor)

Movimiento de medio paso

Programación del motor paso a paso a través de una librería

Curso de Introducción a Arduino gratuito. Accede al Campus y empieza a programar con Arduino desde cero.

La otra manera de programar un motor 28BYJ-48 no es tan artesanal y reduce el código bastante. Se trata de 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.

Conclusión

Los motores 28BYJ-48 son muy útiles en proyectos de poca envergadura. Si lo que necesitamos es más precisión y fuerza (par motor), debemos irnos a otro tipo de motores. Existen shields para Arduino que nos facilitan la tarea de alimentación de motores paso a paso. Uno de los más conocidos el Adafruit Motor Shield. Un componente excepcional para nuestros proyectos robóticos.

Si te ha gustado el artículo lo puedes compartir, cualquier duda o sugerencia en los comentarios, gracias 🙂

Gracias a Shutterstock por ceder los derechos de la imagen


Comparte este Post

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

0

Tu carrito