Académique Documents
Professionnel Documents
Culture Documents
Revista Colombiana de
Tecnologías de Avanzada
1
Universidad de Pamplona
I. I. D. T. A.
ISSN: 1692-7257 - Volumen X – Número XX - 20XX
Revista Colombiana de
Tecnologías de Avanzada
En cuanto al control, existen tres modos de 2.2 Descripción del motor y del integrado
realizarlos, paso entero, medio paso y micropaso. usados
En el paso entero, cada vez que se modifica la Motor 28BYJ-48: El 28BYJ-48 (fig1) es un
alimentación de las fases del estator se avanza pequeño motor paso a paso unipolar de bajo precio.
un paso disponiendo de par nominal del rotor. Las características eléctricas del 28BYJ-48 son
En el medio paso se avanza solo medio paso modestas, pero incorpora un reductor integrado que
con lo que se dispone de mejor resolución, lo convierte en un componente mucho más útil e
pero el par en las posiciones situadas entre interesante.
pasos regulares se reduce a la mitad. Estos dos El 28BYJ-48 tiene un paso de 5.625 grados (64
tipos de funcionamiento disponen en el mercado de pasos por vuelta). El reductor interno tiene una
gran variedad de integrados para su control. relación de 1/64. Combinados, la precisión total es
El funcionamiento en micropaso consiste en de 4096 pasos por vuelta, equivalente a un paso de
alimentar al mismo tiempo varias fases a la vez 0.088º, que es una precisión muy elevada.
con corrientes medias distintas, de modo que la En realidad, la relación del reductor no es
posición media del flujo en el entrehierro se exactamente 1/64 por lo que el número de pasos es
puede fijar en cualquier posición. Con este 4076 por vuelta (equivalente a un reductor de
funcionamiento se consigue una resolución 1/63.6875)
inmejorable y existen en el mercado distintas La alimentación del motor es 5V o 12V según
tarjetas de control basadas en microprocesador. modelo, siendo más habitual el modelo de 5V.
Merece la pena comentar que el motor paso a Físicamente ambos modelos son idénticos, por lo
paso es la primera de las máquinas eléctricas que para saber la tensión nominal deberemos mirar
que sin el uso de la electrónica no tiene razón de la etiqueta del motor.
ser. El 28BYJ-48 tiene un par máximo tras el reductor
de 3N•cm (0.3Kgf•cm). La frecuencia máxima es
El control de posición de motores paso a paso se de 100Hz, lo que supone unos 40 segundos por
puede efectuar en lazo abierto siempre que se vuelta, o equivalentemente una velocidad de giro
tomen las precauciones necesarias para no perder máxima en torno a 1.5 rpm.
ningún paso. La resistencia y el consumo eléctrico varían con el
modelo de 28BYJ-48. En los modelos de 5V es de
Utilizando técnicas de PWM para el control de 60 Ohm, lo que supone un consumo de 83mA. Los
la corriente, asegurando de esta manera un modelos de 12V tienen resistencias de 130-380
aprovechamiento máximo de par y con la Ohm, y consumos de 71 a 32mA.
programación adecuada de aceleración y
desaceleración, se puede trabajar perfectamente Para el control podemos emplear una placa con
en lazo abierto siempre que las variaciones que integrado ULN2003. Normalmente el 28BYJ-48 se
el par de carga sean conocidas de antemano. Es
2
Universidad de Pamplona
I. I. D. T. A.
ISSN: 1692-7257 - Volumen X – Número XX - 20XX
Revista Colombiana de
Tecnologías de Avanzada
suministra con esta placa, y ambos dispositivos al menos dos bobinas activadas, se obtiene
disponen de conectores para una conexión sencilla. un alto torque de paso y de retención.
• Secuencia del tipo wave drive (fig4): En
esta secuencia se activa solo una bobina a
la vez. En algunos motores esto brinda un
funcionamiento mas suave. La
contrapartida es que al estar solo una
bobina activada, el torque de paso y
retención es menor.
• Secuencia del tipo medio paso (fig5): En
esta secuencia se activan las bobinas de tal
forma de brindar un movimiento igual a la
mitad del paso real. Para ello se activan
primero 2 bobinas y luego solo 1 y así
Fig1. Motor unipolar 28BYJ-48 sucesivamente. Como vemos en la tabla la
secuencia completa consta de 8
Controlador UNL2003: El ULN2003 (fig2) es movimientos en lugar de 4.
una agrupación de 7 Par Darlington de los cuales
usaremos 4, uno por cada fase del motor paso a 2.3.1 Representación gráfica de secuencias
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.
3
Universidad de Pamplona
I. I. D. T. A.
ISSN: 1692-7257 - Volumen X – Número XX - 20XX
Revista Colombiana de
Tecnologías de Avanzada
2.4 Conexiones
En el caso de motores de tensión nominal 5V, Este programa hace girar al motor dos vueltas
podemos alimentar directamente desde la salida de completas en un sentido, y luego dos vueltas en el
5V de Arduino. otro sentido. Es posible cambiar algunos
parámetros para ver su funcionamiento en tres
modos diferentes.
Finalmente, se conectó los pines IN1, IN2, IN3 e
IN4 a cuatro salidas digitales de Arduino. Al
activar cada una de las señales activaremos el par //definición de pines
Darlington correspondiente, provocando el const int pinMotor1 = 8; // 28BYJ48 - In1
encendido de la bobina. const int pinMotor2 = 9; // 28BYJ48 - In2
La conexión, vista desde Arduino, quedaría de la const int pinMotor3 = 10; // 28BYJ48 - In3
siguiente manera (fig6) const int pinMotor4 = 11; // 28BYJ48 - In4
4
Universidad de Pamplona
I. I. D. T. A.
ISSN: 1692-7257 - Volumen X – Número XX - 20XX
Revista Colombiana de
Tecnologías de Avanzada
escribirSalidas(contadorPasos);
//definición variables }
int velocidadMotor = 1000; // variable para
determinar la velocidad void escribirSalidas(int paso)
// 800 maxima - minima 1000 o mas {
int contadorPasos = 0; // contador para los digitalWrite(pinMotor1,
pasos bitRead(tablaPasos[paso], 0));
int pasosPorVuelta = 4076; // pasos para una digitalWrite(pinMotor2,
vuelta completa bitRead(tablaPasos[paso], 1));
digitalWrite(pinMotor3,
** secuencia ** bitRead(tablaPasos[paso], 2));
digitalWrite(pinMotor4,
void setup() bitRead(tablaPasos[paso], 3));
{ }
//declarar pines como salida
pinMode(pinMotor1, OUTPUT); 2.5.1 Secuencia Normal
pinMode(pinMotor2, OUTPUT);
pinMode(pinMotor3, OUTPUT); //secuencia 1-fase usar velocidadMotor = 2000
pinMode(pinMotor4, OUTPUT); const int cantidadPasos = 4;
} const int tablaPasos[4] = { B1000, B0100, B0010,
B0001 };
void loop()
{ 2.5.1 Secuencia del tipo wave drive
for (int i = 0; i < pasosPorVuelta * 2; i++)
{ //secuencia 2-fases usar velocidadMotor = 2000
sentidoHorario(); const int cantidadPasos = 4;
delayMicroseconds(velocidadMotor); const int tablaPasos[4] = { B1001, B1100, B0110,
} B0011 };
delay(200);
2.5.1 Secuencia del tipo medio paso
for (int i = 0; i < pasosPorVuelta * 2; i++)
{ //secuencia media fase usar velocidadMotor =
sentidoAntihorario(); 1000
delayMicroseconds(velocidadMotor); const int cantidadPasos = 8;
} const int tablaPasos[8] = { B1000, B1100, B0100,
B0110, B0010, B0011, B0001, B1001 };
delay(200);
} 3. RESULTADOS
void sentidoHorario() // en dirección de las agujas Cabe destacar que debido a que los motores paso a
del reloj paso son dispositivos mecánicos y como tal deben
{ vencer ciertas inercias, el tiempo de duración y la
contadorPasos++; frecuencia de los pulsos aplicados es un punto muy
if (contadorPasos >= cantidadPasos) importante a tener en cuenta. En tal sentido el
contadorPasos = 0; motor debe alcanzar el paso antes que la próxima
escribirSalidas(contadorPasos); secuencia de pulsos comience. Si la frecuencia de
} pulsos es muy elevada, el motor puede reaccionar
en alguna de las siguientes formas:
void sentidoAntihorario()// en dirección contraria • Puede que no realice ningún movimiento
a las agujas del reloj en absoluto.
{ • Puede comenzar a vibrar pero sin llegar a
contadorPasos--; girar.
if (contadorPasos < 0) contadorPasos = • Puede girar erráticamente.
cantidadPasos - 1; • O puede llegar a girar en sentido opuesto.
5
Universidad de Pamplona
I. I. D. T. A.
ISSN: 1692-7257 - Volumen X – Número XX - 20XX
Revista Colombiana de
Tecnologías de Avanzada
6
Universidad de Pamplona
I. I. D. T. A.
ISSN: 1692-7257 - Volumen X – Número XX - 20XX
Revista Colombiana de
Tecnologías de Avanzada
se consigue una precisión de la mitad del paso. El Robots Argentina, Esquema eléctrico motor paso a
par desarrollado varía ya que en algunos pasos paso, http://robots-argentina.com.ar/didactica/wp-
activamos dos bobinas y en otras solo una, pero a content/uploads/diagrama-plaq.png
la vez el giro se encuentra más “guiado”, por lo que
en general ambos efectos se compensan y el Robots Argentina, Esquema de conexiones arduino
funcionamiento es bueno, salvo en aplicaciones motor paso a paso,
donde estemos muy al límite del par máximo. http://robots-argentina.com.ar/didactica/wp-
content/uploads/Conexiones.png
RECONOCIMIENTO
REFERENCIAS
7
Universidad de Pamplona
I. I. D. T. A.