- Motores paso a paso:
- Cálculo de pasos por revolución para motor paso a paso:
- ¿Por qué necesitamos módulos de controlador para motores paso a paso?
- Diagrama y explicación del circuito de control de posición del motor paso a paso Arduino:
- Código para placa Arduino:
- Funcionamiento del motor paso a paso con Arduino:
Los motores paso a paso están tomando cada vez más lugar en el mundo de la electrónica. Desde una cámara de vigilancia normal hasta una complicada máquina / robot CNC, estos motores paso a paso se utilizan en todas partes como actuadores, ya que proporcionan un control preciso. Un motor paso a paso es un motor síncrono sin escobillas que completa una rotación completa en varios pasos. En este tutorial de motor paso a paso Arduino, aprenderemos sobre el motor paso a paso más comúnmente disponible 28-BYJ48 y cómo conectarlo con Arduino usando el módulo de motor paso a paso ULN2003.
Motores paso a paso:
Echemos un vistazo a este motor paso a paso 28-BYJ48.
Bien, a diferencia de un motor de CC normal, este tiene cinco cables de todos los colores elegantes que salen de él y ¿por qué es así? Para entender esto primero debemos saber cómo funciona un stepper y cuál es su especialidad. En primer lugar, los motores paso a paso no giran, sino que también se conocen como motores paso a paso. Es decir, se moverán solo un paso a la vez. Estos motores tienen una secuencia de bobinas presentes en ellos y estas bobinas tienen que ser energizadas de una manera particular para hacer girar el motor. Cuando se activa cada bobina, el motor da un paso y una secuencia de activación hará que el motor dé pasos continuos, haciéndolo girar. Echemos un vistazo a las bobinas presentes dentro del motor para saber exactamente de dónde vienen estos cables.
Como puede ver, el motor tiene una disposición de bobina unipolar de 5 conductores. Hay cuatro bobinas que deben activarse en una secuencia particular. Los cables rojos se suministrarán con + 5V y los cuatro cables restantes se conectarán a tierra para activar la bobina respectiva. Usamos un microcontrolador como Arduino para energizar estas bobinas en una secuencia particular y hacer que el motor realice el número requerido de pasos.
Entonces, ¿por qué este motor se llama 28-BYJ48 ? ¡¡¡Seriamente!!! No lo sé. No hay ninguna razón técnica para que este motor se llame así; tal vez deberíamos sumergirnos mucho más en ello. Veamos algunos de los datos técnicos importantes obtenidos de la hoja de datos de este motor en la siguiente imagen.
Esa es una cabeza llena de información, pero necesitamos mirar algunas importantes para saber qué tipo de paso a paso estamos usando para poder programarlo de manera eficiente. Primero sabemos que es un motor paso a paso de 5V ya que energizamos el cable rojo con 5V. Entonces, también sabemos que es un motor paso a paso de cuatro fases, ya que tenía cuatro bobinas. Ahora, la relación de transmisión es 1:64. Esto significa que el eje que ve afuera hará una rotación completa solo si el motor en el interior gira 64 veces. Esto se debe a los engranajes que están conectados entre el motor y el eje de salida, estos engranajes ayudan a aumentar el par.
Otro dato importante a tener en cuenta es el ángulo de zancada: 5.625 ° / 64. Esto significa que el motor, cuando funciona en una secuencia de 8 pasos, se moverá 5.625 grados por cada paso y tomará 64 pasos (5.625 * 64 = 360) para completar una rotación completa. Puede obtener más información sobre el funcionamiento de motores paso a paso con ARM LPC2148, microcontrolador ATMega16, MSP430.
Cálculo de pasos por revolución para motor paso a paso:
Es importante saber calcular los pasos por Revolución para tu motor paso a paso porque solo así podrás programarlo de manera efectiva.
En Arduino operaremos el motor en una secuencia de 4 pasos, por lo que el ángulo de zancada será de 11,25 ° ya que es de 5,625 ° (dado en la hoja de datos) para la secuencia de 8 pasos será de 11,25 ° (5,625 * 2 = 11,25).
Pasos por revolución = 360 / ángulo de paso
Aquí, 360 / 11,25 = 32 pasos por revolución.
¿Por qué necesitamos módulos de controlador para motores paso a paso?
La mayoría de los motores paso a paso funcionarán solo con la ayuda de un módulo de controlador. Esto se debe a que el módulo controlador (en nuestro caso Arduino) no podrá proporcionar suficiente corriente desde sus pines de E / S para que funcione el motor. Así que usaremos un módulo externo como el módulo ULN2003 como controlador de motor paso a paso. Hay muchos tipos de módulos de controlador y la clasificación de uno cambiará según el tipo de motor utilizado. El principio principal para todos los módulos de controlador será generar / absorber suficiente corriente para que el motor funcione.
Diagrama y explicación del circuito de control de posición del motor paso a paso Arduino:
El diagrama de circuito para el proyecto de control de motor paso a paso arduino se muestra arriba. Hemos utilizado el motor paso a paso 28BYJ-48 y el módulo de controlador ULN2003. Para energizar las cuatro bobinas del motor paso a paso estamos usando los pines digitales 8, 9, 10 y 11. El módulo del controlador es alimentado por el pin de 5V de la placa Arduino.
Pero, encienda el controlador con una fuente de alimentación externa cuando conecte algo de carga al motor de estepa. Dado que solo estoy usando el motor para fines de demostración, he usado el riel + 5V de la placa Arduino. También recuerde conectar la tierra del Arduino con la tierra del módulo Diver.
Código para placa Arduino:
Antes de comenzar a programar con nuestro Arduino, comprendamos qué debería suceder realmente dentro del programa. Como se dijo anteriormente, utilizaremos el método de secuencia de 4 pasos, por lo que tendremos que realizar cuatro pasos para realizar una rotación completa.
Paso |
Pin energizado |
Bobinas energizadas |
Paso 1 |
8 y 9 |
A y B |
Paso 2 |
9 y 10 |
B y C |
Paso 3 |
10 y 11 |
C y D |
Etapa 4 |
11 y 8 |
D y A |
El módulo Driver tendrá cuatro LED con los que podremos comprobar qué bobina se está energizando en un momento dado. El video que muestra la secuencia de activación se puede encontrar al final de este tutorial.
En este tutorial vamos a escribir el código del motor paso a paso arduino y para eso programaremos el Arduino de tal forma que podamos ingresar el número de pasos que debe dar el motor paso a paso a través del monitor serial del Arduino. El programa completo se puede encontrar al final del tutorial, algunas líneas importantes se explican a continuación.
Se calculó que el número de pasos por revolución para nuestro motor paso a paso era 32; por lo tanto, ingresamos eso como se muestra en la línea de abajo
#define PASOS 32
A continuación tenemos que crear instancias en las que especifiquemos los pines a los que hemos conectado el motor paso a paso.
Paso a paso paso a paso (PASOS, 8, 10, 9, 11);
Nota: El número de pines está desordenado como 8,10,9,11 a propósito. Debe seguir el mismo patrón incluso si cambia los pines a los que está conectado su motor.
Dado que estamos usando la biblioteca paso a paso de Arduino, podemos establecer la velocidad del motor usando la siguiente línea. La velocidad puede oscilar entre 0 y 200 para motores paso a paso 28-BYJ48.
stepper.setSpeed (200);
Ahora, para hacer que el motor se mueva un paso, podemos usar la siguiente línea.
stepper.step (val);
El número de pasos a mover será proporcionado por la variable “val”. Como tenemos 32 pasos y 64 como relación de transmisión, necesitamos movernos 2048 (32 * 64 = 2048), para hacer una rotación completa.
El usuario puede introducir el valor de la variable “val” mediante el monitor en serie.
Funcionamiento del motor paso a paso con Arduino:
Una vez realizada la conexión, el hardware debería verse así en la imagen de abajo.
Ahora, cargue el programa a continuación en su Arduino UNO y abra el monitor en serie. Como se discutió anteriormente, tendremos que hacer 2048 pasos para hacer una rotación completa, por lo que cuando ingresemos a 2048, el motor hará una rotación completa en el sentido de las agujas del reloj haciendo 2048 pasos. Para girar en el sentido contrario a las agujas del reloj, introduzca el número con el signo negativo “-”. Por lo tanto, ingresar -1024 hará que el motor gire la mitad de su recorrido en sentido antihorario. Puede ingresar cualquier valor deseado, como ingresar 1 hará que el motor dé solo un paso.
Espero que haya entendido el proyecto y haya disfrutado construyéndolo. El funcionamiento completo del proyecto se muestra en el video a continuación. Si tiene alguna duda, publíquela en la sección de comentarios debajo de nuestro en nuestros foros.