The TB6612FNG is a dual H-bridge motor driver IC designed for controlling two DC motors or one stepper motor. It supports motor voltage ranges from 2.5V to 13.5V and offers features such as PWM (Pulse Width Modulation) control for speed regulation, direction control, and built-in thermal shutdown protection. This compact and efficient IC is widely used in robotics, automation, and other motor control applications.
Explore Projects Built with ponte h TB6612FNG
Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
This circuit features an Arduino Nano microcontroller interfaced with a TB6612FNG motor driver to control two DC Mini Metal Gear Motors. It also includes an HC-SR04 Ultrasonic Sensor for distance measurement, a 5 channel IR sensor for line tracking, and a Servomotor SG90 for positioning tasks. The system is powered by a 12V battery, with the Arduino Nano managing sensor inputs and motor outputs to perform tasks such as navigation or automation.
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.
This circuit is designed to control two DC motors using an H-bridge (ponte h) connected to an Arduino UNO microcontroller. The Arduino receives input from two TCRT 5000 IR sensors to determine the path and controls the motors to move forward, backward, or turn left/right based on the sensor readings. The motors are powered by a 2x 18650 battery pack, and the entire system is intended for applications such as line following robots or automated guided vehicles.
This circuit uses an Arduino Nano to control a TB6612FNG motor driver, which in turn controls two motors. The circuit also includes two pushbuttons for user input, allowing the Arduino to receive commands and control the motor driver accordingly.
Robotics: Driving wheels or actuators in robotic systems
Automation: Controlling conveyor belts or small machinery
DIY Projects: Motorized toys, RC vehicles, and hobbyist electronics
Stepper Motor Control: Driving stepper motors for precise positioning
Technical Specifications
Key Technical Details
Parameter
Value
Motor Voltage Range
2.5V to 13.5V
Logic Voltage Range
2.7V to 5.5V
Continuous Output Current
1.2A per channel (max)
Peak Output Current
3.2A per channel (short duration)
PWM Frequency
Up to 100 kHz
Control Logic
High/Low signals and PWM
Built-in Protections
Thermal shutdown, overcurrent
Package Type
SSOP24
Pin Configuration and Descriptions
The TB6612FNG has 24 pins. Below is a summary of the key pins:
Pin Number
Pin Name
Description
1
AIN1
Input signal for Motor A direction control
2
AIN2
Input signal for Motor A direction control
3
PWMA
PWM input for Motor A speed control
4
AO1
Output 1 for Motor A
5
AO2
Output 2 for Motor A
6
VM
Motor power supply (2.5V to 13.5V)
7
GND
Ground
8
VCC
Logic power supply (2.7V to 5.5V)
9
STBY
Standby control (active high to enable the IC)
10
BIN1
Input signal for Motor B direction control
11
BIN2
Input signal for Motor B direction control
12
PWMB
PWM input for Motor B speed control
13
BO1
Output 1 for Motor B
14
BO2
Output 2 for Motor B
15-24
NC
Not connected
Usage Instructions
How to Use the TB6612FNG in a Circuit
Power Connections:
Connect the motor power supply (VM) to the motor voltage input pin (Pin 6). Ensure the voltage is within the range of 2.5V to 13.5V.
Connect the logic power supply (VCC) to Pin 8. This should be between 2.7V and 5.5V.
Connect the GND pin (Pin 7) to the ground of your circuit.
Motor Connections:
Connect the motor terminals to the output pins (AO1, AO2 for Motor A; BO1, BO2 for Motor B).
Control Signals:
Use the AIN1, AIN2, and PWMA pins to control Motor A.
Use the BIN1, BIN2, and PWMB pins to control Motor B.
Apply PWM signals to the PWMA and PWMB pins to control motor speed.
Set the STBY pin high to enable the IC.
Direction Control:
Set AIN1 high and AIN2 low to rotate Motor A in one direction.
Set AIN1 low and AIN2 high to rotate Motor A in the opposite direction.
Similarly, use BIN1 and BIN2 for Motor B.
PWM Control:
Apply a PWM signal (up to 100 kHz) to the PWMA or PWMB pins to adjust motor speed.
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 AIN1 = 2; // Motor A direction pin 1
const int AIN2 = 3; // Motor A direction pin 2
const int PWMA = 5; // Motor A PWM pin
const int BIN1 = 4; // Motor B direction pin 1
const int BIN2 = 7; // Motor B direction pin 2
const int PWMB = 6; // Motor B PWM pin
const int STBY = 8; // Standby pin
void setup() {
// Set motor control pins as outputs
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(PWMA, OUTPUT);
pinMode(BIN1, OUTPUT);
pinMode(BIN2, OUTPUT);
pinMode(PWMB, OUTPUT);
pinMode(STBY, 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 (128 out of 255)
// Motor B: Reverse at 75% speed
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, HIGH);
analogWrite(PWMB, 192); // 75% duty cycle (192 out of 255)
delay(2000); // Run motors for 2 seconds
// Stop both motors
analogWrite(PWMA, 0);
analogWrite(PWMB, 0);
delay(2000); // Wait for 2 seconds
}
Important Considerations
Ensure the motor voltage (VM) matches the requirements of your motors.
Use appropriate decoupling capacitors near the power supply pins to reduce noise.
Avoid exceeding the maximum current ratings to prevent damage to the IC.
Use heat sinks or proper ventilation if operating near the maximum current limits.
Troubleshooting and FAQs
Common Issues and Solutions
Motors Not Spinning:
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 PWM signal and ensure it is being applied correctly.
Motor Spins in the Wrong Direction:
Swap the AIN1 and AIN2 signals (or BIN1 and BIN2 for Motor B) to reverse the direction.
Overheating:
Ensure the current drawn by the motors does not exceed 1.2A per channel.
Use a heat sink or improve ventilation around the IC.
PWM Control Not Working:
Verify the PWM frequency is within the supported range (up to 100 kHz).
Check the duty cycle of the PWM signal to ensure proper speed control.
FAQs
Q: Can I use the TB6612FNG to drive a stepper motor?
A: Yes, the TB6612FNG can drive a stepper motor by controlling the two H-bridges in a coordinated manner. You will need to generate the appropriate step and direction signals.
Q: What happens if the IC overheats?
A: The TB6612FNG has built-in thermal shutdown protection. If it overheats, it will temporarily disable the outputs until the temperature returns to a safe level.
Q: Can I use a single power supply for both VM and VCC?
A: Yes, as long as the voltage is within the range of 2.7V to 5.5V for VCC and 2.5V to 13.5V for VM. However, separate supplies are recommended for better performance.