- 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 de circuito para motor paso a paso giratorio con potenciómetro:
- Código para placa Arduino:
- Trabajando:
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. En este tutorial, aprenderemos sobre el motor paso a paso 28-BYJ48 más comúnmente disponible / más barato y cómo conectarlo con Arduino usando el módulo paso a paso ULN2003.
En el último proyecto, simplemente tenemos un motor paso a paso interconectado con Arduino, donde puede girar el motor paso a paso ingresando el ángulo de rotación en el monitor serial de Arduino. Aquí en este proyecto, giraremos el motor paso a paso usando potenciómetro y Arduino, como si girara el potenciómetro en el sentido de las agujas del reloj, el paso a paso girará en el sentido de las agujas del reloj y si gira el potenciómetro en el sentido contrario a las agujas del reloj, girará en sentido antihorario.
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.
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 de circuito para motor paso a paso giratorio con potenciómetro:
El diagrama de circuito para el control del motor paso a paso usando potenciómetro y 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. Se conecta un potenciómetro a A0 en base a cuyos valores giraremos el motor paso a paso.
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 del controlador.
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 de demostración completo se puede encontrar al final de este tutorial.
En este tutorial vamos a programar el Arduino de tal forma que podamos girar el potenciómetro conectado al pin A0 y controlar la dirección del motor paso a paso. 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 en el sentido de las agujas del reloj, podemos usar la siguiente línea.
stepper.step (1);
Para hacer que el motor se mueva un paso en sentido antihorario podemos usar la siguiente línea.
stepper.step (-1);
En nuestro programa leeremos el valor del pin analógico A0 y lo compararemos con el valor anterior (Pval). Si ha aumentado nos movemos 5 pasos en el sentido de las agujas del reloj y si está disminuido, nos movemos 5 pasos en sentido antihorario.
potVal = map (analogRead (A0), 0,1024,0,500); if (potVal> Pval) paso a paso.paso (5); si (potVal
Trabajando:
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 mencionó anteriormente, debe girar el potenciómetro para controlar la rotación del motor paso a paso. Si lo gira en el sentido de las agujas del reloj, el motor paso a paso girará en el sentido de las agujas del reloj y viceversa.
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 a continuación o en nuestros foros.