Hay muchas aplicaciones que requieren establecer la posición angular de la carga/objeto.
Por ejemplo,
- Es necesario establecer la posición angular precisa del timón, alerón y profundidad para volar la aeronave.
- En un barco, establecer la posición angular del timón definirá la dirección de navegación.
- En un sistema de vigilancia CCTV, es posible que deba configurar el ángulo de la cámara para obtener una vista adecuada y precisa.
- En un cañón de obús, es necesario establecer la posición angular de la boquilla para que alcance el objetivo.
Así, hay muchos ejemplos en los que tenemos que definir la posición angular adecuada de cualquier objeto, como un timón, una cámara, la boquilla de un arma, una antena parabólica, una fuente de haz de luz/sonido, etc.
En todos estos sistemas, tenemos que construir un sistema de control de bucle abierto o cerrado en el que hay una entrada de control (principalmente por un humano) que se le da al sistema que posteriormente controla cualquier actuador que realmente establece la posición angular. . del objeto mediante algún mecanismo. La siguiente figura muestra un diagrama de bloques de un sistema de control de bucle abierto.
El proyecto presentado aquí es uno de estos tipos de sistema de control de bucle abierto. Utiliza un codificador rotatorio como entrada y un motor paso a paso como actuador. Primero veamos el diagrama de bloques del sistema y luego discutiré cómo construir este sistema.
Diagrama de bloques del sistema
Codificador rotatorio: genera pulsos a medida que gira su eje. Proporciona estos pulsos como entrada al microcontrolador.
Microcontrolador – recibe la salida de pulso del codificador – calcula la rotación angular de su eje – hace girar el motor paso a paso a la posición angular requerida.
Controlador paso a paso : suministra la corriente requerida al motor y lo impulsa.
Motor paso a paso: se utiliza para establecer la posición angular de cualquier objeto adherido a él mediante cualquier mecanismo.
Ahora veamos cómo construir este sistema. Empezaremos recogiendo los elementos necesarios.
Lista de artículos obligatorios
- Módulo codificador rotatorio
- placa arduino nano
- Chip ULN2003A
- Motor paso a paso unipolar tipo 5V
El circuito es muy fácil de construir porque sólo requiere tres componentes. Se puede construir fácilmente utilizando una placa de pruebas y cables de puente. Aquí está una imagen del circuito construido en la placa de desarrollo nano Arduino.
Diagrama de circuito
Como se muestra en la figura, el circuito se construye utilizando solo tres componentes: 1) módulo codificador rotatorio, 2) placa de desarrollo Arduino NANO y 3) chip controlador de motor ULN2003A.
- El módulo codificador rotatorio tiene 5 pines de interfaz. De estos 5 pines, 2 pines son para Vcc y Gnd y están conectados con la salida de 5V y Gnd de la placa Arduino.
- Sus otros 2 pines DI y CLK están conectados a los pines digitales D2 y D3 de la placa Arduino respectivamente. Su pin SW no se utiliza en este proyecto.
- Los pines D5 – D8 de la placa Arduino se utilizan para accionar el motor paso a paso utilizando el chip ULN2003A. Estos pines están conectados a los pines de entrada IN1 – IN4 como se muestra y los pines de salida del chip OUT1 – OUT4 están conectados al motor paso a paso.
- El terminal común del motor paso a paso está conectado a una fuente externa de 5 V.
- La placa Arduino, el módulo codificador rotatorio y el chip ULN2003 también reciben la misma fuente de alimentación de 5 V.
Funcionamiento y operación del circuito.
El funcionamiento del circuito es muy sencillo.
En una frase, puedo decir que a medida que el codificador rotatorio gira en el sentido de las agujas del reloj o en el sentido contrario a las agujas del reloj en una posición angular específica, el motor paso a paso también gira y se mueve a la posición angular requerida.
La posición angular del codificador en cualquier dirección (en sentido horario o antihorario) se asigna con la posición angular del motor en la misma dirección.
Esto significa que si el codificador gira 90º CW, el motor paso a paso también gira 90º CW. Y de manera similar, si el codificador se gira 60 ° en sentido antihorario, el motor paso a paso gira 60 ° en el sentido contrario a las agujas del reloj.
El motor paso a paso utilizado aquí tiene un ángulo de paso de 7,5 ° por impulso. Por lo tanto, este motor puede girar en un ángulo mínimo de 30 ° .
El codificador rotatorio genera 12 pulsos/1 rotación. Esto significa que genera un pulso cada (1 rotación) = 360 ° / 12 = 30 ° de rotación.
Por lo tanto, podemos asignar directamente la rotación del codificador de 30 ° (1 pulso) a la rotación del motor paso a paso de 30 ° .
Para comprender el funcionamiento del circuito con más detalle, primero debemos analizar el funcionamiento del codificador rotatorio.
Codificador rotatorio funcionando
El codificador rotatorio consta de un disco ranurado conectado al pin C de tierra común y dos pines de contacto A y B, como se muestra en la siguiente figura.
Cuando gira la perilla, A y B entran en contacto con el pin de tierra común C, en un orden específico según la dirección en la que gira la perilla.
Cuando entran en contacto con puntos en común, producen señales. Estas señales se desfasan 90° entre sí cuando un pin entra en contacto con el otro pin. Esto se llama codificación en cuadratura .
Cuando gira la perilla en el sentido de las agujas del reloj, el pin A se conecta primero, seguido del pin B. Cuando gira la perilla en el sentido contrario a las agujas del reloj, el pin B se conecta primero, seguido del pin A.
Al rastrear cuándo cada pin se conecta y desconecta de tierra, podemos usar estos cambios de señal para determinar en qué dirección se gira la perilla. Puedes hacer esto simplemente observando el estado de B cuando A cambia de estado.
Cuando A cambia de estado:
- Si B y A no son iguales, entonces la perilla se ha girado en el sentido de las agujas del reloj.
- Si B y A son iguales, entonces la perilla se ha girado en sentido antihorario.
Vea la figura a continuación
Por lo tanto, estas salidas A y B son pines DI y CLK del módulo codificador rotatorio. El Arduino verifica la salida de pulso de ambos y determina si el codificador gira en el sentido de las agujas del reloj o en el sentido contrario a las agujas del reloj. El Arduino cuenta pulsos y con cada pulso contado en dirección CW o CCW, gira el motor 30 ° en la misma dirección.
El completo funcionamiento y funcionamiento del circuito se basa en el programa descargado en la memoria FLASH interna del microcontrolador Arduino ATMega328. El programa está escrito en lenguaje C utilizando Arduino IDE. El programa utiliza la biblioteca Uni_polar_Stepper para controlar y girar el motor paso a paso de tipo unipolar utilizado aquí. Consulte la documentación de la biblioteca Uni_polar_Stepper para obtener más detalles. Aquí está el código del programa: