Stufin
Home Quick Cart Profile

BTS7960B 43A H-Bridge Motor Driver

Buy Now on Stufin

Note

All specifications are subject to change without notice. Please refer to the manufacturer's datasheet for the most up-to-date information.

Pin Configuration

  • BTS7960B 43A H-Bridge Motor Driver Pinout Explanation
  • The BTS7960B 43A H-Bridge Motor Driver is a high-current, high-voltage motor driver integrated circuit (IC) designed for driving DC motors and other inductive loads. It has 14 pins, which are explained below:
  • Pin 1: VCC (Power Supply Voltage)
  • Function: Provides power to the IC
  • Voltage: 5.5V to 27V (Recommended operating voltage: 12V or 24V)
  • Current: Up to 43A (depending on the application and heat sinking)
  • Pin 2: GND (Ground)
  • Function: Ground connection for the IC
  • Voltage: 0V
  • Importance: Ensure a solid ground connection to prevent electrical noise and improve stability
  • Pin 3: EN (Enable)
  • Function: Enables or disables the motor driver
  • Logic: Active high (EN = VCC to enable, EN = GND to disable)
  • Default: Disabled (EN = GND)
  • Pin 4: IN1 (Input 1)
  • Function: Controls the direction and speed of the motor (high-side driver)
  • Logic: Active high (IN1 = VCC to set direction and speed)
  • Connection: Typically connected to a microcontroller's digital output pin
  • Pin 5: IN2 (Input 2)
  • Function: Controls the direction and speed of the motor (low-side driver)
  • Logic: Active high (IN2 = VCC to set direction and speed)
  • Connection: Typically connected to a microcontroller's digital output pin
  • Pin 6: SENSE (Current Sense)
  • Function: Outputs a proportional voltage to the motor current (can be used for current monitoring or overcurrent protection)
  • Voltage: 0V to VCC (proportional to motor current)
  • Connection: Typically connected to a microcontroller's analog input pin or a current sense resistor
  • Pin 7: IS (Current Limit)
  • Function: Sets the current limit for the motor driver (protection against overcurrent)
  • Voltage: 0V to VCC (sets the current limit, typically 0.5V to 4.5V)
  • Connection: Typically connected to a voltage source or a microcontroller's analog output pin
  • Pin 8: OUT1 (Output 1)
  • Function: Motor output terminal (high-side driver)
  • Voltage: Up to VCC (depending on the motor voltage and configuration)
  • Current: Up to 43A (depending on the application and heat sinking)
  • Connection: Typically connected to one terminal of the DC motor
  • Pin 9: OUT2 (Output 2)
  • Function: Motor output terminal (low-side driver)
  • Voltage: Up to VCC (depending on the motor voltage and configuration)
  • Current: Up to 43A (depending on the application and heat sinking)
  • Connection: Typically connected to the other terminal of the DC motor
  • Pin 10: VB (Bootstrapping Voltage)
  • Function: Provides a bootstrap voltage for the high-side driver
  • Voltage: Up to VCC (depending on the motor voltage and configuration)
  • Connection: Typically connected to a capacitor and the OUT1 pin
  • Pin 11: NC (No Connection)
  • Function: Not connected internally (do not use)
  • Pin 12: NC (No Connection)
  • Function: Not connected internally (do not use)
  • Pin 13: NC (No Connection)
  • Function: Not connected internally (do not use)
  • Pin 14: TAB (Thermal Pad)
  • Function: Thermal pad for heat sinking and cooling
  • Connection: Typically connected to a heat sink or a copper pour on the PCB
  • Connection Structure:
  • 1. Motor Connection:
  • OUT1 (Pin 8) -> Motor Terminal 1
  • OUT2 (Pin 9) -> Motor Terminal 2
  • 2. Power Supply Connection:
  • VCC (Pin 1) -> Power Supply (5.5V to 27V)
  • GND (Pin 2) -> Power Supply Ground
  • 3. Microcontroller Connection:
  • EN (Pin 3) -> Microcontroller Digital Output Pin
  • IN1 (Pin 4) -> Microcontroller Digital Output Pin
  • IN2 (Pin 5) -> Microcontroller Digital Output Pin
  • SENSE (Pin 6) -> Microcontroller Analog Input Pin (optional)
  • 4. Current Limit and Sense Connection:
  • IS (Pin 7) -> Voltage Source or Microcontroller Analog Output Pin
  • SENSE (Pin 6) -> Current Sense Resistor or Microcontroller Analog Input Pin
  • 5. Bootstrapping Connection:
  • VB (Pin 10) -> Capacitor -> OUT1 (Pin 8)
  • Remember to follow proper PCB design and thermal management practices when using the BTS7960B 43A H-Bridge Motor Driver. Ensure adequate heat sinking and cooling to prevent overheating and damage to the IC.

Code Examples

BTS7960B 43A H-Bridge Motor Driver Documentation
Overview
The BTS7960B is a high-current, high-performance H-bridge motor driver IC designed for driving DC motors, solenoids, and other inductive loads. It is capable of handling high currents up to 43A and is suitable for use in a wide range of applications, including robotics, electric vehicles, and industrial automation.
Pinout and Functional Description
The BTS7960B has a 24-pin package and the following pinout:
VCC (pins 1, 24): Power supply voltage (5V to 27V)
 GND (pins 2, 3, 4, 23): Ground
 IN1 (pin 5), IN2 (pin 6): Input control signals (logic level)
 EN (pin 7): Enable input (active high)
 RBOOT (pin 8): Bootstrap diode connection
 LB (pin 9), HB (pin 10): Low-side and high-side driver outputs
 SENSE (pin 11): Current sense output
 VSENSE (pin 12): Voltage sense input
 THERMAL (pin 13): Overtemperature detection output
 DIAG (pin 14): Diagnostic output
 NC (pins 15-22): No connection
Example Code
### Example 1: Basic Motor Control with Arduino
This example demonstrates how to use the BTS7960B to control a DC motor using an Arduino board.
```cpp
const int IN1 = 2;  // Input control signal 1
const int IN2 = 3;  // Input control signal 2
const int EN = 4;   // Enable input
void setup() {
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(EN, OUTPUT);
}
void loop() {
  // Forward direction
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(EN, HIGH);
  delay(1000);
// Reverse direction
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(EN, HIGH);
  delay(1000);
// Stop motor
  digitalWrite(EN, LOW);
  delay(1000);
}
```
### Example 2: PWM Motor Control with ESP32
This example demonstrates how to use the BTS7960B to control a DC motor using Pulse Width Modulation (PWM) with an ESP32 board.
```cpp
const int IN1 = 18;  // Input control signal 1
const int IN2 = 19;  // Input control signal 2
const int EN = 23;   // Enable input
const int PWM_CHANNEL = 0;  // PWM channel
void setup() {
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(EN, OUTPUT);
  ledcSetup(PWM_CHANNEL, 5000, 10);  // Set up PWM channel
  ledcAttachPin(EN, PWM_CHANNEL);  // Attach PWM channel to enable pin
}
void loop() {
  // Set motor speed using PWM
  ledcWrite(PWM_CHANNEL, 512);  // 50% duty cycle
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  delay(1000);
ledcWrite(PWM_CHANNEL, 1023);  // 100% duty cycle
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  delay(1000);
ledcWrite(PWM_CHANNEL, 0);  // 0% duty cycle (stop motor)
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  delay(1000);
}
```
### Example 3: Current Sensing and Overcurrent Protection with Raspberry Pi
This example demonstrates how to use the BTS7960B's current sense output to monitor motor current and implement overcurrent protection using a Raspberry Pi.
```python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
IN1 = 17  # Input control signal 1
IN2 = 23  # Input control signal 2
EN = 24  # Enable input
SENSE = 25  # Current sense output
GPIO.setup(IN1, GPIO.OUT)
GPIO.setup(IN2, GPIO.OUT)
GPIO.setup(EN, GPIO.OUT)
GPIO.setup(SENSE, GPIO.IN)
def read_current_sense():
  # Read current sense output (approx. 100mV/A)
  current = (GPIO.input(SENSE)  3.3) / 100
  return current
while True:
  # Set motor direction and enable
  GPIO.output(IN1, GPIO.HIGH)
  GPIO.output(IN2, GPIO.LOW)
  GPIO.output(EN, GPIO.HIGH)
# Monitor motor current
  current = read_current_sense()
  if current > 10:  # Overcurrent threshold (10A)
    print("Overcurrent detected! Stopping motor.")
    GPIO.output(EN, GPIO.LOW)
    time.sleep(1)
  else:
    print("Motor current:", current, "A")
time.sleep(0.1)
```
Notes and Considerations
The BTS7960B requires a bootstrap capacitor (typically 100nF to 1uF) connected between the RBOOT pin and the high-side driver output (HB) to ensure proper operation.
 The EN input should be driven high to enable the motor driver. Driving it low will disable the driver and shut down the motor.
 The current sense output (SENSE) can be used to monitor motor current and implement overcurrent protection. The output voltage is approximately 100mV/A.
 The BTS7960B has built-in overtemperature protection, which can be monitored using the THERMAL output. When the junction temperature exceeds 170C, the THERMAL output will go low.
 Always follow proper PCB design and layout guidelines to ensure reliable operation and minimize electromagnetic interference (EMI).
 Consult the datasheet and application notes for more detailed information on using the BTS7960B in your specific application.