Site icon AranaCorp

Usando um módulo L298N com Arduino

facebook Usando um módulo L298N com Arduinotwitter Usando um módulo L298N com Arduinopinterest Usando um módulo L298N com Arduinoa2a Usando um módulo L298N com Arduino

O módulo L298N é uma placa de desenvolvimento baseada no IC L298N para a condução de motores CC ou motores passo-a-passo. Já vimos a utilização da ponte H. Pode ser encontrado como um módulo conveniente para utilizar com diferentes desempenhos, dependendo dos componentes utilizados. Veremos neste tutorial a utilização do módulo L298N com um microcontrolador Arduino.

Material

Princípio funcional

O módulo L298N é baseado no circuito integrado com o mesmo nome. O circuito L298N é uma ponte dupla H que permite mudar a direcção e a intensidade da tensão no terminal de duas cargas eléctricas.
As características do módulo L298N são:

L298N-Module-Pinout Usando um módulo L298N com Arduino

Diagrama de cablagem

O módulo L298N é alimentado por uma fonte de tensão externa. Cada meia-ponte requer 3 pinos de saída de um microcontrolador.

Em alguns modelos deste módulo, é possível adicionar dois jumpers para ligar directamente os pinos de activação (ENA e ENB) a 5V. Isto permite activar sempre a ponte H e guardar duas saídas do microcontrolador

Código de gestão do módulo L298N

Para utilizar o módulo L298N, é necessário activar a ponte H, aplicando uma tensão de 5V ao pino EN. Em seguida, enviar um sinal PWM para o pino de Avanço (Entrada1/4) ou Inverter (Entrada2/3) para controlar a direcção e velocidade de rotação. A direcção de rotação para a frente ou para trás depende da direcção da ligação do motor.

//Constants
#define nbL298N 2

//Parameters
const int enaL298NPin[2] = {2, 4};
const int fwdL298NPin[2] = {3, 5};
const int bwdL298NPin[2] = {6, 9};

//Variables
int Power = 200;

void setup() {
  //Init Serial USB
  Serial.begin(9600);
  Serial.println(F("Initialize System"));
  //Init DCmotor
  for (int i = 0; i < nbL298N; i++) {
    pinMode(fwdL298NPin[i], OUTPUT);
    pinMode(bwdL298NPin[i], OUTPUT);
    pinMode(enaL298NPin[i], OUTPUT);
  }
}

void loop() {
  testL298N();
}

void testL298N() { /* function testL298N */
  ////Scenario to test H-Bridge
  for (int i = 0; i < nbL298N; i++) {
    digitalWrite(enaL298NPin[i], HIGH);
    analogWrite(bwdL298NPin[i], 0);
    for (int j = 0; j <= Power; j = j + 10) {
      analogWrite(fwdL298NPin[i], j);
      delay(20);
    }
    for (int j = Power; j >= 0; j = j - 10) {
      analogWrite(fwdL298NPin[i], j);
      delay(20);
    }
    delay(2000);
  }
}

Resultado

Uma vez carregado o código, deverá ver os motores a funcionar numa direcção e depois na outra.

Aplicações

Fontes

Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie

Exit mobile version