Controlando um motor DC usando um driver de motor L293D com PWM Arduino
Este projeto demonstra como controlar a velocidade e a direção de um motor DC usando um chip driver de motor L293D e as capacidades de Modulação por Largura de Pulso (PWM) do Arduino. Esta configuração permite um controle preciso do motor, tornando-a adequada para uma variedade de aplicações.
Aqui estão algumas ideias de projetos usando esta configuração:
- Robótica:Controle o movimento das rodas de um pequeno robô.
- Dispositivos automatizados:Crie cortinas, persianas ou uma pequena esteira transportadora automáticas.
- Controle do ventilador:Ajuste a velocidade de um ventilador de refrigeração com base nas leituras de temperatura.
- Rastreadores solares:Posicione pequenos painéis solares para seguir o sol ao longo do dia.
Hardware/Componentes
- Arduino Uno (ou placa compatível)
- IC de Driver de Motor L293D
- Motor CC (classificado para os limites de tensão e corrente do L293D, até 600mA)
- Fonte de Alimentação de 9V (para o motor)
- Fios de conexão
- Placa de protótipos (recomendado)
Guia de Fiação
O chip L293D atua como uma interface entre o Arduino e o motor DC. Ele permite que o Arduino controle tanto a velocidade quanto a direção do motor. O chip requer uma fonte de alimentação separada para o motor porque o Arduino não pode fornecer corrente suficiente para a maioria dos motores. (no vídeo em 04:04)
%%FAROLAMENTO%%
Explicação do Código
O código do Arduino controla o driver L293D, que por sua vez controla o motor DC. O código usa PWM para variar a velocidade do motor e sinais digitais para mudar a direção.
Aqui estão os principais parâmetros configuráveis no código:
#define P1A 10 // Arduino pin connected to L293D input 1A
#define P2A 11 // Arduino pin connected to L293D input 2A
#define EN12 9 // Arduino pin connected to L293D enable pin (1,2EN)
const int speedStep = 15; // Increment for speed changes
const int speedDelay = 1000; // Delay between speed steps (in milliseconds)
OL293D()a função controla a direção e a velocidade do motor. 'L' ajusta o motor para girar no sentido horário, 'R' ajusta-o para o sentido anti-horário. Ospdo parâmetro controla a velocidade (0-255) eenativa (1) ou desativa (0) o motor. (no vídeo às 09:24)
void L293D(char dir,int spd, int en)
{
if(dir =='L') // Clockwise rotation
{
// ...
analogWrite(P1A,spd); // Set speed using PWM
digitalWrite(P2A,LOW);
}else{ // Counter-clockwise rotation
// ...
digitalWrite(P1A,LOW);
analogWrite(P2A,spd); // Set speed using PWM
}
}
Projeto ao Vivo/Demonstração
O vídeo demonstra o projeto em ação, mostrando as mudanças de velocidade e direção do motor. As leituras do osciloscópio visualizam os sinais PWM que controlam o motor. (no vídeo às 11:07)
Capítulos
- [00:00] Introdução ao Controle de Motor DC com L293D
- [00:30] Demonstração e Explicação do Projeto
- [01:12] Visão geral do driver de motor L293D
- [02:08] Especificações do Motor CC
- [02:30] Explicação do Datasheet L293D
- [04:40] Explicação e Demonstração da Fiação
- [07:05] Explicação do Código Arduino
- [11:07] Demonstração do Projeto e Leituras do Osciloscópio
Recursos e referências
Arquivos📁
Nenhum arquivo disponível.