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 designed to control DC motors and other inductive loads. It is capable of handling high currents, making it ideal for applications requiring robust and reliable motor control. The component integrates advanced protection features, including overcurrent, overtemperature, and undervoltage safeguards, ensuring durability and safety 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 and Use Cases

  • Robotics and automation systems
  • Electric vehicle motor control
  • Conveyor belt systems
  • Industrial machinery
  • Remote-controlled vehicles
  • High-power motorized projects

Technical Specifications

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

Parameter Value
Operating Voltage Range 5.5V to 27V
Maximum Continuous Current 43A
Peak Current 50A
PWM Frequency Up to 25kHz
Logic Input Voltage 3.3V or 5V compatible
Overcurrent Protection Yes
Overtemperature Protection Yes
Undervoltage Protection Yes

Pin Configuration and Descriptions

The BTS7960 module typically comes with the following pin layout:

Pin Name Description
VCC Power supply for the logic circuit (5V).
GND Ground connection for the logic circuit.
RPWM PWM input for controlling motor rotation in one direction.
LPWM PWM input for controlling motor rotation in the opposite direction.
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).
V+ Motor power supply (connect to the positive terminal of the motor power source).
OUT1 Output terminal 1 for the motor.
OUT2 Output terminal 2 for the motor.
GND (Power) Ground connection for the motor power supply.

Usage Instructions

How to Use the BTS7960 in a Circuit

  1. Power Connections:

    • Connect the motor power supply to the V+ pin and the ground of the power supply to the GND (Power) pin.
    • Provide 5V to the VCC pin for the logic circuit and connect its ground to the GND pin.
  2. Motor Connections:

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

    • Use the RPWM and LPWM pins to control the motor's speed and direction via PWM signals.
    • Enable the H-bridge by setting R_EN and L_EN to HIGH.
  4. PWM Control:

    • To rotate the motor in one direction, provide a PWM signal to RPWM and set LPWM to LOW.
    • To rotate the motor in the opposite direction, provide a PWM signal to LPWM and set RPWM to LOW.

Important Considerations and Best Practices

  • Ensure the motor power supply voltage does not exceed 27V.
  • Use a heatsink or active cooling if operating at high currents for extended periods.
  • Avoid connecting the motor directly to the logic power supply to prevent damage.
  • Use appropriate decoupling capacitors near the power supply pins to reduce noise.
  • Verify that the PWM frequency is within the supported range (up to 25kHz).

Example: Connecting BTS7960 to an Arduino UNO

Below is an example Arduino sketch to control a motor using the BTS7960:

// Define control pins for the BTS7960
const int RPWM = 5;  // PWM pin for forward rotation
const int LPWM = 6;  // PWM pin for reverse rotation
const int R_EN = 7;  // Enable pin for right side
const int L_EN = 8;  // Enable pin for left side

void setup() {
  // Set control pins as outputs
  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() {
  // Rotate motor forward at 50% speed
  analogWrite(RPWM, 128);  // 50% duty cycle
  analogWrite(LPWM, 0);    // No reverse signal
  delay(2000);             // Run for 2 seconds

  // Stop the motor
  analogWrite(RPWM, 0);
  analogWrite(LPWM, 0);
  delay(1000);             // Pause for 1 second

  // Rotate motor in reverse at 75% speed
  analogWrite(RPWM, 0);    // No forward signal
  analogWrite(LPWM, 192);  // 75% duty cycle
  delay(2000);             // Run for 2 seconds

  // Stop the motor
  analogWrite(RPWM, 0);
  analogWrite(LPWM, 0);
  delay(1000);             // Pause for 1 second
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motor Does Not Rotate:

    • Verify that the power supply is connected and providing the correct voltage.
    • Ensure the R_EN and L_EN pins are set to HIGH.
    • Check the PWM signal connections and ensure the duty cycle is not zero.
  2. Motor Rotates in the Wrong Direction:

    • Swap the connections of the motor terminals at OUT1 and OUT2.
    • Verify the PWM signals on RPWM and LPWM are configured correctly.
  3. Overheating:

    • Ensure the module is not exceeding its maximum current rating.
    • Use a heatsink or active cooling to dissipate heat.
  4. No Response from the Module:

    • Check all connections for loose wires or incorrect wiring.
    • Verify that the logic power supply (5V) is stable and connected to VCC.

FAQs

Q: Can the BTS7960 drive stepper motors?
A: No, the BTS7960 is designed for DC motors and other inductive loads. Stepper motors require a dedicated stepper driver.

Q: What is the purpose of the IS pin?
A: The IS pin provides a current sensing output, which can be used to monitor the motor's current draw.

Q: Can I use the BTS7960 with a 3.3V microcontroller?
A: Yes, the logic inputs are compatible with both 3.3V and 5V signals.

Q: What happens if the motor draws more than 43A?
A: The BTS7960 has built-in overcurrent protection, which will shut down the module to prevent damage.