Guia definitivo de uso da Ponte H L298N

Introdução

 

O uso de Ponte H é interessante para diversas implementações com motores, porque estes componentes permitem uma série de facilidades. Então, o primeiro ponto a citar é que a ponte H nos permite girar o motor para ambos os lados, com um circuito que funciona da seguinte forma:

Crédito: Gustavo Murta

 

Se o diagrama esquemático acima ficou complicado, recomendamos que clique aqui e leia um pouco mais sobre o assunto.

Explicando o funcionamento do circuito: se queremos que o motor funcione em um sentido, fechamos somente as chaves CH AD e CH BE. Se caso queremos que gire no outro sentido, abrimos as anteriores e fechamos CH AE e CH BD.

Então, por meio de comutação de chaves, a ponte H consegue fazer o motor ficar em vários estados diferentes de rotação. Como no módulo Ponte H L298N essa comutação não é feita de forma física. existe um chip embarcado na placa que faz essa comutação de chaves de forma eletrônica, que é mais eficiente do que uma comutação mecânica.

Uma das principais vantagens de se ter um circuito assim está associado a ele permitir uma maior dissipação de potência em relação ao acionamento direto por portas de circuitos microprocessados, que só conseguem fornecer alguns mA de corrente, contra 2A por canal da ponte H L298N.

As especificações do chip L298, que faz todo o controle da ponte H, pode ser conferido clicando neste link: https://www.st.com/resource/en/datasheet/l298.pdf. Mas um curto resumo das especificações é:

  • Tensão de Operação: 4.5 V~46 V
  • Controle de 2 motores DC ou 1 motor de passo
  • Corrente de Operação máxima: 2 A por canal ou 4 A total.
  • Tensão lógica: 4.5 V ~7 V
  • Corrente lógica: 0~36 mA
  • Limites de Temperatura: -20 a +135 °C
  • Potência Máxima: 25 W
  • Dimensões: 43 x 43 x 27 mm.

 

Descrição Detalhada da Ponte H L298N:

 

O uso dessa ponte H pode ser bastante confuso, pois, há muita informação na web que não é muito clara e que pode resultar em um mau funcionamento. Abaixo será explicado com maior detalhes como funciona a placa e como usar.

Vcc:

Este borne é responsável pela alimentação dos motores, com isso a tensão colocada neste borne de Vcc será copiada para os motores. Por isso, muita atenção: Se você possui um motor que opera somente até 12V, por exemplo, não alimente Vcc com mais de 12V, pois danificará o motor.

  • Observação: Esta placa possui um regulador de tensão do modelo 78m05, e a tensão máxima dele é 35V, mas a margem segura para uso é abaixo de 20V, sendo o recomendado 12V. Por isso, se for usar tensão de alimentação Vcc acima de 12V, não use a porta VLogic para alimentar outros circuitos, e para tensões acima de 20V, desative o regulador de tensão (como será demonstrado mais abaixo) e faça a alimentação Vlogic através do borne, observando sua limitação de tensão.

 

GND:

É o GND da placa, que deverá ser o mesmo GND do Arduino ou de outro microcontrolador. Por isso, é importante interligar os GNDs sempre com fios. Serão demonstrados na seção de exemplos.

 

Vlogic:

Este borne é responsável pela alimentação lógica da ponte H. O chip L298N presente na placa recebe comandos do Arduino, e para ele conseguir operar os comandos e atuar na saída ele precisa de operar como um componente lógico (como o Arduino), e para isso precisa atuar em uma faixa bem restrita de tensão, que no caso é 4.5V a 7V. Como foi dito a placa possui um regulador de tensão de 5V, que a função dele é justamente fazer a regulação de Vcc para a alimentação lógica do chip em 5V. Por isso, se o regulador estiver ativo, este pino Vlogic terá a tensão de 5V, pois, é a tensão presente na saída do regulador.

É possível desativar o regulador de tensão e fazer a alimentação lógica do chip por conta própria, através do borne Vlogic. Em algumas situações é necessário desativar o regulador de tensão e fazer a alimentação lógica através de Vlogic, essas situações serão abordadas e explicadas na seção de exemplos de uso da placa.

  • Importante: Como dito, quando o regulador de tensão está ativo, a tensão VLogic está sendo regulada em 5V automaticamente, logo, este borne terá 5V. Essa tensão é para uso interno do chip e pode ser aproveitada para alimentar algum circuito ou microcontrolador que use até 5V, com a limitação de corrente de aproximadamente 200mA. Porém, se o regulador de tensão estiver acionado, JAMAIS alimente este pino, pois causará danos a placa.  

 

Regulador Vlogic:

Este jumper é responsável por ativar ou desativar o regulador de tensão da alimentação de Vlogic. Quando o jumper está encaixado entre os terminais, o regulador de tensão está ativado e a Vlogic como a ser regulado em 5V a partir da tensão de Vcc. Por isso, é muito importante saber manusear esse jumper do regulador. Caso ficou dúvidas sobre o funcionamento do regulador, releia a parte Vlogic ou clique aqui para ler o datasheet do regulador de tensão presente na placa.

 

Atv_A:

Este jumper é responsável por desativar ou ativar o motor A para ser controlado pelo Arduino ou outra placa.

Este jumper funciona da seguinte forma: um dos terminais possui 5V (ou a tensão de alimentação VLogic), e o outro terminal é o que vai para o chip L298N.  A placa possui um resistor de pull-down no outro resistor, o que significa que quando o jumper é solto, o terminal ficará com nível lógico baixo, e o chip entenderá que é necessário desabilitar o motor A. Mas quando o jumper é colocado entre os terminais, o 5V é ligado ao terminal de sinal pelo jumper. Com isso, o sinal de nível alto é enviado ao chip L298n e ele entende que os motores devem estar habilitados para os acionamentos.

 

Atv_B:

Este jumper é responsável por desativar ou ativar o motor B para ser controlado.

O funcionamento é exatamente idêntico ao jumper Atv_A.

 

Entradas:

As entradas de controle da placa possuem os pinos IN1, IN2, IN3 e IN4, sendo que a entrada IN1 e IN2 são as entradas que controlam os bornes do motor A, e as entradas IN3 e IN4 controlam os bornes do Motor B.  Para controlar os motores, acione os pinos da seguinte forma:

E no motor B, acione da mesma forma:

Motor A e Motor B:

Estes bornes são de fato onde os motores DC são conectados. A posição dos fios do motor na conexão com o borne altera o sentido de rotação do motor. Se for invertido os fios no borne, o sentido de rotação também é invertido no acionamento. Essa é uma boa dica para alterar a rotação dos motores, caso estejam girando em um sentido não desejado.

Perceba também, que como juntando o borne de Motor A e Motor B possuímos 4 conexões, podemos usar essa ponte para controlar 1 motor de passo. Se o motor for de 4 fios, podemos utilizar conectando direto. Se for de 5, ou 6, podemos conectar o tap central ao VLogic.

 

Exemplos de Conexões

 

Aqui serão mostrados alguns exemplos comuns de uso na plataforma Arduino Uno ou Arduino Mega. As conexões não alterarão o funcionamento do programa.

Vale ressaltar que é preciso ter bastante atenção na tensão de operação do motor, pois, se a alimentação Vcc exceder o limite do motor, poderá ocorrer danos ao motor e até um acidente.

(5V de alimentação)

Esta conexão é destinada para ser feita usando a própria alimentação do cabo USB, para fins de testes ou alguma aplicação onde é importante testar o sistema constantemente e precisa fazer mudanças no código. É importante que a conexão seja feita com o motor sem carga e consumindo baixa corrente. Para isso, deve remover o jumper do regulador de tensão e conectar os 5V do Arduino tanto em Vcc quanto em Vlogic. Fazendo a conexão abaixo:

 

Nessa segunda montagem, é quando a alimentação disponível do circuito irá ser feita utilizando 4 pilhas AAA (palito), totalizando 4.8V.

Portanto, ao optar por essa montagem abaixo, opte por pilhas alcalinas, e esteja ciente que dependendo da especificação do motor e da carga nele, ele pode apresentar falhas. Nesta montagem também é necessário retirar o jumper do regulador de tensão.

Uma forma de otimizar a montagem abaixo é separando a alimentação do Arduino da alimentação dos motores, se caso faltar corrente suficiente para os motores.

 

 

(6V de alimentação)

Com um suporte de 4 pilhas AA, como este,  e usando pilhas alcalinas na montagem, temos um total de 6V na alimentação da ponte H. A montagem é similar a anterior, mas com um detalhe: O fio do suporte de pilhas não pode ser ligado diretamente ao pino 5V do Arduino, porque o microcontrolador Atmega 328P só suporta até 5,5V, então, para contornar isso, usaremos um diodo na montagem. Este diodo tem a função de provocar uma queda de tensão de aproximadamente 0,7V em cima dele, e com isso, a tensão no microcontrolador do Arduino seria de 5,3V, estando no intervalo de operação.

Para uma margem ainda maior de segurança, insira dois diodos em série.

É importante fazer a observação que se caso for inserido na montagem componentes adicionais. Pode ser que seja necessário fazer uma alimentação separada para o Arduino para conseguir suprir a demanda de corrente do sistema.

(7V – 20V de alimentação) 

Para uma tensão externa entre 7V e 20V, é recomendado fazer uma alimentação separada entre a ponte H e o Arduino, sendo que até 12V, você pode usar o borne VLogic para alimentar alguns circuitos que necessitam de 5V e demandam baixa corrente. Nesta montagem é necessário manter o jumper do regulador de tensão, já que o circuito Vlogic será alimentado pela saída do regulador de tensão interno.

É possível, em até 12V, fazer uma alimentação única entre o Arduino e a ponte H, colocando a mesma tensão de 12V no pino de Vin do Arduino e no borne Vcc da ponte H.

(20V – 46V de alimentação) 

Para uma alimentação de 20V até 46V -que é o limite máximo- é extremamente necessário remover o jumper do regulador de tensão. Este procedimento é necessário porque este regulador só opera em uma margem segura abaixo de 20V, e acima disso ele poderá sobreaquecer e danificar (principalmente acima de 35V). Logo, é necessário remover o jumper e fazer a alimentação de Vlogic com o 5V do Arduino.

Lembrando que nesse caso a alimentação do Arduino e da ponte H é feita de maneira independente. O circuito é este:

 

Controlando os Motores

O programa feito abaixo servirá para fazer um teste com sua Ponte H. O programa abaixo foi criado usando teoria de orientação a objetos, para aproveitar das vantagens de manipular funções de cada motor de maneira mais fácil e poder construir lógicas maiores de forma mais fácil. No loop do programa, podemos usar os métodos trocar a velocidade dos motores, direção e estado de maneira simples, como no exemplo.

Link de Download do Programa

Gostou? Avalie o nosso post!

Se ficou alguma dúvida, deixe no comentário.

Avaliação: 5.0/5. De 10 votos.
Espere por favor...
Voting is currently disabled, data maintenance in progress.
Gustavo Nery
Gustavo Nery
Cursando Engenharia de Controle e Automação pela UFMG. Apaixonado por eletrônica, computação e tecnologias na área de sistemas embarcados. Nos tempos livres me divido entre desenvolver pesquisa na universidade, adquirir novos conhecimentos e estar com a família.
Acesse nossa loja