Em nossa última publicação "Como fazer", vamos explicar como controlar a temporização do movimento de um atuador linear usando um microcontrolador. Microcontroladores oferecem muita liberdade no controle de movimento e este é apenas um exemplo de uma quantidade quase infinita de opções de controle disponíveis. Dependendo da sua aplicação, o projeto de exemplo deste artigo pode ser ajustado para atender às suas necessidades — seja adicionando outro atuador temporizado ou reforçando a fonte de alimentação para lidar com um atuador linear mais potente, a decisão é sua.
Controle de movimento usando um microcontrolador
Usaremos um microcontrolador Arduino para controlar a temporização do movimento de um atuador linear, mas qualquer microcontrolador serve. No entanto, como estamos usando um shield, o microcontrolador precisa ser compatível. Vamos apresentar os diversos parâmetros que você pode ajustar para alterar a velocidade de um atuador linear.
O que você vai precisar
Para este exemplo, usaremos os seguintes componentes para controlar um atuador linear:
- 1 x MegaMoto Plus
- 1 x Arduino Uno Rev3
- 1 x Mini Atuador Industrial (PA-09, mas qualquer atuador linear serve)
- 1 x Fonte de alimentação (PS-20-12, mas qualquer fonte de 12 V serve)
Conectando os componentes
Agora que temos os materiais, vamos conectar tudo. Felizmente, as conexões são simples usando um shield, em vez de uma placa separada que exigiria fiação e soldagem adicionais.
Primeiro, vamos conectar nosso atuador ao nosso shield LC-80 MegaMoto Plus, conectando os dois cabos do atuador aos terminais de parafuso A/B no LC-80. Em seguida, precisamos conectar o LC-80 à nossa fonte de alimentação, neste caso, a PS-20-12. Fazemos isso conectando os cabos positivo e negativo da fonte de alimentação aos terminais BAT +/- do LC-80.
Por fim, precisamos conectar o LC-80 ao LC-066, o que é tão simples quanto encaixar um sobre o outro, como mostrado na imagem abaixo.

Ajustando o código
Para termos controle total sobre o movimento do nosso atuador, precisaremos fazer um pouco de programação de atuador linear com nossa unidade Arduino. Preparamos um código de exemplo que faz nosso atuador estender e depois retrair por 10 segundos em cada sentido, dentro de um ciclo de 300 segundos.
/Use the jumpers on the board to select which pins will be used int EnablePin1 = 13; int PWMPinA1 = 11; int PWMPinB1 = 3; int extendtime = 10 * 1000; / 10 seconds, times 1000 to convert to milliseconds int retracttime = 10 * 1000; / 10 seconds, times 1000 to convert to milliseconds int timetorun = 300 * 1000; / 300 seconds, times 1000 to convert to milliseconds int duty; int elapsedTime; boolean keepMoving; void setup() { Serial.begin(9600); pinMode(EnablePin1, OUTPUT);/Enable the board pinMode(PWMPinA1, OUTPUT); pinMode(PWMPinB1, OUTPUT);/Set motor outputs elapsedTime = 0; / Set time to 0 keepMoving = true; /The system will move }/end setup void loop() { if (keepMoving) { digitalWrite(EnablePin1, HIGH); / enable the motor pushActuator(); delay(extendtime); stopActuator(); delay(10);/small delay before retracting pullActuator(); delay(retracttime); stopActuator(); elapsedTime = millis();/how long has it been? if (elapsedTime> timetorun) {/if it's been 300 seconds, stop Serial.print("Elapsed time is over max run time. Max run time: "); Serial.println(timetorun); keepMoving = false; } }/end if }/end main loop void stopActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 0); / speed 0-255 } void pushActuator() { analogWrite(PWMPinA1, 255); analogWrite(PWMPinB1, 0); / speed 0-255 } void pullActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 255);/speed 0-255 }
É importante analisar o código, linha por linha, para entender o que está acontecendo. Assim, você pode personalizá-lo para executar muitas outras tarefas. Por enquanto, porém, a parte mais importante é a primeira seção e o loop de configuração, que se concentram em atribuir pinos e definir a velocidade do ciclo.
Você precisa configurar os pinos no nosso LC-80 para corresponder ao que está na primeira seção do código, definindo os jumpers no LC-80 ou ajustando o código. Neste caso, defina o pino "Enable" como D13, o pino "PWMA" como D11 e o pino "PWMB" como D3. O pino "Enable" controla e alimenta o motor e, sem ele, o atuador deixará de se mover e não poderá ser controlado. Os pinos “PWMA” e “PWMB” controlam a extensão e a retração do atuador. Não precisamos dos pinos "Sensor" neste exemplo, então não se preocupe em selecionar nada ali.
O controle por temporizador de um atuador linear está concluído. Você pode enviar o código para o Arduino usando o IDE deles (baixado no site da Arduino). Depois que o seu atuador linear estiver estendendo e retraindo, que tal brincar um pouco com o código? Tente ajustar o tempo de extensão/retração no código, envie-o novamente para o Arduino e veja como o atuador linear responde. Ao ajustar esses números no código, você pode controlar a velocidade e o tempo total do ciclo de movimento de acordo com a aplicação desejada.
Conclusão
Abaixo incluímos um vídeo de um atuador com temporização em ação. No exemplo do vídeo, quisemos mostrar outra maneira de alterar a temporização, então programamos para estender e retrair por 5 segundos de cada vez em um ciclo de 20 segundos.
Conforme mencionado, este é apenas um exemplo de como você pode alterar o movimento de um atuador com a ajuda dos nossos microcontroladores. Se você tiver em mente um método de controle personalizado, é possível criar um sistema de controle feito especificamente para as suas necessidades personalizadas com a ajuda da nossa talentosa equipe de engenharia. Eles vão orientá-lo durante o processo e garantir que você tenha controle total sobre suas unidades. Se quiser saber mais sobre o processo de pedido personalizado, dê uma olhada na nossa página de pedido personalizado.