Produtos utilizados:
Figura 1 : Apresentação do Módulo Driver p/ Motores Ponte-H Dupla L298
- Motor A e Motor B : Os bornes de Motor A e Motor B são referentes a conexão dos motores, podendo ser dois motores de corrente contínua (DC) ou um motor de passo que atue dentro da tensão máxima imposta pela placa de 12V.
- 5VEN: O Módulo Driver p/ Motores Ponte-H Dupla L298 possui um regulador de tensão que permite ao driver uma operação segura sem risco de sobretensões, e permite também a alimentação de outros componentes dependendo da configuração escolhida:
- 5VEN atuando na configuração 5V: A configuração de “5VEN” com alimentação 5V, só é indicada para controle de motores de até 5V. Deve-se manter o Jumper referente à “5VEN” conectado para o funcionamento do módulo como no teste de funcionamento demonstrado no vídeo “Teste básico do Módulo Driver p/ Motores Ponte-H Dupla L298, com dois motores DC”. Para visualização do vídeo com o teste de funcionamento do módulo utilizando essa configuração clique aqui! O demonstrativo do esquema eletrônico de 5VEN atuando na configuração 5V, pode ser visto na figura 2.
- 5VEN atuando na configuração 12V: Na configuração com alimentação em 12V, deve-se manter o Jumper referente à “5VEN” conectado para que seja ativado o regulador de tensão. Esse regulador de tensão atua regulando a tensão de entrada de 12V para a tensão de alimentação lógica suportada pelo chip (≤ 7Vdc), impedindo que ocorram danos por sobretensão; além de proporcionar uma saída regulada de 5V no pino “5VEN” para que o mesmo possa alimentar outros componentes. Um demonstrativo do esquema eletrônico de 5VEN atuando na configuração 12V, pode ser visto na figura 3.
ENA e ENB: Os pinos referentes a ENA e ENB podem ser utilizados juntamente com os pinos PWM do arduíno se necessário. Eles são responsáveis pelo controle PWM dos motores, e estão interligados diretamente aos 5V. Para efetuar o controle de velocidade, deve-se retirar os Jumperes.
Entradas IN: O Módulo Driver p/ Motores Ponte-H Dupla L298 possui um barramento de 4 entradas sendo elas IN1, IN2, IN3 e IN4. Essas entradas são referentes a rotação dos motores A e B, sendo as entradas IN1 e IN2 referente ao Motor A, e IN3 e IN4 referente ao Motor B. As tabelas à seguir demontram os comandos de ativação dos motores A e B por meio dos pinos de entrada:
Esquema eletrônico do Módulo Driver p/ Motores Ponte-H Dupla L298, nas configurações 5V e 12V:
Figura 2: Demonstrativo do esquema eletrônico de 5VEN atuando na configuração 5V.
- Esquema eletrônico na configuração de 12V:
Figura 3: Demonstrativo do esquema eletrônico de 5VEN atuando na configuração 12V.
Software de funcionamento Módulo Driver p/ Motores Ponte-H Dupla L298 :
Teste básico do Módulo Driver p/ Motores Ponte-H Dupla L298, com dois motores DC
/*
_____________________________________________________________________________________________________
****************************************Eletrodex Eletrônica**************************************
Funcionamento do programa Primeiro o motor A é ativado girando no sentido horário, logo depois o motor A é pausado, e o Motor B gira no sentido horário e pausa. Em seguida, o motor A é ativado girando no sentido anti-horário, e logo o mesmo é pausado, e o motor B inicia sua rotação em sentido anti-horário e pausa. Assim, o processo fica em Loop entre os dois motores, indo de sentido horário para freio e ativação do sentido anti-horário. */
//Pinos do Arduino ligados a entrada da Ponte H
int IN1 = 4;
int IN2 = 5;
int IN3 = 6;
int IN4 = 7;
void setup()
{
//Definindo os pinos como saida
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop()
{
//Gira o Motor A no sentido horário
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
delay(2000);
//Freia o motor A
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
delay(500);
//Gira o Motor B no sentido horário
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(2000);
//Freia o motor B
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
delay(500);
//Gira o Motor A no sentido anti-horário
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
delay(2000);
//Freia o motor A
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
delay(500);
//Gira o Motor B no sentido anti-horario
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(2000);
//Freia o motor B
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
delay(500);
}