You are on page 1of 13

27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino

Buscar en este sitio

ARDUINO TIENDA PODCAST QUIN SOY? CONTACTAR

Ests aqu: Inicio/Blog/Motor paso a paso 28BYJ-48 con Arduino

Motor paso a paso 28BYJ-48 con Arduino


Comentarios(4)
Luis del Valle Hernndez

En este artculo 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.
33 En este artculo vamos a dar un repaso por los conceptos ms importantes del motor paso
Shares
a paso.

12

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
cmo funciona. En este artculo voy a centrarme, sobre todo, en cmo debemos
programar el motor paso a paso.
Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
consideramos que acepta su uso. Aceptar Poltica de privacidad y cookies

https://programarfacil.com/blog/motor-paso-a-paso/ 1/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino

Indice de contenidos

1 Resumen de las caractersticas principales del motor paso a paso 28BYJ-48


2 Motor paso a paso conectado a Arduino
3 Programando el motor paso a paso
4 Conclusin

Resumen de las caractersticas 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
haca un anlisis pormenorizado de sus caractersticas. A continuacin 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 ms o menos 35 gramos por cm
Frecuencia mxima 100Hz que equivale a un delay de 10 ms

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
consideramos que acepta su uso. Poltica de privacidad y cookies

https://programarfacil.com/blog/motor-paso-a-paso/ 2/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino

Quieres empezar con


Arduino?
! Sigue esta gua gratuita !
Apntate a la lista y recibirs la gua gratuita para dar
los primeros pasos con Arduino.

Nombre Email Descargar ya

Si quieres profundizar ms puedes ver las hojas de caractersticas tcnicas. Yo he


encontrado dos, pero seguro que hay muchas ms.

1 Hoja de caractersticas tcnicas motor paso a paso


2 Hoja de caractersticas tcnicas motor paso a paso

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 energa suficiente al
motor paso a paso para que se mueva.

Para conectarlo puedes seguir el siguiente esquema elctrico.

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
consideramos que acepta su uso. Poltica de privacidad y cookies

https://programarfacil.com/blog/motor-paso-a-paso/ 3/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
consideramos que acepta su uso. Poltica de privacidad y cookies

https://programarfacil.com/blog/motor-paso-a-paso/ 4/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino

Alimentacin con 5V del motor 28BYJ-48


Ten mucho cuidado con los jumpers de alimentacin. 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 alimentacin de 5V o de 12V. Recuerda
que el Arduino UNO trabaja con 5V cmo mximo.

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.

Programando el motor paso a paso


Existen dos formas de programar un motor paso a paso. De forma manual y a travs
de una librera. En este artculo vamos a ver las dos maneras que tenemos de hacerlo
Pero antes debemos de conocer cmo 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 mximo)


Consiste en excitar, administrar corriente, a dos bobinas a la vez en cada paso. Se
consigue el mximo par pero tambin es el mximo consumo.

PASO BOBINA A BOBINA B BOBINA C BOBINA D

Utilizamos cookies
1 propios y de terceros para
HIGH HIGHmejorar nuestros servicios y experiencia
LOW LOW de usuario. Si continua navegando,
consideramos que acepta su uso. Poltica de privacidad y cookies

https://programarfacil.com/blog/motor-paso-a-paso/ 5/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino

2 LOW HIGH HIGH LOW

3 LOW LOW HIGH HIGH

4 HIGH LOW LOW HIGH

Movimiento por ola o paso completo (par menor)


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

PASO BOBINA A BOBINA B BOBINA C BOBINA D

1 HIGH LOW LOW LOW

2 LOW HIGH LOW LOW

3 LOW LOW HIGH LOW

4 LOW LOW LOW HIGH

Movimiento de medio paso


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

PASO BOBINA A BOBINA B BOBINA C BOBINA D

1 HIGH LOW LOW LOW

2 HIGH HIGH LOW LOW

3 LOW HIGH LOW LOW

4 LOW HIGH HIGH LOW

5 LOW LOW HIGH LOW

6 LOW LOW HIGH HIGH

7 LOW LOW LOW HIGH

8 HIGH LOW LOW HIGH


Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
consideramos que acepta su uso. Poltica de privacidad y cookies

Asignando las bobinas a los pines


https://programarfacil.com/blog/motor-paso-a-paso/ 6/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino

Asignando las bobinas a los pines


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

ARDUINO 8 9 10 11

BOBINA A B C D

Programacin 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 ms adecuado en nuestro proyecto. A
continuacin te dejo el cdigo de los tres tipos de movimiento.

Movimiento normal (par mximo)

1 /*
2 Creado: Luis del Valle (ldelvalleh@programarfacil.com
3 Movimiento normal motor28BYJ-48
4 https://programarfacil.com
5 */
6
7 // Definimos los pines donde tenemos conectadas las bobinas
8 #define IN18
9 #define IN29
10 #define IN310
11 #define IN411
12
13 // Secuencia de pasos (par mximo)
14 int paso [4][4] =
15 {
16 {1, 1, 0, 0},
17 {0, 1, 1, 0},
18 {0, 0, 1, 1},
19 {1, 0, 0, 1}
20 };
21
22 void setup()
23 {
24 // Todos los pines en modo salida
25 pinMode(IN1, OUTPUT);
26 pinMode(IN2, OUTPUT);
27 pinMode(IN3, OUTPUT);
28 pinMode(IN4, OUTPUT);
29 }
30
31
32
33 void loop()
34 {
35 for (int i = 0; i < 4; i++)
36 {
37 digitalWrite(IN1, paso[i][0]);
38 digitalWrite(IN2, paso[i][1]);
Utilizamos
39cookies propios y de terceros para
digitalWrite(IN3, mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
paso[i][2]);
40 digitalWrite(IN4,
consideramos que aceptapaso[i][3]);
su uso. Poltica de privacidad y cookies

Movimiento por ola (par menor)


https://programarfacil.com/blog/motor-paso-a-paso/ 7/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino

Movimiento por ola (par menor)

1 /*
2 Creado: Luis del Valle (ldelvalleh@programarfacil.com
3 Movimiento por ola motor 28BYJ-48
4 https://programarfacil.com
5 */
6
7 // Definimos los pines donde tenemos conectadas las bobinas
8 #define IN18
9 #define IN29
10 #define IN310
11 #define IN411
12
13 // Secuencia de pasos (par mximo)
14 int paso [4][4] =
15 {
16 {1, 0, 0, 0},
17 {0, 1, 0, 0},
18 {0, 0, 1, 0},
19 {0, 0, 0, 1}
20 };
21
22 void setup()
23 {
24 // Todos los pines en modo salida
25 pinMode(IN1, OUTPUT);
26 pinMode(IN2, OUTPUT);
27 pinMode(IN3, OUTPUT);
28 pinMode(IN4, OUTPUT);
29 }
30
31
32
33 void loop()
34 {
35 for (int i = 0; i < 4; i++)
36 {
37 digitalWrite(IN1, paso[i][0]);
38 digitalWrite(IN2, paso[i][1]);
39 digitalWrite(IN3, paso[i][2]);
40 digitalWrite(IN4, paso[i][3]);

Movimiento de medio paso

1 /*
2 Creado: Luis del Valle (ldelvalleh@programarfacil.com
3 Movimiento por ola motor 28BYJ-48
4 https://programarfacil.com
5 */
6
7 // Definimos los pines donde tenemos conectadas las bobinas
8 #define IN18
9 #define IN29
10 #define IN310
11 #define IN411
12
13 // Secuencia de pasos (par mximo)
14 int paso [8][4] =
15 {
16 {1, 0, 0, 0},
17 {1, 1, 0, 0},
18 {0, 1, 0, 0},
19 {0, 1, 1, 0},
20 {0, 0, 1, 0},
21cookies
Utilizamos {0, propios
0, 1, y1},
de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
22 {0, 0, 0, 1},
consideramos que acepta su uso.
23 {1, 0, 0, 1}
Poltica de privacidad y cookies

https://programarfacil.com/blog/motor-paso-a-paso/ 8/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino
24 };
25
26 void setup()
27 {
28 // Todos los pines en modo salida
29 pinMode(IN1, OUTPUT);
30 pinMode(IN2, OUTPUT);
31 pinMode(IN3, OUTPUT);
32 pinMode(IN4, OUTPUT);
33 }
34
35
36
37 void loop()
38 {
39 for (int i = 0; i < 8; i++)
40 {

Programacin del motor paso a paso a travs de una librera

Quieres empezar con


Arduino?
! Sigue esta gua gratuita !
Apntate a la lista y recibirs la gua gratuita para dar
los primeros pasos con Arduino.

Nombre Email Descargar ya

La otra manera de programar un motor 28BYJ-48 no es tan artesanal y reduce el cdigo


bastante. Se trata de utilizar la librera Steper que viene incluida con el entorno de
desarrollo oficial de Arduino. Esta librera nos facilita el uso de este tipo de motores y
viene adaptada para motores bipolares.

1 /*
2 Creado: Luis del Valle (ldelvalleh@programarfacil.com
3 Utilizacin librera Steper con motor 28BYJ-48
4 https://programarfacil.com
5 */
6
7 // Inclumos la librera para poder utilizarla
8 #include <Stepper.h>
9
10 // Esto es el nmero de pasos en un minuto
11 #define STEPS 4096
12 // Nmero de pasos que queremos que de
13 #define NUMSTEPS 100
14
15 // Constructor, pasamos STEPS y los pines donde tengamos conectado el motor
16 Stepper stepper(STEPS, 8, 9, 10, 11);
Utilizamos
17cookies
propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
18 void setup() {
consideramos que acepta su uso. Poltica de privacidad y cookies

https://programarfacil.com/blog/motor-paso-a-paso/ 9/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino
19 // Asignamos la velocidad en RPM (Revoluciones por Minuto)
20 stepper.setSpeed(5);
21 }
22
23 void loop() {
24 // Movemos el motor un nmero determinado de pasos
25 stepper.step(NUMSTEPS);
26 delay(2000);
27 }

Conclusin
Los motores 28BYJ-48 son muy tiles en proyectos de poca envergadura. Si lo que
necesitamos es ms precisin y fuerza (par motor), debemos irnos a otro tipo de motores.
Existen shields para Arduino que nos facilitan la tarea de alimentacin de motores paso a
paso. Uno de los ms conocidos el Adafruit Motor Shield. Un componente excepcional
para nuestros proyectos robticos.

Si te ha gustado el artculo lo puedes compartir, cualquier duda o sugerencia en los


comentarios, gracias :)

Gracias a Shutterstock por ceder los derechos de la imagen

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
consideramos que acepta su uso. Poltica de privacidad y cookies

https://programarfacil.com/blog/motor-paso-a-paso/ 10/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino

4 Comentarios Programar Fcil con Arduino


1 Acceder

Ordenar por los mejores


Recomendar Compartir

nete a la conversacin...

INICIAR SESIN CON

O REGISTRARSE CON DISQUS ?

Nombre

Lean Iaco hace 2 meses


hola, hay alguien que me pueda ayudar? necesito hacer andar un motorcito y no tengo mucha idea
del tema.

Gracias
Responder Compartir

Luis del Valle Moderador > Lean Iaco hace 2 meses

Hola Lean lo quieres mover con Arduino?


Responder Compartir

pedro rodriguez hace un ao


hola buenas tardes muy interesante tu proyecto ya lo he probado y me funciona pero quiero hacerte
una pregunta como se hace para que gire un determinado tiempo y haga un pausa y despus
continu

gracias
Responder Compartir

Luis del Valle Hernndez > pedro rodriguez hace un ao


Hola Pedro

Hay diferentes maneras. Te recomiendo que mires este artculo


(http://programarfacil.com/blog/arduino-blog/controlar-tiempos-arduino/) donde explico cmo
controlar tiempos con Arduino, puede ser muy til en tu caso.

Para implementar la pausa utiliza el delay(numero-milisegundos).

Si tienes dudas, me vuelves a preguntar y muchas gracias.


Responder Compartir

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
consideramos que acepta su uso. Poltica de privacidad y cookies

https://programarfacil.com/blog/motor-paso-a-paso/ 11/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino

#117 Cmo medir el consumo elctrico #116 Drones ms all de un vehculo no


de un frigorfico con Arduino tripulado con Lot Amors
En este ltimo artculo/captulo del Dentro del abanico de posibilidades que nos
blog/podcast, vamos a hablar de cmo medir el brinda la tecnologa, encontramos los drones.
Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
consideramos que acepta su uso. Poltica de privacidad y cookies

https://programarfacil.com/blog/motor-paso-a-paso/ 12/13
27/7/2017 Motor paso a paso 28byj-48 tutorial completo sobre motores Arduino

consumo elctrico de un frigorfico con Arduino. Se trata de dispositivos que hacen volar un
Este artculo robot. Esto da

[+ info...] [+ info...]

NodeMCU tutorial paso a paso desde


cero
NodeMCU es la placa de desarrollo basada en
el ESP8266 que nos hace la vida ms fcil a
los que queremos desarrollar dispositivos
conectados. En este

[+ info...]

COPYRIGHT 2017 PROGRAMAR FCIL AVISO LEGAL

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando,
consideramos que acepta su uso. Poltica de privacidad y cookies

https://programarfacil.com/blog/motor-paso-a-paso/ 13/13

You might also like