Grove - I2C Motor Driver (TB6612FNG)


Le pilote de moteur Grove - I2C (TB6612FNG) peut piloter deux moteurs à courant continu jusqu’à 12 V/1,2A ou un moteur pas à pas jusqu’à 12 V/1,2 A. 

Avec le microcontrôleur intégré, il peut travailler facilement avec Arduino via l’interface Grove I2C. 

Cette carte est basée sur TB6612FNG, qui est un circuit intégré de drivers pour moteur à courant continu et moteur pas à pas avec transistor de sortie dans la structure LD MOS avec une faible résistance à l’état passant.

 Deux signaux d’entrée, IN1 et IN2, peuvent choisir l’un des quatre modes tels que CW, CCW, short brake et mode d’arrêt.


Specification

Item

Value

MCU Operating Voltage

3.3V / 5V

Motor Supply Voltage

2.5 ~ 13.5 (5V Typical, 15V Max.)

Output Current

1.2 A(ave)/3.2 A (peak)

Switching Frequency

100kHz

Logic Interface

I2C

I2C Address

0x14 (default)

I2C Address Range

0x01 ~ 0x7f (Configurable)

Size

L: 60mm W: 40mm H: 12mm

Weight

13g

Package size

L: 140mm W: 90mm H: 12mm

Gross Weight

20g

Typical applications

  • DC motor control
  • Stepper motor control






I2C Interface Cette carte utilise l’interface I2C pour permettre au microcontrôleur intégré de communiquer avec l’ordinateur hôte. GND : connectez ce module au système GND


VCC : vous pouvez utiliser 5V ou 3.3V pour ce module
SDA : données série I2C
SCL : Horloge série I2C


Ajouter la bibliothèque à Arduino IDE.









Un nouveau fichier exemple a été ajouté :





Exemple :


#include "Grove_Motor_Driver_TB6612FNG.h"

#include <Wire.h>


MotorDriver motor;


void setup() {

    // join I2C bus (I2Cdev library doesn't do this automatically)

    Wire.begin();

    Serial.begin(9600);

    motor.init();

}


void loop() {

    // drive 2 dc motors at speed=255, clockwise

    Serial.println("run at speed=255");

    motor.dcMotorRun(MOTOR_CHA, 255);

    motor.dcMotorRun(MOTOR_CHB, 255);

    delay(1000);


    // brake

    Serial.println("brake");

    motor.dcMotorBrake(MOTOR_CHA);

    motor.dcMotorBrake(MOTOR_CHB);

    delay(1000);


    // drive 2 dc motors at speed=200, anticlockwise

    Serial.println("run at speed=-200");

    motor.dcMotorRun(MOTOR_CHA, -200);

    motor.dcMotorRun(MOTOR_CHB, -200);

    delay(1000);


    // stop 2 motors

    Serial.println("stop");

    motor.dcMotorStop(MOTOR_CHA);

    motor.dcMotorStop(MOTOR_CHB);

    delay(1000);

}

Créé avec HelpNDoc Personal Edition: Rationalisez votre processus de documentation avec un outil de création d'aide