ESP32 com Encoder e TB6612FNG: Controle de Velocidade e Leitura de RPM do Motor N20
Encoder, DRV8833 e TB6612FNG: Entenda a Evolução do Nosso Robô com ESP32
Introdução
Em um projeto anterior, utilizamos um robô de duas rodas baseado em ESP32, motores N20 de 50 RPM sem encoder e o driver DRV8833. Essa configuração foi excelente para aprender os conceitos básicos de acionamento de motores e movimentação de robôs.
Agora vamos dar um passo adiante.
O projeto foi atualizado com motores N20 de 750 RPM equipados com encoder e um novo driver, o TB6612FNG. Essa mudança não apenas aumenta a velocidade do robô, mas também abre caminho para projetos mais avançados, como controle preciso de velocidade, navegação autônoma e até robôs equilibristas.
Neste artigo vamos entender o que mudou e por que essa evolução faz sentido.
Como o Encoder Funciona?
Imagine uma roda com várias marcas igualmente espaçadas.
Sempre que uma dessas marcas passa diante do sensor, um pulso elétrico é gerado.
Quanto mais rápido o motor gira:
- Mais marcas passam pelo sensor.
- Mais pulsos são gerados.
- Maior será a frequência dos pulsos.
O ESP32 simplesmente conta quantos pulsos chegam durante um intervalo de tempo.
Por exemplo:
- 100 pulsos em 1 segundo
- 200 pulsos em 1 segundo
- 500 pulsos em 1 segundo
Quanto maior o número de pulsos por segundo, maior a velocidade do motor.
Encoder Óptico e Magnético
Existem dois tipos principais de encoder.
Encoder Óptico
Utiliza um LED infravermelho e um fotossensor.
Entre eles existe um disco com furos.
Quando um furo passa pelo feixe de luz, o sensor detecta a passagem e gera um pulso.
Vantagens:
- Alta precisão
- Boa resolução
Desvantagens:
- Sensível à poeira e sujeira
Encoder Magnético
Utiliza ímãs e sensores magnéticos.
Cada vez que o campo magnético muda, um pulso é produzido.
Vantagens:
- Mais resistente
- Menor desgaste
Desvantagens:
- Geralmente possui resolução menor
O Encoder dos Motores N20
Nos motores N20 mais comuns para robótica, o encoder fica instalado na parte traseira do motor.
Ele normalmente possui:
- Alimentação VCC
- GND
- Canal A
- Canal B
Os canais A e B produzem sinais digitais que podem ser lidos pelo ESP32.
O Que São os Canais A e B?
Os encoders mais modernos utilizam dois canais.
Esses canais geram pulsos ligeiramente defasados.
Essa diferença permite descobrir:
- Quantos pulsos ocorreram
- Qual a direção da rotação
Por exemplo:
Se o Canal A mudar antes do Canal B, o motor está girando para frente.
Se o Canal B mudar antes do Canal A, o motor está girando para trás.
Esse sistema é chamado de Encoder em Quadratura.
Como os Pulsos do Encoder Representam o Movimento?
Uma dúvida muito comum é pensar que cada pulso do encoder representa uma volta completa do motor.
Na prática, isso normalmente não acontece.
O encoder gera vários pulsos durante uma única volta do eixo. A quantidade de pulsos depende da construção do encoder e determina sua precisão.
Por exemplo:
- Encoder com 1 marca: 1 volta = 1 pulso
- Encoder com 7 marcas: 1 volta = 7 pulsos
- Encoder com 20 marcas: 1 volta = 20 pulsos
Isso significa que, quanto mais pulsos o encoder gerar por volta, mais precisamente será possível medir velocidade e posição.
Imagine um encoder que gere 7 pulsos por volta.
Quando o motor completar uma volta, o ESP32 receberá 7 pulsos.
Após duas voltas, serão 14 pulsos.
Após dez voltas, serão 70 pulsos.
Contando esses pulsos ao longo do tempo, o microcontrolador consegue calcular a velocidade do motor com grande precisão.
Por Que Isso é Importante?
Se o encoder gerasse apenas um pulso por volta, a medição seria menos precisa.
Ao gerar vários pulsos durante uma única rotação, o sistema consegue acompanhar pequenas variações de velocidade quase em tempo real.
Por isso os encoders são fundamentais em aplicações como:
- Robôs equilibristas
- Controle PID
- Carrinhos autônomos
- Braços robóticos
- Tacômetros digitais
Em resumo, o encoder funciona como um "contador de movimento", enviando informações contínuas para que o ESP32 saiba exatamente o que o motor está fazendo.
Suponha que seu encoder gere:
- 7 pulsos por volta do eixo do motor
E você conte:
- 350 pulsos em 1 segundo
Primeiro calculamos as rotações por segundo:
350 ÷ 7 = 50 voltas por segundo
Agora convertemos para RPM:
50 × 60 = 3000 RPM
Portanto:
RPM = (Pulsos por Segundo ÷ Pulsos por Volta) × 60
É exatamente essa fórmula que usamos em projetos com ESP32 para criar tacômetros digitais.
Por Que a Caixa de Redução Influencia?
Muitos motores N20 possuem uma caixa de redução.
O encoder geralmente mede a rotação do motor antes da redução.
Isso significa que:
- O motor pode girar a milhares de RPM.
- O eixo de saída gira muito mais devagar.
Por exemplo:
Motor interno: 3000 RPM
Redução: 30:1
Velocidade no eixo de saída:
3000 ÷ 30 = 100 RPM
Por isso é importante conhecer a relação de redução do motor ao calcular a velocidade real do eixo.
Aplicações Práticas
Os encoders estão presentes em diversos projetos:
Robôs Equilibristas
Permitem medir a velocidade das rodas e corrigir o equilíbrio.
Carrinhos Autônomos
Ajudam a calcular a distância percorrida.
Braços Robóticos
Permitem posicionamento preciso dos motores.
Tacômetros Digitais
Mostram RPM em displays OLED ou LCD.
Controle PID
Fornecem o feedback necessário para controlar velocidade e posição.
Vantagens do Uso de Encoders
Entre os principais benefícios estão:
- Medição precisa de velocidade
- Controle de posição
- Controle de distância
- Melhor resposta em sistemas PID
- Maior precisão em robótica
Sem um encoder, o microcontrolador apenas envia energia ao motor, sem saber o que realmente está acontecendo.
Com o encoder, o sistema passa a receber informações em tempo real sobre o movimento.
Exemplo simples
Imagine uma bicicleta.
Sem velocímetro você sabe que está pedalando, mas não sabe sua velocidade.
Com velocímetro você consegue medir exatamente a velocidade.
O encoder funciona como um velocímetro para o motor.
Projeto Anterior
Componentes
ESP32
Driver DRV8833
Motores N20 50 RPM
Sem encoder
Vantagens
Simples de montar
Baixo custo
Ideal para iniciantes
Pouca programação
Limitações
O ESP32 apenas enviava comandos ao motor.
Ele não sabia:
Se o motor realmente estava girando
Qual era sua velocidade
Se uma roda girava mais que a outra
Na prática era um sistema sem realimentação.
Novo Projeto
Componentes
ESP32
Driver TB6612FNG
Motores N20 750 RPM
Encoder integrado
Display OLED
Agora o ESP32 consegue:
Controlar os motores
Ler o encoder
Calcular RPM
Exibir informações em tempo real
Isso transforma o robô em um sistema muito mais inteligente.
DRV8833 vs TB6612FNG
Uma dúvida comum é:
Se o DRV8833 funcionava, por que trocar?
A resposta está na evolução do projeto.
DRV8833
O DRV8833 é um dos drivers mais populares para pequenos robôs.
Pontos positivos
✓ Compacto
✓ Fácil de usar
✓ Baixo consumo
✓ Excelente para motores pequenos
✓ Ótimo para iniciantes
Quando usar?
Carrinhos simples
Seguidor de linha básico
Projetos educacionais
Motores N20 de baixa velocidade
Primeiros projetos com ESP32
TB6612FNG
Pontos positivos
✓ Alta eficiência
✓ Menor aquecimento
✓ Excelente resposta PWM
✓ Muito utilizado em robôs móveis
✓ Ideal para projetos com encoder
✓ Excelente para futuras implementações de PID
Quando usar?
Robôs com encoder
Controle de velocidade
Robôs autônomos
Projetos avançados
Robôs equilibristas
Comparativo Rápido
| Característica | DRV8833 | TB6612FNG |
|---|---|---|
| Facilidade | Excelente | Excelente |
| Projetos iniciantes | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Projetos avançados | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Encoder | Sim | Sim |
| PWM | Bom | Excelente |
| Robô Equilibrista | Limitado | Recomendado |
| Eficiência | Boa | Excelente |
Por que trocar um N20 de 50 RPM por um N20 de 750 RPM?
Essa foi outra grande mudança do projeto.
Motor de 50 RPM
Vantagens:
Fácil de controlar
Mais torque
Movimento suave
Desvantagens:
Muito lento
Pouca agilidade
Ideal para:
Demonstrações
Plataformas lentas
Projetos educacionais básicos
Motor de 750 RPM com Encoder
Vantagens:
Muito mais rápido
Resposta dinâmica
Permite medir RPM
Melhor para experimentos avançados
Desvantagens:
Exige mais controle
Necessita encoder para aproveitar seu potencial
Ideal para:
Controle de velocidade
Navegação
PID
Robô Equilibrista
O que mudou na prática?
Antes:
ESP32 → Driver → Motor
Agora:
ESP32 → Driver → Motor com Encoder
ESP32 ← Encoder
O microcontrolador passou a receber informações do motor em tempo real.
Essa comunicação é o primeiro passo para sistemas inteligentes de controle.
Próximos Passos
Com os motores de 750 RPM e encoder, várias possibilidades se tornam viáveis:
Controle automático de velocidade
Controle PID
Odometria
Navegação autônoma
Robôs seguidores de trajetória
Robôs equilibristas
Conclusão
A troca dos motores N20 de 50 RPM sem encoder por motores N20 de 750 RPM com encoder representa uma grande evolução no projeto.
Da mesma forma, a substituição do DRV8833 pelo TB6612FNG prepara a plataforma para aplicações mais avançadas.
Se o objetivo é aprender robótica desde os conceitos básicos até sistemas inteligentes de controle, essa combinação de ESP32, TB6612FNG e motores N20 com encoder é um excelente caminho para evoluir seus projetos.
🔧 Acompanhe o RodRobot
Projetos maker com ESP32, Arduino, eletrônica e programação.
RodRobot – Projetos maker, eletrônica e programação na prática.




Comentários
Postar um comentário