Vous êtes sur la page 1sur 7

ISSN: 1692-7257 - Volumen X – Número XX - 20XX

Revista Colombiana de
Tecnologías de Avanzada

Recibido: xx de mes de 20xx


Aceptado:

TIPOS DE CONFIGURACION PARA EL CONTROL DE UN MOTOR PASO A


PASO UNIPOLAR

TYPES OF CONFIGURATION FOR THE CONTROL OF AN UNIPOLAR STEP-


BY-STEP ENGINE

Tnlgo. Francisco González Ortiz*


*
Institución 1, Universidad de Pamplona
Km 1 Vía Bucaramanga Ciudad Universitaria, Pamplona, Norte de Santander, Colombia.
Teléfonos: (57+7) 5685303 - 5685304
E-mail: francisco.gonzalez@unipamplona.edu.co

Resumen: Un motor paso a paso es un dispositivo electromecánico que convierte pulsos


eléctricos en movimientos mecánicos discretos. El eje de un motor paso a paso gira en
incrementos discretos cuando impulsos de mando eléctrico se aplican a él en la secuencia
correcta. La secuencia de los pulsos aplicados se relaciona directamente con la dirección
de rotación de ejes motor. La velocidad de la rotación de los ejes motor está directamente
relacionada con la frecuencia de los pulsos de entrada y la duración de la rotación está
directamente relacionada con el número de pulsos de entrada aplicada.
En el presente articulo se realizará la comparación de 3 tipos de seguencias para el
funcionamiento de un motor paso a paso unipolar, identificando ventajas y desventajas de
cada configuración.

Palabras clave: Bobina; Electromecánico; Motor; Paso a paso; Secuencia

Abstract: A stepper motor is an electromechanical device that converts electrical pulses


into discrete mechanical movements. The axis of a stepper motor rotates in discrete
increments when electric command pulses are applied to it in the correct sequence. The
sequence of the applied pulses is directly related to the direction of rotation of the motor
axes. The speed of rotation of the motor axes is directly related to the frequency of the
input pulses and the duration of the rotation is directly related to the number of input
pulses applied.
In the present article, the comparison of 3 types of seguencias for the operation of a
unipolar stepper motor will be made, identifying advantages and disadvantages of each
configuration.

Keywords: Coil; Electromechanical; Engine; Step by Step; Sequence

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

1. INTRODUCCIÓN en estas aplicaciones de carga conocida donde el


motor paso a paso tiene sus posibilidades
El motor paso a paso es el convertidor industriales. En el caso de tener que accionar
electromecánico que permite la conversión de cargas desconocidas, su funcionamiento en lazo
una información en forma de energía eléctrica, cerrado sería del todo perfecto, pero el coste
en una energía mecánica y una información de del transductor de realimentación generalmente
posición. Está constituido por un estator cuyos no justifica esta aplicación.
devanados se llaman fases y un rotor de un
elevado número de polos. Su funcionamiento es 2. METODOLOGÍA Y MATERIALES
síncrono y la alimentación cíclica de sus fases
debe originar en cambio de configuración un 2.1 Materiales implementados
giro elemental del rotor, constante, llamado paso.
Existe una gran diversidad de modelos de estos • Motor paso a paso 28BYJ-48
motores dependiendo del número de fases de • Driver ULN2003
su estator, de si la alimentación de estas es • Arduino MEGA
unipolar o bipolar, del número de paso por • Jumpers
vuelta y de si su rotor es de reluctancia • Protoboard
variable, imanes permanentes o híbridos.

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.

Fig3. Secuencia normal

Fig2. Controlador UNL2003

2.3 Secuencias para manejar motores paso a


paso Unipolares

Existen tres secuencias posibles para este tipo de


motores, las cuales se detallan a continuación.
Todas las secuencias comienzan nuevamente por el
paso 1 una vez alcanzado el paso final (4 u 8). Para
revertir el sentido de giro, simplemente se deben
ejecutar las secuencias en modo inverso.

• Secuencia Normal (fig3): Esta es la


secuencia más usada y la que
generalmente recomienda el fabricante. Fig4. Secuencia del tipo wave drive
Con esta secuencia el motor avanza un
paso por vez y debido a que siempre hay

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

Fig6. Conexión arduino-controlador-motor

Fig5. Secuencia del tipo medio paso

2.4 Conexiones

En primer lugar, se conectó el 28BYJ-48 a la placa Fig7. Esquemático eléctrico motor-controlador


con el integrado ULN2003 con la clema de
conexión incorporada. Los terminales solo encajan 2.5 Código en arduino para las respectivas
en una posición, por lo que no hay riesgo de secuencias.
conectarlo incorrectamente.
Por otro lado, se alimentó el módulo aplicando la
tensión de alimentación entre Vcc y GND del El siguiente código se encuentra en forma general
módulo. Existen modelos de 28BYJ-48 de y solo se realizará la modificación de la respectiva
tensiones nominales 5 o 12V. Deberéis aplicar la secuencia remplazando ** secuencia ** por su
tensión que corresponde con vuestro motor. respectivo código.

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

3.1.2 Secuencia del tipo wave drive


Para obtener un arranque suave y preciso, es
recomendable comenzar con una frecuencia de
pulso baja y gradualmente ir aumentándola hasta la
velocidad deseada sin superar la máxima tolerada.
El giro en reversa debería también ser realizado
previamente bajando la velocidad de giro y luego
cambiar el sentido de rotación.

Al realizar cada prueba de secuencias se obtuvieron


las siguientes graficas que representas como se
comporta el motor frente a cada secuencia,
mostrando su respectiva entrada de pulsos y su
respuesta. Se implementaron las siguientes
entradas:

Fig10. Entrada y respuesta del motor paso a paso


en secuencia wave drive.

3.1.3 Secuencia del tipo medio paso

Fig8. Entrada de señal al motor paso a paso seguú


la secuencia

3.1 Respuestas obtenidas

3.1.1 Secuencia Normal

Fig10. Entrada y respuesta del motor paso a paso


en secuencia medio paso.

Cada una de estas secuencias tienen sus ventajas y


desventajas al momento de ser implementadas, ésto
depende básicamente de la referencia de motor que
se está usando.

Después de diferentes pruebas con el motor


Fig9. Entrada y respuesta del motor paso a paso
28BYJ-48 se comprobó que para este tipo es mejor
en secuencia normal.
la secuencia medio paso, porque con esta secuencia

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

4. CONCLUSIONES Robots Argentina, Arduino: Motor paso a paso


28BYJ-48 y módulo ULN2003, http://robots-
• Se eligió la secuencia medio pasos por ser argentina.com.ar/didactica/arduino-motor-paso-a-
la configuración que brinda mejores paso-28byj-48-y-modulo-uln2003/
resultados y relación entre par y consumo,
siempre y cuando no se trabaje a su
máximo par. Mi Electricas, Motor paso a paso,
• Se eligió el controlador ULN2003, dado http://www1.frm.utn.edu.ar/mielectricas/docs2/PaP
que el motor empleado 28BYJ-48 no /MOTOR_PaP_FINAL.pdf
necesitaba un controlador complicado
como el A4988 y el DRV8825, debido a Aprendiendo arduino, Imagen motor paso a paso,
que no se necesita invertir a corriente de https://aprendiendoarduino.wordpress.com/tag/mot
las bobinas. or-paso-a-paso/
• Se experimentó que el tiempo de pulso en
nivel bajo debe ser superior a 800 µs e Aprendiendo arduino, Imagen driver UML2003,
inferior a 30000 µs, para que el motor https://i0.wp.com/blog.poscope.com/wp-content/up
funcione, teniendo en cuenta que la loads/2015/11/micro.png
relación entre el tiempo y los rpm son
inversas, es decir a mayor tiempo menor
rpm. ANEXOS

RECONOCIMIENTO

Agradecimiento especial al ingeniero mecatrónico


Oscar Yimy Rengifo, graduado de la Universidad
de Pamplona, por su valiosa participación en la
obtención e interpretación de datos.

REFERENCIAS

Luis Llamas (2019), Motor paso a paso 28BYJ-48


con arduino y driver UML2003,
https://www.luisllamas.es/motor-paso-paso-28byj-
48-arduino-driver-uln2003/
Fig11. Fotografía del montaje implementado
Flikard, SunRobotics UNIPOLAR STEPPER
MOTOR (28BYJ-48-5V) (Brown),
https://www.flipkart.com/sunrobotics-unipolar-
stepper-motor-28byj-48-5v/p/itmf2bmzvfvdbzhs

Electronica, Tutorial sobre Motores Paso a Paso


(Stepper motors),
http://electronica.ugr.es/~amroldan/asignaturas/cur
so01-02/diseno/practicas/curso0102/RYS/

7
Universidad de Pamplona
I. I. D. T. A.

Vous aimerez peut-être aussi