Explicação do Módulo Driver do Motor DC L298N

Experimente Nosso Instrumento Para Eliminar Problemas





Neste artigo, vamos aprender sobre o módulo driver de motor CC de ponte H dupla L298N, que pode ser usado para acionar motores CC com escova e motores de passo com microcontroladores e ICs.

Visão geral

As placas de circuito modulares são a melhor economia de tempo para projetistas de eletrônicos, o que também reduz os erros de prototipagem. Isso é mais preferido por programadores que escrevem código para microcontroladores passam a maior parte do tempo digitando códigos na frente do computador e têm menos tempo para soldar os componentes eletrônicos discretos.



É por isso que podemos encontrar toneladas e toneladas de diferentes circuitos modulares feitos apenas para placas Arduino, é fácil de fazer a interface e tem a vantagem de menos erros de hardware ao projetar nosso protótipo.

Ilustração do módulo L298N:

Ilustração do módulo L298N:



O módulo é construído em torno do IC L298N e está comumente disponível em sites de comércio eletrônico.

Nós usamos Drivers de motor DC porque os ICs e microcontroladores não são capazes de fornecer corrente não superior a 100 miliamperes em geral. Os microcontroladores são inteligentes, mas não fortes, este módulo adicionará alguns músculos ao Arduino, ICs e outros microcontroladores para acionar motores CC de alta potência.

Ele pode controlar 2 motores CC simultaneamente até 2 amperes cada ou um motor de passo. Nós podemos controlar a velocidade usando PWM e também sua direção de rotação dos motores.

Este módulo é ideal para construindo robôs e projetos de movimentação de terras, como carrinhos de brinquedo.

Vamos ver os detalhes técnicos do módulo L298N.

detalhes técnicos do módulo L298N.

Descrição do pin:

· No lado esquerdo estão as portas OUT1 e OUT2, que são para conectar o motor DC. Da mesma forma, OUT3 e OUT4 para outro motor DC.

· ENA e ENB são pinos de habilitação, conectando ENA a alta ou + 5V habilita a porta OUT1 e OUT2. Se você conectar o pino ENA a baixo ou terra, ele desabilita OUT1 e OUT2. Da mesma forma, para ENB e OUT3 e OUT4.

· IN1 a IN4 são os pinos de entrada que serão conectados ao Arduino. Se você inserir IN1 + Ve e IN2 –Ve do microcontrolador ou manualmente, o OUT1 fica alto e o OUT2 fica baixo, portanto podemos acionar o motor.

· Se você inserir IN3 alto, OUT4 ficará alto e se você inserir IN4 baixo OUT3 ficará baixo, agora podemos acionar outro motor.

· Se você quiser inverter o sentido de rotação do motor, basta inverter a polaridade IN1 e IN2, da mesma forma para IN3 e IN4.

· Ao aplicar o sinal PWM a ENA e ENB, você pode controlar a velocidade dos motores em duas portas de saída diferentes.

· A placa pode aceitar de 7 a 12 V nominalmente. Você pode inserir energia no terminal de + 12V e aterrar em 0V.

· O terminal + 5V é OUTPUT, que pode ser usado para alimentar o Arduino ou qualquer outro módulo, se necessário.

Jumpers:

Existem três pinos de jumper que você pode rolar para ver a imagem ilustrada.

Todos os jumpers serão conectados inicialmente remova ou mantenha o jumper dependendo de sua necessidade.

Jumper 1 (ver imagem ilustrada):

· Se o seu motor precisar de alimentação superior a 12 V, você deve desconectar o jumper 1 e aplicar a tensão desejada (máximo 35 V) no terminal de 12 V. Traga outro Fonte de 5V e entrada no terminal + 5V. Sim, você deve inserir 5 V se precisar aplicar mais de 12 V (quando o jumper 1 for removido).

· A entrada de 5 V é para o funcionamento adequado do IC, pois a remoção do jumper desabilitará o regulador embutido de 5 V e protegerá de tensão de entrada mais alta do terminal de 12 V.

· O terminal + 5V atua como saída se sua alimentação estiver entre 7 a 12V e atua como entrada se você aplicar mais de 12V e o jumper for removido.

· A maioria dos projetos precisa apenas da tensão do motor abaixo de 12 V, portanto, mantenha o jumper como está e use o terminal de + 5 V como saída.

Jumper 2 e Jumper 3 (veja a imagem ilustrada):

· Se você remover esses dois jumpers, terá que inserir o sinal de ativação e desativação do microcontrolador; a maioria dos usuários prefere remover os dois jumpers e aplicar o sinal do microcontrolador.

· Se você mantiver os dois jumpers, OUT1 a OUT4 estarão sempre habilitados. Lembre-se do jumper ENA para OUT1 e OUT2. Jumper ENB para OUT3 e OUT4.

Agora vamos ver um circuito prático, como podemos motores de interface, Arduino e alimentação para o módulo de driver.

Esquemático:

diagrama esquemático do módulo L298N.

O circuito acima pode ser usado para carros de brinquedo, se você alterar o código apropriadamente e adicionar um joystick.

Você só precisa alimentar o módulo L289N e o módulo irá alimentar o Arduino via terminal Vin.

O circuito acima irá girar os dois motores no sentido horário por 3 segundos e parar por 3 segundos. Depois disso, o motor girará no sentido anti-horário por 3 segundos e parará por 3 segundos. Isso demonstra a ponte H em ação.

Após isso ambos os motores começarão a girar lentamente no sentido anti-horário ganhando velocidade gradativamente até o máximo e gradualmente reduzindo a velocidade até zero. Isso demonstra o controle de velocidade dos motores por PWM.

Programa:

//----------------Program developed by R.GIRISH--------------//
const int Enable_A = 9
const int Enable_B = 10
const int inputA1 = 2
const int inputA2 = 3
const int inputB1 = 4
const int inputB2 = 5
void setup()
{
pinMode(Enable_A, OUTPUT)
pinMode(Enable_B, OUTPUT)
pinMode(inputA1, OUTPUT)
pinMode(inputA2, OUTPUT)
pinMode(inputB1, OUTPUT)
pinMode(inputB2, OUTPUT)
}
void loop()
{
//----Enable output A and B------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
//----------Run motors-----------//
digitalWrite(inputA1, HIGH)
digitalWrite(inputA2, LOW)
digitalWrite(inputB1 , HIGH)
digitalWrite(inputB2, LOW)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//-------Reverse Motors----------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
digitalWrite(inputA1, LOW)
digitalWrite(inputA2, HIGH)
digitalWrite(inputB1 , LOW)
digitalWrite(inputB2, HIGH)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//----------Speed rise----------//
for(int i = 0 i < 256 i++)
{
analogWrite(Enable_A, i)
analogWrite(Enable_B, i)
delay(40)
}
//----------Speed fall----------//
for(int j = 256 j > 0 j--)
{
analogWrite(Enable_A, j)
analogWrite(Enable_B, j)
delay(40)
}
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
}
//----------------Program developed by R.GIRISH--------------//

Protótipo do autor:

Protótipo Arduino de circuito de driver de motor usando o módulo L298N.

Se você tiver alguma dúvida sobre este projeto de driver de motor DC L298N, sinta-se à vontade para expressar na seção de comentários, você pode receber uma resposta rápida.




Anterior: Circuito de carregador de bateria múltipla usando capacitor de despejo Próximo: Carro RC controlado por joystick de 2,4 GHz usando Arduino