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

How to Use IBT2 Motordriver: Examples, Pinouts, and Specs

Image of IBT2 Motordriver
Cirkit Designer LogoDesign with IBT2 Motordriver in Cirkit Designer

Introduction

The IBT2 Motor Driver is a dual H-bridge motor driver designed to control DC motors and stepper motors. It enables bidirectional control of motors, allowing for both forward and reverse operation. With its ability to handle high current loads, the IBT2 is ideal for applications in robotics, automation, and other projects requiring precise motor control. Its robust design makes it suitable for driving large motors in demanding environments.

Explore Projects Built with IBT2 Motordriver

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-Controlled Multi-Axis Actuator System with Orientation Sensing and Light Detection
Image of Auto_Level_Table: A project utilizing IBT2 Motordriver in a practical application
This circuit features an ESP32 S3 N32R8V microcontroller interfaced with multiple IBT-2 H-Bridge Motor Drivers to control several Linear Actuators, and it receives input from KY-018 LDR Photo Resistors and Pushbuttons. The ESP32 is powered by a 5V supply from an Adafruit MPM3610 5V Buck Converter, while the Linear Actuators and Motor Drivers are powered by a 12V 7Ah battery. Additionally, the ESP32 communicates with an Adafruit BNO085 9-DOF Orientation IMU Fusion Breakout for orientation sensing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560 Controlled Multi-Motor Robot with RC Receiver and H-Bridge Drivers
Image of battle bot: A project utilizing IBT2 Motordriver in a practical application
This circuit is designed to control multiple DC motors using an Arduino Mega 2560 microcontroller and IBT-2 H-Bridge Motor Drivers. The Arduino receives input signals from an RC receiver and drives the motors at variable speeds, including forward and backward directions, as well as stopping them. The system is powered by a 12V battery, and the microcontroller's code provides functions for motor speed calibration, reading transmitter signals, and testing individual motor movements.
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 IBT2 Motordriver 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
ESP32-Controlled Dual Gearmotor System with IR Sensing
Image of esp32 BLETHOOTH with motor driver: A project utilizing IBT2 Motordriver in a practical application
This circuit features an ESP32 microcontroller interfaced with three TCRT 5000 IR sensors and two DC gearmotors controlled by an L298N motor driver. The ESP32 reads digital outputs from the IR sensors to likely make decisions based on line or obstacle detection, and it controls the gearmotors' directions and speeds, possibly for a robot or automated system. Power is supplied by a 6V battery connected to the motor driver, which also provides 5V to the ESP32 and the IR sensors.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with IBT2 Motordriver

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 Auto_Level_Table: A project utilizing IBT2 Motordriver in a practical application
ESP32-Controlled Multi-Axis Actuator System with Orientation Sensing and Light Detection
This circuit features an ESP32 S3 N32R8V microcontroller interfaced with multiple IBT-2 H-Bridge Motor Drivers to control several Linear Actuators, and it receives input from KY-018 LDR Photo Resistors and Pushbuttons. The ESP32 is powered by a 5V supply from an Adafruit MPM3610 5V Buck Converter, while the Linear Actuators and Motor Drivers are powered by a 12V 7Ah battery. Additionally, the ESP32 communicates with an Adafruit BNO085 9-DOF Orientation IMU Fusion Breakout for orientation sensing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of battle bot: A project utilizing IBT2 Motordriver in a practical application
Arduino Mega 2560 Controlled Multi-Motor Robot with RC Receiver and H-Bridge Drivers
This circuit is designed to control multiple DC motors using an Arduino Mega 2560 microcontroller and IBT-2 H-Bridge Motor Drivers. The Arduino receives input signals from an RC receiver and drives the motors at variable speeds, including forward and backward directions, as well as stopping them. The system is powered by a 12V battery, and the microcontroller's code provides functions for motor speed calibration, reading transmitter signals, and testing individual motor movements.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Line follower 14 IR Sensor channel: A project utilizing IBT2 Motordriver 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 esp32 BLETHOOTH with motor driver: A project utilizing IBT2 Motordriver in a practical application
ESP32-Controlled Dual Gearmotor System with IR Sensing
This circuit features an ESP32 microcontroller interfaced with three TCRT 5000 IR sensors and two DC gearmotors controlled by an L298N motor driver. The ESP32 reads digital outputs from the IR sensors to likely make decisions based on line or obstacle detection, and it controls the gearmotors' directions and speeds, possibly for a robot or automated system. Power is supplied by a 6V battery connected to the motor driver, which also provides 5V to the ESP32 and the IR sensors.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Robotics (e.g., motorized arms, wheeled robots)
  • Automation systems (e.g., conveyor belts, automated gates)
  • Electric vehicles and carts
  • CNC machines and 3D printers
  • High-power motor control in industrial applications

Technical Specifications

The IBT2 Motor Driver is built to handle high-power motors with ease. Below are its key technical specifications:

Parameter Value
Operating Voltage 6V to 27V
Continuous Current 43A
Peak Current 160A (short duration)
Control Voltage 3.3V to 5V (logic level)
PWM Frequency Up to 20 kHz
Dimensions 55mm x 60mm x 30mm
Operating Temperature -25°C to +80°C

Pin Configuration and Descriptions

The IBT2 Motor Driver has a total of 8 pins for control and power connections. Below is the pinout and description:

Pin Name Type Description
VCC Power Input Connect to the motor power supply (6V to 27V).
GND Power Ground Connect to the ground of the power supply.
INA Logic Input Input A for motor direction control.
INB Logic Input Input B for motor direction control.
PWM Logic Input Pulse Width Modulation input for speed control.
EN Logic Input Enable pin. Set HIGH to enable the motor driver.
OUT1 Motor Output Connect to one terminal of the motor.
OUT2 Motor Output Connect to the other terminal of the motor.

Usage Instructions

How to Use the IBT2 Motor Driver in a Circuit

  1. Power Connections:

    • Connect the VCC pin to the positive terminal of the motor power supply (6V to 27V).
    • Connect the GND pin to the ground of the power supply and the ground of your control circuit.
  2. Motor Connections:

    • Connect the motor terminals to the OUT1 and OUT2 pins.
  3. Control Connections:

    • Connect the INA and INB pins to the digital output pins of your microcontroller to control motor direction.
    • Connect the PWM pin to a PWM-capable pin on your microcontroller for speed control.
    • Connect the EN pin to a digital output pin on your microcontroller to enable or disable the motor driver.
  4. Logic Voltage:

    • Ensure the control signals (INA, INB, PWM, EN) are within the range of 3.3V to 5V.

Important Considerations and Best Practices

  • Use a power supply capable of providing sufficient current for your motor.
  • Add a heat sink or active cooling if the motor driver operates near its maximum current rating.
  • Use appropriate decoupling capacitors near the power supply pins to reduce noise.
  • Avoid reversing the polarity of the power supply to prevent damage to the driver.
  • Ensure proper grounding between the motor driver, microcontroller, and power supply.

Example Code for Arduino UNO

Below is an example of how to control a DC motor using the IBT2 Motor Driver with an Arduino UNO:

// Define control pins for the IBT2 Motor Driver
const int INA = 9;  // Pin connected to INA
const int INB = 10; // Pin connected to INB
const int PWM = 11; // Pin connected to PWM
const int EN = 8;   // Pin connected to EN

void setup() {
  // Set motor driver pins as outputs
  pinMode(INA, OUTPUT);
  pinMode(INB, OUTPUT);
  pinMode(PWM, OUTPUT);
  pinMode(EN, OUTPUT);

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

void loop() {
  // Example: Rotate motor forward at 50% speed
  digitalWrite(INA, HIGH);  // Set INA HIGH
  digitalWrite(INB, LOW);   // Set INB LOW
  analogWrite(PWM, 128);    // Set PWM to 50% duty cycle (128 out of 255)
  delay(2000);              // Run for 2 seconds

  // Example: Rotate motor backward at 75% speed
  digitalWrite(INA, LOW);   // Set INA LOW
  digitalWrite(INB, HIGH);  // Set INB HIGH
  analogWrite(PWM, 192);    // Set PWM to 75% duty cycle (192 out of 255)
  delay(2000);              // Run for 2 seconds

  // Stop the motor
  digitalWrite(INA, LOW);   // Set INA LOW
  digitalWrite(INB, LOW);   // Set INB LOW
  analogWrite(PWM, 0);      // Set PWM to 0 (motor off)
  delay(2000);              // Wait for 2 seconds
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motor Not Running:

    • Cause: The EN pin is not set HIGH.
    • Solution: Ensure the EN pin is connected to a digital output pin and set HIGH in your code.
  2. Motor Running in the Wrong Direction:

    • Cause: Incorrect wiring of INA and INB pins.
    • Solution: Swap the connections of INA and INB or adjust the logic in your code.
  3. Motor Driver Overheating:

    • Cause: Excessive current draw or insufficient cooling.
    • Solution: Add a heat sink or active cooling, and ensure the motor's current rating is within the driver's limits.
  4. PWM Signal Not Controlling Speed:

    • Cause: PWM pin not connected to a PWM-capable pin on the microcontroller.
    • Solution: Verify that the PWM pin is connected to a PWM-capable pin (e.g., pins 3, 5, 6, 9, 10, or 11 on Arduino UNO).

FAQs

  • Can the IBT2 Motor Driver control two motors simultaneously?

    • No, the IBT2 is designed to control a single motor with high current requirements.
  • What is the maximum PWM frequency supported?

    • The IBT2 supports PWM frequencies up to 20 kHz.
  • Can I use the IBT2 with a 3.3V microcontroller?

    • Yes, the IBT2 is compatible with both 3.3V and 5V logic levels.
  • Do I need external diodes for motor protection?

    • No, the IBT2 has built-in flyback diodes for motor protection.