Arduino Nano - Atuador

Este tutorial ensina como usar o Arduino Nano para controlar um Atuador Linear. Em detalhes, vamos aprender:

Existem dois tipos de atuadores lineares:

Este tutorial é para atuador linear sem feedback. Se você quer saber mais sobre o atuador linear com feedback, consulte o tutorial Arduino Nano - Atuador com Feedback.

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×Atuador Linear
1×L298N Motor Driver Module
1×Fonte de Alimentação 12V
1×Conector de Alimentação DC
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Atuador Linear

Linear Actuator Extend Retract

Pinagem do Atuador Linear

Um Atuador Linear normalmente tem dois fios:

  • O fio Positivo geralmente é vermelho
  • O fio Negativo geralmente é preto
Linear Actuator pinout

Como Funciona

Ao comprar um atuador linear, é essencial saber qual é a tensão exigida. Por exemplo, vamos considerar um atuador linear de 12V.

Quando você alimenta o atuador linear de 12V com uma fonte de 12V:

  • Conecte 12V ao fio positivo e GND ao fio negativo: o atuador linear estende em velocidade máxima até chegar ao limite.
  • Conecte 12V ao fio negativo e GND ao fio positivo: o atuador linear retrai em velocidade máxima até chegar ao limite.

Quando a energia é cortada do atuador enquanto ele está estendendo ou retraindo, o movimento para.

※ Nota:

Em motores DC, servo motores e motores de passo sem redução, quando há uma carga, se a energia for cortada, eles não conseguem manter a posição. Em contraste, um atuador consegue manter a posição mesmo quando a energia não é mais fornecida enquanto ele está carregando uma carga.

Se a tensão da fonte de alimentação de um atuador linear for menor que 12V, o atuador linear ainda vai estender e retrair, mas não na velocidade máxima. Mudar a tensão da fonte de alimentação pode alterar a velocidade do atuador linear, mas esse método normalmente não é usado pela dificuldade de controlar a tensão. Uma abordagem mais prática é manter fixa a tensão da fonte de alimentação e controlar a velocidade do atuador linear usando um sinal PWM. Quanto maior o ciclo de trabalho (duty cycle) do PWM, mais rápido o atuador linear vai estender e retrair.

How to control linear actuator

Como controlar um atuador linear usando o Arduino Nano

Controlar um atuador linear envolve:

  • Estender o atuador linear na velocidade mais alta.
  • Retrair o atuador linear na velocidade mais alta.
  • (Opcional) Regular a velocidade de extensão/retração.

O Arduino Nano consegue gerar um sinal para controlar o atuador linear, mas ele tem baixa tensão e baixa corrente. Por isso, é necessário colocar um driver de hardware entre o Arduino Nano e o atuador linear para:

  • Amplificar o sinal de controle do Arduino Nano
  • Receber outro sinal de controle do Arduino Nano para inverter a polaridade da fonte de alimentação e controlar a direção.

※ Nota:

  • Este tutorial pode ser usado com qualquer tipo de atuador linear. O atuador linear de 12V é apenas um exemplo.
  • Ao controlar um atuador linear de 5V, mesmo que o pino do Arduino Nano forneça 5V (a mesma tensão do atuador linear), um driver ainda é necessário entre o Arduino Nano e o atuador linear, porque o pino do Arduino Nano não fornece corrente suficiente para o atuador linear.

Existem vários tipos de chips e módulos, como L293D e L298N, que podem ser usados como drivers de atuador linear. Neste tutorial, vamos utilizar o driver L298N.

※ Nota:

Você também pode usar relés como driver. No entanto, são necessários quatro relés para controlar um único atuador linear (estender e retrair).

Sobre o Driver L298N

O Driver L298N pode ser utilizado para regular um atuador linear, um motor DC e um motor de passo. Este tutorial ensina como usá-lo para controlar um atuador linear.

Pinagem do Driver L298N

L298N Driver pinout

O Driver L298N tem dois canais, identificados como A e B. Isso permite controlar dois atuadores lineares de forma independente e ao mesmo tempo. Suponha que o atuador linear A esteja conectado ao canal A e o atuador linear B esteja conectado ao canal B. O Driver L298N tem 13 pinos no total.

Os pinos comuns aos dois canais:

  • Pino VCC: Este pino fornece energia para o atuador linear e pode ir de 5 a 35V.
  • Pino GND: Este é um pino de terra comum e deve ser conectado a 0V (GND).
  • Pino 5V: Este pino fornece energia para o módulo L298N e pode ser alimentado com 5V de um Arduino Nano.

Pinos do canal A:

  • Pinos ENA: Esses pinos são usados para ajustar a velocidade do atuador linear A. Removendo o jumper e conectando este pino a uma entrada PWM, podemos controlar a velocidade de extensão/retração do atuador linear A.
  • Pinos IN1 e IN2: Esses pinos são usados para determinar 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 as duas em LOW, o atuador linear vai parar o movimento.
  • Pinos OUT1 e OUT2: Esses pinos são conectados ao atuador linear A.

Pinos do canal B:

  • Pinos ENB: Eles são usados para controlar a velocidade do atuador linear B. Removendo o jumper e conectando este pino a uma entrada PWM, podemos ajustar a velocidade de extensão/retração do atuador linear B.
  • Pinos IN3 e IN4: Esses pinos são utilizados para controlar a direção de um atuador linear. Quando um deles é colocado em HIGH e o outro em LOW, o atuador linear vai estender ou retrair. Se as duas entradas estiverem em HIGH ou as duas em LOW, o atuador linear vai parar de se mover.
  • Pinos OUT3 e OUT4: Esses pinos são conectados a um atuador linear.

O driver L298N tem duas entradas de alimentação:

  • Uma para o atuador linear (pinos VCC e GND) com faixa de tensão de 5 a 35V.
  • Uma para a operação interna do módulo L298N (pinos 5V e GND) com faixa de tensão de 5 a 7V.

Remova todos os jumpers do driver L298N para simplificar.

Podemos gerenciar dois atuadores lineares separadamente e ao mesmo tempo utilizando um Arduino Nano e um Driver L298N. Para controlar cada atuador linear, precisamos de apenas três pinos do Arduino Nano.

※ Nota:

O restante deste tutorial vai se concentrar no controle de um atuador linear usando o canal A. Controlar o outro atuador linear é parecido.

Como Controlar o Atuador Linear

Este tutorial ensina como gerenciar um Atuador Linear usando um driver L298N e o Arduino Nano.

Diagrama de Ligação

Retire os três jumpers do módulo L298N antes de conectar os fios.

The wiring diagram between Arduino Nano and Linear Actuator L298N Driver

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Nano e outros componentes.

Como Fazer o Atuador Linear Estender/Retrair

A direção de movimento do Atuador Linear pode ser gerenciada fornecendo um nível lógico HIGH/LOW aos pinos IN1 e IN2. A tabela abaixo explica como controlar a direção nos dois canais.

Pino IN1 Pino IN2 Direção
LOW LOW O Atuador Linear A para
HIGH HIGH O Atuador Linear A para
HIGH LOW O Atuador Linear A estende
LOW HIGH O Atuador Linear A retrai
  • Aumente o comprimento do Atuador Linear A.
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW);
  • Inverta o Atuador Linear A
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH);

※ Nota:

A orientação do atuador linear pode ser invertida conectando os pinos OUT1 e OUT2 a dois pinos do atuador em outra ordem. Para fazer isso, é necessário trocar os pinos OUT1 e OUT2 ou alterar o sinal de controle nos pinos IN1 e IN2 no código.

Como Impedir o Atuador Linear de Estender ou Retrair

O atuador linear vai parar de estender/retrair quando chegar ao limite. Além disso, podemos programá-lo para parar de estender/retrair antes de chegar ao limite.

  • Corte a energia

Existem dois métodos para parar o atuador linear:

  • Reduzir a velocidade a 0
  • Desconectar a fonte de alimentação
analogWrite(ENA_PIN, 0);
  • Define os pinos IN1 e IN2 com o mesmo valor, LOW ou HIGH.
digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, LOW);
  • Ou
digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, HIGH);

Como Controlar a Velocidade do Atuador Linear pelo Driver L298N

É fácil gerenciar a velocidade do atuador linear. Em vez de colocar o pino ENA em HIGH, podemos criar um sinal PWM no pino ENA. Isso pode ser feito:

  • Ligando um pino do Arduino Nano ao ENA do L298N
  • Utilizando a função analogWrite() para gerar um sinal PWM no pino ENA. O Driver L298N vai amplificar o sinal PWM para o atuador linear.
analogWrite(ENA_PIN, speed); // speed is a value from 0 to 255

A velocidade varia de 0 a 255. Se a velocidade for 0, o atuador linear para o movimento. Quando a velocidade é 255, o atuador linear estende/retrai na velocidade mais alta.

Código de Exemplo do Arduino Nano

O código:

  • Aumenta o atuador linear até a velocidade máxima
  • Para o atuador linear
  • Diminui o atuador linear até a velocidade máxima
  • Para o atuador linear
/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-actuator */ const int ENA_PIN = 7; // The Arduino Nano pin connected to the EN1 pin L298N const int IN1_PIN = 6; // The Arduino Nano pin connected to the IN1 pin L298N const int IN2_PIN = 5; // The Arduino Nano pin connected to the IN2 pin L298N // The setup function runs once on reset or power-up void setup() { // initialize digital pins as outputs. pinMode(ENA_PIN, OUTPUT); pinMode(IN1_PIN, OUTPUT); pinMode(IN2_PIN, OUTPUT); digitalWrite(ENA_PIN, HIGH); } // The loop function repeats indefinitely void loop() { // extend the actuator digitalWrite(IN1_PIN, HIGH); digitalWrite(IN2_PIN, LOW); delay(20000); // actuator will stop extending automatically when reaching the limit // retracts the actuator digitalWrite(IN1_PIN, LOW); digitalWrite(IN2_PIN, HIGH); delay(20000); // actuator will stop retracting automatically when reaching the limit }

Passos Rápidos

Retire os três jumpers do módulo L298N.

Copie o código e abra-o no Arduino IDE.

Clique no botão Upload no Arduino IDE para fazer o upload do código para o Arduino Nano.

Você vai observar:

  • O atuador linear vai estender até chegar ao limite e depois vai parar.
  • O atuador linear vai ficar nessa posição por um certo tempo.
  • O atuador linear vai então retrair até chegar ao limite e depois vai parar.
  • O atuador linear vai ficar nessa posição por um certo tempo.
  • Esse processo vai se repetir.

Vídeo

Referências de Funções

Tutoriais Relacionados

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!