Photo of linear actuator PA -16, power supply, MegaMoto Plus and Arduino Uno

¿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 hacer", veremos cómo controlar la sincronización del movimiento de un actuador lineal utilizando algunos de nuestros microcontroladores. 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. Para este ejemplo usaremos:
  • 1 LC-80
  • 1 LC-066
  • 1 x PA-16 (cualquier actuador lineal servirá)
  • 1 x PS-20-12 (cualquier fuente de alimentación de 12 V servirá)

Ahora que tenemos nuestros suministros, necesitaremos conectar todo. 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, una caja de control PA-27. Hacemos esto conectando cables positivos y negativos de la fuente de alimentación a los terminales BAT +/- del LC-80.

Por último, necesitamos conectar el LC-80 al LC-066, lo cual es tan sencillo como pegarlos uno encima del otro.

Foto de microcontroladores de Progressive Automations


Ahora, para que podamos obtener un control total real sobre el movimiento de nuestros actuadores, necesitaremos programar algo 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
}
Una vez completada la programación, debemos configurar los pines de nuestro LC-80 para que coincidan con lo que ingresamos en el código configurando los puentes en el LC-80. En este caso, debemos configurar el pin "Habilitar" en D13, el pin "PWMA" en D11 y el pin "PWMB" en D3. El pin Enable es lo que controla y alimenta el motor; 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í.

Con esto concluye nuestro ejemplo de cómo controlar la sincronización del movimiento de un actuador lineal. Recuerde que puede modificar el código como mejor le parezca en cuanto al control de la velocidad del actuador, tanto el tiempo de extensión y retracción como el tiempo total de su ciclo de movimiento. A continuación hemos incluido un vídeo que muestra este proceso en acción. Para el ejemplo del video, queríamos mostrar otra forma de alterar el tiempo, por lo que lo hicimos extender y retraer 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, podemos crear un sistema de control diseñado específicamente para sus requisitos personalizados con la ayuda de nuestro talentoso personal de ingenieros. 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 .