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

How to Use BTS7960: Examples, Pinouts, and Specs

Image of BTS7960
Cirkit Designer LogoDesign with BTS7960 in Cirkit Designer

Introduction

The BTS7960 is a high-current H-bridge motor driver IC designed for controlling DC motors. It is capable of handling up to 43A of continuous current, making it suitable for high-power applications. The device is widely used in robotics, automation, and industrial motor control systems due to its efficiency and robust design. Additionally, the BTS7960 includes built-in protection mechanisms such as over-temperature and over-current protection, ensuring reliable operation in demanding environments.

Explore Projects Built with BTS7960

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Mega 2560-Based Obstacle-Avoiding Robot with Ultrasonic Sensors and Motor Drivers
Image of MEGA: A project utilizing BTS7960 in a practical application
This circuit is a robotic control system utilizing an Arduino Mega 2560 to manage two BTS7960 motor drivers for controlling multiple 775 motors. It incorporates several HC-SR04 ultrasonic sensors for obstacle detection, potentiometers for setting movement limits, and limit switches for safety, enabling the robot to navigate and avoid obstacles autonomously.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Controlled Robotic Motors with Joystick Interface
Image of forklift: A project utilizing BTS7960 in a practical application
This is a joystick-controlled motor driving system. An Arduino UNO reads inputs from an Adafruit Arcade Joystick and outputs control signals to BTS7960 motor drivers, which in turn power several 12V geared motors. The system is designed for directional control of motors, suitable for applications such as robotic vehicles or motorized platforms.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560-Based Obstacle-Avoiding Robot with Ultrasonic Sensors and BTS7960 Motor Drivers
Image of MEGA: A project utilizing BTS7960 in a practical application
This circuit is a robotic system controlled by an Arduino Mega 2560, which uses multiple ultrasonic sensors for obstacle detection and potentiometers for setting movement limits. It drives four 775 motors through two BTS7960 motor drivers, with limit switches and a rocker switch for additional control inputs.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Motor Control System with BTS7960 and Fly Sky Receiver
Image of BTS motor Driver: A project utilizing BTS7960 in a practical application
This circuit is designed to control two 775 motors using BTS7960 motor drivers, an electronic speed controller (ESC), and a Fly Sky receiver. The Fly Sky receiver receives control signals and distributes them to the motor drivers and servo internal circuits, which in turn control the motors. Power is supplied by a 2200mAh LiPo battery.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with BTS7960

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 MEGA: A project utilizing BTS7960 in a practical application
Arduino Mega 2560-Based Obstacle-Avoiding Robot with Ultrasonic Sensors and Motor Drivers
This circuit is a robotic control system utilizing an Arduino Mega 2560 to manage two BTS7960 motor drivers for controlling multiple 775 motors. It incorporates several HC-SR04 ultrasonic sensors for obstacle detection, potentiometers for setting movement limits, and limit switches for safety, enabling the robot to navigate and avoid obstacles autonomously.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of forklift: A project utilizing BTS7960 in a practical application
Arduino-Controlled Robotic Motors with Joystick Interface
This is a joystick-controlled motor driving system. An Arduino UNO reads inputs from an Adafruit Arcade Joystick and outputs control signals to BTS7960 motor drivers, which in turn power several 12V geared motors. The system is designed for directional control of motors, suitable for applications such as robotic vehicles or motorized platforms.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of MEGA: A project utilizing BTS7960 in a practical application
Arduino Mega 2560-Based Obstacle-Avoiding Robot with Ultrasonic Sensors and BTS7960 Motor Drivers
This circuit is a robotic system controlled by an Arduino Mega 2560, which uses multiple ultrasonic sensors for obstacle detection and potentiometers for setting movement limits. It drives four 775 motors through two BTS7960 motor drivers, with limit switches and a rocker switch for additional control inputs.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of BTS motor Driver: A project utilizing BTS7960 in a practical application
Battery-Powered Motor Control System with BTS7960 and Fly Sky Receiver
This circuit is designed to control two 775 motors using BTS7960 motor drivers, an electronic speed controller (ESC), and a Fly Sky receiver. The Fly Sky receiver receives control signals and distributes them to the motor drivers and servo internal circuits, which in turn control the motors. Power is supplied by a 2200mAh LiPo battery.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Robotics (e.g., controlling robot wheels or arms)
  • Industrial automation systems
  • Electric vehicle motor control
  • Conveyor belt systems
  • High-power DC motor control in hobbyist projects

Technical Specifications

The BTS7960 is a powerful motor driver with the following key specifications:

Parameter Value
Operating Voltage Range 5.5V to 27V
Continuous Current Rating Up to 43A
Peak Current Rating 50A
PWM Frequency Up to 25kHz
Logic Input Voltage 3.3V or 5V (TTL compatible)
Over-Temperature Protection Yes
Over-Current Protection Yes
Dimensions (Module) 43mm x 45mm x 28mm

Pin Configuration and Descriptions

The BTS7960 module typically comes with the following pins:

Pin Name Description
VCC Power supply for the motor (5.5V to 27V).
GND Ground connection.
RPWM Right PWM input signal for controlling motor direction and speed.
LPWM Left PWM input signal for controlling motor direction and speed.
R_EN Enable pin for the right side of the H-bridge.
L_EN Enable pin for the left side of the H-bridge.
IS Current sensing output (optional, used for monitoring motor current).
Motor+ Positive terminal of the motor.
Motor- Negative terminal of the motor.

Usage Instructions

How to Use the BTS7960 in a Circuit

  1. Power Supply: Connect the VCC pin to a power source that matches the motor's voltage requirements (5.5V to 27V). Ensure the power supply can provide sufficient current for the motor.
  2. Motor Connection: Connect the motor terminals to the Motor+ and Motor- pins.
  3. Logic Inputs: Use the RPWM and LPWM pins to control the motor's speed and direction. These pins accept PWM signals from a microcontroller (e.g., Arduino).
  4. Enable Pins: Set the R_EN and L_EN pins HIGH to enable the respective sides of the H-bridge.
  5. Ground: Connect the GND pin to the ground of the power supply and the microcontroller.

Important Considerations

  • Use a heat sink or active cooling if operating at high currents for extended periods.
  • Ensure proper decoupling capacitors are used near the VCC pin to reduce noise and voltage spikes.
  • Avoid exceeding the voltage and current ratings to prevent damage to the module.
  • Use appropriate fuses or circuit breakers for additional protection.

Example: Connecting BTS7960 to an Arduino UNO

Below is an example of how to control a DC motor using the BTS7960 and an Arduino UNO:

Circuit Connections

  • Connect the BTS7960's VCC and GND to the motor power supply.
  • Connect Motor+ and Motor- to the DC motor terminals.
  • Connect RPWM and LPWM to Arduino PWM pins (e.g., pins 5 and 6).
  • Connect R_EN and L_EN to Arduino digital pins (e.g., pins 7 and 8).
  • Connect the BTS7960's GND to the Arduino's GND.

Arduino Code

// Define pins for BTS7960 connections
const int RPWM = 5;  // Right PWM pin
const int LPWM = 6;  // Left PWM pin
const int R_EN = 7;  // Right enable pin
const int L_EN = 8;  // Left enable pin

void setup() {
  // Set pin modes
  pinMode(RPWM, OUTPUT);
  pinMode(LPWM, OUTPUT);
  pinMode(R_EN, OUTPUT);
  pinMode(L_EN, OUTPUT);

  // Enable both sides of the H-bridge
  digitalWrite(R_EN, HIGH);
  digitalWrite(L_EN, HIGH);
}

void loop() {
  // Example: Rotate motor forward at 50% speed
  analogWrite(RPWM, 128);  // 50% duty cycle
  analogWrite(LPWM, 0);    // No signal to LPWM
  delay(2000);             // Run for 2 seconds

  // Example: Rotate motor backward at 75% speed
  analogWrite(RPWM, 0);    // No signal to RPWM
  analogWrite(LPWM, 192);  // 75% duty cycle
  delay(2000);             // Run for 2 seconds

  // Stop the motor
  analogWrite(RPWM, 0);
  analogWrite(LPWM, 0);
  delay(2000);             // Wait for 2 seconds
}

Best Practices

  • Use PWM signals with a frequency below 25kHz for optimal performance.
  • Ensure the motor's current rating does not exceed the BTS7960's maximum continuous current rating.
  • Test the circuit with a lower current motor before using high-power motors.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motor Not Running

    • Cause: Incorrect wiring or insufficient power supply.
    • Solution: Double-check all connections and ensure the power supply meets the motor's requirements.
  2. Overheating

    • Cause: Prolonged operation at high currents without proper cooling.
    • Solution: Add a heat sink or active cooling to the BTS7960 module.
  3. Erratic Motor Behavior

    • Cause: Noise or insufficient decoupling.
    • Solution: Add decoupling capacitors near the VCC pin and ensure proper grounding.
  4. Arduino Not Controlling the Motor

    • Cause: Incorrect logic level or pin configuration.
    • Solution: Verify the Arduino code and ensure the RPWM and LPWM pins are connected to PWM-capable pins.

FAQs

  1. Can the BTS7960 drive stepper motors?

    • No, the BTS7960 is designed for DC motors and cannot directly control stepper motors.
  2. What is the purpose of the IS pin?

    • The IS pin provides a current sensing output, which can be used to monitor the motor's current draw.
  3. Can I use the BTS7960 with a 3.3V microcontroller?

    • Yes, the logic inputs are compatible with both 3.3V and 5V signals.
  4. What happens if the motor draws more than 43A?

    • The BTS7960's over-current protection will activate, shutting down the output to protect the module.

By following this documentation, you can effectively use the BTS7960 motor driver in your projects.