Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use TB6612FNG Dual Motor Driver [Bill Ludwig] : Examples, Pinouts, and Specs

Image of TB6612FNG Dual Motor Driver   [Bill Ludwig]
Cirkit Designer LogoDesign with TB6612FNG Dual Motor Driver [Bill Ludwig] in Cirkit Designer

Introduction

The TB6612FNG is a dual H-bridge motor driver IC designed to control two DC motors or one stepper motor. It is widely used in robotics, automation, and other motor control applications due to its compact size, high efficiency, and ease of use. The IC can drive motors in both forward and reverse directions, supports PWM (Pulse Width Modulation) for speed control, and features built-in thermal shutdown and overcurrent protection for reliable operation.

Explore Projects Built with TB6612FNG Dual Motor Driver [Bill Ludwig]

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
CNC Machine Control System with Dual tb6600 Stepper Drivers and MAch3 USB Interface
Image of Jayshree CNC: A project utilizing TB6612FNG Dual Motor Driver   [Bill Ludwig]  in a practical application
This circuit appears to be a control system for a CNC machine or similar automated equipment. It includes two tb6600 Micro Stepping Motor Drivers for controlling stepper motors, a DC power source with a step-down buck converter to provide the necessary voltage levels, and a 4-channel relay module for switching higher power loads. The MAch3 CNC USB interface suggests the system is designed to interface with computer numerical control software, and the RMCS_3001 BLDC Driver indicates the presence of a brushless DC motor control. The Tiva C launchpad microcontroller and various connectors imply that the system is modular and may be programmable for specific automation tasks.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Controlled Dual Motor Driver with IR Sensing
Image of Line follower 14 IR Sensor channel: A project utilizing TB6612FNG Dual Motor Driver   [Bill Ludwig]  in a practical application
This circuit controls two DC motors using a TB6612FNG motor driver, which is interfaced with an Arduino Mega 2560 microcontroller. The Arduino provides PWM signals to control the speed and direction of the motors. Multiple IR sensors are connected to the Arduino's analog inputs, likely for sensing the environment or for line-following capabilities in a robot.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Remote-Controlled Dual Motor System with Cytron URC10
Image of URC10 SUMO RC: A project utilizing TB6612FNG Dual Motor Driver   [Bill Ludwig]  in a practical application
This circuit is a remote-controlled dual DC motor driver system powered by a 3S LiPo battery. It uses a Cytron URC10 motor driver to control two GM25 DC motors based on signals received from an R6FG receiver, with a rocker switch for power control and a 7-segment panel voltmeter for monitoring the battery voltage.
Cirkit Designer LogoOpen Project in Cirkit Designer
Stepper Motor Control System with TB6600 Driver and DKC-1A Controller
Image of Copy of Copy of PLC-Based Step Motor Speed and Direction Control System: A project utilizing TB6612FNG Dual Motor Driver   [Bill Ludwig]  in a practical application
This circuit controls a bipolar stepper motor using a tb6600 micro stepping motor driver and a DKC-1A stepper motor controller. The system is powered by a 24VDC power supply and includes a relay module for additional control functionalities.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with TB6612FNG Dual Motor Driver [Bill Ludwig]

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Jayshree CNC: A project utilizing TB6612FNG Dual Motor Driver   [Bill Ludwig]  in a practical application
CNC Machine Control System with Dual tb6600 Stepper Drivers and MAch3 USB Interface
This circuit appears to be a control system for a CNC machine or similar automated equipment. It includes two tb6600 Micro Stepping Motor Drivers for controlling stepper motors, a DC power source with a step-down buck converter to provide the necessary voltage levels, and a 4-channel relay module for switching higher power loads. The MAch3 CNC USB interface suggests the system is designed to interface with computer numerical control software, and the RMCS_3001 BLDC Driver indicates the presence of a brushless DC motor control. The Tiva C launchpad microcontroller and various connectors imply that the system is modular and may be programmable for specific automation tasks.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Line follower 14 IR Sensor channel: A project utilizing TB6612FNG Dual Motor Driver   [Bill Ludwig]  in a practical application
Arduino-Controlled Dual Motor Driver with IR Sensing
This circuit controls two DC motors using a TB6612FNG motor driver, which is interfaced with an Arduino Mega 2560 microcontroller. The Arduino provides PWM signals to control the speed and direction of the motors. Multiple IR sensors are connected to the Arduino's analog inputs, likely for sensing the environment or for line-following capabilities in a robot.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of URC10 SUMO RC: A project utilizing TB6612FNG Dual Motor Driver   [Bill Ludwig]  in a practical application
Battery-Powered Remote-Controlled Dual Motor System with Cytron URC10
This circuit is a remote-controlled dual DC motor driver system powered by a 3S LiPo battery. It uses a Cytron URC10 motor driver to control two GM25 DC motors based on signals received from an R6FG receiver, with a rocker switch for power control and a 7-segment panel voltmeter for monitoring the battery voltage.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of Copy of PLC-Based Step Motor Speed and Direction Control System: A project utilizing TB6612FNG Dual Motor Driver   [Bill Ludwig]  in a practical application
Stepper Motor Control System with TB6600 Driver and DKC-1A Controller
This circuit controls a bipolar stepper motor using a tb6600 micro stepping motor driver and a DKC-1A stepper motor controller. The system is powered by a 24VDC power supply and includes a relay module for additional control functionalities.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications:

  • Robotics (e.g., motorized wheels, robotic arms)
  • Automation systems
  • Remote-controlled vehicles
  • Conveyor belts
  • Stepper motor control

Technical Specifications

Key Technical Details:

  • Operating Voltage (Vcc): 2.7V to 5.5V
  • Motor Voltage (VM): 4.5V to 13.5V
  • Output Current (per channel): 1.2A (continuous), 3.2A (peak)
  • Control Logic Voltage: 3.3V or 5V compatible
  • PWM Frequency: Up to 100 kHz
  • Built-in Protections: Thermal shutdown, overcurrent protection, and low-voltage detection
  • Package Type: HTSSOP24 (compact surface-mount package)

Pin Configuration and Descriptions:

The TB6612FNG has 24 pins. Below is a summary of the key pins and their functions:

Pin Name Pin Number Description
VCC 1 Logic power supply (2.7V to 5.5V).
VM 4 Motor power supply (4.5V to 13.5V).
GND 3, 5, 21 Ground pins. Connect all to the ground plane.
AIN1, AIN2 7, 8 Input control signals for Motor A.
BIN1, BIN2 10, 11 Input control signals for Motor B.
PWMA 6 PWM input for Motor A speed control.
PWMB 9 PWM input for Motor B speed control.
AO1, AO2 13, 14 Output pins for Motor A.
BO1, BO2 18, 19 Output pins for Motor B.
STBY 22 Standby control pin. Set HIGH to enable the IC.
NC Various No connection. Leave these pins unconnected.

Truth Table for Motor Control:

The following table shows how the input signals control the motor direction:

AIN1/BIN1 AIN2/BIN2 Motor Direction
HIGH LOW Forward
LOW HIGH Reverse
HIGH HIGH Brake
LOW LOW Stop (Coast)

Usage Instructions

How to Use the TB6612FNG in a Circuit:

  1. Power Connections:

    • Connect the logic power supply (2.7V to 5.5V) to the VCC pin.
    • Connect the motor power supply (4.5V to 13.5V) to the VM pin.
    • Connect all GND pins to the ground plane of your circuit.
  2. Motor Connections:

    • Connect the motor terminals to AO1/AO2 (for Motor A) and BO1/BO2 (for Motor B).
  3. Control Signals:

    • Use AIN1/AIN2 and BIN1/BIN2 to control the direction of Motor A and Motor B, respectively.
    • Use PWMA and PWMB to control the speed of Motor A and Motor B using PWM signals.
    • Set the STBY pin HIGH to enable the IC. Pull it LOW to put the IC in standby mode.
  4. PWM Frequency:

    • Generate PWM signals with a frequency of up to 100 kHz for speed control.

Example: Using TB6612FNG with Arduino UNO

Below is an example Arduino sketch to control two DC motors using the TB6612FNG:

// Define motor control pins
const int STBY = 7;  // Standby pin
const int AIN1 = 8;  // Motor A direction pin 1
const int AIN2 = 9;  // Motor A direction pin 2
const int PWMA = 10; // Motor A speed (PWM) pin
const int BIN1 = 11; // Motor B direction pin 1
const int BIN2 = 12; // Motor B direction pin 2
const int PWMB = 3;  // Motor B speed (PWM) pin

void setup() {
  // Set pin modes
  pinMode(STBY, OUTPUT);
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(PWMA, OUTPUT);
  pinMode(BIN1, OUTPUT);
  pinMode(BIN2, OUTPUT);
  pinMode(PWMB, OUTPUT);

  // Enable the motor driver
  digitalWrite(STBY, HIGH);
}

void loop() {
  // Motor A: Forward at 50% speed
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  analogWrite(PWMA, 128); // 50% duty cycle (0-255)

  // Motor B: Reverse at 75% speed
  digitalWrite(BIN1, LOW);
  digitalWrite(BIN2, HIGH);
  analogWrite(PWMB, 192); // 75% duty cycle (0-255)

  delay(2000); // Run motors for 2 seconds

  // Stop both motors
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  digitalWrite(BIN1, LOW);
  digitalWrite(BIN2, LOW);
  analogWrite(PWMA, 0);
  analogWrite(PWMB, 0);

  delay(2000); // Wait for 2 seconds
}

Important Considerations:

  • Ensure the motor power supply (VM) matches the voltage requirements of your motors.
  • Use appropriate decoupling capacitors near the VCC and VM pins to reduce noise.
  • Avoid exceeding the maximum current ratings to prevent damage to the IC.
  • Use heatsinks or proper ventilation if operating near the maximum current limits.

Troubleshooting and FAQs

Common Issues and Solutions:

  1. Motors Not Running:

    • Ensure the STBY pin is set HIGH to enable the IC.
    • Verify that the motor power supply (VM) is connected and within the specified range.
    • Check the control signals (AIN1/AIN2, BIN1/BIN2) and PWM inputs.
  2. Motor Running in the Wrong Direction:

    • Swap the AIN1/AIN2 or BIN1/BIN2 signals to reverse the motor direction.
  3. Overheating:

    • Ensure the current draw of the motors does not exceed 1.2A per channel.
    • Add heatsinks or improve ventilation if necessary.
  4. Noisy Operation:

    • Add decoupling capacitors (e.g., 0.1 µF) near the motor terminals to reduce electrical noise.

FAQs:

  • Can I use the TB6612FNG with a 3.3V microcontroller? Yes, the control logic is compatible with both 3.3V and 5V systems.

  • What happens if the motor draws more than 1.2A? The IC has built-in overcurrent protection, which will shut down the output to prevent damage.

  • Can I control a stepper motor with this IC? Yes, the TB6612FNG can control a bipolar stepper motor by driving its two coils.

  • Is it possible to use only one motor with this IC? Yes, you can use one motor by leaving the unused channel unconnected.