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 manufactured by Handson Technology (Part ID: BTS1790). It is designed to drive DC motors and other inductive loads with high efficiency and reliability. The BTS7960 integrates advanced protection features, including overcurrent, overtemperature, and undervoltage safeguards, making it ideal for demanding applications in robotics, industrial automation, and electric vehicles.

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., motorized arms, wheeled robots)
  • Industrial automation systems
  • Electric vehicles and carts
  • Conveyor belt systems
  • High-power DC motor control

Technical Specifications

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

Parameter Value
Operating Voltage Range 5.5V to 27V
Maximum Continuous Current 43A
Peak Current (Short Duration) 50A
PWM Frequency Up to 25kHz
Logic Input Voltage 3.3V or 5V (TTL compatible)
Overcurrent Protection Yes
Overtemperature Protection Yes
Undervoltage Lockout Yes
Dimensions 43mm x 43mm x 28mm

Pin Configuration and Descriptions

The BTS7960 module typically comes with a 12-pin interface. Below is the pin configuration:

Pin Name Type Description
VCC Power Input Connect to the motor power supply (5.5V to 27V).
GND Power Ground Ground connection for the motor power supply.
RPWM Logic Input PWM signal for controlling motor rotation in one direction.
LPWM Logic Input PWM signal for controlling motor rotation in the opposite direction.
R_EN Logic Input Enable pin for the right half-bridge. Set HIGH to enable.
L_EN Logic Input Enable pin for the left half-bridge. Set HIGH to enable.
IS Analog Output Current sensing output. Provides a voltage proportional to the motor current.
VCC5 Power Input Logic voltage input (3.3V or 5V).
BRAKE Logic Input Brake control pin. Set HIGH to activate braking.
MOTOR+ Power Output Connect to the positive terminal of the motor.
MOTOR- Power Output Connect to the negative terminal of the motor.
GND Power Ground Ground connection for the logic circuit.

Usage Instructions

Connecting the BTS7960 to a Circuit

  1. Power Supply: Connect the motor power supply to the VCC pin and ground to the GND pin. Ensure the supply voltage is within the range of 5.5V to 27V.
  2. Motor Connection: Attach the motor terminals to the MOTOR+ and MOTOR- pins.
  3. Logic Inputs: Connect the control signals (RPWM, LPWM, R_EN, L_EN, and BRAKE) to a microcontroller or other control circuitry. Ensure the logic voltage matches the microcontroller's output (3.3V or 5V).
  4. Enable Pins: Set R_EN and L_EN HIGH to enable the respective half-bridges.
  5. PWM Control: Use the RPWM and LPWM pins to control the motor's speed and direction via PWM signals.

Important Considerations

  • Heat Dissipation: The BTS7960 can handle high currents, but it may generate significant heat. Use a heatsink or active cooling for prolonged high-current operation.
  • Protection Features: The module includes built-in protection mechanisms. If the motor stops unexpectedly, check for overcurrent or overtemperature conditions.
  • Current Sensing: The IS pin provides a voltage proportional to the motor current. This can be used for monitoring or feedback control.

Example: Using BTS7960 with Arduino UNO

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

// Define control pins for the BTS7960
#define RPWM 9    // PWM pin for forward rotation
#define LPWM 10   // PWM pin for reverse rotation
#define R_EN 7    // Enable pin for right half-bridge
#define L_EN 8    // Enable pin for left half-bridge

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

  // Enable both half-bridges
  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 rotation
  delay(2000);            // Run for 2 seconds

  // Rotate motor in reverse at 75% speed
  analogWrite(RPWM, 0);   // No forward rotation
  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
}

Troubleshooting and FAQs

Common Issues

  1. Motor Not Spinning

    • Cause: Incorrect wiring or insufficient power supply.
    • Solution: Double-check all connections and ensure the power supply voltage is within the specified range.
  2. Overheating

    • Cause: Prolonged high-current operation without proper cooling.
    • Solution: Attach a heatsink or use active cooling (e.g., a fan).
  3. PWM Signal Not Working

    • Cause: Incorrect logic voltage or damaged microcontroller pins.
    • Solution: Verify the logic voltage (3.3V or 5V) and test the microcontroller's PWM output.
  4. Motor Vibrates but Does Not Rotate

    • Cause: Conflicting signals on RPWM and LPWM pins.
    • Solution: Ensure only one of the PWM pins is active at a time.

FAQs

  1. Can the BTS7960 drive stepper motors?

    • No, the BTS7960 is designed for DC motors and other inductive loads. For stepper motors, use a dedicated stepper motor driver.
  2. What is the maximum PWM frequency supported?

    • The BTS7960 supports PWM frequencies up to 25kHz.
  3. Can I use the BTS7960 with a 3.3V microcontroller?

    • Yes, the logic inputs are compatible with both 3.3V and 5V systems.
  4. How do I implement braking?

    • Set the BRAKE pin HIGH to activate the braking function. This will short the motor terminals and stop the motor quickly.

By following this documentation, users can effectively integrate the BTS7960 into their projects and troubleshoot common issues with ease.