Motor DC com Driver Ponte H L298N 227

Controle até 2 motores DC ou 1 motor de passo com este módulo Ponte H L298N Arduino. Esse módulo é projetado para controlar cargas indutivas como relés, solenóides, motores DC e motores de passo, permitindo o controle não só do sentido de rotação do motor, como também da sua velocidade, utilizando os pinos PWM do Arduino:

Circuito Ponte H L298N

ESPECIFICAÇÕES PONTE H L298N:

  • Tensão de Operação: 4~35v
  • Chip: ST L298N (Datasheet)
  • Controle de 2 motores DC ou 1 motor de passo
  • Corrente de Operação máxima: 2A por canal ou 4A max
  • Tensão lógica: 5v
  • Corrente lógica: 0~36mA
  • Limites de Temperatura: -20 a +135°C
  • Potência Máxima: 25W
  • Dimensões: 43 x 43 x 27mm
  • Peso: 30g

Funcionamento Ponte H L298N:

Ponte H L298N - Pinagem

  • (Motor A) e (Motor B) se referem aos conectores para ligação de 2 motores DC ou 1 motor de passo
  • (Ativa MA) e (Ativa MB) – são os pinos responsáveis pelo controle PWM dos motores A e B. Se estiver com jumper, não haverá controle de velocidade, pois os pinos estarão ligados aos 5v. Esses pinos podem ser utilizados em conjunto com os pinos PWM do Arduino
  • (Ativa 5v) e (5v) – Este Driver Ponte H L298N possui um regulador de tensão integrado. Quando o driver está operando entre 6-35V, este regulador disponibiliza uma saída regulada de +5v no pino (5v) para um uso externo (com jumper), podendo alimentar por exemplo outro componente eletrônico. Portanto não alimente este pino (5v) com +5v do Arduino se estiver controlando um motor de 6-35v e jumper conectado, isto danificará a placa. O pino (5v) somente se tornará uma entrada caso esteja controlando um motor de 4-5,5v (sem jumper), assim poderá usar a saída +5v do Arduino.
  • (6-35v) e (GND) – Aqui será conectado a fonte de alimentação externa quando o driver estiver controlando um motor que opere entre 6-35v. Por exemplo se estiver usando um motor DC 12v, basta conectar a fonte externa de 12v neste pino e (GND).
  • (Entrada) – Este barramento é composto por IN1, IN2, IN3 e IN4. Sendo estes pinos responsáveis pela rotação do Motor A (IN1 e IN2) e Motor B (IN3 e IN4).

A tabela abaixo mostra a ordem de ativação do Motor A através dos pinos IN1 e IN2. O mesmo esquema pode ser aplicado aos pinos IN3 e IN4, que controlam o Motor B

Ponte H L298N - Tabela

Conectando Ponte H ao Arduino:

Vamos mostrar dois esquemas de ligação deste módulo ao Arduino Uno R3, que utilizarão o mesmo programa mostrado no final do post.

O primeiro circuito utiliza a alimentação do próprio Arduino, e deve ser feito sem o Jumper em (Ativa 5V). Utilizamos 2 motores DC 5V.

Circuito Ponte H - Alimentação Arduino

O segundo circuito utiliza alimentação externa e 2 motores DC de 12V. Nesse caso precisamos colocar o jumper em Ativa 5v:

Circuito Ponte H - Alimentação Externa

Programando Ponte H com Arduino:

Teste o seu módulo carregando o programa abaixo, que vai servir para os 2 circuitos que mostramos anteriormente. O programa gira o motor A no sentido horário, depois desliga esse motor e gira o motor B no mesmo sentido. Depois, repete esse procedimento no sentido anti-horário.

Gostou? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo) e visite nossa loja FILIPEFLOP !

Posts Relacionados

227 Comentários

  1. Olá, boa noite!

    Você poderia postar um esquema de ligações que mostre as ligações dos motores e a alimentação do arduino.

    Não ficou claro pra mim.

    Alimento o arduino com o pino +5power? O.o

    Demétrius Fernandes
    1. Olá Demétrius, pretendemos colocar o esquema de ligações futuramente, mas já mudamos o texto para facilitar. Poderias ver se tens alguma dúvida ainda?
      Abraço!

      1. Esse novo texto tirou minhas dúvidas… abraço. 😀

        1. Ok Demetrius 😉
          Abraço!

          1. Como faz pra aumentar a velocidade dos motores?

            Lucas Carneiro
          2. Boa noite Lucas,

            Na configuração do post os motores já estão em velocidade máxima. Você pode usar os pinos PWM para conexão aos pinos Ativa MA e Ativa MB para controlar essa variação de velocidade.

            Abraço.

            Adilson – Equipe FILIPEFLOP

  2. Gostaria de saber Pq essa ponte h l298n vem com jumpers no ENA e ENB?

    1. Olá Ronaldo,
      O jumper no ENA e ENB são respectivamente o Ativa MA e Ativa MB, por padrão eles estão conectados para setar a velocidade máxima no motor. Se desejar controlar esta velocidade, tire os jumper e conecte ao PWM do Arduino.
      Obrigado pela pergunta!

  3. Olá.
    Possuo exatamente esta placa porém no “verso” dela mostra que as opções de alimentação são +12V GND +5V.
    Na imagem deste post a entrada que diz permitir 6-35V na minha placa está escrito apenas +12V no verso. Sabe me dizer por que?
    Outra coisa: liguei a placa com 3,3V na entrada de +5V e terra no GND. Deixei os jumpers do 5V, do ENA e do ENB conectados como estavam. Como não sabia como funcionava, apliquei PWM (arduino 0-5V/0-255) na entrada IN4 afim de controlar o buzzer 0-5V. O resultado foi que variando o PWM, o som do buzzer variava também mas não como o esperado – aumentava depois diminuía com uma variação crescente do PWM.
    Enfim, para se controlar um motor que trabalha com ~5V, eu alimento com +5V a entrada de 6-35V, GND no GND, motor na OUT1 e OUT2 e saídas digitais do arduino na IN1 e IN2. E quanto ao PWN? Quando eu retirar o jumper, em qual dos dois pinos eu conecto o PWM?
    Muito obrigado por responder – vai me ajudar de mais!
    Abraço.

    1. Olá Arthur,
      Esta placa você comprou com a FILIPEFLOP? Pois não posso garantir as especificações de um outro modelo, por mais parecido que ele seja.
      Se o motor trabalha com 5v, você pode conectar a fonte de alimentação no pino 5v da placa e desabilitar o jumper ATIVA 5v, ou seja, nenhuma fonte conectada a entrada 6-35v.
      Quanto ao PWM você precisa retirar o jumper ATIVA MA e conectar sua saída PWM do controlador a este pino. Conecte o PWM no pino que tem mesmo barramento ENTRADA.
      Abraço!

      1. Posso fazer esse esquema de ligação para o motor que trabalha 3-6V?
        https://www.filipeflop.com/pd-11d0db-motor-dc-3-6v-com-caixa-de-reducao-e-eixo-duplo.html?ct=&p=1&s=1

        No caso usando 5v apenas? Como vc citou para o motor de exatamente 5V

        1. Olá Renan, a ligação deste post foi feita para um motor DC 12V. Para este motor DC 3-6V você precisa fazer outra ligação, visto que agora não usará a fonte externa, mas a própria fonte do Arduino.
          Abraço!

          1. Mas é preciso usar uma fonte externa, pois o motor consome uma corrente que o pino 5V do arduino não consegue fornecer

  4. Esqueci de perguntar: sabe me dizer se queimei/danifiquei a placa fazendo o que fiz?

    E correção:
    Para se controlar um motor que trabalha com 4,4V, eu alimento com +5V por exemplo em qual entrada? A de 5V? Com o jumper ou sem o jumper 5v? Não entendi o que este jumper faz… Ligo GND no GND, motor na OUT1 e OUT2 e saídas digitais do arduino na IN1 e IN2 – correto?

    Obrigado.

    1. Olá Arthur,
      Respondi sua pergunta abaixo. Me informe depois se deu tudo certo.
      Abraço!

  5. Olá Felipe,

    Gostei de todas as informações postadas aqui, foram de muita utilidade, agora quando for utilizar um motor de passo nesta placa como fica os jumpers? eles ficam fechados ou devo coloca-los na porta pwm do arduino? teria algum site que demonstre esta ligação?

    Fiz um teste ligando os quatros fios no IN1, IN2 IN3, IN4 e mais duas ligações na porta PWM cada uma em um jumper mas não conseguir acertar a programação para o motor partir, ele apenas vibra, saberia me dizer onde estou errando?

    Obrigado

  6. Bom dia Filipe, gostaria de saber se é possivel fazer com que o motor gire em gire no sentido horario e depois gire no sentido anti-horario, sem trocar as conexoes dos fios. Obrigado.

    Otávio Augusto Barro
    1. Sim é possível Otávio.
      Veja a tabela de Ativa MA (In 1) e Ativa MB (In 2) logo acima. Alternando com GND e 5v nos pinos você muda a rotação.
      Abraço!

  7. Fantástico, esclareceu todas as minhas dúvidas. Vlw filipeflop

    1. Legal Renan, ficamos felizes 🙂

  8. Qual o código para controlar dois motores e um sensor ultrassonico usando o Driver Ponte -H L 298 ???

    1. Boa tarde Flavio,

      Você pode verificar os nossos posts tanto do Sensor Ultrasonico HC-SR04 como esse da Ponte H, juntando os dois códigos.

      Nesse código da ponte H, copie a parte que se refere aos pinos IN1 e IN2 e renomeie para IN3 e IN4, assim você consegue controlar o segundo motor.

      Abraço

      Adilson – Equipe FILIPEFLOP

      1. Não entendi , devo copiar no mesmo sketch um unico código para os dois motores e renomear IN1 e IN2 ?? Fiz isso e aparece mensagem de erro .Quanto for juntar os codigos tem o pino em que MA está ligado e o MB liga em que pino do arduino ?

        1. Boa tarde Flavio,

          Exato. Para o motor A você usa o IN1 e IN2, e para o motor B, IN3 e IN4.

          Adilson – Equipe FILIPEFLOP

  9. Grande Filipe,
    Excelente explicação!

    Só uma observação: Como estás usando o pino 9 como saída de PWM ele deveria estar setado como saída no setup, certo? pinMode(speedMx, OUTPUT);

    Abraço!

  10. Cara, parabéns pelo post. Gostaria de saber se é possível controlar um motor de passo de 1,4A com esse driver ligando-o a um arduino. Obrigado 😀

    1. Boa noite Lucas,

      O L298N suporta corrente de até 2A, assim, creio que não haveria problemas no controle do motor de passo que você tem.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  11. Como controlar essa ponte H com um controle de ps2? Já tenho o código do controle, como faço pra interligar os códigos?

    1. Boa noite Lucas,

      Não temos nenhum código pronto para esse tipo de controle.

      Grato.

      Adilson – Equipe FILIPEFLOP

  12. O que eu posso fazer para aumentar a velocidade dos motores? Os pinos PWM já estão definidos como “255”

    1. Boa tarde Lucas,

      Se os pinos já estão como 255, então teoricamente os motores já estão na velocidade máxima.

      Adilson – Equipe FILIPEFLOP

  13. Eu preciso usar 2 atuadores lineares que operam com tensão 24V.
    É possível ligar esse 2 atuadores no mesmo L298N ?
    Se sim, o L298N precisa ter uma fonte externa de 24V? É que no L298N que comprei, na parte de baixo da placa, que corresponde ao conector 6-35V está escrito 12V.
    Obrigado.

    Douglas Roberto Nervo da Cruz
    1. Boa tarde Douglas,

      Não testamos esse módulo com atuador linear. Verifique se ele não vai exceder as especificações de corrente da placa.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  14. Boa tarde filipeflop, meu caso é o segundo, dois motores dc 12v com fonte externa, devo alimentar o arduino pelo plug de 2,1 mm com 12 v ?
    Obrigado

  15. Ola amigo, você poderia arrumar a imagem do “MOTOR DC COM DRIVER PONTE H L298N”, para poder fazer um projeto no fritzing.
    Obrigado

  16. Obrigado, me ajudou bastante.

    1. Boa noite Iuri,

      Valeu ! Agradecemos a visita e aguardamos o seu retorno em breve.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  17. Como faço a ligação paralela para ligar um motor de 4 A?

    1. Boa noite Fernando,

      Não temos essa informação, pois ainda não testamos a ponte H nessa configuração.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  18. Parabéns pela explicação minuciosa e esforço em passar seus conhecimentos para os estudantes da área mecatrônica e demais áreas. Muito legal!

    1. Boa noite Thiago,

      Muito obrigado. Bom poder ajudar. 🙂

      Abraço !

      Adilson – Equipe FILIPEFLOP

  19. Olá, estou em dúvida numa questão sobre o motor shield. Acontece que a entrada de 6-35v queimou, sendo que o motor é de 6v e a bateria de 12v (usávamos o regulador de tensão) só que acabou queimando por outros motivos. Eu poderia ligar minha bateria de 12v na entrada de 5v? Ou se pode trocar a porta queimada no ponte H?

    1. Boa noite Calebe,

      Recomendamos não alterar o circuito da placa.

      Grato.

      Adilson – Equipe FILIPEFLOP

  20. Olá, eu tenho uma pergunta…
    Eu poderia utilizar 4 motores em apenas um módulo desses ? (No caso dois em paralelo)
    Ou eu poderia usar dois módulos desse para controlar 4 motores?

    Abraço

    1. Boa noite Yuri,

      Use dois módulos para controlar 4 motores.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  21. Olá amigos seria possível controlar a velocidade dos dois motores usando apenas um pino PWM.

    1. Boa noite Elton,

      Não testamos nessa configuração. A recomendação é usar um pino PWM para cada motor.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  22. então para fazer controle via pwm e so eu colocar a ligação do meu pwm no pino ativa MA isso assim consigo controlar a velocidade?

    1. Boa tarde Rafael,

      Isso mesmo. Grato.

      Adilson – Equipe FILIPEFLOP

  23. Gostaria de saber se posso utilizar 2 motores 12v de vidro elétrico de carro nessa ponte?

  24. Olá, vc tem o DRIVER PONTE H L298N para o fritzing? obrigado.

  25. COMO FAÇO PRA USAR 2 MOTORES DC E UM MOTOR SERVO ?

  26. Com esta ponte H eu consigo controlar a velocidade de 2 motores sem utilizar o enable?
    Estou tentando copiar o Linusbot ( http://arduinobymyself.blogspot.com.br/2013/01/linusbot-robot-seguidor-de-linhas.html ) mas não entendo como ele está controlando a velocidade dos motores em utilizar o enable,mandando apenas um PWM direto nos pinos IN1, IN2, IN3 e IN4.

    Felipe Adriano Custodio
  27. Obrigado, me ajudou bastante.

    Juan González
    Guadalajara (España)

    1. Obrigado Juan !

      Saludos !

      Adilson – Equipe FILIPEFLOP

  28. Aqui na ninha ponte h o primeiro exemplo só funcionou com o jumper no ativa 5v. Eu usei o proprio arduino como fonte de alimentação. E não usei o vcc pois tava usando o 5v do arduino. Queria saber se alguem tem algun exemplo de como usar um modulo bt com essa ponte para controlar motores dc.

  29. Montei um sistema desse com um motor 12V,só tá faltando para-lo sempre no mesmo ponto , com uma chave fim de curso talvez ,mas não sei como montar esta chave no arduino ,teria como me ajudar?

    1. Boa noite Lincoln,

      Que tipo de chave você está pensando em usar ? Temos sensores ópticos reflexivos, que talvez sirvam para o seu projeto :

      https://www.filipeflop.com/pd-6b912-sensor-optico-reflexivo-x2-unidades-tcrt5000.html

      Abraço.

      Adilson – Equipe FILIPEFLOP

      1. Estava pensando em uma chave fim de curso rolete …

  30. Boa tarde pessoal,
    comprei o drive de ponte h. Fiz o ligamento do driver conforme o primeiro exemplo(usando como fonte de energia a saida da placa de arduino). Porém o meu nao funciona, ja verifiquei o exemplo e fonte e nao consegui ter sucesso.
    ja fiz os seguintes teste(sempre usando a fonte de energia a placa de arduino ):
    – com jumper ˜enable 5v˜: fiz a medicao com multimetro nos output A e B e constatei que com o jumper enable 5v nao é passada corrente para as saida output.
    – sem o jumper ˜enable 5v˜: fiz a medicao com multimetro nos output A e B e constaei que passa corrente de 3.7V +-.
    obs: na especificacao do motor dc que utilizo fala q ele é de 3 – 6 V.

    alguem pode me ajudar com uma direcao a seguir?

    1. Oi Daiton, estou com o mesmo problema, você conseguiu solucionar? Comprei a ponte H e um motor de 3 a 6V com caixa redutora, ambos do filipeflop, fazendo essas conexões, com essa código, e não funciona :/

  31. Olá! Estou tentando controlar 4 motores DC (dois estão ligados no MOTOR-A juntamente e os outros dois no MOTOR-B da mesma forma.) para fazer um robô andar. Utilizei o código de vocês e adaptei para quando receber um dado, os motores se acionam.

    if (dado == 49){
    //FRENTE;
    delay(100);
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, HIGH);
    digitalWrite(IN3, LOW);
    digitalWrite(IN4, HIGH);
    }

    if (dado == 50){
    //TRÁS
    delay(100);
    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, LOW);
    digitalWrite(IN3, HIGH);
    digitalWrite(IN4, LOW);
    }…
    Porém, quando envio o dado 49, apenas o MOTOR-B é acionado (os dois em conjunto) e quando envio 50, apenas o MOTOR-A. Utilizei o primeiro esquema de vocês. Isto acontece porque o circuito precisa de mais tensão? Se eu conectar uma fonte externa, além dos 5v do arduino, ele irá funcionar?

    1. Boa noite Vitor,

      Tente utilizar uma fonte externa, por favor.

      Adilson – Equipe FILIPEFLOP

      1. Adilson, usei uma fonte externa 5V nos motores e eles ficaram excelentes. Eu posso usar uma fonte de 5v no Arduino para alimentar ele e os sensores e outra na Ponte-H? Ou isso pode danificar as placas?

        Obrigado!!

  32. como eu faço para controlar a velocidade?

    1. Boa noite Roney,

      Utilize os pinos PWM, ligando aos pinos Ativa MA e Ativa MB.

      Adilson – Equipe FILIPEFLOP

  33. Seria possível me passar um esquema deste com uma chave fim de curso com haste,,
    por favor…

  34. Boa noite gostaria de saber se vocês não tem um programa deste acionamento mais com o pic 16F628A, obrigado

    1. Boa tarde Jamir,

      Infelizmente não temos exemplos com o PIC.

      Abraço.

      Adilson – Equipe FILIPEFLOP

      1. Boa noite Adilson.
        Obrigado pela atenção
        abraço

        att.
        Jamir

  35. Qual a diferença da ponte L298N para a L298P ? Uq isso afeta em meu projeto ?
    Desde já, Obrigado

  36. Bom dia estou utilizando a placa para controlar 2 motoredutores de 6 V, mas estou tendo bastante dificuldade para controlar a velocidade em baixa rotação, acredito que devido a restrição mecânica gerada pelo redutor.
    Vcs já encontraram esse problema?
    Tem alguma sugestão??

    Parabéns pelo site.

    Grato

      1. Amigo, eu imagino que se você tenta colocar a velocidade muito baixa pelo PWM não vai passar tensão suficiente pros motores funcionarem. Te aconselho colocar esse comando que não está funcionando e quando os motores pararem fazer a medição da tensão com um multímetro nos bornes de saída dos motores e ver se está passando algo abaixo de 3V ou muito próximo, já que 3v é a tensão mínima de funcionamento deles.

  37. Bom dia

    Estou a montar algo parecido e preciso de fazer esquemas como esses aí desenhados, qual foi o programa que utilizaram?

    Obrigado
    Ricardo

    1. Boa tarde Ricardo

      Não sei se foi nesse programa, mas eu uso o Fritzing para fazer esses desenhos.

      Felipe

  38. Amigo, estou procurando o part para a ponte H L298N para o fritzing e não consigo encontrar nenhum que funcione. Você poderia falar aonde encontrou o que usou para fazer esses esquemáticos?

  39. Olá. No datasheet do L298 a tensão de trabalho pode ir a 46V mas na ponte a tensão vai até 35 V. Meu projeto tipo segway usa motores de 36 V com três baterias em série. Posso usar essa ponte considerando ainda que a tensão real da bateria é superior à 13 Volts o que em série chega perto dos 40 volts?

    1. Acredito que não, pois os capacitores do modulo são de 35 volts, ao ser alimentado com mais de 35v, serão danificados.

  40. Ótima matéria, me esclareceu basante a cerca desse modelo, normalmente os encontrados são diferentes deste.
    Mas ainda tenho uma dúvida, eu consigo controlar a velocidade do giro do motor?
    Espero resposta. Abraços.

    1. Consegue sim. Através dos comandos PWM você controla a velocidade que o motor gira.

    2. Sim Rubia, vc consegue controlar a velocidade dos motores ligando os pinos ENA do modulo a pinos PWM do arduino.

  41. Boa tarde, adorei o tutorial, tenho um modulo desse que serviu para meu projeto de conclusão de curso, e posso garantir que é um ótimo produto. Porém estou a um bom tempo procurando na neto essa biblioteca que vocês usaram no fritzing e não estou encontrando, será que podem me enviar por email? Ficarei muito feliz se puderem me ajudar.

  42. Fui utilizar a mesma Ponte H na Raspberry Pi juntamente com o Pi4J e somente consegui controlar os motores após alimentar a entrada de 6-35v com os 5v da Raspberry Pi e conctar a entrada de 5v na de 6-35v. Somente assim foi possível utilizar os motores e controlá-los.

    Caso alimentasse somentena entrada de 5v os motores não apresentavam resposta. Acredito que a adição dessa informação no artigo pode ajudar mais pessoas.

    Att,
    Arthur Silva

  43. Boa noite.
    Recentemente vim aqui perguntar sobre o controle de velocidade dos motores. Devidamente respondido e já funcionando!
    Agora gostaria de saber outra coisa..
    Minha ponte está ligada fisicamente à 2 baterias unidas e o controle de ligar e desligar é feito por 2 jumpers, será que consigo utilizar de um botão push button para ligar e desligar a ponte H? Sou novata e ainda não sei se há algum jeito de interromper a passagem de energia para a ponte 😡
    Obrigada desde já.

  44. Bom Dia,

    Gostaria se saber se é possível acionar os dois motores DC de 6V no mesmo sentido simultaneamente.

    1. Pode Sim Fernando!

  45. Boa tarde, alguem sabe me dizer se consigo controlar 4 servo-motores com essa l298? É um trabalho de faculdade, Uns me dizem q posso controlar os quatro e outros dizem q é só dois mesmo. Help help

    1. Olá Juliana, para controlar servo-motores vc não precisa dessa placa. Pode ligar eles direto no Arduino conectando cada servo numa saida PWM do seu arduino e mais a alimentação de 5V. É aconselhável vc fazer uma pequena fonte externa para os servos.
      Essa ponte H é para 2 motores DC ou um motor de passo.

  46. Boa noite,
    Sou iniciante em Arduino e recentemente adquiri vários produtos de vocês.
    Estou montando um projeto de TCC utilizando o sensor de chuva para abertura e fechamento de janela com monitoramento via internet.
    Preciso utilizar 2 chaves fim de curso para desligamento dos motores tanto na abertura quando no fechamento da janela. Vocês possuem algum exemplo que eu possa montar? Vou utilizar o Driver Motor Ponte H L298N no projeto também.
    Muito obrigado.
    Cristiano.

    Cristiano Nakamura
    1. Boa noite Cristiano,

      No momento não temos exemplos com chave de fim de curso.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  47. Oi, bem a primeira opção é para motores DC de capacidade 5 V, certo? E a segunda é para motores DC de capacidade 12 V, correto? Pois bem, meus motores são de capacidade 7,5 V, posso usar o 2º circuito, mas com uma bateria de 7,5 V? Pois bem, ligando o motor direto a bateria funciona, mas usando o 1º circuito um dos motores funciona rápido e o segundo quase nem funciona isso pq eu coloquei o JUMPER se eu não colocasse ele taria parado. Qual seria a solução de meu problema?

  48. Posso ligar o mesmo motor nas duas saídas? Preciso de mais corrente para o mesmo.

  49. Olá, possuo um controlador de motores igual a esse e gostaria de saber se a função de freio realmente funciona, porque quando coloco high em ambos os pinos digitais ele para apenas após continuar rodando um tempo devido à inércia. Por este motivo tive que usar um encoder de quadratura para parar o motor. Gostaria de saber se o freio (high em ambos os pinos) realmente trava o motor.

    1. Boa tarde Rafael,

      Encontrei um post falando sobre isso. Tente a seguinte sequencia: ENA em LOW, IN1 em LOW e IN2 em LOW, casa você esteja usando o motor A, ou ENB em LOW, IN3 em LOW e IN4 em LOW caso você esteja usando o motor B. Isso deve parar instantaneamente o motor.

      Abraço

      Adilson – Equipe FILIPEFLOP

    1. Que excelente!
      Obrigado pela contribuição!
      Abraço!

      Demétrius Fernandes
  50. Estou com um projeto bem simples, mas estou tendo um problema que não consigo resolver, já estou quase achando que o problema é na ponte..
    Tenho que acionar 02 motores em um sentido por 2 segundos, paro por 2 segundos e inverto a direção por mais 2 segundos.
    Enfim, quando faço a ligação os motores não seguem essa lógica. Mas se eu desligo o motor A (mantendo a ligação lógica com o arduino para comando dos dois motores) o motor B obedece corretamente a lógica. Desligando o motor B, o motor A também obedece a lógica correta. Concluindo que a programação está correta.

    Resumindo, desligando apenas 1 motor da ponte, o outro motor funciona na lógica correta, mas ao ligar os 2 motores na ponte a lógica fica louca.
    Alguém tem alguma sugestão?? Seria a ponte com defeito ??

    1. Talvez seja a alimentação. Você está alimentando externamente ou com o VCC do arduino?

    2. Eu estou com o mesmo problema ,usando a ponte H,gostaria que 2 motores juntos girassem no mesmo sentido e depois em outro sentido,alguém poderia me enviar o código,é possivel isso.

  51. Boa noite,
    Funciona com PIC 4520?

    Abraço!

  52. Boa tarde,

    fui testar meu L298N com o código que vcs postaram, mas não funcionou. coloco multímetro e vejo a tensão que sai do Arduíno está variando, mas na saída do L298N nas duas saídas sempre fica em zero. alguém sabe me dizer se meu L298N queimou??

  53. Ola pessoal alguém pode me ajuda estou fazendo um kit para abrir e fecha porta de van o problema esta na caixa de redução tenho um motor de 2800 RPM e para ter mais torque tenho que reduzi para 180 a 200 RPM existe uma caixa de redução pronta o terei que fazer e como faço
    moro RS

    João Sidnei Martins Dos Santos
  54. Olá
    Comprei essa placa com a FlipeFlop
    O tutorial parece muito confuso
    Estou usando um motor 4.5V conectado a ponte e a ponte esta sendo alimentada pelo arduino e SEM o jumper
    (arduino 5v +5v Ponte // Arduino GND GND ponte)
    O motor simplesmente nao funciona, eu copiei o codigo e joguei no arduino e refiz as ligaçoes umas 3 vezes e o motor nao liga

    Apenas foi possivel ligar o motor DEIXANDO o jumper CONECTADO, o que parece ser errado de acordo com o tutorial, logo parei de testar pois o mesmo diz que pode danificar a placa

    O que estou fazendo de errado? O tutorial está correto? obrigado

    1. Bom dia Felipe,

      O post foi feito de acordo com os testes, e os circuitos foram esses mesmos… Você já tentou trocar de motor para ver se o problema não é algum tipo de sobrecarga ? Como estão os jumpers em Ativa MA e Ativa MB ?

      Abraço.

      Adilson – Equipe FILIPEFLOP

    2. Alimentar a ponte H pela entrada +12v,e pela saída de 5V da ponte H alimentar o arduino pela entrada de 5V ,
      não retirei o jumper e o código da felipeflop funcionou perfeitamente,para acionar 2 motores que roda para no mesmo sentido ,no caso do carrinho é preciso inverter o sinal,usar um porta inversora CI 74HCT04N ,alimentar o CI sòmente com 5V,não conectar o GND,digital 13 vai na entrada da porta e a saida da porta vai na IN4,digital12vai na entrada e a saida vai na IN2,digital 8 vai na INA e digital11 vai na INB,para que os 2 motores girem p/ frente é preciso modificar o codigo.

    3. Felipe, estou com o mesmo problema. Comprei o kit chassi 2wd + ponte H novo, logo está funcionando. Fiz a 1ª ligação (sem o jumper) alimentando direto pelo arduino, colei a programação no sketch e nada aconteceu. O que estou fazendo de errado, alguém pode me ajudar?

      1. Boa tarde Elisa,

        Você testou os motores de forma independente, para saber se realmente estão funcionando ?

        Abraço

        Adilson – Equipe FILIPEFLOP

  55. boa noite testei esse programa porem o motor não para

  56. bom felipe, fiz um protótipo do carrinho com a placa arduino controlado pelo celular,funcional legal,mais depois de 2 dias os motores MA e MB parou de funcionar, por onde veio no kit que do protótipo,dai eu desmontei um carrinho de controle remoto onde tinha os mesmos motores, tendo um motor para as rodas da frente e outro motor para as rodas de traz,obviamente o motor das rodas de traz tem mas tração que as da frente,e no motor de traz tinha 2 capacitores de 104 e 103 e no da frente tinha apenas um de 104,o carrinho funcionou mais o motor com os dois capacitores quando aciono o comando vive travando uma hora pega e outra não,funcionando apenas o moto de baixa tração quase parando,deixei os capacitores pois com o tempo o motor pode queimar,já troquei 3 vezes o mesmo motor mais continua com o mesmo problema,sendo que os motores funcionam normalmente ligados direto..
    oque vc acha que pode ser e como posso solucionar este problema?

  57. Estou com uma duvida no texto…

    “(6-35v) e (GND) – Aqui será conectado a fonte de alimentação externa quando o driver estiver controlando um motor que opere entre 6-35v. Por exemplo se estiver usando um motor DC 12v, basta conectar a fonte externa de 12v neste pino e (GND).”

    Se eu colocar um motor que tem essas especificações ..
    – Tensão Nominal: 12,00 V;
    – Tensão Operacional: 6V ~ 18V;
    Eu posso colocar uma fonte externa de 14,8V ?

    1. Sim!
      Estando dentro do mínimo e do máximo, não tem problema.

  58. Ola,
    Estou fazendo um projeto para acionar 2 motores por pushbuttons (dois para cada motor,um para cada sentido). No entanto os motores ficam bem fracos em um dos sentidos. Como posso resolver ?

    1. CARLOS VOCÊ CONSEGUIU ACIONAR OS MOTORES COM PUSHBUTTONS ? É QUE ESTOU FAZENDO UM TRABALHO PARA ACIONAR COM PUSHBUTTON E NÃO ESTOU CONSEGUINDO FAZER A FUUNCIONAR… TEM COMO VOCÊ ME ENVIAR A PROGRAMAÇÃO?

  59. Muito bacana este projeto, parabéns!

    Poderia me ajudar a esclarecer uma dúvida:
    Para controlar 2 motores de 24V 250W é necessário utilizar uma ponte H.
    Estava vendo alguns projetos pelo youtube que utilizam a placa Sabertooth 2×25.
    O problema é que esta placa é muito cara.
    Você teria ideia de uma outra ponte h mais barata para controlar estes 2 motores ou, é possível utilizar uma ponte H para cada motor?

    Desde já agradeço.

    1. É possível, sim, utilizar uma ponte H para cada motor.
      Você só terá mais trabalho.

  60. Camarada na primeira ligacao para funcionar corretamente o fio vermelho que sai dos 5v do arduino tem que ir na entrada de 12v e o jumper de 12v deve ficar no lugar , ai sim ambos motores irao funcionar alternadamente ok !!

  61. Olá, estou fazendo um projeto para controlar dois servos motor MG995 e um motor DC mitsumi M28nN-1 R-14 7414,
    onde os servos irão fazer um movimento independente, onde os dois servos iniciarão na posicção 90 Graus, e depois o servo1 movimentara um braço de uma posição de 90 Graus a 140 Graus com movimento lento, e manter parado por 25 segundos e depois mudar para posição 80 Graus e manter parado por 25 segundos, e o servo2 quando o servo1 for para a posição 140 Graus o servo2 manterá na posição de 90 Graus aguardar 5 segundos e ir para o posição 80 Graus com movimento lento, e quando o servo1 for para a posição 80 Graus o servo2 manterá na posição 80 Graus aguardará 5 segundos e ir pra posição 110 Graus e depois fazer novamente os movimentos e parar e o motor DC movimentará uma base no sentido horário por 25 segundos movimento lento, e depois movimentar no sentido ant-horário por 25 segundos e depois parar, podes me ajudar com esse código, pois estou fazendo um braço robótico e queria fazer esses movimentos, se quiser ver a mecânica para entender melhor os movimentos posso enviar fotos por email ou whatsapp, se for possível fazer o circuito para o acionamento dos motores e quais componentes irei precisar para esse circuito, preciso muito urgente, desde já agradeço sua atenção, obrigado.

  62. Mano, show seu artigo. Comprei esta shield e aqui obtive todas as informações de forma simples e concisa. Utilizei seu sketch para testar o funcionamento e deu certo de primeira. Parabéns

    Danilo Queiroz Barbosa
    1. Valeu Danilo! Abraço.

      Adilson – Equipe FILIPEFLOP

  63. Boa tarde, estou controlando dois motores de vidro elétrico de 12v com essa ponte h, eles funcionam direitinho, porém depois de um certo intervalo de tempo o dissipador da ponte h esquenta, vc saberia me dizer qual seria o problema?

    1. Bom dia Lucas,

      É normal o dissipador esquentar, mas se ele está esquentando além do normal, pode ser algum problema de sobrecarga no módulo.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  64. Acho que tem uma informação errada nesse post. Diz que para controlar por PWM tem que tirar o jumper ao lado dos pinos de comando dos motores mas não é verdade aqueles pinos são para ativar o motor A e motor B, eu controlo por PWM mesmo com aqueles pinos.

    1. Boa tarde Lincon,

      É provável, esse post é um “pouco” antigo, logo alguma coisa pode ter mudado na construção da placa. Vamos revisar.

      Abraço e obrigado!

      Adilson – Equipe FILIPEFLOP

  65. Olá Boa Noite
    Esse drive alimenta um motor de passo, neste caso a corrente será de 4A?, como faço essa ligação ? (basta jampear as saidas),

    Roberto Alves

  66. Boa noite, consigo controlar dois motores de vidro elétrico com essa placa?

  67. Estou fazendo um braço robótico usando um motor DC de 12V no corpo e um servo na junta superior. Estou usando o Arduino + motoshield para acionamento dos motores, gostaria de saber se o motor DC que ficará na parte de baixo do braço trava o eixo para que ele sustente o restante do braço? obrigado

    1. Para montar um braço robótico é indicado o uso apenas de servos-motores. Nunca vi com motores DC.
      O servo tem muito mais torque e é mais fácil para comandar os movimentos.

    2. Como Roney L disse, é dificil alguem querer fazer braco robotico com motor tradicional. Ja o servo motor é um motor com caixa de reducao e tambem um controlador de posicao.
      Se voce quiser fazer um braco robotico com motor tradicional DC, tera que ter tambem um caixa de reducao para motores e tambem um encoder para saber a posicao onde esta o braco… e tudo isto já tem dentro do servo motor. Boa sorte se quiser sevir utilizando motores simples em vez de servor motor.
      Já ia esquecendo, como este modulo, já para controlar tambem motor de passo 🙂
      Porem apenas um motor de passo por modulo 🙁

  68. Olá Adilson, vez em quando visito seu blog, gostei desse comentário sobre Arduino principalmente sobre Ponte H L298N: tenho um Arduino e encomendei 5 placa dessa ponte , tá pra chegar, sou meio inexperiente ainda em Arduino, mas to aprendendo, valeu as dicas, Att.. Ecio

    1. Valeu Ecio!

      Abraço

      Adilson – Equipe FILIPEFLOP

  69. Boa tarde,

    Fiz uma ligação com uma fonte externa bateria de 9V e 2 motores. Tudo esta funcionando perfeitamente, porem a velocidade do motor B quando baixo de 100 ele para de funcionar, enquanto o motor a esta ok até velocidade 0.

    Se alguém conseguir me ajudar agradeço.

    1. Bom dia Fabricio,

      Por favor tente utilizar outro tipo de bateria, ou até mesmo uma fonte externa para testes, para verificar se o problema é na alimentação do shield.

      Abraço.

      Adilson – Equipe FILIPEFLOP

      1. Bom dia Adilson.

        Obrigado pelo retorno. Seria uma fonte destas https://www.filipeflop.com/pd-2d5c9b-fonte-dc-chaveada-5v-2a-plug-p4.html?ct=&p=1&s=1? Já tentei com a alimentação do cabo usb do próprio uno e com uma bateria de 9v externa. Medindo com o multimetro ele simplismente corta a alimentação do segundo motor quando a velocidade é setada em 100.

        Fabricio Bartholomeu Amadori
        1. A tensão dessa fonte é baixa, use uma fonte de 9V ou mais.
          Mas acredito que o problema esteja na ponte H.
          Te aconselho a entrar em contato com o vendedor, sobre o problema.

    2. Qual a tensão, a corrente e/ou potencia de trabalho do motor?

  70. Boa tarde,

    Consigo utilizar essa ponte H com outros microcontroladores ?

    Podem me recomendar algum motor com um torque e rpm alto ?

    Abracos

    Thadeu Munhóz Cesário
    1. 1º Sim, você consegue. É só fazer a ligação correta.
      2º Essas duas qualidades são meio controversas, pois para ter maior velocidade, perdesse torque e para ter maior torque, perdesse velocidade.
      Para que você pretende usar esses motores?

      1. Boa noite!!

        Pretendo montar um mini barco e estou precisando usar um motor que consiga um bom desempenho dentro d’água. Portando preciso de um torque forte com um rpm razoável.

        Obrigado pelo apoio.

        Thadeu Munhóz Cesário
        1. Bom, eu te aconselho a pesquisar sobre motores a prova d’água, dependendo de como você vai colocar os motores.

  71. Boa noite!
    VOu fazer um carrinho na faculdade e vou controlar pela Ponte dois motores dc 12v. Gostaria de saber qual a alimentação correta para ele, só tenho baterias 9v, gostaria de saber se posso unir três baterias 9v, mandando pra ele 27v. Se a própria ponte faz a divisão das tensões para cada motor.
    Grata

  72. Estou montando um seguidor de linha com 02 sensores infravermelho. Tenho 04 motores DC (3-6v cada) e a ponte L298N. Posso ligar 02 motores de um lado em série no OUT1(fios positivos) e OUT2(fios negativos) e do outro lado 02 motores em série OUT4(positivos) e OUT3(negativos) ?

    1. Sim.
      Você só tem que se preocupar com a tensão e com a corrente.

      1. Nesse caso, qual bateria é recomendável?
        Devo adicionar algum outro componente para que o meu seguidor de linha faça as curvas na velocidade adequada?

        1. O ideal é usar uma bateria de lipo, mas vai sair um pouco caro, então seria melhor se você usa-se apenas 2 motores, pois com 2 motores, uma bateria 9V já é o bastante.

          A velocidade você pode controlar com a ponte H, não precisa de outro componente.

    2. Luna
      Manda pra gente o camando usado no seu seguidor, assim podemos aprender com os projeto dos outros.

      Grande abraço!!!

      Léo

      Leonardo Egidio da Silva
  73. Por que o GND do arduino e ligado na bateria?

    Leonardo Baptistella
    1. É necessário pela necessidade de ter o “terra” para servir de referencial entre os IN1 até o IN4 do seu L298N e o arduino.
      Sabendo que o GND será “0V”, quando vc colocar 5V , usando o comando digitalWrite(IN1, HIGH), você estará colocando os 5V em relação ao terra da bateria e também que é o mesmo terra da fonte.
      Outra coisa que notei no codigo, que existem algumas placas com L298N que tem dois pinos ENA (enable A) e ENB (enable B), neste caso para ao logica do codigo acima funcionar, terá que deixar o/os pino/os em nivel alto, pois enable quer dizer habilitar motor A ou B.
      Espero que tenho ajudado 🙂

  74. Olá, queria fazer uma placa controladora para uma porta automática, pelo que vi é quase o que eu preciso mas com algumas adaptações.

    Preciso que calcule o percurso da porta, e se ela estiver fechada faça abrir, se estiver aberta faça fechar.

    Será que pode me ajudar nesse projeto?

    Como faço pra comprar esses equipamentos e começar a incrementa-lo?

    Obrigado!

  75. É possível utilizar um nema 23 10 kgf com esse driver?

    jehfferson wesllym chepli
  76. Quando executo o programa no arduino aparece esssa mensagem stray’302′ in program

    Alguem pode me ajudar urgente

  77. Parabéns pelo post. Muito bem explicado. Onde conseguiu essa imagem legal da ponte H no fritzing? Você teria o link para download?

    1. Boa tarde Cassio,

      Também não encontramos, então fizemos uma montagem com esta imagem: http://ameba.realsil.com.cn/wp-content/uploads/2016/03/3-2.png?resolution=1024,1

      Abraço!

      Adilson – Equipe FILIPEFLOP

  78. boa tarde

    consigo usar essa ponte J num Arduino Pro Mini Atmega328p ?
    nesse mesmo arduino com a placa h posso colocar um shield de bluetooth ou wifi para fazer um mini controle remoto?

    ronaldo aparecido schroeder
    1. Sim, pode.
      Mas use alimentação externa para a ponte H, principalmente.
      O shield bluetooth ou módulo wifi, pode ser alimentado pelo arduino,só se for usar um ou outro, se for usar os dois, é bom usar alimentação externa para um dos dois, para não sobrecarregar o arduino.

  79. ola turma, quem poderia me dar um help, preciso montar com o arduino uma controle de inversao de motor DC e sua velocidade, igual neste projeto mas porem com final de curso para ambos os lados e um potenciometro de velocidade , por exemplo, eu clico num botao X ele gira para a Direita e quando acionar um botao P ele para e se novamente precionar o botao X ele gira para a Esquerda ate ser acionado novamente o botao P onde o P seria o botao de Final de Curso . caso tenha alguem que possa me dar essa ajuda ficaria grato, se for o caso de fazer um preço bom eu posso pagar tambem.

    1. Apertei enter sem querer. rsrsrs

      Você tem que usar a função “IF”.
      Da uma pesquisada sobre isso.

  80. Olá, estou alimentando minha ponte H com 13.5V, teria alguma forma de puxar energia dela para alimentar diretamente o arduino? Ou só fazendo uma derivação mesmo, no cabo que esta vindo 13.5v e colocando um regulador de tensão?

    1. O Arduino já tem um regulador de tensão, portanto você pode utilizar 13,5 V para alimentá-lo, porém atente-se que deve ligar a alimentação ao pino Vin para não ter problemas.

  81. Olá,Bom dia!

    Gostaria de saber se a alimentação externa da ponte H poderia ser menos de 12v

    Aguardo resposta, Agradeço desde já a equipe FilipeFlop!

    1. Sim pode mas não pode ser abaixo de 5 v eu acho

  82. Amigo, eu estou com a ponte H que comprei com vocês e ela funcionou aqui, só que diferente de outra que tive, esta não sei como controlar a velocidade do motor. Como faço isto?

    Outra coisa percebi que este modelo liga o GND da alimentação que recebe da bateria, no Arduino tmb, se não a roda fica lenta. Isto tem risco de danificar a ponte H?

    1. Para controlar a velocidade, você terá de usar “analogWrite”, em vez de digitalWrite.
      Mas primeiro, tem que ligar todos os pinos (IN1, IN2, IN3, IN4) em portas PWM do arduino.
      Depois você faz essa substituição que falei antes e coloca um número de 0 a 255, em vez de HIGH.
      Ex: analogWrite(IN1, 150);

      Sobre o GND: Acreito que não danifique, mas tem que ser ligada, sempre. Não importa o que seja, se estiver sendo controlado por um arduino, tem que ligar no GND do arduino, também

  83. Boa noite, então, fui testar aqui minha ponte H e algo curioso aconteceu. Quando liguei ela (usando alimentação do Arduino) sem o jumper Ativa 5V ela ligou, mas não funcionou. Porém quando liguei o jumper ela começou a funcionar. Sabe me dizer o que aconteceu ?

    1. Você tem que usar alimentação externa.
      O arduino não tem capacidade para alimentar um motor.
      Tem grande risco de queimar o arduino.

  84. Ola,
    Montei esse mesmo esquema com o Arduíno, ponte H e 2 motores de vidro elétrico de 12v usando uma fonte externa de 12v também mas quando vou testar, a saída da ponte H para os motores só sai 4,8v. Teria algum sugestão para resolver isso ?
    abraços

    1. Retire o jumper

      1. Sem o jumper, não passa energia.

      2. Estava com defeito, por isso não funcionou.. troquei por uma ponte H nova e deu certo.

  85. Pessoal estou automatizando uma janela e quero que 1 botão feche a janela e o outro abra, escrevi o código da seguinte forma (segue abaixo), porem o quando o push button é pressionado motor não gira, o led acende.

    //Definicoes pinos Arduino ligados a entrada da Ponte H
    int IN1 = 4;
    int IN2 = 5;
    const int led = 13; //constante led refere-se ao pino digital 13.
    const int botao = 2; //constante botão refere-se ao pino digital 2.
    const int botao_1 = 3; //constante botão refere-se ao pino digital 3.
    //Variável que conterá os estados do botão (0 LOW, 1 HIGH).
    int estadoBotao = 0;
    int estadoBotao_1 = 0;
    void setup(){
    //Define os pinos como saida
    pinMode(IN1, OUTPUT);
    pinMode(IN2, OUTPUT);
    pinMode(led,OUTPUT); //Definindo pino digital 13 como de saída.
    //Define os pinos como entrada
    pinMode(botao,INPUT); //Definindo pino digital 2 como de entrada.
    pinMode(botao_1,INPUT);//Definindo pino digital 3 como de entrada.
    }
    void loop(){
    //Lendo o estado do pino , constante botao, e atribuindo
    //o resultado a variável estadoBotao.
    estadoBotao = digitalRead(botao);
    estadoBotao_1 = digitalRead(botao_1);
    //Gira o Motor A no sentido horario
    if (estadoBotao == HIGH){
    digitalWrite(led,HIGH); //Botão pressionado, acende o led.
    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, LOW);
    }
    else{
    digitalWrite(led,LOW); //Botão não pressionado, apaga o led.
    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, HIGH);
    }
    //Gira o Motor A no sentido anti-horario
    if (estadoBotao_1 == HIGH){
    digitalWrite(led,HIGH); //Botão pressionado, acende o led.
    digitalWrite(IN1, LOW);
    digitalWrite(IN2, HIGH);
    }
    else{
    //Para o motor A
    digitalWrite(led,LOW); //Botão não pressionado, apaga o led.
    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, HIGH);
    }
    }

    1. Mas os motores funcionam quando não têm os IF’s?
      Ao meu ver, a programação não tem erro.
      Se com uma programação teste, não funcionar, também, verifique as ligações e a alimentação. A alimentação tem que ser no mínimo, 6V e 200mah para cada motor.

  86. Olá, comprei uma ponte h e tentei testar não consegui, pois tenho apenas um motor, queria mandar comandos para ele virar anti-horário e horário, mas não consegui, o motor que tenho é 12V. Será que você poderia me ajudar?

  87. Adilson, como fica a ligação para um motor de 12V com 3A? Desde já, agradeço.

  88. Fiz as conexões, entretanto as velocidades dos dois motores (os motores são idênticos e de 6V – aqueles com caixa de redução amarela) são diferentes e o robô de move sempre em curva (no caso para a direita). Qual o possível problema? Pode me ajudar, por favor?

    1. Boa tarde, mesmo com o fato dos motores serem identicos, eles acabam possuindo caracteristicas diferentes, ou seja, mesmo mandando o mesmo valor pwm um pode ir mais rápido do que o outro. Sugiro que voce use um encoder ou tente no teste achar a velocidade para cada um

  89. Parabéns ADILSON THOMSEN, pela paciência em responder a tantos, é difícil achar pessoas assim.

    Eduardo de oliveira castellani
    1. Boa tarde Eduardo,

      Obrigado, nem sempre conseguimos responder à todos, pela quantidade de mensagens e dúvidas, mas fazemos o possível. 🙂

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Ola, boa tarde
        Estou a iniciar um projeto em que tenho que controlar 2 motores de passo (c2164 60045 + a1845206), mas estou com doficuldades em escolher o melhor modulo para os controlar.
        E possivel dar uma ajuda?
        Obrigado

  90. Amigo, muito bom!! Poderia me tirar uma dúvida? Gostaria de usar 2 Canais do modulo Shield Motor para controlar um motor DC poderia me dizer como posso fazer isso?? Obrigado.

  91. Boa tarde! Felipe!!!

    Gostaria de acrescentar no segundo código o sensor Ultrassônico e o modulo bluetooth HC 5, estou reaproveitando uma carcaça de um carrinho, e estou querendo adaptar….Conforme outros posts…é possível controlar via celular através do Bluetooth, e deixá-lo autônomo, poderia me ajudar?

    1. tem sim como fazer um carrinho controlado por celular com o aplicativo eu ja fiz

  92. Olá, gostaria de controlar a velocidade de cada motor utilizando dois potenciômetros, um para cada motor. É possível?

  93. Prezado Adilson,

    comprei o módulo, segui o procedimento de ligação dos dois exemplos. Preciso trabalhar com a primeira configuração, onde insiro uma tensão de 5v no módulo para alimentar os motores. A configuração não funciona.

    Com a segunda configuração rodou tudo perfeito.

    Alguma sugestão?

    1. Amigo, não tem nenhum segredo ao lado do motor A tem um conector com 3 borner, o do meio é o GND, da esquerda +12v e da direita + 5v. Pode ligar da porta 5v e GND do Arduino que vai funcionar beleza.
      Espero ter ajudado.

  94. Boa Tarde,
    Gostaria de saber se tem como colocar algum sensor quando acionado uma vez ele faz o motor rodar no sentido horário em um determinado tempo, e quando acionado de novo ele faz a mesma coisa so que no sentido anti-horário. O mesmo esquema de portões elétricos, teria como? Sou péssimo em programação e preciso fazer isso para um trabalho da faculdade teria como me ajudar?

  95. Boa tarde!
    Primeiramente gostaria de agradecê-lo por compartilhar conhecimento com todos nós e também por auxiliar nas dúvidas.
    Em segundo lugar gostaria de saber se é possível manter uma proteção caso haja travamento do motor. Apenas com o driver e o firmware é possível realizar a desenergização dos motores em uma situação dessas?
    Obrigado desde já e desculpe qualquer imaturidade na pergunta, estou iniciando no meio da eletrônica.

  96. Olá, estou com uma duvida.
    Quero controlar um motor de 5v porem vou usar uma bateria de 12v como alimentação externa pois queria evitar alimentar com o arduino. Se eu manter o jumper 5v e o jumper do PWM como esta na segunda figura meu motor recebera 5v ou 12v? Como posso enviar para o meu motor apenas 5v com uma alimentação externa de 12v?

    1. Boa tarde Carlos,

      O seu motor vai receber 12V. Se você precisar de 5V, utilize a saída do pino “5V” conforme mostrado no diagrama.

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. OK! muito obrigado!

      2. e para eu ligar apenas um motor dc com Arduíno e ponte h,posso seguir mesmo esquema?lembrando que eu estou usando as saídas analógicas do Arduíno como digitais,pois esgotei todas as digitais.

  97. Bom dia Adilson!
    Comprei um chassi e 2 motores com uma Ponte H L298N para montar um robozinho, mas veio uma Ponte H L298D.
    Estou um pouco confuso sobre como utiliza-la para controlar os motores do robô. Pode dar um help?
    Preciso controlar os sentidos de direção e velocidade. Também não localizei na placa o jumper 5v.

    Att.

    1. Para complementar. Não sei se está correto eu dizer que é uma Ponte H L298D, pois esta escrito nela L298N, nas ela é diferente desta no tutorial do blog. Ela se parece com esta na imagem neste link: http://tecnotronics.com.br/media/catalog/product/cache/1/image/640×468/040ec09b1e35df139433887a97daa66f/m/o/modulo-ponte-h-l298n-2-canais-de-2a-motor-dc-arduino-l298-999201-mlb20295379252_052015-f.jpg

  98. Olá Adilson.

    Estou fazendo um carrinho com dois motores, e estou com dificuldades para controlar ambos ao mesmo tempo. Por exemplo, com o seguinte código no loop, eles não rodam.

    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, LOW);
    digitalWrite(IN3, HIGH);
    digitalWrite(IN4, LOW);
    delay(2000);

    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, HIGH);
    digitalWrite(IN3, HIGH);
    digitalWrite(IN4, HIGH);
    delay(500);

    digitalWrite(IN1, LOW);
    digitalWrite(IN2, HIGH);
    digitalWrite(IN3, LOW);
    digitalWrite(IN4, HIGH);
    delay(2000);

    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, HIGH);
    digitalWrite(IN3, HIGH);
    digitalWrite(IN4, HIGH);
    delay(500);

    Sabe como posso resolver este problema?

    Obrigado,
    Leonardo

  99. Uma dúvida: essa primeira configuração alimenta a ponte H diretamente com os 5v do arduino pra controlar os motores de 5v. isso não pode danificar o arduino????? A máxima corrente que ele pode fornecer é de 200mA. Ou a ponte H tem algum circuito interno que amplifica a corrente, ou outra coisa?
    Obrigado.

    Guilherme

  100. Boa noite, estou comprando este motor:

    http://produto.mercadolivre.com.br/MLB-791697704-motor-eletrico-300w-bosch-moto-scooter-skate-_JM

    Sabe me dizer se a ponte H com o Arduino é possível de controlar a velocidade deste motor pelo celular ? É para um trabalho da faculdade.

  101. Olá, obrigado pelo tutorial e pela paciência em responder-nos.

    Eu estou tentando fazer um codigo, para uma bobinadora, e não consigo, ja olhei varios tutoriais e nada, peguei 3 codigos para tentar uni-los em 1 só, mas esta dando erro, Estou usando um motor DC, uma ponte H ( essa do tutorial ) e um sensor encoder, mais uma roda encoder de 33 pulsos.

    Peguei 3 codigos, sendo um contador, e tentei fazer o motor para numa determinada contagem, e coloquei junto com esse codigo, um do controle da ponte H e um para exibir na porta serial.

    Mas não funciona e dá erro, vejam abaixo, se alguém puder ajudar, agradeço.

    CODIGO:

    #include
    #include

    LiquidCrystal lcd(12,11,5,4,3,2);

    int ENABLE=3; //PINO ENABLE
    int IN1=8;

    int pinosensor = 2; // sensor óptico encoder Porta A2 ao Arduino
    int contador = 0; // Armazena o valor lido pelo sensor optico
    int pino_botao_reset = A0; // Pino ligado ao botao de reset
    int estadobotao = 0; // Armazena o estado do botao reset

    boolean contador_anterior = 0;
    boolean contador_actual = 0;

    void setup()
    {
    pinMode(IN1,OUTPUT); //SETA OS 2 PINOS COMO SAIDA
    pinMode(pinosensor, INPUT); // Define o pino do sensor optico como entrada
    pinMode(pino_botao_reset, INPUT); // Define o pino do botao reset como entrada
    pinMode(2,INPUT);

    {
    Serial.begin(9600);
    Serial.println(contador);

    }
    lcd.begin(16,2);
    lcd.print(“contador : 0″);
    }

    boolean debounce(boolean contador_anterior)
    {

    boolean contador_actual = digitalRead(2);
    if contador_anterior != contador_actual)
    {
    delay(10);
    contador_actual = digitalRead(2);
    }
    return contador_actual;
    }

    void loop()
    {

    int contador = digitalRead(2);

    actual = debounce(anterior);

    if ( anterior == 0 && actual == 1)
    {
    contador++;

    delay (100);
    Serial.println(contador);
    }

    contadoranterior = contadoractual;

    }

    estadobotao = digitalRead(pino_botao_reset); // Verifica se o botao reset foi pressionado

    if (estadobotao != 1)
    {
    // Zera o contador
    contador = 0;
    // Apaga o valor anterior
    lcd.setCursor(11,0);
    lcd.print(” “);
    // Mostra o valor zerado
    lcd.setCursor(11,0);
    lcd.print(contador);

    }

    // Le as informações do pino do sensor optico
    contador = digitalRead(pinosensor);

    // Verifica se o objeto foi detectado pelo sensor

    if (contador > 1)
    {
    // Incrementa o valor do contador
    contador = contador++;
    // Apaga o valor anterior
    lcd.setCursor(11,0);
    lcd.print(” “);
    // Mostra o valor do contador
    lcd.setCursor(11,0);
    lcd.print(contador);
    }

    int contador = analogRead(2);
    Serial.println(contador);

    // Loop caso o objeto pare sobre o sensor
    //while(digitalRead(pinosensor) != 1)

    // Le as informações do pino do sensor optico
    leitura = digitalRead(pinosensor);
    // Verifica se o objeto foi detectado pelo sensor

    // Incrementa o valor do contador
    contador = contador++;

    while (contador <700)
    {
    if (contador < 700)
    digitalWrite(IN1,HIGH); ROTACAO PARA FRENTE
    else
    digitalWrite(IN1, LOW);
    delay(100);
    }

    ERROS

    Build options changed, rebuilding all
    sketch_oct12b_programa_atual.ino: In function 'boolean debounce(boolean)':
    sketch_oct12b_programa_atual.ino:39:7: error: expected '(' before 'contador_anterior'
    sketch_oct12b_programa_atual.ino: In function 'void loop()':
    sketch_oct12b_programa_atual.ino:52:3: error: 'actual' was not declared in this scope
    sketch_oct12b_programa_atual.ino:52:21: error: 'anterior' was not declared in this scope
    sketch_oct12b_programa_atual.ino:63:5: error: 'contadoranterior' was not declared in this scope
    sketch_oct12b_programa_atual.ino:63:24: error: 'contadoractual' was not declared in this scope
    sketch_oct12b_programa_atual.ino: At global scope:
    sketch_oct12b_programa_atual.ino:69:3: error: 'estadobotao' does not name a type
    sketch_oct12b_programa_atual.ino:71:3: error: expected unqualified-id before 'if'
    sketch_oct12b_programa_atual.ino:85:6: error: 'contador' does not name a type
    sketch_oct12b_programa_atual.ino:89:3: error: expected unqualified-id before 'if'
    sketch_oct12b_programa_atual.ino:101:10: error: redefinition of 'int contador'
    sketch_oct12b_programa_atual.ino:10:5: error: 'int contador' previously defined here
    sketch_oct12b_programa_atual.ino:102:6: error: 'Serial' does not name a type
    sketch_oct12b_programa_atual.ino:109:3: error: 'leitura' does not name a type
    sketch_oct12b_programa_atual.ino:113:5: error: 'contador' does not name a type
    sketch_oct12b_programa_atual.ino:115:4: error: expected unqualified-id before 'while'

  102. tenho um arduino uno r3
    gostaria de saber como faço para configurar 2 sensores ultrassonicos hc-sr04,para quando eles detectarem objetos eles acionarem dois motores vibra call(separadamente)
    seriam 2 sensores
    que acionariam 2 motores vibra call
    gostaria de ligar assim
    sensor 1 liga motor 1
    sensor 2 liga motor 2
    gostaria se possivel da sua ajuda
    e onde posso encontrar uma biblioteca com os codigos

  103. Posso usar esse drive como amplificador de potência das portas PWM do Arduino para ligar uma fita de LED RGB?

  104. Qual software voce utiliza para fazer essa prototipação?

    tentei 123dCircuits mas nao achei esse drive

  105. is that fritzing? can get the L298n Part (.fzpz)?
    Thanks before

  106. Olá, não estou conseguido acionar a ponte h por um módulo bluetooth, sendo que já confirmei que o módulo está operando perfeitamente. Vc poderia dá uma sugestão?

  107. Caros:
    Fiz a montagem conforme a figura “motores DC 5V” e não funcionou. Pesquisando Google “l298n arduino module”, encontrei (por exemplo) o seguinte site :
    http://www.instructables.com/id/Control-DC-and-stepper-motors-with-L298N-Dual-Moto/
    Segundo esse site:
    1) A alimentação deve ser colocada sempre nos pinos nomeados aqui de 6-35V e GND, mesmo que a tensão seja 5V.
    2) É para manter o jumper 3 se a alimentação for menor que 12V.
    Resumindo, mantive jumper 3 no lugar e alimentei os pinos 6-35V (+) e GND (-) e os motores funcionaram corretamente. Aparentemente, o pino 5V não pode ser utilizado como entrada.
    Abs.

    1. Estava tentando e não funcionava. Com sua dica funcionou. Obrigado!

  108. Bom Dia!
    Gostaria de usar 2 motores 2,3 ah cada para fazer um seguidor solar alguem poderia me ajudar com os codigos?

    Tenho

    1 PÇ – Placa Uno R3 + cabo USB
    4 PÇ – Sensor de luz LDR
    40 – jumpers macho-macho e macho-fêmea
    1 – L298N
    2 – motor 2,3 ah

  109. Oi Adilson
    Muito legal e explicativo.
    Desculpe a ignorância, mas só uma pergunta…porque usar uma ponte L298N para aplicar PWM no motor se eu tenho PWN direto na placa arduino. Há alguma vantagem usando a ponte L298N? Qual?
    Obrigado

    1. Boa tarde Fernando,

      Obrigado. Quando você usa uma ponte H, você pode controlar motores que exigem mais corrente. No caso dessa ponte, até 2A.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  110. Prezado Adilson
    Obrigado pela explicação sobre a ponte H L298N. Gostaria de lhe fazer uma pergunta a mais, pois com seu conhecimento acredito que tenha um bom conselho.
    Qual bomba peristáltica (motor) você indicaria para eu conseguir um fluxo contínuo de 1ml/min. Veja que os motores de passo do tipo NEMA não possuem a cabeça da bomba peristáltica, assim dificultando a implementação.
    Tenho olhado esta bomba aqui: http://produto.mercadolivre.com.br/MLB-767756670-bomba-peristaltica-de-01ml-a-100mlminuto-pronta-entrega-_JM
    Não sei se ela é suficientemente boa para permitir uma fluxo contínuo de 1ml/mim. Por favor, você tem algum conhecimento sobre este assunto.
    Agradeço antecipadamente

  111. Bom dia Equipe.

    Estou montando um projeto de um “rover” em casa com três rodas, utilizando 3 drivers ponte h com ci l298n(filipeflop) e 6 motores DC GM25-370(china), ligando-os em pares, em cada ponte H. Utilizo normalmente as quatro entradas IN do driver para polarizar os motores, mas pretendo controlar a velocidade com PWM nas portas ENB.

    Até aí tudo ok, porém eu já utilizei 10 portas PWM do atmega2560, só com servomotores, eu precisaria de mais 6 saidas PWM disponíveis para poder ligar essas pontes H, sendo que o arduino mega só possui 13 portas PWM. A duvida é a seguinte:

    -Qual o consumo dos pins ENB com PWM?
    -Eu poderia ligar UMA unica porta do arduino à DOIS ou MAIS pinos ENB? (Provavelmente não…)
    -Se sim, há chance de eu queimar as portas do atmega, ou o driver?

    Se precisar de foto do circuito que estou utilizando, posso disponibilizar facilmente. (Mas acredito que está tudo bem intuitivo.)

    Seria de ótima ajuda se obtivesse resposta com vocês.
    Após quatro anos do post, estou eu aqui…

    Matheus Pohlmann Gonçalves
  112. Bom dia ! Gostaria de saber se é possivel controlar a posiçao dele ? Preciso coloca-lo em 3 posiçoes diferentes no carro da impressora. Um abraço e um bom dia !

    Luã da Silva Medeiros
  113. Adilson, boa noite.
    Tenho um projeto que utilizará 2 motores de 12V e 2 de 5V. É possível neste caso utilizar as duas configurações na mesma placa Arduino uma para cada placa ponte H L298N conforme o diagrama ?
    Obrigado
    Ramon

    1. Bom dia Ramon,

      É possível sim, pois as portas do Arduino serão utilizadas apenas para controle. A alimentação virá de uma fonte externa, certo?

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Olá Adilson, agradeço seu rápido retorno.
        Vou utilizar duas fontes externas sim, 12 e 5V e tudo será controlado via Bluetooth com comando por celular.
        Toda a mecânica está pronta e falta apenas esta etapa da automação.
        Agora começam as dúvidas sobre interligações e programação.
        Voltarei a pedir sua ajuda mais adiante.

        Abraço
        Ramon

      2. adilson

        fiz esta programacao. keria uma ajuda

        #include

        int static stepMotore = 100; //modifica step (passo) do motor
        int B = A2; // porta analogica do botao

        //un giro completo e’ composto da 360 gral,
        //un numero di step pari ai suoi “stepMotore diviso 2”
        int stepDaPercorrere = stepMotore/1;

        //controle portas de acionamento motor ponte H L298N
        int static IN1 = 11;
        int static IN2 = 10;
        int static IN3 = 9;
        int static IN4 = 8;

        Stepper mioMotore(stepMotore, IN1, IN2, IN3, IN4);

        void setup() {

        mioMotore.setSpeed(55); // velocidade

        pinMode(B, INPUT);

        }

        void loop() {

        int VB = digitalRead(B); // VB valor botão

        if (VB == 1){
        mioMotore.step(stepDaPercorrere);

        delay(100);

        mioMotore.step(-stepDaPercorrere);

        delay(100);

        mioMotore.step(stepDaPercorrere);

        mioMotore.step(0);

        } }

        preciso fazer ele virar conforme este video ,mas minha cabeça ta cozinhando e nao consigo axar uma forma dele fazer da forma q esta no video.. o maximo q consigo e fazer ele ir e voltar e ir denovo . mas keria uma forma dele nao rodar quando ligar o arduino pois pretendo montar um prototipo de uma makina de cigarros ,mas ai toda vez q ligo o arduino ele ja começa rodando .

        e com isso soltaria sempre um cigarro.

        https://www.youtube.com/watch?v=r6CSaNl5s-8

        poderiam me ajudar ?

  114. Tenho duas duvidas. gostaria de saber se posso usar uma bateria externa de 3 volts, pq meu motores funcionam com 3 volts. A outra dúvida é quanto ao segundo diagrama de ligação, porque quando você utilizou a bateria externa você ligou o negativo da bateria no gnd do arduino? Obrigado.

  115. Olá,

    Tenho um carrinho de controle remoto básico, da Candide. Ele queibou o circuito e vou aproveitar para mexer com arduino, vou substituir o circuito pelo arduino. Essa placa é suficiente?
    Tem algum exemplo de controle de velocidade com essa placa?

    Valeu

  116. Olá,

    Comprei no ano passado com vocês um motor de passo Nema 17 e o Driver Motor Ponte H L298N para fazer o controle do mesmo. Estou montando uma máquina lançadora de bolas de tênis e o motor de passo é utilizado para girar o carrossel do alimentador das bolas. Estou tendo um problema um pouco estranho com essa solução, espero que vocês possam me ajudar:

    Primeiro testei o motor de passo com alimentação externa independente (separada da alimentação do Arduino e demais motores) de 6V/1A, o motor de passo funciona normalmente, mas fica um pouco fraco. Buscando ter mais torque no motor de passo, tentei alimentá-lo com uma fonte de notebook, de 18.5V e 3,5A. Mas ele fica fazendo um barulho, engasgando, parando… dando giros curtos, enfim não funciona adequadamente. Não há mudança nenhuma nas conexões e cabos do Arduino, apenas troca-se a fonte. Também estou tentando o motor de passo sem carga, apenas observando o giro do eixo, fora da máquina.

    Alguma idéia do que pode ser o problema? Desde já agradeço qualquer ajuda, pois a minha formação é Engenharia Mecânica 😉

    (se quiserem posso enviar por e-mail a foto da montagem eletrônica e do código-fonte utilizado).

    Att.,

    1. Estou com esse problema também, estranho que no primeiro teste deu tudo certo, porém agora que finalmente imaginei que tivesse terminado meu projeto, o motor fica fraco num nível extremo. Comprei duas pontes, uma a mais, caso viesse a quebrar uma, troquei a ponte e continua do mesmo jeito.
      Caso descubra, por favor coloque aqui a solução.
      Farei o mesmo.

      1. Olá Eduardo,

        Pois e, o pessoal da FilipeFlop não nos respondeu ;-(. Eu andei procurando na internet e nesse link (https://tronixlabs.com.au/news/tutorial-l298n-dual-motor-controller-module-2a-and-arduino/) eles falam que deve-se retirar o jumper caso esteja alimentando o módulo L298N com uma voltagem de 12V ou superior. Mas quando eu retiro o jumper e alimento o módulo com uma fonte de notebook (18.5V e 3.5A), nada acontece. Então não sei mais o que fazer. Uma possibilidade, pelo que andei lendo, é que o motor de passo não aguente girar na velocidade que programei (myStepper.setSpeed(60)) com essa voltagem bem mais alta. Então vou fazer um teste com a velocidade bem baixa (com e sem o jumper na placa). Se vc decobrir algo me avise ok?

        1. Então, cheguei a ver isto tambem, e realizei o mesmo teste.

          Consegui resolver meu problema de um forma bem simples, coloquei o GND em comum tanto no arduino como na ponte H, no caso, a saída do jack negativa, pus junto no GND da fonte que estava utilizando.

          Tenta aí e comenta se conseguiu.

Trackbacks and Pingbacks

  1. […] Para o robô estamos utilizando dois motores DC controlados por uma ponte H L298N. Assim para desenvolver o teste seguimos o tutorial do site do FILIPEFLOP nesse link. […]

  2. […] você quer mais detalhes da especificação da ponte H aqui tem um post muito interessante, vale a pena a leitura. Como o enfoque desta série de posts é a […]

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *