Controlando motorreductor mediante el monitor serial - puente h L298n

Un puente H es un circuito que permite a un motor DC girar en ambas direcciones. Es esencial en robótica y control de motores, y es ampliamente utilizado con microcontroladores como Arduino.

Puente H más usados para proyectos con Arduino:

l298n:

El driver L298N es un dispositivo que permite controlar el sentido de funcionamiento de motores a una corriente de salida por canal de hasta 2A. Este módulo cuenta con un disipador de calor acorde a las características de este driver, sus características de diseño le permiten un rendimiento anti-interferencia excepcional, puede llegar a trabajar hasta con un nivel de tensión de entrada de 46V, aunque por cuestiones de seguridad se recomiendo usar niveles de tensión algo debajo de este valor límite. Puede llegar a manejar un motor paso a paso de dos fases y cuatro fases, o dos motores de corriente continua. Este módulo incluye un regulador de voltaje 78M05 para obtener la energía de alimentación del dispositivo, sin embargo, cuando se superan los 12V, se sugiere usar una fuente de poder externa de 5V como fuente de alimentación digital y deshabilitar el jumper de 12V. Este módulo tiene gran capacidad de filtrado de ruido, cuenta con un diodo de protección ante corriente inversa, haciendo que su funcionamiento sea más estable y fiable.

Características:

Controlador: Integrado L298/ Doble Puente H
Interfaz de potencia: 7V~46V
Corriente máxima: 2A por canal
Voltaje de control: 5V
Nivel de entrada de señal de control:
Nivel alto 2.3V <= Vin <= Vss;
Nivel bajo: -0.3V <= Vin <= 1.5 V
Corriente de control: 36mA
Potencia de salida: 25W
Luces indicadoras: Encendido, control, dirección
Temperatura de operación: -20°C~+135°C
Tamaño pequeño 4.3cm x 4.3cm x 2.7cm
Peso: 30 gramos

Módulo Arduino Driver Motor L298n - $ 14.000


Módulo Puente H TB6612FNG:

El Módulo Puente H TB6612FNG puede controlar hasta dos motores de corriente continua con una corriente constante de 1.2A. No presenta calentamiento, pese a ello, se debe tener bastante precaución en cuanto a sus conexiones, ya que si se llegase a polarizar incorrectamente, la integridad del chip se vería comprometida. 

Para que el modulo TB 6612 FNG funcione correctamente, se ve la necesidad de implementar dos fuentes de alimentación, una para generar el voltaje lógico de operación conectado al pin VCC, y otro para suministrarle voltaje a los motores en el pin VM, ya que si no los motores y el circuito lógico llegan a compartir la fuente de alimentación, es bastante factible que el módulo se pueda ver afectado.

Importante, a tener en cuenta, las dos fuentes de alimentación deben compartir el pin de tierra (GND).

Principales Características:

  • Modulo Puente H TB6612 FNG
  • Voltaje de Operación (VCC): 2.7V a 5V
  • Voltaje de alimentación del motor (VM): Máximo 15V
  • Corriente máxima soportada: 1.2A
  • Corriente pico: 3.2A
  • Frecuencia Maxima: 100 KHz
  • Circuito de apagado térmico incorporado y circuito de detección de baja tensión
  • CW / CCW / modos de control de freno corto / parada del motor
  • Control en espera para ahorrar energía
  • Filtrado de condensadores en ambas líneas de alimentación
  • Temperatura de Operación: -20 °C ~ 85 °C
modulo puente h TB6612 para controlar motores tb6612fng, ferretronica

Módulo L298N Mini-controlador motor:

Módulo de accionamiento del motor es muy adecuado para su uso en baterías de coche inteligente, coche de juguete, robot y así sucesivamente, la tensión de alimentación de 2V ~ 10V puede conducir al mismo tiempo dos motores de corriente continua o 1 de 4 líneas motor paso a paso de 2 fases, se puede lograr positivo y la función de control de velocidad, cada corriente de 1,5 a de corriente continua. La corriente máxima es de hasta 2,5 A, con protección térmica y recuperación automática.

Características:

  • Driver Puente H dual, y puede conducir dos motores o 1 línea de motor paso a paso 4 fase de CC;
  • El voltaje de la fuente de alimentación 2V-10V;
  • El voltaje de entrada de señal 1.8-7V; actual de un solo canal de 1,5 A, la corriente de pico de hasta 2,5 A, baja corriente de espera (menos de 0.1uA);
  • El circuito de conducción común incorporado, el extremo de entrada está suspendido, el motor no funcionará mal.
  • El circuito integrado de protección contra el sobrecalentamiento con efecto de histéresis (TSD), no hay necesidad de preocuparse de bloqueo del motor.
  • Tamaño del producto: 24.7 * 21 * 5 mm (LxWxH), pequeño tamaño ultra, que permite el montaje y el vehículo.
  • Montaje diámetro del agujero: 2 mm.
  • Peso: 5 g

Los anteriores puente h son los más usados en proyectos básicos e intermedios en prototipos de robótica, para este tutorial estaremos usando el puente H L298N, acontinuación dejamos el listado de materiales que se estara usando:

Materiales Necesarios

  • Arduino Nano
  • Módulo L298N
  • Motor DC (4)
  • Fuente de alimentación
  • Jumpers

Diagrama de conexión:

  • Alimentación:
    • Conectar el pin de 12V y GND del L298N a la fuente de alimentación.
    • Conectar el pin de 5V del L298N al pin de 5V del Arduino.
  • Motores:
    • Conectar los motores de la izquierda a los pines OUT1 y OUT2 del L298N.
    • Conectar los motores de la derecha a los pines OUT3 y OUT4 del L298N.
      • Nota: El motor tendra dos cables - 1 cable debera ir conectado al pin OUT1 y el otro al OUT2 esto mismo sentido aplicada para la conexión de los demás motores - izquierda y derecha.
  • Control:
    • Conectar IN1, IN2, IN3, IN4 del L298N a los pines digitales del Arduino 10, 9, 8 y 7.
    • Conectar el pin ENA del L298N al pin PWM 11 del arduino
    • Conectar el pin ENB del L298N al pin PWM 6 del arduino.

Código Arduino:

const int ENA = 11;
const int ENB = 6;
const int IN1 = 10;
const int IN2 = 9;
const int IN3 = 8;
const int IN4 = 7;

int vel = 250;
int velGiro = 220;

void setup() {
  Serial.begin(115200);  // Iniciamos la comunicación serial

  pinMode(ENA, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(ENB, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

void loop() {
  if (Serial.available() > 0) {
    char dato = Serial.read();
    if (dato == 'a') {
      forward();
    }
    if (dato == 't') {
      downcart();
    }
    if (dato == 'l') {
      leftcart();
    }
    if (dato == 'r') {
      rightcart();
    }
  }
}


void forward() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, vel);
  analogWrite(ENB, vel);
}

void downcart() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENA, vel);
  analogWrite(ENB, vel);
}

void leftcart() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENA, vel);
  analogWrite(ENB, velGiro);
}

void rightcart() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, velGiro);
  analogWrite(ENB, vel);
}

void stopcart() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, 0);
  analogWrite(ENB, 0);
}

Este código activa los motores de acuerdo a los comando definidos, donde si enviamos la letra ‘a’ mediante el monitor serial los motores deben arrancar hacia adelante.

Te dejamos que hagas las pruebas hacia atras, derecha e izquierda y luego cuentanos en los comentarios como te fue.

Conclusión.

Los puentes H son fundamentales para controlar motores en proyectos de Arduino. Comprender los diferentes tipos y cómo conectarlos y programarlos te permitirá desarrollar una amplia variedad de aplicaciones robóticas y de control de motores.


(0) Comentarios

No registra comentarios, se el primero en comentar.
Publicar

Pública tu duda o comentario

Resuelve tus dudas con la comunidad.

*Obligatorio*