Arduino - Atuador
Neste tutorial, vamos aprender:
- Como funciona um atuador linear
- Como fazer o atuador linear estender ou retrair.
- Como controlar um atuador linear usando o driver L298N e o Arduino.
- Como controlar a velocidade de um atuador linear.
Este tutorial é para atuador linear sem feedback. Se você quiser aprender sobre atuador linear com feedback, veja o tutorial Arduino - Atuador com Feedback.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Atuador Linear

Pinagem do Atuador Linear
O Atuador Linear tem dois fios:
- Fio positivo: geralmente vermelho
- Fio negativo: geralmente preto

Como Funciona
Quando você compra um atuador linear, precisa saber com qual tensão ele funciona. Vamos usar um atuador linear de 12V como exemplo.
Quando você alimenta o atuador linear de 12V com uma fonte de 12V:
- 12V e GND no fio positivo e no fio negativo, respectivamente: o atuador linear estende em velocidade máxima até atingir o limite.
- 12V e GND no fio negativo e no fio positivo, respectivamente: o atuador linear retrai em velocidade máxima até atingir o limite.
Durante a extensão ou retração, se cortarmos a alimentação do atuador (GND nos dois fios, positivo e negativo), o atuador para de estender/retrair
※ Nota:
Para motor DC, servo motor e motor de passo sem redução, ao carregar uma carga, se pararmos de alimentá-los, eles não conseguem manter a posição. Diferente desses motores, o atuador consegue manter a posição mesmo sem alimentação enquanto carrega uma carga.
Se fornecermos aos atuadores lineares uma tensão abaixo de 12V, o atuador linear ainda estende/retrai, mas não na velocidade máxima. Isso significa que, se mudarmos a tensão da fonte de alimentação, podemos mudar a velocidade do atuador linear. No entanto, este método não é usado na prática por causa da dificuldade de controlar a tensão da fonte de alimentação. Em vez disso, fixamos a tensão da fonte de alimentação e controlamos a velocidade do atuador linear por meio de um sinal PWM. Quanto maior o ciclo de trabalho (duty cycle) do PWM, maior a velocidade com que o atuador linear estende/retrai.

Como controlar um atuador linear usando Arduino
Controlar um atuador linear inclui:
- Estender o atuador linear na velocidade máxima.
- Retrair o atuador linear na velocidade máxima.
- (opcional) controlar a velocidade de extensão/retração
O Arduino pode gerar o sinal para controlar o atuador linear. Porém, esse sinal tem tensão e corrente baixas, então não podemos usá-lo para controlar o atuador linear diretamente. Precisamos usar um driver de hardware entre o Arduino e o atuador linear. O driver faz dois trabalhos:
- Amplifica o sinal de controle do Arduino (corrente e tensão)
- Recebe outro sinal de controle do Arduino para inverter a polaridade da alimentação → para controle de direção.
※ Nota:
- Este tutorial pode ser aplicado a todos os atuadores lineares. O atuador linear de 12V é apenas um exemplo.
- Quando você controla um atuador linear de 5V, embora o pino do Arduino forneça 5V (a mesma tensão do atuador linear), você ainda precisa de um driver entre o Arduino e o atuador linear, porque o pino do Arduino não fornece corrente suficiente para o atuador linear.
Existem muitos tipos de chips e módulos (por exemplo, L293D, L298N) que podem ser usados como drivers de atuador linear. Neste tutorial, vamos usar o driver L298N.
※ Nota:
Você também pode usar relés como driver. Porém, são necessários 4 relés para controlar um único atuador linear (tanto para estender quanto para retrair)
Sobre o Driver L298N
O Driver L298N pode ser usado para controlar atuador linear, motor DC e motor de passo. Neste tutorial, aprendemos a usá-lo para controlar o atuador linear.
Pinagem do Driver L298N

O Driver L298N tem dois canais, chamados canal A e canal B. Portanto, o Driver L298N pode controlar dois atuadores lineares de forma independente ao mesmo tempo. Vamos supor que o atuador linear A está conectado ao canal A e o atuador linear B está conectado ao canal B. O Driver L298N tem 13 pinos:
Os pinos comuns aos dois canais:
- Pino VCC: fornece alimentação para o atuador linear. Pode ser qualquer valor entre 5 e 35V.
- Pino GND: é um pino terra comum, precisa ser conectado ao GND (0V).
- Pino 5V: fornece alimentação para o módulo L298N. Pode ser alimentado com 5V do Arduino.
Pinos do Canal A:
- Pinos ENA: são usados para controlar a velocidade do atuador linear A. Remover o jumper e conectar este pino a uma entrada PWM nos permite controlar a velocidade de extensão/retração do atuador linear A.
- Pinos IN1 e IN2: são usados para controlar a direção de movimento de um atuador linear. Quando um deles está em HIGH e o outro em LOW, o atuador linear vai estender ou retrair. Se as duas entradas estiverem em HIGH ou ambas em LOW, o atuador linear vai parar.
- Pinos OUT1 e OUT2: são conectados ao atuador linear A.
Pinos do Canal B:
- Pinos ENB: são usados para controlar a velocidade do atuador linear B. Remover o jumper e conectar este pino a uma entrada PWM nos permite controlar a velocidade de extensão/retração do atuador linear B.
- Pinos IN3 e IN4: são usados para controlar a direção de movimento de um atuador linear. Quando um deles está em HIGH e o outro em LOW, o atuador linear vai estender ou retrair. Se as duas entradas estiverem em HIGH ou ambas em LOW, o atuador linear vai parar.
- Pinos OUT3 e OUT4: são conectados a um atuador linear.
Como descrito acima, o driver L298N tem duas entradas de alimentação:
- Uma para o atuador linear (pinos VCC e GND): de 5 a 35V.
- Uma para o funcionamento interno do módulo L298N (pinos 5V e GND): de 5 a 7V.
O driver L298N também tem três jumpers para usos avançados ou outras finalidades. Para simplificar, remova todos os jumpers do driver L298N.
Podemos controlar dois atuadores lineares de forma independente ao mesmo tempo usando um Arduino e um Driver L298N. Para controlar cada atuador linear, precisamos de apenas três pinos do Arduino.
※ Nota:
O restante deste tutorial controla um atuador linear usando o canal A. Controlar o outro atuador linear é semelhante.
Como Controlar o Atuador Linear
Vamos aprender a controlar o Atuador Linear usando o driver L298N
Diagrama de Ligação
Remova os três jumpers do módulo L298N antes de fazer a ligação.

This image is created using Fritzing. Click to enlarge image
Como Fazer o Atuador Linear Estender/Retrair
A direção de movimento de um Atuador Linear pode ser controlada aplicando um nível lógico HIGH/LOW aos pinos IN1 e IN2. A tabela abaixo mostra como controlar a direção nos dois canais.
| Pino IN1 | Pino IN2 | Direção |
|---|---|---|
| LOW | LOW | Atuador Linear A para |
| HIGH | HIGH | Atuador Linear A para |
| HIGH | LOW | Atuador Linear A estende |
| LOW | HIGH | Atuador Linear A retrai |
- Estender o Atuador Linear A
- Retrair o Atuador Linear A
※ Nota:
A direção de movimento fica invertida se os pinos OUT1 e OUT2 forem conectados aos dois pinos do atuador linear de forma invertida. Nesse caso, basta trocar os pinos OUT1 e OUT2 ou mudar o sinal de controle nos pinos IN1 e IN2 no código.
Como Parar o Atuador Linear de Estender ou Retrair
O atuador linear para automaticamente de estender/retrair quando atinge o limite. Também podemos pará-lo por programação enquanto ele ainda não atingiu o limite.
Existem duas formas de parar o atuador linear
- Controlar a velocidade para 0
- Colocar os pinos IN1 e IN2 no mesmo valor (LOW ou HIGH)
Ou:
Como Controlar a Velocidade do Atuador Linear pelo Driver L298N
É simples controlar a velocidade do atuador linear. Em vez de colocar o pino ENA em HIGH, geramos um sinal PWM no pino ENA. Podemos fazer isso assim:
- Conecte um pino do Arduino ao ENA do L298N
- Gere um sinal PWM no pino ENA usando a função analogWrite(). O Driver L298N amplifica o sinal PWM para o atuador linear
A velocidade é um valor entre 0 e 255. Se a velocidade for 0, o atuador linear para. Se a velocidade for 255, o atuador linear estende/retrai na velocidade máxima.
Código de Exemplo Arduino
O código abaixo faz:
- Estender o atuador na velocidade máxima
- Parar o atuador linear
- Retrair o atuador na velocidade máxima
- Parar o atuador linear
Passos Rápidos
- Remova os três jumpers do módulo L298N.
- Copie o código acima e abra-o na Arduino IDE
- Clique no botão Upload na Arduino IDE para carregar o código no Arduino
- Você vai ver:
- O atuador linear estende e depois para ao atingir o limite
- O atuador linear mantém a posição por um certo tempo
- O atuador linear retrai e depois para ao atingir o limite
- O atuador linear mantém a posição por um certo tempo
- O processo acima se repete continuamente.