Sei sulla pagina 1di 15

¿QUÉ ES UN MOTOR 28BYJ-48 Y

UN ULN2003?
El 28BYJ-48 es un pequeño motor paso a paso unipolar de bajo precio. Las
características eléctricas del 28BYJ-48 son modestas, pero incorpora un reductor
integrado que lo convierte en un componente mucho más útil e interesante.

El 28BYJ-48 tiene un paso de 5.625 grados (64 pasos por vuelta). El reductor interno
tiene una relación de 1/64. Combinados, la precisión total es de 4096 pasos por vuelta,
equivalente a un paso de 0.088º, que es una precisión muy elevada.

En realidad la relación del reductor no es exactamente 1/64 por lo que el número de


pasos es 4076 por vuelta (equivalente a un reductor de 1/63.6875)

La alimentación del motor es 5V o 12V según modelo, siendo más habitual el


modelo de 5V. Físicamente ambos modelos son idénticos, por lo que para saber la tensión
nominal deberemos mirar la etiqueta del motor.

Anuncio:

El 28BYJ-48 tiene un par máximo tras el reductor de 3N•cm (0.3Kgf•cm). La


frecuencia máxima es de 100Hz, lo que supone unos 40 segundos por vuelta, o
equivalentemente una velocidad de giro máxima en torno a 1.5 rpm.

La resistencia y el consumo eléctrico varían con el modelo de 28BYJ-48. En los


modelos de 5V es de 60 Ohm, lo que supone un consumo de 83mA. Los modelos de 12V
tienen resistencias de 130-380 Ohm, y consumos de 71 a 32mA.

Para el control podemos emplear una placa con integrado ULN2003. Normalmente
el 28BYJ-48 se suministra con esta placa, y ambos dispositivos disponen clemas para una
conexión sencilla.

El 28BYJ-48 es un motor ampliamente utilizado en aplicaciones industriales, como


el control de válvulas hidráulicas y neumáticas.

En el campo de los hobbies, podemos usar el 28BYJ-48 para hacer pequeños robots
articulados, brazos robóticos, posicionar sensores, o girar la mesa de un escanner.
Puedes consultar más sobre los detalles del funcionamiento de un motor paso a paso, así como otros
tipos de motores en

PRECIO
El 28BYJ-48 es un motor muy barato. Podemos encontrar 28BYJ-48 por unos 1.2€
en vendedores internacionales de eBay o AliExpress.

Normalmente querremos adquirirlo junto con el controlador ULN2003. Podemos


encontrar kits con ambos componentes de forma conjunta por 1.60€.

¿COMO FUNCIONA EL 28BYJ-48


CON ULN2003?
Para el control del 28BYJ-48 vamos a usar una placa con el integrado ULN2003. El
ULN2003 es una agrupación de 7 Par Darlington de los cuales usaremos 4, uno por cada
fase del motor paso a paso.

Un par Darlington es un dispositivo que nos permite suministrar una corriente


superior a las que podríamos usando las salidas de Arduino directamente.
Más información en

El 28BYJ-48 es un motor unipolar, por lo que no necesitamos invertir la corriente


que atraviesa las bobinas para hacerlo funcionar. Por tanto, no necesitamos un controlador
complicado como el A4988 o el DRV8825, ni siquiera un simple puente-H como el
L298N.

Aplicando un control todo o nada, es decir, encendiendo por completo o apagando


por completo una bobina, únicamente tenemos que activar las bobinas en la secuencia
correcta.

Existen varias secuencias posibles, y acontinuación vamos a ver las tres más
empleadas.

SECUENCIA 1-FASE
En secuencia de 1-fase encendemos una única bobina cada vez.

Llevando esta secuencia de encendido a una tabla, que posteriormente usaremos para
el código, la secuencia quedaría de la siguiente forma,

Paso A B A’ B’
1 ON OFF OFF OFF

2 OFF ON OFF OFF

3 OFF OFF ON OFF

4 OFF OFF OFF ON

SECUENCIA 2-FASES
En la secuencia en 2-fases encendemos dos bobinas correlativas en cada fase. Al
hacer trabajar dos bobinas simultáneamente en cada paso el campo magnético generado
es superior (un 41% más) por lo que el motor tiene más par y, en general, presenta un
mejor comportamiento. Como punto negativo, aumentamos el consumo energético al
doble.

Que expresado en forma de tabla resulta,


Paso A B A’ B’

1 ON ON OFF OFF

2 OFF ON ON OFF

3 OFF OFF ON ON

4 ON OFF OFF ON

SECUENCIA MEDIO PASOS


La última secuencia que vamos a ver es la secuencia en medio paso (half-step). Aquí
encendemos alternativamente uno y dos bobinas.

Con esta secuencia conseguimos una precisión de la mitad del paso. El par
desarrollado varía ya que en algunos pasos activamos dos bobinas y en otras solo una,
pero a la vez el giro se encuentra más “guiado”, por lo que en general ambos efectos se
compensan y el funcionamiento es bueno, salvo en aplicaciones donde estemos muy al
límite del par máximo.
Expresando la secuencia en forma de tabla resulta

Medio-paso A B A’ B’

1 ON OFF OFF OFF

2 ON ON OFF OFF

3 OFF ON OFF OFF

4 OFF ON ON OFF

5 OFF OFF ON OFF


6 OFF OFF ON ON

7 OFF OFF OFF ON

8 ON OFF OFF ON

ESQUEMA DE MONTAJE
La conexión del 28BYJ-48 a Arduino a través del módulo ULN2003 es bastante
sencilla.

En primer lugar, conectamos el 28BYJ-48 a la placa con el integrado ULN2003 con


la clema de conexión incorporada. Los terminales solo encajan en una posición, por lo
que no hay riesgo de conectarlo incorrectamente.
Por otro lado, alimentamos el módulo aplicando la tensión de alimentación entre Vcc
y GND del módulo. Existen modelos de 28BYJ-48 de tensiones nominales 5 o 12V.
Deberéis aplicar la tensión que corresponde con vuestro motor.

En el caso de motores de tensión nominal 5V, podemos alimentar directamente


desde la salida de 5V de Arduino.

No exceder la tensión de alimentación de vuestro modelo de 28BYJ-48, o lo dañaréis permanente.

Finalmente, conectamos los pines IN1, IN2, IN3 e IN4 a cuatro salidas digitales de
Arduino. Al activar cada una de las señales activaremos el par Darlington
correspondiente, provocando el encendido de la bobina.

La conexión, vista desde Arduino, quedaría de la siguiente manera,


EJEMPLOS DE CODIGO
Hacer funcionar un motor paso unipolar no es difícil, simplemente tenemos que
emplear las secuencias que hemos visto correctamente.

Sin embargo, sí es un código en el que conviene que seamos (al menos)


medianamente organizados, o puede empezar a crecer en número de líneas rápidamente,
haciéndolo más lento, más difícil de usar y de mantener.

Por un lado, dado que vamos a que vamos a usar frecuentemente el código para
cambiar de paso en uno u otro sentido, conviene que lo aislemos en dos funciones
independientes, clockwise() y anticlockwise()

Por otro lado, vamos a almacenar la secuencia de encendido en una tabla de lookup.
En el código aparecen las tres secuencias, simplemente descomentar la que queráis
emplear. Por defecto está descomentada la de medio-paso, que es la recomendada por el
fabricante.

Finalmente, tenemos una función setOutput() que fija la salida al motor en un paso
determinado de la secuencia.
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
permitesuministrar 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.

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.

PASO BOBINA A BOBINA B BOBINA C

1 HIGH HIGH LOW

2 LOW HIGH HIGH

3 LOW LOW HIGH

4 HIGH LOW LOW

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.

PASO BOBINA A BOBINA B BOBINA C

1 HIGH LOW LOW


2 LOW HIGH LOW

3 LOW LOW HIGH

4 LOW LOW LOW

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

1 HIGH LOW LOW

2 HIGH HIGH LOW

3 LOW HIGH LOW

4 LOW HIGH HIGH


5 LOW LOW HIGH

6 LOW LOW HIGH

7 LOW LOW LOW

8 HIGH LOW LOW

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.

ARDUINO 8

BOBINA A

Potrebbero piacerti anche