How To Control The Timing Of A Linear Actuators Motion

¿Cómo controlar la sincronización del movimiento de un actuador lineal?

Guest Writer
Guest Writer
PA Engineer

En nuestra última publicación "Cómo", veremos cómo controlar la sincronización del movimiento de un actuador lineal utilizando un microcontrolador. Los microcontroladores brindan mucha libertad en el control de movimiento y este es solo un ejemplo de una cantidad casi infinita de opciones de control de movimiento disponibles. Dependiendo de su aplicación, el proyecto de ejemplo en este artículo se puede ajustar para satisfacer sus requisitos, ya sea que agregue otro actuador temporizado o refuerce la fuente de alimentación para manejar un actuador lineal más fuerte, todo depende de usted.

[cta-contenido]

¡Eche un vistazo a todos nuestros microcontroladores para obtener el control definitivo de actuadores!

Explorar microcontroladores

Control de movimiento mediante un microcontrolador

Se utilizará un microcontrolador Arduino para controlar el tiempo de movimiento de un actuador lineal, pero cualquier microcontrolador funcionará. Sin embargo, dado que utilizamos un escudo, el microcontrolador debe ser compatible. Lo guiaremos a través de los diversos parámetros que puede ajustar para cambiar la velocidad de un actuador lineal.

 

Que necesitarás

Para este ejemplo, usaremos los siguientes componentes para controlar un actuador lineal :

[cta-contenido]

Explore nuestra gama completa de actuadores lineales eléctricos, adecuados para cualquier aplicación.

Explorar actuadores lineales

Conexión de componentes

Ahora que tenemos nuestros suministros, necesitaremos conectar todo. Afortunadamente, las conexiones son sencillas mediante el uso de un blindaje en lugar de una placa separada que requiere cableado y soldadura adicionales.

Primero, conectemos nuestro actuador a nuestro escudo LC-80 MegaMoto Plus conectando los dos cables del actuador a los terminales de tornillo A/B en el LC-80. Luego, necesitamos conectar el LC-80 a nuestra fuente de alimentación, en este caso, la PS-20-12. Hacemos esto conectando cables positivos y negativos de la fuente de alimentación a los terminales BAT +/- del LC-80.

Finalmente, necesitamos conectar el LC-80 al LC-066, lo cual es tan sencillo como pegarlos uno encima del otro como se muestra en la imagen de abajo.

 

Foto de microcontroladores de Progressive Automations

[cta-contenido]

Elija el sistema de control adecuado para su actuador y eche un vistazo a nuestra gama.

Todos los sistemas de control


Ajustando el código

Para que podamos tener un control total sobre el movimiento de nuestro actuador, necesitaremos realizar cierta programación del actuador lineal con nuestra unidad Arduino. Hemos preparado un código de ejemplo en el que nuestro actuador se extiende y luego se retrae durante 10 segundos en cada sentido durante un ciclo de 300 segundos.

 //Usa los puentes en el tablero para seleccionar qué pines se usarán

 intEnablePin1 = 13;

 intPWMPinA1 = 11;

 intPWMPinB1 = 3;

 int tiempo extendido = 10 * 1000; // 10 segundos, multiplicados por 1000 para convertir a milisegundos

 int tiempo de retracción = 10 * 1000; // 10 segundos, multiplicados por 1000 para convertir a milisegundos

 int tiempo de ejecución = 300 * 1000; // 300 segundos, multiplicados por 1000 para convertir a milisegundos

 deber internacional;

 int tiempo transcurrido;

 booleano keepMoving;

 configuración nula() {

 Serie.begin(9600);

 pinMode(EnablePin1, OUTPUT);//Habilita la placa

 pinMode(PWMPinA1, SALIDA);

 pinMode(PWMPinB1, OUTPUT);//Establecer salidas del motor
 
tiempo transcurrido = 0; // Establece el tiempo en 0

 mantenerMovimiento = verdadero; //El sistema se moverá

 }//finalizar configuración

 bucle vacío() {

 si (sigue moviéndote)

 {

 escritura digital (EnablePin1, ALTA); // habilitar el motor

 empujarActuador();

 retraso (tiempo extendido);

 detenerActuador();

 delay(10);//pequeño retraso antes de retractarse

 pullActuador();

 retraso (tiempo de retracción);

 detenerActuador();

 elapsedTime = millis();//¿cuánto tiempo ha pasado?

 if (elapsedTime > timetorun) {//si han pasado 300 segundos, detente

 Serial.print("El tiempo transcurrido supera el tiempo máximo de ejecución. Tiempo máximo de ejecución: ");

 Serial.println(timetorun);

 mantenerMovimiento = falso;

 }

 }//terminara si

 }//finalizar el bucle principal

 parada vacíaActuador() {

 escritura analógica(PWMPinA1, 0);

 escritura analógica(PWMPinB1, 0); // velocidad 0-255

 }

 vacío pushActuator() {

 escritura analógica(PWMPinA1, 255);

 escritura analógica(PWMPinB1, 0); // velocidad 0-255

 }

 vacío pullActuator() {

 escritura analógica(PWMPinA1, 0);

 escritura analógica(PWMPinB1, 255);//velocidad 0-255

 }

 

Es importante leer el código línea por línea para intentar comprender lo que está sucediendo. Al hacerlo, puede personalizar el código para realizar una gran cantidad de otras tareas. Sin embargo, por ahora, la parte más importante es la primera sección y el bucle de configuración, que se centra en asignar pines y configurar la velocidad del ciclo.

Debe configurar los pines de nuestro LC-80 para que coincidan con lo que se encuentra en la primera sección del código configurando los puentes en el LC-80 o ajustando el código. En este caso, configure el pin "Habilitar" en D13, el pin "PWMA" en D11 y el pin "PWMB" en D3. El pin "Habilitar" es lo que controla y alimenta el motor y sin él, el actuador dejará de moverse y no podrá controlarse. Los pines “PWMA” y “PWMB” controlan la extensión y retracción del actuador. No necesitamos los pines del "Sensor" en este ejemplo, así que no te preocupes por seleccionar nada allí.

El control del temporizador de un actuador lineal ahora está completo. Puede cargar el código en Arduino utilizando su IDE (descargar desde el sitio web de Arduino). Una vez que tenga su actuador lineal extendiéndose y retrayéndose, ¿por qué no jugar un poco con el código? Intente ajustar el tiempo de extensión/retracción dentro del código, vuelva a cargarlo en el Arduino y vea cómo responde el actuador lineal. Al ajustar estos números en el código, puede controlar la velocidad y el tiempo total del ciclo de movimiento según la aplicación deseada.


Conclusión

A continuación incluimos un vídeo de un actuador de sincronización en acción. Para el ejemplo del video, queríamos mostrar otra forma de alterar el tiempo, por lo que hicimos que se extendiera y retrajera durante 5 segundos a la vez durante un ciclo de 20 segundos.

Como se indicó anteriormente, este es solo un ejemplo de una forma en que se puede alterar el movimiento de un actuador con la ayuda de nuestros microcontroladores. Si tiene su propio método de control personalizado en mente, puede crear un sistema de control específicamente para sus requisitos personalizados con la ayuda de nuestro talentoso personal de ingeniería. Ellos lo guiarán a través del proceso y se asegurarán de que tenga control total sobre sus unidades. Si desea obtener más información sobre el proceso de pedido personalizado, eche un vistazo a nuestra página de pedido personalizado .