Aula 95: Usando um Escudo para Motor DC L293D | Curso de Arduino Passo a Passo

Aula 95: Usando um Escudo para Motor DC L293D | Curso de Arduino Passo a Passo

Neste tutorial, exploraremos como controlar quatro motores DC usando o escudo de motor L293D com Arduino. Esta configuração é particularmente útil para aplicações de robótica, como a construção de um carro robô, onde o controle preciso do motor é essencial. Ao final desta lição, você terá um modelo funcional que pode operar múltiplos motores simultaneamente.

O escudo de motor L293D simplifica o processo de cabeamento e permite que você controle os motores com apenas algumas conexões. Você aprenderá a conectar o escudo ao Arduino, configurar o código e executar comandos de controle do motor de forma eficaz. Para uma explicação mais visual, você pode consultar o vídeo em timestamps específicos para detalhes de cabeamento e codificação (no vídeo em mm:ss).

Hardware Explicado

O componente principal deste projeto é o escudo de motor L293D, que é um driver de motor em ponte H quádruplo. Isso significa que ele pode controlar dois motores em ambas as direções, permitindo controle total sobre a rotação do motor. O escudo conecta-se diretamente ao Arduino, facilitando a gestão de energia e sinais de controle sem fiação desorganizada.

Cada chip L293D pode suportar até 600 mA de corrente por canal e opera em tensões que variam de 4,5V a 36V. Essa faixa o torna adequado para uma variedade de motores CC. Além disso, o shield possui um jumper que permite alimentar tanto os motores quanto o Arduino a partir de uma única fonte de alimentação externa.

Detalhes da Ficha Técnica

Fabricante Texas Instruments
Número da peça L293D
Tensão lógica/IO 5 V
Tensão de alimentação 4,5 - 36 V
Corrente de saída (por canal) 600 mA
Corrente de pico (por canal) 1.2 A
Orientação sobre a frequência PWM 1 kHz - 20 kHz
Limites de lógica de entrada 2 V min (alto), 0,8 V max (baixo)
Queda de tensão / RDS(on)/ saturação 1,5 V max
Limites térmicos 150 °C
Pacote 16-DIP
Notas / variantes Configuração de Ponte H Dupla

  • Certifique-se de que os motores não excedam 600 mA para prevenir danos.
  • Use dissipadores de calor adequados para aplicações de alta corrente.
  • Conecte a fonte externa antes de ligar o Arduino.
  • Verifique a colocação do jumper para alimentar o shield e o Arduino.
  • Teste a direção do motor trocando as conexões, se necessário.

Instruções de Fiação

L293d_Shield_wiring

Comece conectando o escudo de motor L293D ao seu Arduino Uno ou Mega. Alinhe os pinos do escudo com os conectores do Arduino e pressione firmemente. Em seguida, conecte seus motores DC aos terminais identificados.M1,M2,M3, eM4no escudo. Cada motor requerirá dois terminais, então certifique-se de conectá-los corretamente para a direção correta de rotação.

Para a alimentação, conecte uma bateria externa ou uma fonte de alimentação aos terminais de entrada de energia do escudo, garantindo que a voltagem fique na faixa de 4,5V a 36V. Não se esqueça de conectar o jumper no escudo para permitir que a energia flua para o Arduino. Por fim, conecte o terra da fonte de alimentação ao pino de terra do Arduino para completar o circuito.

Instale a biblioteca necessária

clique no ícone da Biblioteca e procure por:Adafruit Motor Sheild Librarye clique em Instalar para instalá-lo.

Exemplos de Código e Passo a Passo

AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);

No código, inicializamos quatro objetos de motor:motor1,motor2,motor3, emotor4. Cada motor é atribuído a um número de canal correspondente às conexões de terminais do escudo do motor. Isso nos permite controlar cada motor individualmente.

void setup() {
  Serial.begin(9600); // set up Serial library at 9600 bps
  Serial.println("Robojax L293D Example");
}

Osetup()a função inicializa a comunicação serial, permitindo-nos enviar e receber mensagens do Arduino IDE. Isso é útil para depuração e monitoramento do processo de controle do motor.

motor1.setSpeed(speed(50)); //set speed for motor 1 at 50%
motor1.run(FORWARD); //send motor 1 to Forward rotation

Para controlar os motores, ajustamos a velocidade usando osetSpeed()método, que recebe um valor entre 0 e 255. Orun()método então inicia o motor na direção especificada, comoFORWARDouBACKWARDA velocidade pode ser ajustada dinamicamente conforme necessário.

Demonstração / O que Esperar

Uma vez que tudo esteja conectado e o código esteja carregado, você deve ver os motores girarem de acordo com os comandos no código. Inicialmente, um motor será ligado, seguido pelos outros em sequência, cada um funcionando por uma duração definida. Se os motores não operarem como esperado, verifique sua fiação, certifique-se de que o jumper está conectado e verifique se a fonte de energia é adequada (no vídeo em mm:ss).

Timestamps de Vídeo

  • 00:00 Introdução
  • 03:00 Ficha técnica para L293D
  • 03:56 Fiação explicada
  • 07:21 Código e biblioteca
  • 13:51 Demonstração controlando 4 motores

Imagens

L293D-Sheild-1
L293D-Sheild-1
L293D-Sheild-2
L293D-Sheild-2
L293D-Sheild-3
L293D-Sheild-3
L293d_sheild_main
L293d_sheild_main
L293d_Shield_wiring
L293d_Shield_wiring
439-Lesson 95: Using L293D 4 DC Motor Shield | Arduino Step-by-Step Course
Idioma: C++
Copiado!

Recursos e referências

Arquivos📁

Nenhum arquivo disponível.