Stufin
Home Quick Cart Profile

TB6612FNG Dual DC Motor Driver

Buy Now

Component Name

TB6612FNG Dual DC Motor Driver

Description

The TB6612FNG is a dual DC motor driver integrated circuit (IC) designed to control two independent DC motors. This versatile component is commonly used in robotics, automation, and IoT projects that require precise motor control.

Functionality

The TB6612FNG motor driver IC is designed to operate two DC motors independently, allowing for forward, backward, and stop control. The IC features two full-bridge drivers, each capable of driving a single DC motor. The device can handle motor currents up to 1.2A per channel, making it suitable for small to medium-sized motors.

The IC operates on a single power supply voltage (VM) ranging from 4.5V to 13.5V, and it has built-in overcurrent protection, thermal shutdown, and undervoltage lockout to ensure safe and reliable operation.

Key Features

  • Dual DC Motor Control: The TB6612FNG can control two independent DC motors, making it ideal for applications that require synchronized or independent motor control.
  • High Current Capability: Each channel can handle up to 1.2A of continuous motor current, making it suitable for small to medium-sized motors.
  • Built-in Overcurrent Protection: The IC features built-in overcurrent protection, which limits the maximum current to prevent motor damage and IC overheating.
  • Thermal Shutdown: The device has a built-in thermal shutdown feature that turns off the IC in case of excessive temperature, preventing damage to the IC and surrounding components.
  • Undervoltage Lockout: The IC has an undervoltage lockout feature that prevents the device from operating when the power supply voltage drops below a certain threshold (typically around 4V).
  • Wide Power Supply Range: The TB6612FNG can operate on a single power supply voltage (VM) ranging from 4.5V to 13.5V, making it compatible with a variety of power sources.
  • Low Power Consumption: The IC has a low standby current, which reduces power consumption when the motors are not in use.
  • Small Package: The TB6612FNG is available in a tiny QFN-24 package, making it suitable for compact and space-constrained designs.

Pinout

The TB6612FNG has a total of 24 pins, with the following pinout

| Pin # | Function |

| --- | --- |

| 1-4 | Motor A Output (OUT1-OUT4) |

| 5-8 | Motor B Output (OUT5-OUT8) |

| 9-10 | Input Logic (IN1-IN2) for Motor A |

| 11-12 | Input Logic (IN3-IN4) for Motor B |

| 13 | Enable Input (EN) |

| 14 | VCC (Power Supply) |

| 15 | GND (Ground) |

| 16-17 | Sense Lines for Motor A (VSENSA, GND) |

| 18-19 | Sense Lines for Motor B (VSENSB, GND) |

| 20-23 | Unused (NC) |

| 24 | Thermal Pads (TP) |

Applications

The TB6612FNG dual DC motor driver IC is commonly used in

Robotics and automation projects

IoT devices with motor control requirements

Small to medium-sized motor control systems

Battery-powered devices with motor control needs

Home appliances with motor control requirements

Conclusion

The TB6612FNG is a versatile and reliable dual DC motor driver IC that offers a range of features and benefits for motor control applications. Its compact size, high current capability, and built-in protection features make it an ideal choice for a wide range of applications.

Pin Configuration

  • TB6612FNG Dual DC Motor Driver Documentation
  • Pinout Explanation
  • The TB6612FNG dual DC motor driver has 16 pins, which are explained below:
  • 1. VM (Pin 1):
  • Function: Input voltage for the motor driver
  • Description: This pin is connected to a power supply (typically between 4.5V to 24V) to power the motor driver.
  • 2. VCC (Pin 2):
  • Function: Input voltage for the logic circuit
  • Description: This pin is connected to a power supply (typically 5V) to power the logic circuit of the motor driver.
  • 3. GND (Pin 3):
  • Function: Ground connection
  • Description: This pin is connected to the ground of the power supply and the system.
  • 4. IN1 (Pin 4):
  • Function: Input signal for motor A
  • Description: This pin receives the logical input signal (high or low) to control the direction of motor A.
  • 5. IN2 (Pin 5):
  • Function: Input signal for motor A
  • Description: This pin receives the logical input signal (high or low) to control the direction of motor A.
  • 6. OUT1 (Pin 6):
  • Function: Output pin for motor A
  • Description: This pin is connected to one terminal of motor A.
  • 7. OUT2 (Pin 7):
  • Function: Output pin for motor A
  • Description: This pin is connected to the other terminal of motor A.
  • 8. IN3 (Pin 8):
  • Function: Input signal for motor B
  • Description: This pin receives the logical input signal (high or low) to control the direction of motor B.
  • 9. IN4 (Pin 9):
  • Function: Input signal for motor B
  • Description: This pin receives the logical input signal (high or low) to control the direction of motor B.
  • 10. OUT3 (Pin 10):
  • Function: Output pin for motor B
  • Description: This pin is connected to one terminal of motor B.
  • 11. OUT4 (Pin 11):
  • Function: Output pin for motor B
  • Description: This pin is connected to the other terminal of motor B.
  • 12. STBY (Pin 12):
  • Function: Standby input
  • Description: This pin is used to put the motor driver in standby mode when connected to low (GND). When connected to high (VCC), the motor driver is enabled.
  • 13. NC (Pin 13):
  • Function: No connection
  • Description: This pin is not connected internally and should be left unconnected.
  • 14. NC (Pin 14):
  • Function: No connection
  • Description: This pin is not connected internally and should be left unconnected.
  • 15. NC (Pin 15):
  • Function: No connection
  • Description: This pin is not connected internally and should be left unconnected.
  • 16. GND (Pin 16):
  • Function: Ground connection
  • Description: This pin is connected to the ground of the power supply and the system.
  • Connection Structure:
  • To connect the TB6612FNG dual DC motor driver, follow this structure:
  • 1. Power supply connection:
  • VM (Pin 1) to power supply (typically between 4.5V to 24V)
  • VCC (Pin 2) to power supply (typically 5V)
  • GND (Pin 3 and Pin 16) to power supply ground
  • 2. Motor A connection:
  • IN1 (Pin 4) to logical input signal (high or low) for motor A direction control
  • IN2 (Pin 5) to logical input signal (high or low) for motor A direction control
  • OUT1 (Pin 6) to one terminal of motor A
  • OUT2 (Pin 7) to the other terminal of motor A
  • 3. Motor B connection:
  • IN3 (Pin 8) to logical input signal (high or low) for motor B direction control
  • IN4 (Pin 9) to logical input signal (high or low) for motor B direction control
  • OUT3 (Pin 10) to one terminal of motor B
  • OUT4 (Pin 11) to the other terminal of motor B
  • 4. Standby connection:
  • STBY (Pin 12) to low (GND) for standby mode or high (VCC) for normal operation
  • When connecting the motor driver, ensure that the power supply is suitable for the motor requirements, and the logical input signals are properly connected to a microcontroller or other control device.

Code Examples

TB6612FNG Dual DC Motor Driver Documentation
Overview
The TB6612FNG is a dual DC motor driver IC that can operate two DC motors independently with a wide range of voltage and current ratings. It features a compact package, low power consumption, and high accuracy, making it suitable for various robotics, automation, and IoT applications.
Pinout and Pin Functions
The TB6612FNG has a total of 16 pins, with the following pin functions:
| Pin No. | Pin Name | Function |
| --- | --- | --- |
| 1 | VCC | Power supply (5-15V) |
| 2 | GND | Ground |
| 3 | AIN1 | Input 1 for Motor A |
| 4 | AIN2 | Input 2 for Motor A |
| 5 | PWMA | PWM input for Motor A |
| 6 | AOUT1 | Output 1 for Motor A |
| 7 | AOUT2 | Output 2 for Motor A |
| 8 | BIN1 | Input 1 for Motor B |
| 9 | BIN2 | Input 2 for Motor B |
| 10 | PWMB | PWM input for Motor B |
| 11 | BOUT1 | Output 1 for Motor B |
| 12 | BOUT2 | Output 2 for Motor B |
| 13 | STBY | Standby pin (active low) |
| 14 | NC | No connection |
| 15 | NC | No connection |
| 16 | NC | No connection |
Block Diagram
The block diagram of the TB6612FNG is as follows:
```
          +---------------+
          |        VCC   |
          +---------------+
                  |
                  |
                  v
+---------------+       +---------------+
|  Input Stage  |       |  Motor A      |
|  (AIN1, AIN2) |       |  (AOUT1, AOUT2)|
+---------------+       +---------------+
                  |
                  |
                  v
+---------------+       +---------------+
|  PWM Stage    |       |  Motor B      |
|  (PWMA)       |       |  (BOUT1, BOUT2)|
+---------------+       +---------------+
                  |
                  |
                  v
+---------------+
|  Standby     |
|  (STBY)      |
+---------------+
```
Example Code
### Example 1: Basic Motor Control using Arduino
In this example, we will use the TB6612FNG to control two DC motors using an Arduino board.
```c++
const int AIN1 = 2;  // Input 1 for Motor A
const int AIN2 = 3;  // Input 2 for Motor A
const int PWMA = 4;  // PWM input for Motor A
const int BIN1 = 5;  // Input 1 for Motor B
const int BIN2 = 6;  // Input 2 for Motor B
const int PWMB = 7;  // PWM input for Motor B
void setup() {
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(PWMA, OUTPUT);
  pinMode(BIN1, OUTPUT);
  pinMode(BIN2, OUTPUT);
  pinMode(PWMB, OUTPUT);
}
void loop() {
  // Set Motor A to rotate clockwise
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  analogWrite(PWMA, 128); // 50% PWM duty cycle
// Set Motor B to rotate counterclockwise
  digitalWrite(BIN1, LOW);
  digitalWrite(BIN2, HIGH);
  analogWrite(PWMB, 128); // 50% PWM duty cycle
delay(1000);
// Set Motor A to rotate counterclockwise
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  analogWrite(PWMA, 128); // 50% PWM duty cycle
// Set Motor B to rotate clockwise
  digitalWrite(BIN1, HIGH);
  digitalWrite(BIN2, LOW);
  analogWrite(PWMB, 128); // 50% PWM duty cycle
delay(1000);
}
```
### Example 2: PWM Speed Control using Raspberry Pi
In this example, we will use the TB6612FNG to control the speed of two DC motors using a Raspberry Pi.
```python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# Define motor pins
AIN1 = 17
AIN2 = 23
PWMA = 24
BIN1 = 25
BIN2 = 12
PWMB = 16
# Set up GPIO pins
GPIO.setup(AIN1, GPIO.OUT)
GPIO.setup(AIN2, GPIO.OUT)
GPIO.setup(PWMA, GPIO.OUT)
GPIO.setup(BIN1, GPIO.OUT)
GPIO.setup(BIN2, GPIO.OUT)
GPIO.setup(PWMB, GPIO.OUT)
# Set initial motor speeds to 0
GPIO.PWM(PWMA, 50).start(0)
GPIO.PWM(PWMB, 50).start(0)
try:
    while True:
        # Set Motor A to rotate clockwise at 50% speed
        GPIO.output(AIN1, GPIO.HIGH)
        GPIO.output(AIN2, GPIO.LOW)
        GPIO.PWM(PWMA).ChangeDutyCycle(50)
# Set Motor B to rotate counterclockwise at 25% speed
        GPIO.output(BIN1, GPIO.LOW)
        GPIO.output(BIN2, GPIO.HIGH)
        GPIO.PWM(PWMB).ChangeDutyCycle(25)
time.sleep(1)
# Set Motor A to rotate counterclockwise at 75% speed
        GPIO.output(AIN1, GPIO.LOW)
        GPIO.output(AIN2, GPIO.HIGH)
        GPIO.PWM(PWMA).ChangeDutyCycle(75)
# Set Motor B to rotate clockwise at 50% speed
        GPIO.output(BIN1, GPIO.HIGH)
        GPIO.output(BIN2, GPIO.LOW)
        GPIO.PWM(PWMB).ChangeDutyCycle(50)
time.sleep(1)
except KeyboardInterrupt:
    # Stop motors and clean up
    GPIO.PWM(PWMA).stop()
    GPIO.PWM(PWMB).stop()
    GPIO.cleanup()
```
These examples demonstrate the basic usage of the TB6612FNG dual DC motor driver IC in various contexts. The code can be modified and extended to suit specific application requirements.