ESP32 - Atuador com Feedback
Em um tutorial anterior, aprendemos sobre o atuador linear sem feedback. Neste tutorial, vamos aprender sobre o atuador linear com feedback (também chamado de atuador linear de feedback). O feedback do atuador linear fornece as informações para identificar a posição do seu curso e, assim, controlar a posição. Em detalhes, vamos aprender:
- Como um atuador linear com feedback funciona
- Como encontrar a posição do atuador linear com feedback (em milímetros)
- Como controlar a posição de um atuador linear
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Atuador Linear com Feedback
Um atuador linear com feedback é um atuador linear que possui um sinal de feedback que permite identificar sua posição e controlá-la. O feedback é um potenciômetro que fornece um valor de tensão proporcional à posição do curso.
Pinagem do Atuador Linear com Feedback
Um atuador linear com feedback possui 5 fios:
- Fio positivo do atuador: este fio é usado para controlar o atuador linear usando alta tensão (12V, 24V, 48V...).
- Fio negativo do atuador: este fio é usado para controlar o atuador linear usando alta tensão (12V, 24V, 48V...).
- Fio 5V: este fio é usado para o potenciômetro de feedback. Conecte este fio ao 5V ou 3.3V
- Fio GND: este fio é usado para o potenciômetro de feedback. Conecte este fio ao GND
- Fio do potenciômetro: (também chamado de fio de feedback, ou fio de saída) este fio fornece um valor de tensão proporcional à posição do curso.

Como Funciona
Se fornecermos alta tensão aos fios positivo e negativo, o curso do atuador será estendido ou retraído. Em detalhes, se conectarmos:
- 12V (12V, 24V, 48V...) e GND no fio positivo e no fio negativo, respectivamente: o atuador linear estende em velocidade máxima até atingir o limite.
- 12V (12V, 24V, 48V...) 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 fios positivo e negativo), o atuador para de estender/retrair
※ Nota:
- O valor de tensão para controlar o atuador depende da especificação do atuador. Leia o datasheet ou o manual para saber o valor de tensão correspondente.
- O atuador consegue manter a posição mesmo quando a alimentação é cortada enquanto ele carrega uma carga.
O valor de tensão no fio do potenciômetro é proporcional à posição do curso no atuador. Medindo essa tensão, podemos saber a posição do curso.
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
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
Como controlar a extensão/retração de um atuador linear
Veja o tutorial ESP32 - Atuador
Como encontrar a posição do atuador linear
A seguir mostramos como identificar a posição do curso em um atuador linear.
Calibração
- Identifique o comprimento do curso do atuador (em milímetros) medindo (com uma régua) ou lendo o datasheet
- Identifique os valores de saída quando o atuador linear está totalmente estendido e totalmente retraído executando o código abaixo
- Você verá o log no Serial Monitor como no exemplo abaixo
- Anote esses valores
- Se os valores mínimo/máximo estiverem trocados, troque IN1_PIN e IN2_PIN
Código ESP32 que calcula a posição do atuador
- Atualize os três valores calibrados no código
- Faça o upload do código para o ESP32
- Veja o resultado no Serial Monitor
Como controlar um atuador linear para uma posição específica
※ Nota:
Este tutorial usa a função analogRead() para ler valores de um ADC (Conversor Analógico-Digital) conectado a um potenciômetro. O ADC do ESP32 é bom para projetos que NÃO precisam de alta precisão. Porém, para projetos que precisam de medições precisas, observe:
- O ADC do ESP32 não é perfeitamente preciso e pode precisar de calibração para obter resultados corretos. Cada placa ESP32 pode ser um pouco diferente, então você precisa calibrar o ADC de cada placa individualmente.
- A calibração pode ser difícil, especialmente para iniciantes, e nem sempre pode fornecer os resultados exatos que você deseja.
Para projetos que precisam de alta precisão, considere usar um ADC externo (ex.: ADS1115) com o ESP32 ou usar um Arduino, que possui um ADC mais confiável. Se ainda assim quiser calibrar o ADC do ESP32, consulte o ESP32 ADC Calibration Driver