Conectando Driver de Motor L293D a Motor DC com Arduino – Guia Passo a Passo
Suponha que você pretenda projetar um robô ou carrinho de brinquedo, o conhecimento sobre motores é fundamental. Uma maneira muito custo-efetiva e fácil de controlar estes motores é usar um shield driver de motor L293D. Melhor ainda, use-o em interface com um microcontrolador como Arduino.
Entre os outros, o driver de motor L293D é um dos chipsets mais populares de seu tipo. Mais ainda, por suas diversas aplicações em construções eletrônicas como servos, steppers e motores DC. No entanto, seu atributo crucial parece ser seu controle de direção e velocidade em dois motores DC independentes. E é isso que você aprende mais adiante neste instructable.
1. O que é o Driver de Motor L293D?
Este chipset de 16 pinos é um driver H-bridge de dois canais para motores. Frequentemente, sua função primária é como interface de controle para pares de motores DC ou em um único motor stepper.
Por padrão, o shield driver de motor L293D vem em pares. Portanto, é capaz de acionar quatro motores DC. Por essa razão, o chipset L293D é um ativo valioso em robôs de quatro rodas.
No total, o shield fornece quatro H-bridges. Portanto, cada H-bridge entrega uma corrente de motor de 0,6A. Também, o registrador de deslocamento 74HC595 é uma característica da segurança. Este registrador, como resultado, estende os oito pinos de controle do CI dual L293D para os pinos de quatro dígitos do Arduino.
2. Características do Driver de Motor L293D
Algumas características que tornam o driver de motor L293D um componente tão bom em projetos CNC e robôs incluem:
- Permite controlar a direção e níveis de velocidade no dispositivo aplicado.
- Mais interessante, o driver possibilita rodar dois motores DC duais similares.
- A tensão do motor, Vs. (Vcc2) está entre 4,5V e 36V.
- Também, sua corrente contínua máxima do motor é 600mA.
- Por outro lado, a corrente de pico máxima do motor é 1,2A.
- A tensão de alimentação Vss(Vcc1) varia entre 4,5V e 7V.
- Tempo de transição está em 300ns entre 5V a 24V, no máximo.
- Por ativação térmica, é possível engajar desligamento automático.
- Finalmente, o CI está disponível em encapsulamentos SOIC, DIP e TSSOP.
3. Configuração de Pinos de Saída do Shield L293D
| Número do Pino | Nome do Pino | Descrição do Pino |
|---|---|---|
| 1 | Enable 1,2 | Este terminal ativa os pinos de entrada: Input 1(2) e Input 2(7). |
| 2 | Input Pin 1 | Funciona como controle direto para o pino Output 1. Frequentemente, o encontra aplicável em controle de circuito digital. |
| 3 | Output Pin 1 | Este pino conecta a uma extremidade, Motor 1. |
| 4 | Ground | Em uma extremidade, este pino vai para o terra do circuito (0V). |
| 5 | Ground | Temos este outro pino Ground (0V) do outro lado. |
| 6 | Output Pin 2 | Como no Output Pin 1, este terminal conecta à outra extremidade do Motor 1. |
| 7 | Input Pin 2 | Controla diretamente o pino Output 2. É aplicável em controles de circuito digital, também. |
| 8 | Vs. (Vcc2) | Com classificação 4,5V-36V, conecta ao pino de tensão e alimenta os motores. |
| 9 | Enable 3,4 | Este terminal apenas habilita os pinos de entrada: Input 3(10) e Input 4(15). |
| 10 | Input 3 | Oferece controle direto para o pino Output 3. Adicionalmente, funciona como outra saída de controle de circuito digital. |
| 11 | Output 3 | Este pino conecta a uma extremidade do Motor 2. |
| 12 | Ground | Aqui, o pino Ground conecta o terra do circuito (0V) |
| 13 | Ground | Mais um pino Ground conectado ao terra do circuito (0V) |
| 14 | Output 4 | Como Output 3, este pino vai à outra extremidade do Motor 2 também. |
| 15 | Input 4 | Nesta extremidade, oferece controle direto para o pino Output 4. Funciona como controle de circuito digital também. |
| 16 | Vss (Vcc1) | Finalmente, o pino conecta a uma tensão externa de +5V responsável por alimentar o CI. |
4. Princípio de Funcionamento do Driver de Motor L293D
Como destacado anteriormente, o driver de motor L293D pode controlar motores DC duais. Logo, é essencial entender como este CI H-bridge de canal duplo funciona.
A primeira etapa do princípio de funcionamento envolve configurar um H-bridge. Em outras palavras, usa pares duplos de transistores Darlington que denominamos Q2/Q3 e Q1/4. Através de cada um, um diodo conecta com o coletor e emissor dos transistores. Como resultado, previne contra-EMF gerado pelo motor de danificar os transistores.
Então, quando os transistores Q1/Q4 estão em posição LIGADO, transistores Q2/Q3 desligam. Assim, há fluxo de corrente de Vcc, através do motor, e para o terra.
Esta ação provoca rotação no sentido horário/anti-horário do motor. Em resumo, a polaridade do motor e o modo de conexão à fonte de alimentação determinam a direção da rotação.
Por outro lado, quando os transistores Q1/Q4 estão DESLIGADOS, Q2/Q3 ligam automaticamente. Assim, há uma reversão na corrente fluindo via motor. Então, quando esta corrente reversa flui, a direção de rotação do motor também alterna.
5. Como Usamos o Driver de Motor L293D?
Como mencionado anteriormente, o driver de motor L293D usa corrente de acionamento bidirecional de cerca de 600mA e faixa de 4,5V-36V. No entanto, estas características envolvem usar este chip driver de motor 16 pinos com Arduino Uno.
Portanto, introduzimos um projeto que conecta motores DC e L293D ao ARDUINO. Aqui está um procedimento passo a passo para configurar o circuito que controla direção e velocidade de motor DC.
Passo Um: Monte os materiais que você precisa para o projeto.
- Dois potenciômetros 10K.
- Chipset driver de motor L293D.
- Dois pequenos motores DC.
- Arduino Uno ou Arduino Pro Mini.
- Protoboard (breadboard).
- Fios jumpers.
Passo Dois: Configurando o Circuito
As conexões envolvidas neste circuito são bastante diretas.
No entanto, empregamos um tutorial em vídeo para configurar o circuito para ilustração mais precisa.
O motor frequentemente é melhor com uma fonte de alimentação totalmente diferente. Neste caso, usamos 12V para o motor. Por outro lado, uma fonte de 5V alimenta o L293D e Arduino.
Nota: A fonte de energia externa vai para o Pino 8 do L293D. Tome precauções ao fazer estas conexões. Caso contrário, você arrisca danificar os motores.
Passo Três: O Código para Programar um Motor DC
Vamos fazer isso, e dois passos básicos são necessários.
Instalar biblioteca AFMotor.h
Primeiro, precisamos de um meio de comunicação com o CI L293D. Para esse propósito, temos que instalar a biblioteca AFMotor.h.
Esta biblioteca nos permite emitir comandos que controlam motores DC, solenoides e steppers.
Para instalar a biblioteca AFMotor.h, primeiro, role até Sketch. Então, encontre "Incluir Biblioteca", após o que localiza "Gerenciar Bibliotecas". O gerenciador de bibliotecas atualiza a lista de bibliotecas instaladas conforme o gerenciador baixa o índice.
Depois, use o filtro de busca para encontrar "Motor Shield". Entre as entradas, selecione a Adafruit Motor Shield Library by Adafruit, então clique em Instalar.
Executar o Código Arduino
Em seguida, temos que executar o código Arduino abaixo:
#include <AFMotor.h>
AF_DCMotor motor(4);
void setup() {
// Define velocidade inicial do motor & para
motor.setSpeed(200);
motor.run(RELEASE);
}
void loop() {
uint8_t i;
// Liga motor
motor.run(FORWARD);
// Acelera de 0 a velocidade máxima
for (i=0; i<255; i++) {
motor.setSpeed(i);
delay(10);
}
// Desacelera de velocidade máxima a 0
for (i=255; i!=0; i--) {
motor.setSpeed(i);
delay(10);
}
// Então, altera direção do motor
motor.run(BACKWARD);
// Acelera de 0 a velocidade máxima
for (i=0; i<255; i++) {
motor.setSpeed(i);
delay(10);
}
// Desacelera de velocidade máxima a 0
for (i=255; i!=0; i--) {
motor.setSpeed(i);
delay(10);
}
// Agora desliga motor
motor.run(RELEASE);
delay(1000);
}
Passo 4: Configuração Completa
Nesta etapa, sua configuração de circuito DIY está completa. Você agora tem um mecanismo de controle para qualquer dispositivo de motor DC usando este chip L293D e microcontrolador Arduino Uno.
6. CI Timer Dual Equivalente ao L293D
Outros CIs similares ao L293D incluem ULN2003, SN754410, LB1909MC.
7. Aplicações do L293D
- Ajuda você a acionar dispositivos LED de alta corrente.
- Também, é aplicável em motores de alta corrente operados por circuitos digitais como robôs.
- O driver L293D é parte integral de steppers e motores, em geral.
- Para uso em módulos driver de relé. Logo, torna um relé latch possível.
Resumo
Existem outros métodos diferentes para controlar motores DC usando Arduino de mais maneiras que uma. No entanto, uma das maneiras mais fáceis é usar um CI driver de motor L293D. Um CI L293D dá vantagem para controlar simultaneamente a velocidade e direção de dois motores DC separados.
Em conclusão, aprendemos como configurar e programar um motor DC com este CI. Mas, talvez, você queira tentar algo mais desafiador. Para mais tutoriais sobre como proceder, entre em contato em nossa página de contato para orientação completa.
Tecnologia industrial
- Robô de Detecção Humana Baseado em Arduino Uno: Integração de Sensores Passo a Passo
- Decodifique Sinais PPM de Receptor RC com Arduino: Guia Passo a Passo
- Veículo Remoto Controlado por Android com Raspberry Pi e Motor Shield
- Medir a Massa da Terra com Arduino: Guia DIY Passo a Passo
- Interface Web em PHP para Controlar Arduino Uno via Ethernet Shield
- Braço Robótico Arduino Controlado por Gestos Manuais – Construção Passo a Passo
- Plotter XY Controlado via Web com Arduino e Motores de Passo
- Como Funciona um Motor DC com Escovas: Mecânica Simples e Energia Confiável
- Construa uma Bússola Digital em Tempo Real com Arduino e Processing
- Guia Passo a Passo para Inspecionar e Diagnosticar Problemas em Motores DC