sábado, 29 de outubro de 2016

Módulo Ponte H L298N

Ponte H

Define-se ponte H como um circuito da eletrônica que pertence à classe das potências e do tipo chopper, que permite variação na velocidade de motores DC, além da comutação de sentido na rotação por meio de um sinal PWM (pulse with modulation).
Recebem o nome de H devido a constituição de sua forma quando montado, é constituído de quatro chaves/ interruptores que comutam em pares simultaneamente, fazendo com que a corrente "passe"em uma direção ou em outra.
O acionamento das chaves devem ser sempre feitos na diagonal, evitando assim curto no circuito e mau funcionamento. A colocação de diodos entre as chaves também é um recurso útil para proteção e economia de energia quando ela não está em uso.


fonte: próprio autor



fonte: https://arduinobymyself.blogspot.com.br/2012/09/ponte-h-experimentos-parte-1.html

Existem componentes eletrônicos que facilitam a vida do usuário apresentando a ponte H pronta e aplicável em diversos circuitos, são alguns componentes como os L293, L293D, L298N, SN754410 e outros.


fonte: próprio autor

Módulo Ponte H L298N

Os módulos Ponte H L298N estão projetados para controlar não somente o sentido de rotação de motores por controle PWM dos Arduinos como também relés, motores de passo, motores DC e solenóides. Esse módulo já foi utilizado em um dos nossos projetos anteriores e demonstrou bastante capacidade de carga.


fonte: http://www.msseletronica.com/

Controlando motores com o drive Ponte H L298N

O módulo L298N possui terminais onde é possivel realizar a ligação de dois motores DC ou um motor de passo de 4 fios (1), pinos de controle do PWM dos motores onde o usuário escolhe controlar ou não a velocidade dos mesmos (2), saída regulada + 5V, quando jumper estiver acionado ou entrada de + 5V quando o módulo estiver sem o jumper (3), entrada para alimentação externa (4), GND (5) e pinos dos controles dos motores (6).


fonte: próprio autor

Motor DC


fonte: próprio autor

Usando o programa abaixo como teste, é possível acionar os motores (motor 1 e motor 2), fazendo com que os dois motores iniciem ligados juntos depois de um tempo determinado o motor 1 gire no sentido horário e anti-horário, pare e o motor 2 gire no sentido anti-horário e horário e pare, para logo iniciar o ciclo novamente.

/** Código Exemplo **/
// Elaborado por Tony Emerson Marim em 29/10/2016.
/** mecatronizei@gmail.com **/
/** Acionamento de motores CC**/

//Definicoes pinos Arduino ligados a entrada da Ponte H
int IN1 = 4;
int IN2 = 5;
int IN3 = 6;
int IN4 = 7;
  
void setup()
{
  //Define os pinos como saida
 pinMode(IN1, OUTPUT);
 pinMode(IN2, OUTPUT);
 pinMode(IN3, OUTPUT);
 pinMode(IN4, OUTPUT);
}
  
void loop()
{
 //Gira o Motor A no sentido horario
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, LOW);
 //Gira o Motor B no sentido horario
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, LOW);
 delay(2000);
  //Para o motor A
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, HIGH);
 //Para o motor B
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, HIGH);
 delay(500);
  //Gira o Motor A no sentido horario
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, LOW);
 delay(1000);
  //Para 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(1000);
  //Para o motor B
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, HIGH);
 delay(500);
 //Gira o Motor B no sentido horario
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, LOW);
 delay(1000);
  //Para o motor B
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, HIGH);
 delay(500);
  //Gira o Motor A no sentido anti-horario
 digitalWrite(IN1, LOW);
 digitalWrite(IN2, HIGH);
 delay(1000);
  //Para o motor A
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, HIGH);
 delay(500);
}


fonte: próprio autor

Motor de passo


fonte: próprio autor

No programa exemplo vai ser acionado um motor de passo de forma que os pinos de saída do Arduino vão acionando as bobinas em pares, movimentando o motor em pequenos intervalos acionando-o.

*Lembrando que, no circuito não está demonstrado mas o fio de alimentação do motor de passo é conectado diretamente à fonte.*

/** Código Exemplo **/
// Elaborado por Tony Emerson Marim em 29/10/2016.
/** mecatronizei@gmail.com **/
/** Acionamento de motor de passo**/

// Conexoes modulo - Arduino
int IN1 = 4;
int IN2 = 5;
int IN3 = 6;
int IN4 = 7;

void setup()
{
  // Define os pinos como saida
  pinMode(IN1,OUTPUT);
  pinMode(IN2,OUTPUT);
  pinMode(IN3,OUTPUT);
  pinMode(IN4,OUTPUT);
}

int tempo = 10;

void loop()
{
  // Passo 1
  digitalWrite(IN1, 1);
  digitalWrite(IN2, 0);
  digitalWrite(IN3, 0);
  digitalWrite(IN4, 1);
  delay(tempo);  

  // Passo 2
  digitalWrite(IN1, 0);
  digitalWrite(IN2, 1);
  digitalWrite(IN3, 0);
  digitalWrite(IN4, 1);
  delay(tempo);

  // Passo 3
  digitalWrite(IN1, 0);
  digitalWrite(IN2, 1);
  digitalWrite(IN3, 1);
  digitalWrite(IN4, 0);
  delay(tempo);

  // Passo 4
  digitalWrite(IN1, 1);
  digitalWrite(IN2, 0);
  digitalWrite(IN3, 1);
  digitalWrite(IN4, 0);
  delay(tempo);
}


fonte: próprio autor


O procedimento de alimentação por meio de fonte externa também pode ser feito para motores DC que necessitam de uma tensão maior. É um procedimento parecido com esse que vamos adotar na concepção do nosso primeiro modelo de carro robótico.
No vídeo abaixo é demonstrado as ligações e os funcionamentos dos códigos.
Copie os códigos e execute para testar seu módulo Drive Ponte H.



Curtiu?Compartilhe e assine o canal para estarmos sempre melhorando o nosso trabalho.

Bons estudos!


  

Nenhum comentário:

Postar um comentário