Usando o L293D (ponte H) para controlar 2 motores com Arduino

L293D (ponte H)

O que é o circuito integrado L293D

O circuito integrado L293D é um controlador de 4 canais capaz de lidar com correntes em ambas as direções de até 600 mA em uma ampla faixa de tensões de 4,5 V a 36 V. É especialmente projetado para controlar relés, solenóides, motores CC, entre outros. .

Suas dimensões compactas e custo acessível tornam-no uma escolha conveniente para integração em projetos com Arduino e outras placas de desenvolvimento, oferecendo uma solução eficiente e econômica para o controle preciso de motores e dispositivos similares.

O L293D é encapsulado em um formato conhecido como DIP (Dual Inline Package), caracterizado por sua configuração retangular que possui pinos em ambos os lados do dispositivo.

Como identificar os pinos do L293D?

A correta identificação dos pinos do circuito integrado L293D é fundamental para o seu bom funcionamento. O primeiro passo é localizar o entalhe localizado em uma de suas extremidades. O pino 1 é aquele localizado à esquerda. A partir deste pino, a numeração avança no sentido anti-horário.

Quais são as funções dos pinos L293D?

Habilitar Pinos:

1.2EN: Ativa os canais 1 e 2 do controlador (lado esquerdo) quando o PIN está definido como HIGH.
3.4EN: Habilita os canais 3 e 4 do controlador (lado direito) configurando o PIN para o estado HIGH.

Entradas do controlador:

1A, 2A, 3A, 4A: Correspondem às entradas do controlador, utilizadas para receber sinais de controle do Arduino.

Saídas do controlador:

1Y, 2Y, 3Y, 4Y: Estas são as saídas do controlador para os terminais do motor.

Pinos de alimentação e aterramento:

GND: Conexão ao terra e dissipador de calor.
VCC1: Alimentação de 5V para lógica interna.
VCC2: Alimentação dos motores, faixa de 4,5 V a 36 V.

Materiais necessários para controlar 2 motores com Arduino

Para este projeto precisaremos dos seguintes materiais:

1 Arduino Nano (ou Arduino Uno)
1 circuito integrado L293D
2 motores DC de 3 a 6 V
1 placa de ensaio
4 baterias de 1,5 V.
Cabos

Conexões físicas entre o L293D, Arduino e o motor

Coloque o IC L293D em uma placa de ensaio. Conecte o pino 1 (1,2EN) ao pino 10 do Arduino e, em seguida, conecte o pino 2 (1A) ao pino 3 do Arduino. Direcione o pino 3 (1Y) até um dos terminais de um dos motores e conecte os pinos 4 e 5 ao trilho de aterramento (-) da placa de ensaio. Conecte o pino 6 (2Y) ao outro terminal do motor e conecte o pino 7 (2A) ao pino 5 do Arduino. Conecte o pino 8 (Vcc2) ao pólo positivo de uma fonte de alimentação de 6V.

Posteriormente, conecte o pino 9 (3.4EN) ao pino 11 do Arduino e o pino 10 (3A) ao pino 9 do Arduino. Direcione o pino 11 (3Y) para um dos terminais do outro motor e conecte os pinos 12 e 13 ao trilho de aterramento da placa de ensaio. Conecte o pino 14 (4Y) ao outro terminal do motor e conecte o pino 15 (4A) ao pino 6 do Arduino. Conecte o pino 16 (Vcc1) ao pino 5V do Arduino.

Como controlar a rotação de ambos os motores ao mesmo tempo

As conexões feitas atribuem os pinos 3 e 5 do Arduino para controlar a rotação do motor esquerdo, enquanto os pinos 6 e 9 ficam responsáveis ​​pelo motor direito. Ao manipular o estado dos pinos entre LOW e HIGH, você pode conseguir rotação na mesma direção, na direção oposta ou manter um funcionando enquanto o outro para.

Este nível de controle será fundamental para o nosso próximo projeto de veículo autônomo, onde a manipulação das rodas desempenha um papel crucial no gerenciamento da direção.

Código para girar ambos os motores para frente

int leftA=3;
int leftB=5;
int rightA=6;
int rightB=9;
int enable12=10;
int enable34=11;
void setup() {
pinMode(leftA, OUTPUT);
pinMode(leftB, OUTPUT);
pinMode(rightA, OUTPUT);
pinMode(rightB, OUTPUT);
pinMode(enable12,OUTPUT);
pinMode(enable34,OUTPUT);
digitalWrite(leftA, LOW);
digitalWrite(leftB, LOW);
digitalWrite(rightA, LOW);
digitalWrite(rightB, LOW);
digitalWrite(enable12,HIGH);
digitalWrite(enable34,HIGH);
}
void loop() {
digitalWrite(leftA,LOW);
digitalWrite(leftB,HIGH);
digitalWrite(rightA,HIGH);
digitalWrite(rightB,LOW);}
Rolar para cima