Tabla de contenido:

Manejo de motores pequeños con el TB6612FNG: 8 pasos
Manejo de motores pequeños con el TB6612FNG: 8 pasos

Video: Manejo de motores pequeños con el TB6612FNG: 8 pasos

Video: Manejo de motores pequeños con el TB6612FNG: 8 pasos
Video: Explicación Driver TB6612FNG Lamborghino - Arduino 2024, Noviembre
Anonim
Manejo de motores pequeños con el TB6612FNG
Manejo de motores pequeños con el TB6612FNG

El TB6612FNG es un IC de controlador de motor dual de Toshiba. Hay un montón de placas de conexión disponibles y es una de las opciones más populares para impulsar motores pequeños.

Hay muchos recursos en línea para comenzar con el TB6612FNG, pero decidí escribir esto de todos modos para compilar mejor lo que encontré.

Me centraré en la lógica de control y también explicaré la biblioteca de controladores de motor Sparkfun TB6612FNG en detalle en este instructivo.

Paso 1: Piezas necesarias

Esto es lo que usaremos hoy:

1) Micro motores de metal

2) controlador de motor TB6612FNG

3) Un cable USB y Arduino

4) Fuente de energía para los motores.

5) Tablero de pruebas

6) cables de puente

Paso 2: La placa de conexión TB6612FNG

La placa de conexión TB6612FNG
La placa de conexión TB6612FNG

Como mencioné antes, hay muchas placas de conexiones de diferentes fabricantes para TB6612FNG. Todos ellos tienen más o menos los mismos componentes y también pinout similar.

Los condensadores están soldados a la placa para protegerlos contra el ruido de los motores, por lo que no tendrá que soldar esos condensadores cerámicos a los motores.

El IC también viene con diodos internos para proteger contra los EMF de los motores. Pero tener medidas de seguridad adicionales no perjudica a nadie. No los agregué porque mis motores no son muy grandes y tengo pocos diodos: |

Paso 3: Pin Outs

Pin Outs
Pin Outs

La placa de conexión TB6612FNG tiene un pinout muy conveniente. Todas las salidas, entradas y conexiones de potencia del motor están muy bien agrupadas para una máxima facilidad de uso.

Hice una ilustración de los pines y cómo conectarlos, espero que sea útil a la hora de conectar todos esos cables:)

Paso 4: esquemas

Esquemas
Esquemas
Esquemas
Esquemas

Soy bastante nuevo en el uso de Fritzing. Encuentro los esquemas del circuito de Fritzing bastante difíciles de entender, pero la vista del tablero es conveniente para Instructables. No dude en hacer cualquier pregunta si alguna de las conexiones de cables parece confusa.

Paso 5: Cableado

Cableado
Cableado

Conecte todo de acuerdo con los esquemas. Hay muchos cables, asegúrese de volver a verificar después de cada conexión.

Usé los siguientes pines Arduino para las entradas del controlador del motor:

Controlador de motor -> Número de pin de Arduino

1) PWMA -> 5

2) INA1 -> 2

3) INA2 -> 4

4) PWMB -> 6

5) INB1 -> 7

6) INB2 -> 8

Cosas que pueden salir mal en este paso: 1) No invierta la polaridad mientras conecta el Vm y el GND de la fuente de poder. Podrías freír el conductor de tu motor.

2) Asegúrese de conectar el PWMA y PWMB a los pines PWM en el arduino.

3) Recuerde conectar el Arduino GND y el GND del controlador del motor si está utilizando una fuente de alimentación diferente para cada uno.

Paso 6: descarga e instalación de la biblioteca

Descargue la biblioteca de la página de GitHub de Sparkfun.

Una vez que haya descargado el archivo zip, abra su IDE de Arduino.

Desde Sketch> Incluir biblioteca> Agregar biblioteca. Zip, agregue la biblioteca que descargó.

Una vez instalado correctamente, debería aparecer en Archivo> Ejemplos, como 'SparkFun TB6612FNG Motor Library'

Si tiene dificultades para descargar e instalar una biblioteca Arduino, consulte el paso 5 de este instructivo.

Paso 7: ejecutar el código de ejemplo

Ahora que tenemos nuestra biblioteca lista, podemos cargar el código de ejemplo para probarlo.

1) Abra el ejemplo 'MotorTestRun' de la 'Biblioteca de controladores de motor Sparkfun TB6612FNG' que aparece en sus bibliotecas.

Nota: Si no está utilizando los mismos números de pin que se mencionan en el paso 5, asegúrese de cambiar las definiciones de pin según su configuración.

2) Seleccione su tablero del administrador del tablero

3) Sube tu código y los motores deberían comenzar a moverse

Una vez que cargue el, los motores deberían comenzar a moverse. Si no es así, revise su cableado nuevamente.

Paso 8: Explicación de la biblioteca

Ahora, explicaremos cómo usar la biblioteca para su propio código.

Primero comience importando la biblioteca e inicializando los pines en arduino

#incluir

#define AIN1 2 #define AIN2 4 #define PWMA 5 #define BIN1 7 #define BIN2 8 #define PWMB 6 # define STBY 9

Para inicializar los objetos de su motor, necesita establecer compensaciones para cada motor. Imagínese si está haciendo un comando de avance en su motor y está girando en reversa. Puede volver a cablearlo manualmente o simplemente cambiar el desplazamiento desde aquí. Pequeño truco ingenioso de QoL agregado por SparkFun. Los valores de estas compensaciones son 1 o -1.

Luego debe inicializar cada uno de los motores con los siguientes parámetros;

Motor = Motor (pin 1, pin 2, pin PWM, desplazamiento, pin de espera)

const int offsetA = 1;

const int offsetB = 1; Motor motor1 = Motor (AIN1, AIN2, PWMA, offsetA, STBY);

Y con esto, terminaste de inicializar la biblioteca. No más pasos en la función setup (), simplemente ejecutamos el código en la función loop ().

El método del motor tiene las siguientes funciones. Tinker alrededor para verlos a todos.

1).drive (valor, tiempo)

Motor_name = nombre de su motor objectvalue = 255 a -255; los valores negativos harán que el motor se mueva en retroceso tiempo = tiempo en milisegundos

2).freno ()

La función de freno no acepta argumentos, frena los motores.

3) freno (, <nombre_motor2)

La función de freno toma los nombres de los objetos del motor como argumentos. Frena los motores que pasan a la función.

4) adelante (,, tiempo) adelante (,, velocidad, tiempo)

La función acepta el nombre de dos objetos de motor, opcionalmente la velocidad PWM y el tiempo en milisegundos y hace funcionar el motor en dirección de avance durante el tiempo transcurrido. Si el valor de la velocidad es negativo, el motor retrocederá. La velocidad predeterminada se establece en 255.

5) atrás (,, tiempo) atrás (,, velocidad, tiempo)

La función acepta el nombre de dos objetos de motor, opcionalmente la velocidad PWM y el tiempo en milisegundos y hace funcionar el motor en dirección de avance durante el tiempo transcurrido. Si el valor de la velocidad es negativo, el motor avanzará. La velocidad predeterminada se establece en 255.

6) izquierda (,, velocidad) derecha (,, velocidad)

La función acepta dos nombres de objetos de motor y velocidad. El orden de los objetos del motor que se pasan como parámetros es importante. Para impulsar motores individuales, use.drive () en su lugar.

Recomendado: