Controlling DC Motor with BTS7960 ESC

Controlling Speed and Direction of DC Motor using BTS7960 and 20 Ampere Brush ESC

In this tutorial, we will explore how to control the speed and direction of a DC motor using a BTS7960 driver and a 20 ampere brush Electronic Speed Controller (ESC). This setup is commonly used in robotics and other applications where precise control over the motor's speed and direction is required.

Components Needed

  • DC Motor
  • BTS7960 Driver
  • 20 Ampere Brush ESC
  • Buck Module (for voltage regulation)
  • XT60 Connector (for connecting battery to BTS7960)

Step-by-Step Instructions

First, connect the both enable pins of the BTS7960 driver to VCC. This will allow us to control the motor's speed and direction.

Next, connect an XT60 connector to the battery terminal of the BTS7960 driver. This will provide power to the driver.

Now, connect a buck converter in parallel with the plus and minus terminals of the BTS7960 driver. This will regulate the voltage output to the motor.

Connect the battery to the system and set the output of the buck module to 5 volts.

Now, connect the out minus terminal of the buck module to the ground terminal of the BTS7960 driver. Connect the out plus terminal of the buck module to the VCC terminal of the BTS7960 driver.

Cut off the connector from the ESC (Electronic Speed Controller). This will allow us to connect the motor terminals directly to the BTS7960 driver.

Refer to the pin diagram of the ESC and connect the battery terminal of the ESC to VCC. Connect the ground terminal of the BTS7960 driver to the ground terminal of the ESC.

Now, connect the motor terminals of the ESC to the PWM (Pulse Width Modulation) and LPWM (Low Pulse Width Modulation) pins of the BTS7960 driver. This will allow us to control the speed and direction of the motor.

Connect the motor terminals of the BTS7960 driver to the motor terminal of the ESC.

Finally, connect the signal pin of the ESC to channel 1 of the receiver. This will allow us to control the speed and direction of the motor using a joystick or other controller.

Testing the System

Connect the battery to the system and turn on the transmitter. Check that both the speed and direction of the motor can be controlled by the joystick or other controller.

Congratulations! You have now successfully set up a BTS7960 driver and 20 ampere brush ESC to control the speed and direction of a DC motor.



Motor Control Motor control refers to the regulation and coordination of muscle movements, allowing individuals to perform voluntary actions such as walking, running, writing, and speaking. It is a complex process that involves the integration of sensory information, cognitive processing, and motor execution.
Background The study of motor control has its roots in physiology and neuroscience. In the late 19th century, scientists such as Sherrington and Fulton began to explore the neural mechanisms underlying movement. The development of electromyography (EMG) in the early 20th century allowed researchers to record muscle activity, providing further insights into motor control.
Key Concepts
  • Muscle activation and relaxation
  • Motor unit recruitment and firing patterns
  • Sensory-motor integration and feedback loops
  • Cognitive influences on motor performance, such as attention and learning
Theories and Models
  • Equilibrium-point hypothesis: proposes that movement is controlled by setting the equilibrium point of the muscle-tendon system.
  • Servo-control theory: suggests that motor control involves a continuous feedback loop between sensory input and motor output.
  • Dynamical systems approach: views motor control as an emergent property of complex, nonlinear interactions within the nervous system.


Introduction

The BTS7960 is a high-power electronic speed controller (ESC) designed for controlling DC motors. It's widely used in robotics, drones, and other applications where precise motor control is required. In this article, we'll delve into the details of controlling a DC motor with a BTS7960 ESC.

Understanding the BTS7960 ESC

The BTS7960 is a brushless DC motor controller that uses a technique called pulse-width modulation (PWM) to regulate the speed of the motor. It has a high-power handling capability, making it suitable for controlling large DC motors.

Key Features:

  • High-power handling capability
  • PWM technology for smooth speed control
  • Supports DC motors up to 100A continuous current
  • Wide input voltage range (6-24V)
  • Compact design with a small footprint

Connecting the BTS7960 ESC to a DC Motor

To control a DC motor using the BTS7960 ESC, you'll need to connect the following:
  • Motor wires: Connect the DC motor's positive and negative terminals to the ESC's motor output terminals.
  • Power supply: Connect the power supply (e.g., battery) to the ESC's input terminals.
  • Control signal: Connect the control signal wire (usually a PWM signal) from your microcontroller or other control device to the ESC's control input terminal.

Configuring the BTS7960 ESC

The BTS7960 ESC has several configuration options that can be set using a programming card or a computer with a USB interface. These settings include:
  • Motor type: Select the type of DC motor being used (e.g., brushed, brushless).
  • PWM frequency: Set the PWM frequency for smooth speed control.
  • Deadband: Adjust the deadband setting to minimize motor vibration.

Controlling the DC Motor

To control the DC motor, send a PWM signal from your microcontroller or other control device to the BTS7960 ESC's control input terminal. The PWM signal should have a frequency of around 50-100 Hz and a duty cycle that corresponds to the desired motor speed.

Example Code:

// Arduino example code
const int pwmPin = 9; // PWM output pin

void setup() {
  pinMode(pwmPin, OUTPUT);
}

void loop() {
  // Set motor speed to 50%
  analogWrite(pwmPin, 128); // 128 is the midpoint of 0-255 (50% duty cycle)
  delay(1000);

  // Set motor speed to 100%
  analogWrite(pwmPin, 255);
  delay(1000);
}

Conclusion

The BTS7960 ESC is a powerful and versatile DC motor controller that can be used in a wide range of applications. By following the steps outlined in this article, you should be able to successfully control a DC motor using the BTS7960 ESC.


Q1: What is BTS7960 ESC? The BTS7960 is a high-power electronic speed controller (ESC) designed for DC motor control.
Q2: What type of motors can be controlled with BTS7960? The BTS7960 ESC can control brushed and brushless DC motors, as well as stepper motors.
Q3: How many amps can the BTS7960 handle? The BTS7960 can handle up to 60A of continuous current and has a peak current limit of 100A.
Q4: What is the operating voltage range of BTS7960? The BTS7960 operates within a voltage range of 6V to 28V.
Q5: How do I connect my DC motor to the BTS7960 ESC? Connect the motor wires to the corresponding terminals on the BTS7960 (usually labeled as "Motor+/-").
Q6: What is PWM and how does it relate to BTS7960? PWM stands for Pulse Width Modulation, which is a technique used by the BTS7960 to control motor speed. The BTS7960 accepts a PWM input signal from an external controller.
Q7: Can I use a microcontroller like Arduino with the BTS7960? Yes, you can use a microcontroller like Arduino to generate the PWM signal required by the BTS7960. Many example codes are available online.
Q8: How do I calibrate the BTS7960 for my specific motor? The calibration process usually involves setting the minimum and maximum throttle values, as well as adjusting the acceleration and deceleration rates.
Q9: Can the BTS7960 handle regenerative braking? Yes, the BTS7960 supports regenerative braking, which allows the motor to act as a generator and recharge the battery during deceleration.
Q10: Is the BTS7960 suitable for high-torque applications? Yes, the BTS7960 is designed to handle high-torque applications due to its robust design and high current handling capabilities.




No. Pioneers/Companies Contributions
1 Infineon Technologies Developed the BTS7960 high-current H-bridge driver IC, a key component in many ESCs.
2 LuxDrone Utilized the BTS7960 in their drone ESCs, showcasing its capabilities in high-performance applications.
3 HobbyKing Popularized the use of BTS7960-based ESCs in the hobbyist community through their affordable and reliable products.
4 SimonK Firmware Developed a widely-used open-source firmware for ESCs, including those using the BTS7960, enabling advanced customization and control.
5 T-Motor Designed high-performance ESCs with the BTS7960, catering to the demands of professional drone racing pilots.
6 KISS ESC Created a highly-regarded ESC using the BTS7960, prized for its reliability and high-current capabilities in demanding applications.
7 RCTimer Offered a range of BTS7960-based ESCs, focusing on reliability, ease of use, and high performance for hobbyists and professionals alike.
8 YGE Developed high-performance ESCs with the BTS7960, designed specifically for demanding applications such as drone racing and aerobatics.
9 Aerosoft Utilized the BTS7960 in their advanced ESC designs, focusing on high efficiency, reliability, and customization options for professionals.
10 ESC manufacturers from China's Shenzhen region Collectively drove innovation and adoption of BTS7960-based ESCs through their competitive offerings and innovations in the market.




Component Description Pins Functionality
BTS7960B IC High-current H-bridge driver IC VCC, GND, IN+, IN-, OUT+ Controls the DC motor direction and speed
R1, R2 Pull-down resistors for input pins IN+, IN- Prevents floating inputs and ensures proper IC operation
C1, C2 Input filter capacitors IN+, IN- Filters out noise and transients from the input signals
R3, R4 Current-sensing resistors OUT+ Monitors the motor current for overcurrent protection
C3 Output filter capacitor OUT+ Filters out noise and transients from the output signal
D1, D2 Freewheeling diodes OUT+, OUT- Provides a path for inductive current flow during motor shutdown
Mosfet Q1, Q2 Power MOSFETs OUT+, OUT- Switches the motor voltage on and off according to the input signals
Motor DC motor connected to the BTS7960B IC OUT+ Receives the PWM signal from the BTS7960B IC and operates accordingly
Pin Description BTS7960B Pin Functionality
VCC 1 Power supply for the IC (5-24V)
GND 2 Ground connection for the IC
IN+ 3 Positive input for motor direction and speed control (PWM signal)
IN- 4 Negative input for motor direction and speed control (PWM signal)
OUT+ 5 Positive output for the DC motor
OUT- 6 Negative output for the DC motor
CS+ 7 Current-sensing input (optional)
CS- 8 Current-sensing input (optional)
Input Signal Description IN+ and IN- Pin States Motor Operation
Forward direction (clockwise) IN+: High, IN-: Low Motor rotates in forward direction (clockwise)
Reverse direction (counterclockwise) IN+: Low, IN-: High Motor rotates in reverse direction (counterclockwise)
Braking IN+: Low, IN-: Low Motor is braked and stops rotating
Coasting (free running) IN+: High, IN-: High Motor coasts and continues rotating freely
Note: The above tables provide a detailed overview of the BTS7960B IC's pinout, functionality, and input signal states for controlling a DC motor.