A maioria dos projetos que eu vejo utilizando o driver motor ponte H L298N envolve o controle de motores DC. Faz sentido pois uma das grandes vantagens desse módulo é que ele suporta correntes de até 2A por canal, mas também temos a possibilidade de usar o módulo ponte H L298N com motor de passo. Vamos ver como isso funciona, mostrando antes as especificações e pinagem:
Especificações ponte H L298N
- Tensão de Operação: 6~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 máx
- 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
Pinagem
- MOTOR A e MOTOR B são os conectores utilizados para ligação de 2 motores DC ou 1 motor de passo
- ATIVA MA e ATIVA MB – Podem ser ligados aos pinos PWM do Arduino para controle de velocidade do motor
- ATIVA 5V e 5v – Esta placa possui um regulador de tensão integrado. Quando o módulo é alimentado por fonte externa (6 à 35v) e um jumper está colocado no conector Ativa 5v, o pino 5v possui uma SAÍDA de +5v. Quando não há jumper no pino Ativa 5v, o pino 5v se comporta como ENTRADA, podendo ser utilizado , por exemplo, os 5v do Arduino para alimentação. Portanto, tome cuidado ao utilizar o pino 5v e evite danos ao módulo.
- 6-35v e GND – Pinos alimentação externa
- ENTRADA – Barramento com os pinos de IN1 a IN4. IN1 e IN2 controlam o Motor A, e IN3 e IN4 controlam o Motor B. No caso de motores de passo, os 4 pinos são utilizados
Eu testei esse módulo com um motor de passo bipolar, retirado de uma impressora (o mesmo que eu utilizei no post Controlando motor de passo bipolar com o módulo Easydriver). Como o motor é de 12 volts, utilizei uma fonte externa para alimentação. Repare que o pino GND do Arduino deve ser ligado ao GND da fonte externa:
Com esse motor eu vou usar a sequência mostrada na tabela abaixo, que se refere ao motor que eu tenho. A bobina 1 está ligada aos fios amarelo e cinza, e a bobina 2 aos fios marrom e verde, e provavelmente são diferentes das cores dos fios do motor que você tiver aí. De qualquer forma, basta descobrir quais são os pares das bobinas.
Com base na tabela, vou acionando os pinos 8, 9, 10 e 11 do Arduino com pequenos intervalos, movimentando o motor. Como estamos acionando diretamente os pinos, não vamos utilizar bibliotecas nesse programa.
//Programa: Ponte H L298N com motor de passo //Autor: Arduino e Cia //Conexoes modulo - Arduino int IN1 = 8; int IN2 = 9; int IN3 = 10; int IN4 = 11; 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); }
Adapte o programa ao seu projeto, ajustando a sequência de ativação, alterando o sentido de rotação e modificando o programa para que o motor se movimente em ângulos pré-determinados.
Gostou do post de ponte H L298N com motor de passo e Arduino? Confira outros posts usando motores aqui mesmo no Arduino e Cia!