0. Componentes y programación necesaria para Controlador TB6612FNG Motor DC PAP 

Componentes requeridos:

{Product:2000}{Product:40}
Motores:
{Product:23}
o:
{Product:62}
o:
{Product:1056}
  • Fuente de alimentación externa de 12V (Adaptador, Fuente de tensión, etc)
  • Protoboard
  • Cables dupont

I. Cómo utilizar el driver para controlar un motor NEMA

Como introdujimos en las lecciones 19 y 20 del curso introducción a Arduino UNO, los motores Paso A Paso (PAP) son motores DC que necesitan de un driver para su control. En este tutorial vamos a usar un motor NEMA y el driver TB6612FNG.

El TB6612FNG es un controlador (driver) de motores que nos permite variar tanto la velocidad, como el sentido de giro de dos motores de corriente continua desde nuestra Arduino.

El TB6612FNG se puede considerar una versión mejorada del L298N. Su principal diferencia es que los puentes-H usan transistores MOSFET en lugar de los BJT del L298N, lo que le da más eficiencia y menor tamaño.

En cuanto a las corrientes, permite controlar intensidades superiores, suministrando hasta 1.2A por canal y 3,2A de pico máximo. 

Este driver permite controlar hasta 2 motores de corriente continua o un motor paso a paso bipolar. También permite controlar un motor paso a paso unipolar configurado como bipolar, siendo ideal para proyectos de Arduino. 

Aunque este controlador está especialmente pensado para controlar dos motores (separándolo por bobinas A y B), en este ejemplo vamos a controlar un motor Paso a Paso NEMA 17, el cual lleva dos bobinados en su interior, mediante este driver.

II. Procedimientos experimentales

Conexión

El módulo se alimenta directamente de Arduino, así que no necesitamos una fuente de energía externa. Sin embargo, para alimentar el motor si se requiere alimentación externa que suministre la intensidad requerida en los pines VM. 

El módulo tiene los siguientes pines que se conectan a los correspondientes de Arduino:

Los pines están conectados según la tabla:

 

Pin Módulo

Pin de Arduino UNO

PWMA

VCC

AIN2

D4

AIN1

D5

STBY

R: 10K -> VCC

BIN1

D6

BIN2

D7

PWMB

VCC

GND

GND

 

Pin Módulo

Pin Motor/Alimentación

VM

12V

VCC

5V

GND

GND

A1

A01 Bobina A

A2

A02 Bobina A

B1

B01 Bobina B

B2

B02 Bobina B

GND

GND

 

NOTA: Cuando hay alimentación externa, como en este caso, debemos siempre poner GND común, unir todas las tierras.

Los motores NEMA 17 que vamos a usar tienen 6 pines de conexión, cuyo orden mirando dese arriba: A1, 0, A2, B1, 0, B2 

El diagrama resultante queda así:

NOTA: Si la fuente proviene de corriente alterna, siempre es mejor poner un condensador en serie.

Una vez conectado todo, abrimos un sketch vacío en el Arduino IDE y copiamos el siguiente código:

#include <Stepper.h>

 // change this to the number of steps on your motor

#define STEPS 200

 

// create an instance of the stepper class, specifying

// the number of steps of the motor and the pins it's

// attached to

Stepper stepper(STEPS, 4, 5, 6, 7);

  

void setup()

{

  Serial.begin(9600);

  Serial.println("Stepper test!");

  // set the speed of the motor to 30 RPMs

  stepper.setSpeed(60);

}

 

void loop()

{

  Serial.println("Forward");

  stepper.step(STEPS);

  Serial.println("Backward");

  stepper.step(-STEPS);

}

Debemos descargar la librería “Stepper”, asegurarnos del puerto y la placa, y darle a subir. 

Con este código vemos como se mueve hacia adelante el número de pasos indicado, en este caso 200, y luego realiza los mismos en sentido contrario. Esto realizado a 30 revoluciones por minuto, indicado con el doble, debido a los dos bobinados.

Con estos motores se consigue una gran precisión en cada paso. Puedes probar a diseñar tu código para la aplicación que requieras y modificar su velocidad.