Tutorial ESP32 15/55 - Controle de Velocidade do Motor DC com ESP32 L293D | Kit de Aprendizagem IoT ESP32 da SunFounder

Tutorial ESP32 15/55 - Controle de Velocidade do Motor DC com ESP32 L293D | Kit de Aprendizagem IoT ESP32 da SunFounder

Tutorial ESP32 15/55 - Controle de Velocidade do Motor CC com ESP32 L293D | Kit de Aprendizado IoT da SunFounder

Controlar um motor DC com um ESP32 pode parecer intimidante, mas é bem gerenciável com os componentes e o entendimento corretos. Neste tutorial, vamos construir um projeto que nos permitirá controlar a velocidade e a direção de um motor DC usando o driver de motor L293D. Ao final, você terá uma configuração funcional que pode girar o motor para frente e para trás enquanto ajusta sua velocidade. Para uma referência visual, certifique-se de assistir ao vídeo em (no vídeo em 00:00).

ESP32-15_L293D_esquema_do_motor

Hardware Explicado

Os principais componentes deste projeto incluem o microcontrolador ESP32 e o driver de motor L293D. O ESP32 é um microcontrolador poderoso com capacidades embutidas de Wi-Fi e Bluetooth, tornando-o adequado para aplicações de IoT. Ele pode controlar vários componentes de hardware, incluindo motores, por meio de seus pinos GPIO. O L293D é um driver de motor H-bridge duplo que permite controlar a direção e a velocidade de dois motores DC. Cada H-bridge pode acionar um motor em qualquer direção, invertendo a polaridade da tensão aplicada aos terminais do motor. Além disso, o L293D pode suportar uma corrente de até 600 mA por canal, tornando-o adequado para motores de pequeno a médio porte.

L293D-Controlador-de-Motor-IC

Detalhes da Ficha Técnica

Fabricante Texas Instruments
Número da peça L293D
Tensão de lógica/IO 2,5 - 7 V
Tensão de alimentação 4.5 - 36 V
Corrente de saída (por canal) 600 mA (típ.)
Corrente de pico (por canal) 1,2 A (máx)
Orientação sobre a frequência PWM 20 kHz (típ.)
Limiares de lógica de entrada 0,8 V (alto), 2,0 V (baixo)
Queda de tensão / RDS(on)/ saturação 1,5 V (máx)
Limites térmicos 150 °C (máx)
Pacote 16-DIP
Notas / variantes Condutor meio-H quádruplo

  • Garanta o resfriamento adequado para aplicações de alta corrente.
  • Desacople a fonte de energia com capacitores para prevenir picos de tensão.
  • Tenha cuidado ao fazer a fiação para evitar polaridade invertida.
  • Use PWM para controle de velocidade para evitar superaquecimento.
  • Verifique a tensão nominal do motor para evitar danos.

Instruções de Fiação

ESP32-15_L293D_motor_wiring

Para ligar o ESP32 e o driver de motor L293D, comece conectando a fonte de alimentação. Conecte o pino 16 do L293D ao terminal positivo da sua fonte de alimentação e o pino 4 ao terra. Em seguida, conecte o motor: um terminal ao pino 3 e o outro ao pino 6 do L293D. Para os sinais de controle, conecte o pino GPIO 13 do ESP32 ao pino 2 do L293D e o pino GPIO 14 ao pino 7. Finalmente, certifique-se de conectar o terra do ESP32 ao terra do L293D para garantir uma referência comum. Se o vídeo mencionar uma fiação alternativa (no vídeo às 05:00), certifique-se de seguir as alterações específicas mostradas.

Exemplos de Código e Tutorial

O código para controlar o motor consiste em definir os pinos para o motor e configurar seus modos. Aqui está um trecho da função de configuração:

#define motor1A 13
#define motor2A 14

void setup() {
  pinMode(motor1A, OUTPUT);
  pinMode(motor2A, OUTPUT);  
}

Neste trecho, definimos os pinos de controle do motor como constantes e os configuramos como saídas na função de configuração. Isso é crucial, pois prepara os pinos para controlar o motor. A função de loop é onde o comportamento do motor é controlado. Aqui está uma parte chave do loop:

void loop() {
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(2000); 

  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, HIGH);    
  delay(2000); 

  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(3000);
}

Este código faz o motor girar em uma direção por 2 segundos, depois inverte a direção por mais 2 segundos e, finalmente, para o motor por 3 segundos. Este loop irá se repetir indefinidamente, permitindo um controle contínuo. Para obter informações mais detalhadas e o código completo, consulte o programa completo que é carregado abaixo do artigo.

Demonstração / O que Esperar

Após conectar e enviar o código com sucesso, você deve ver o motor girar em uma direção por 2 segundos, mudar de direção por mais 2 segundos e depois parar por 3 segundos. Se o motor não responder conforme o esperado, verifique armadilhas comuns, como polaridade invertida ou conexões de pinos incorretas (no vídeo às 08:00). Esta configuração oferece uma maneira simples de controlar a velocidade e a direção de um motor CC usando o ESP32 e o L293D.

Marcas de Tempo do Vídeo

  • 00:00 Iniciar
  • 2:01 Introdução ao motor CC
  • 6:14 L293D Driver de motor
  • 9:17 Documentos do Projeto.
  • 11:04 Explicação da Fiação
  • 14:41 Controle de motor Arduino com ESP32
  • 17:10 Selecionando portas Arduino para placa ESP32
  • 18:52 Demonstração do projeto
  • 22:08 Controle de Velocidade do Motor usando ESP32
  • 26:22 Demonstração de Controle de Velocidade
  • 28:01 Código Arduino para controle de velocidade e direção
  • 29:05 Demonstração de Velocidade e Direção

Imagens

L293D-Motor-Driver-IC
L293D-Motor-Driver-IC
ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_wiring
ESP32-15_L293D_motor_wiring
814-ESP32 Tutorial 15/55- Arduino code for L293D motor control
Idioma: C++
Copiado!

Coisas que você pode precisar

Recursos e referências

Arquivos📁

Folha de dados (pdf)