Double BTS7960 43A H-Bridge High-Power Stepper Motor Driver Module

  1. Input voltage(V): 6 – 27.
  2. Maximum current(A): 43.
  3. Input level(V): 3.3 – 5.
  4. Duty cycle: 0 – 100%.
  5. Path resistance: 16 mΩ at 25°C.
  6. Low quiescent current: 7 µA at 25°C.

Apple Shopping Event

Hurry and get discounts on all Apple devices up to 20%

Original price was: 550,00 EGP.Current price is: 525,00 EGP.

19 People watching this product now!

Payment Methods:

Description

The Double BTS7960 43A H-Bridge High-Power Stepper Motor Driver Module is; a fully integrated high current H bridge for motor drive applications using the BTS7960 high current half bridge. the BTS7960 is part of the NovalithICTM family. This containing one p-channel high side MOSFET and one n-channel low side MOSFET; with an integrated driver IC in one package. Due to the p-channel high side switch; the need for a charge pump is eliminated thus minimizing EMI.

Interfacing to a microcontroller is made easy by the integrated driver IC which features logic level inputs; diagnosis with current sense, slew rate adjustment; dead time generation and protection against overtemperature, overvoltage, under voltage; overcurrent, and short circuit.
The Double BTS7960 43A H-Bridge High-Power Stepper Motor Driver Module provides; a cost-optimized solution for protected high current PWM motor drives with very low board space consumption.


Features :

  1. PWM capability of up to 25 kHz combined with active freewheeling.
  2. Switched mode current limitation for reduced power dissipation in overcurrent.
  3. Status flag diagnosis with current sense capability.
  4. Overtemperature shut down with latch behavior.
  5. Overvoltage lockout.
  6. Undervoltage shut down.
  7. Driver circuit with logic level inputs.
  8. Adjustable slew rates for optimized EMI.
  9. 74AHC244 Schmitt-trigger Octal buffer/line driver for ESD protection (Inputs accepts voltages higher than VCC).

Input port:

  1. RPWM: forward level or PWM signal input, active high.
  2. LPWM: Reverse level or PWM signal input, active high.
  3. R_EN: forward drive enable input, high-level enable, low level off.
  4. L_EN: Reverse drive enable input, high-level enable, low level off.
  5. R_IS: forward drive current alarm output.
  6. L_IS: Reverse drive current alarm output.
  7. VCC: +5 V power output, 5V power supply connection with the microcontroller.
  8. GND: signal common low end.

Package Includes :

1 x Double BTS7960 43A H-Bridge High-Power Stepper Motor Driver Module.

🔌
Pin Connections
1 Table
Pin Connections Table 1
Board NameComponent / SensorConnection Details
Arduino UnoBTS7960 (Left)VCC->5V, GND->GND, RPWM->D5, LPWM->D6, R_EN->D7, L_EN->D8
Arduino UnoBTS7960 (Right)VCC->5V, GND->GND, RPWM->D9, LPWM->D10, R_EN->D11, L_EN->D12
Arduino NanoBTS7960 (Left)VCC->5V, GND->GND, RPWM->D5, LPWM->D6, R_EN->D7, L_EN->D8
Arduino NanoBTS7960 (Right)VCC->5V, GND->GND, RPWM->D9, LPWM->D10, R_EN->D11, L_EN->D12
Arduino MegaBTS7960 (Left)VCC->5V, GND->GND, RPWM->D5, LPWM->D6, R_EN->D7, L_EN->D8
Arduino MegaBTS7960 (Right)VCC->5V, GND->GND, RPWM->D9, LPWM->D10, R_EN->D11, L_EN->D12
ESP32BTS7960 (Left)VCC->5V (from external supply, GPIO are 3.3V), GND->GND, RPWM->D5 (3.3V logic), LPWM->D6 (3.3V), R_EN->D7 (3.3V), L_EN->D8 (3.3V)
ESP32BTS7960 (Right)VCC->5V, GND->GND, RPWM->D9 (3.3V), LPWM->D10 (3.3V), R_EN->D11 (3.3V), L_EN->D12 (3.3V)
ESP8266BTS7960 (Left)VCC->5V, GND->GND, RPWM->D5 (GPIO5, 3.3V), LPWM->D6 (GPIO6, 3.3V), R_EN->D7 (GPIO7, 3.3V), L_EN->D8 (GPIO8, 3.3V)
ESP8266BTS7960 (Right)VCC->5V, GND->GND, RPWM->D9 (GPIO9, 3.3V), LPWM->D10 (GPIO10, 3.3V), R_EN->D11 (GPIO11, 3.3V), L_EN->D12 (GPIO12, 3.3V)
STM32BTS7960 (Left)VCC->5V (external supply), GND->GND, RPWM->PA0 (3.3V), LPWM->PA1 (3.3V), R_EN->PA2 (3.3V), L_EN->PA3 (3.3V)
STM32BTS7960 (Right)VCC->5V, GND->GND, RPWM->PA4 (3.3V), LPWM->PA5 (3.3V), R_EN->PA6 (3.3V), L_EN->PA7 (3.3V)
Raspberry Pi PicoBTS7960 (Left)VCC->5V (external), GND->GND, RPWM->GP0 (3.3V), LPWM->GP1 (3.3V), R_EN->GP2 (3.3V), L_EN->GP3 (3.3V)
Raspberry Pi PicoBTS7960 (Right)VCC->5V, GND->GND, RPWM->GP4 (3.3V), LPWM->GP5 (3.3V), R_EN->GP6 (3.3V), L_EN->GP7 (3.3V)
📟
BTS7960 Dual H-Bridge Stepper Driver
7 Examples • C/C++ | Boards: Arduino Uno, Arduino Nano, Arduino Mega, ESP32, ESP8266, STM32, Raspberry Pi Pico
BTS7960 Stepper Driver - Arduino Uno
BTS7960 Stepper Driver - Arduino Nano
BTS7960 Stepper Driver - Arduino Mega
BTS7960 Stepper Driver - ESP32
BTS7960 Stepper Driver - ESP8266
BTS7960 Stepper Driver - STM32
BTS7960 Stepper Driver - Raspberry Pi Pico
Code Comments:
Arduino Uno (5V logic) driving dual BTS7960 modules for stepper control.
📄 File: bts7960_stepper_driver_-_arduino_uno_arduino_uno.inoArduino Uno
2885 characters
1/*
2 * ekostra.com
3 * ekostra electronics store in egypt
4 */
5// Arduino Uno - Dual BTS7960 H-Bridge Stepper Motor Driver
6// Board runs on 5V logic; BTS7960 modules are 5V-tolerant, direct connection.
7
8// Define pins for left BTS7960 (coil A)
9#define LEFT_RPWM 5
10#define LEFT_LPWM 6
11#define LEFT_R_EN 7
12#define LEFT_L_EN 8
13
14// Define pins for right BTS7960 (coil B)
15#define RIGHT_RPWM 9
16#define RIGHT_LPWM 10
17#define RIGHT_R_EN 11
18#define RIGHT_L_EN 12
19
20// Stepper motor parameters
21#define STEPS_PER_REV 200 // Full steps per revolution
22#define STEP_DELAY 1000 // Microseconds between steps
23
24void setup() {
25 // Set all control pins as outputs
26 pinMode(LEFT_RPWM, OUTPUT);
27 pinMode(LEFT_LPWM, OUTPUT);
28 pinMode(LEFT_R_EN, OUTPUT);
29 pinMode(LEFT_L_EN, OUTPUT);
30 pinMode(RIGHT_RPWM, OUTPUT);
31 pinMode(RIGHT_LPWM, OUTPUT);
32 pinMode(RIGHT_R_EN, OUTPUT);
33 pinMode(RIGHT_L_EN, OUTPUT);
34
35 // Enable both H-bridges (active high)
36 digitalWrite(LEFT_R_EN, HIGH);
37 digitalWrite(LEFT_L_EN, HIGH);
38 digitalWrite(RIGHT_R_EN, HIGH);
39 digitalWrite(RIGHT_L_EN, HIGH);
40
41 // Initialize serial for debugging
42 Serial.begin(9600);
43 Serial.println("BTS7960 Stepper Driver - Arduino Uno");
44}
45
46void loop() {
47 // Rotate stepper one full revolution forward
48 Serial.println("Forward revolution");
49 stepMotor(1, STEPS_PER_REV, STEP_DELAY);
50 delay(1000);
51
52 // Rotate one full revolution backward
53 Serial.println("Backward revolution");
54 stepMotor(-1, STEPS_PER_REV, STEP_DELAY);
55 delay(1000);
56}
57
58// Function to step the motor: direction (1 or -1), steps count, delay microseconds
59void stepMotor(int dir, int steps, int delayUs) {
60 for (int i = 0; i < steps; i++) {
61 // Determine which coils to energize based on step index (full-step sequence)
62 int stepIndex = i % 4;
63 switch (stepIndex) {
64 case 0: // Step 1: Coil A forward
65 digitalWrite(LEFT_RPWM, HIGH);
66 digitalWrite(LEFT_LPWM, LOW);
67 digitalWrite(RIGHT_RPWM, LOW);
68 digitalWrite(RIGHT_LPWM, LOW);
69 break;
70 case 1: // Step 2: Coil A and B forward
71 digitalWrite(LEFT_RPWM, HIGH);
72 digitalWrite(LEFT_LPWM, LOW);
73 digitalWrite(RIGHT_RPWM, HIGH);
74 digitalWrite(RIGHT_LPWM, LOW);
75 break;
76 case 2: // Step 3: Coil B forward
77 digitalWrite(LEFT_RPWM, LOW);
78 digitalWrite(LEFT_LPWM, LOW);
79 digitalWrite(RIGHT_RPWM, HIGH);
80 digitalWrite(RIGHT_LPWM, LOW);
81 break;
82 case 3: // Step 4: Both reverse (or off for half-step)
83 digitalWrite(LEFT_RPWM, LOW);
84 digitalWrite(LEFT_LPWM, HIGH);
85 digitalWrite(RIGHT_RPWM, LOW);
86 digitalWrite(RIGHT_LPWM, HIGH);
87 break;
88 }
89 delayMicroseconds(delayUs);
90 }
91 // Turn off all coils after step sequence
92 digitalWrite(LEFT_RPWM, LOW);
93 digitalWrite(LEFT_LPWM, LOW);
94 digitalWrite(RIGHT_RPWM, LOW);
95 digitalWrite(RIGHT_LPWM, LOW);
96}
97
Code Comments:
Arduino Nano (5V logic) with dual BTS7960 modules. Same pinout as Uno.
📄 File: bts7960_stepper_driver_-_arduino_nano_arduino_nano.inoArduino Nano
2195 characters
1/*
2 * ekostra.com
3 * ekostra electronics store in egypt
4 */
5// Arduino Nano - Dual BTS7960 H-Bridge Stepper Motor Driver
6// 5V logic; direct connection to BTS7960 modules.
7
8// Pin definitions identical to Uno (Nano has same pinout)
9#define LEFT_RPWM 5
10#define LEFT_LPWM 6
11#define LEFT_R_EN 7
12#define LEFT_L_EN 8
13#define RIGHT_RPWM 9
14#define RIGHT_LPWM 10
15#define RIGHT_R_EN 11
16#define RIGHT_L_EN 12
17
18#define STEPS_PER_REV 200
19#define STEP_DELAY 1000
20
21void setup() {
22 pinMode(LEFT_RPWM, OUTPUT);
23 pinMode(LEFT_LPWM, OUTPUT);
24 pinMode(LEFT_R_EN, OUTPUT);
25 pinMode(LEFT_L_EN, OUTPUT);
26 pinMode(RIGHT_RPWM, OUTPUT);
27 pinMode(RIGHT_LPWM, OUTPUT);
28 pinMode(RIGHT_R_EN, OUTPUT);
29 pinMode(RIGHT_L_EN, OUTPUT);
30
31 digitalWrite(LEFT_R_EN, HIGH);
32 digitalWrite(LEFT_L_EN, HIGH);
33 digitalWrite(RIGHT_R_EN, HIGH);
34 digitalWrite(RIGHT_L_EN, HIGH);
35
36 Serial.begin(9600);
37 Serial.println("BTS7960 Stepper Driver - Arduino Nano");
38}
39
40void loop() {
41 Serial.println("Forward revolution");
42 stepMotor(1, STEPS_PER_REV, STEP_DELAY);
43 delay(1000);
44 Serial.println("Backward revolution");
45 stepMotor(-1, STEPS_PER_REV, STEP_DELAY);
46 delay(1000);
47}
48
49void stepMotor(int dir, int steps, int delayUs) {
50 for (int i = 0; i < steps; i++) {
51 int stepIndex = i % 4;
52 switch (stepIndex) {
53 case 0:
54 digitalWrite(LEFT_RPWM, HIGH);
55 digitalWrite(LEFT_LPWM, LOW);
56 digitalWrite(RIGHT_RPWM, LOW);
57 digitalWrite(RIGHT_LPWM, LOW);
58 break;
59 case 1:
60 digitalWrite(LEFT_RPWM, HIGH);
61 digitalWrite(LEFT_LPWM, LOW);
62 digitalWrite(RIGHT_RPWM, HIGH);
63 digitalWrite(RIGHT_LPWM, LOW);
64 break;
65 case 2:
66 digitalWrite(LEFT_RPWM, LOW);
67 digitalWrite(LEFT_LPWM, LOW);
68 digitalWrite(RIGHT_RPWM, HIGH);
69 digitalWrite(RIGHT_LPWM, LOW);
70 break;
71 case 3:
72 digitalWrite(LEFT_RPWM, LOW);
73 digitalWrite(LEFT_LPWM, HIGH);
74 digitalWrite(RIGHT_RPWM, LOW);
75 digitalWrite(RIGHT_LPWM, HIGH);
76 break;
77 }
78 delayMicroseconds(delayUs);
79 }
80 digitalWrite(LEFT_RPWM, LOW);
81 digitalWrite(LEFT_LPWM, LOW);
82 digitalWrite(RIGHT_RPWM, LOW);
83 digitalWrite(RIGHT_LPWM, LOW);
84}
85
Code Comments:
Arduino Mega (5V logic) with dual BTS7960 modules. More pins available.
📄 File: bts7960_stepper_driver_-_arduino_mega_arduino_mega.inoArduino Mega
2185 characters
1/*
2 * ekostra.com
3 * ekostra electronics store in egypt
4 */
5// Arduino Mega - Dual BTS7960 H-Bridge Stepper Motor Driver
6// 5V logic; direct connection to BTS7960.
7
8// Left BTS7960 (coil A)
9#define LEFT_RPWM 22
10#define LEFT_LPWM 23
11#define LEFT_R_EN 24
12#define LEFT_L_EN 25
13
14// Right BTS7960 (coil B)
15#define RIGHT_RPWM 26
16#define RIGHT_LPWM 27
17#define RIGHT_R_EN 28
18#define RIGHT_L_EN 29
19
20#define STEPS_PER_REV 200
21#define STEP_DELAY 1000
22
23void setup() {
24 pinMode(LEFT_RPWM, OUTPUT);
25 pinMode(LEFT_LPWM, OUTPUT);
26 pinMode(LEFT_R_EN, OUTPUT);
27 pinMode(LEFT_L_EN, OUTPUT);
28 pinMode(RIGHT_RPWM, OUTPUT);
29 pinMode(RIGHT_LPWM, OUTPUT);
30 pinMode(RIGHT_R_EN, OUTPUT);
31 pinMode(RIGHT_L_EN, OUTPUT);
32
33 digitalWrite(LEFT_R_EN, HIGH);
34 digitalWrite(LEFT_L_EN, HIGH);
35 digitalWrite(RIGHT_R_EN, HIGH);
36 digitalWrite(RIGHT_L_EN, HIGH);
37
38 Serial.begin(9600);
39 Serial.println("BTS7960 Stepper Driver - Arduino Mega");
40}
41
42void loop() {
43 Serial.println("Forward revolution");
44 stepMotor(1, STEPS_PER_REV, STEP_DELAY);
45 delay(1000);
46 Serial.println("Backward revolution");
47 stepMotor(-1, STEPS_PER_REV, STEP_DELAY);
48 delay(1000);
49}
50
51void stepMotor(int dir, int steps, int delayUs) {
52 for (int i = 0; i < steps; i++) {
53 int stepIndex = i % 4;
54 switch (stepIndex) {
55 case 0:
56 digitalWrite(LEFT_RPWM, HIGH);
57 digitalWrite(LEFT_LPWM, LOW);
58 digitalWrite(RIGHT_RPWM, LOW);
59 digitalWrite(RIGHT_LPWM, LOW);
60 break;
61 case 1:
62 digitalWrite(LEFT_RPWM, HIGH);
63 digitalWrite(LEFT_LPWM, LOW);
64 digitalWrite(RIGHT_RPWM, HIGH);
65 digitalWrite(RIGHT_LPWM, LOW);
66 break;
67 case 2:
68 digitalWrite(LEFT_RPWM, LOW);
69 digitalWrite(LEFT_LPWM, LOW);
70 digitalWrite(RIGHT_RPWM, HIGH);
71 digitalWrite(RIGHT_LPWM, LOW);
72 break;
73 case 3:
74 digitalWrite(LEFT_RPWM, LOW);
75 digitalWrite(LEFT_LPWM, HIGH);
76 digitalWrite(RIGHT_RPWM, LOW);
77 digitalWrite(RIGHT_LPWM, HIGH);
78 break;
79 }
80 delayMicroseconds(delayUs);
81 }
82 digitalWrite(LEFT_RPWM, LOW);
83 digitalWrite(LEFT_LPWM, LOW);
84 digitalWrite(RIGHT_RPWM, LOW);
85 digitalWrite(RIGHT_LPWM, LOW);
86}
87
Code Comments:
ESP32 (3.3V logic) with dual BTS7960 modules. BTS7960 input is 5V tolerant; 3.3V signals are acceptable.
📄 File: bts7960_stepper_driver_-_esp32_esp32.inoESP32
2240 characters
1/*
2 * ekostra.com
3 * ekostra electronics store in egypt
4 */
5// ESP32 - Dual BTS7960 H-Bridge Stepper Motor Driver
6// ESP32 is 3.3V logic. BTS7960 accepts 3.3V as HIGH (threshold ~2.2V), so direct connection is safe.
7// BTS7960 VCC powered from external 5V supply (not from ESP32).
8
9#define LEFT_RPWM 5
10#define LEFT_LPWM 6
11#define LEFT_R_EN 7
12#define LEFT_L_EN 8
13#define RIGHT_RPWM 9
14#define RIGHT_LPWM 10
15#define RIGHT_R_EN 11
16#define RIGHT_L_EN 12
17
18#define STEPS_PER_REV 200
19#define STEP_DELAY 1000
20
21void setup() {
22 pinMode(LEFT_RPWM, OUTPUT);
23 pinMode(LEFT_LPWM, OUTPUT);
24 pinMode(LEFT_R_EN, OUTPUT);
25 pinMode(LEFT_L_EN, OUTPUT);
26 pinMode(RIGHT_RPWM, OUTPUT);
27 pinMode(RIGHT_LPWM, OUTPUT);
28 pinMode(RIGHT_R_EN, OUTPUT);
29 pinMode(RIGHT_L_EN, OUTPUT);
30
31 digitalWrite(LEFT_R_EN, HIGH);
32 digitalWrite(LEFT_L_EN, HIGH);
33 digitalWrite(RIGHT_R_EN, HIGH);
34 digitalWrite(RIGHT_L_EN, HIGH);
35
36 Serial.begin(115200);
37 Serial.println("BTS7960 Stepper Driver - ESP32");
38}
39
40void loop() {
41 Serial.println("Forward revolution");
42 stepMotor(1, STEPS_PER_REV, STEP_DELAY);
43 delay(1000);
44 Serial.println("Backward revolution");
45 stepMotor(-1, STEPS_PER_REV, STEP_DELAY);
46 delay(1000);
47}
48
49void stepMotor(int dir, int steps, int delayUs) {
50 for (int i = 0; i < steps; i++) {
51 int stepIndex = i % 4;
52 switch (stepIndex) {
53 case 0:
54 digitalWrite(LEFT_RPWM, HIGH);
55 digitalWrite(LEFT_LPWM, LOW);
56 digitalWrite(RIGHT_RPWM, LOW);
57 digitalWrite(RIGHT_LPWM, LOW);
58 break;
59 case 1:
60 digitalWrite(LEFT_RPWM, HIGH);
61 digitalWrite(LEFT_LPWM, LOW);
62 digitalWrite(RIGHT_RPWM, HIGH);
63 digitalWrite(RIGHT_LPWM, LOW);
64 break;
65 case 2:
66 digitalWrite(LEFT_RPWM, LOW);
67 digitalWrite(LEFT_LPWM, LOW);
68 digitalWrite(RIGHT_RPWM, HIGH);
69 digitalWrite(RIGHT_LPWM, LOW);
70 break;
71 case 3:
72 digitalWrite(LEFT_RPWM, LOW);
73 digitalWrite(LEFT_LPWM, HIGH);
74 digitalWrite(RIGHT_RPWM, LOW);
75 digitalWrite(RIGHT_LPWM, HIGH);
76 break;
77 }
78 delayMicroseconds(delayUs);
79 }
80 digitalWrite(LEFT_RPWM, LOW);
81 digitalWrite(LEFT_LPWM, LOW);
82 digitalWrite(RIGHT_RPWM, LOW);
83 digitalWrite(RIGHT_LPWM, LOW);
84}
85
Code Comments:
ESP8266 (3.3V logic) with dual BTS7960 modules. BTS7960 inputs are 5V tolerant but 3.3V is sufficient for logic HIGH.
📄 File: bts7960_stepper_driver_-_esp8266_esp8266.inoESP8266
2417 characters
1/*
2 * ekostra.com
3 * ekostra electronics store in egypt
4 */
5// ESP8266 - Dual BTS7960 H-Bridge Stepper Motor Driver
6// ESP8266 is 3.3V logic. BTS7960 accepts 3.3V as HIGH (threshold ~2.2V), direct connection is safe.
7// Module VCC powered externally at 5V.
8
9// Use GPIO numbers (D0=16, D1=5, etc.) - here using direct GPIO numbers
10#define LEFT_RPWM 5 // GPIO5 (D1)
11#define LEFT_LPWM 4 // GPIO4 (D2)
12#define LEFT_R_EN 0 // GPIO0 (D3)
13#define LEFT_L_EN 2 // GPIO2 (D4)
14#define RIGHT_RPWM 14 // GPIO14 (D5)
15#define RIGHT_LPWM 12 // GPIO12 (D6)
16#define RIGHT_R_EN 13 // GPIO13 (D7)
17#define RIGHT_L_EN 15 // GPIO15 (D8)
18
19#define STEPS_PER_REV 200
20#define STEP_DELAY 1000
21
22void setup() {
23 pinMode(LEFT_RPWM, OUTPUT);
24 pinMode(LEFT_LPWM, OUTPUT);
25 pinMode(LEFT_R_EN, OUTPUT);
26 pinMode(LEFT_L_EN, OUTPUT);
27 pinMode(RIGHT_RPWM, OUTPUT);
28 pinMode(RIGHT_LPWM, OUTPUT);
29 pinMode(RIGHT_R_EN, OUTPUT);
30 pinMode(RIGHT_L_EN, OUTPUT);
31
32 digitalWrite(LEFT_R_EN, HIGH);
33 digitalWrite(LEFT_L_EN, HIGH);
34 digitalWrite(RIGHT_R_EN, HIGH);
35 digitalWrite(RIGHT_L_EN, HIGH);
36
37 Serial.begin(115200);
38 Serial.println("BTS7960 Stepper Driver - ESP8266");
39}
40
41void loop() {
42 Serial.println("Forward revolution");
43 stepMotor(1, STEPS_PER_REV, STEP_DELAY);
44 delay(1000);
45 Serial.println("Backward revolution");
46 stepMotor(-1, STEPS_PER_REV, STEP_DELAY);
47 delay(1000);
48}
49
50void stepMotor(int dir, int steps, int delayUs) {
51 for (int i = 0; i < steps; i++) {
52 int stepIndex = i % 4;
53 switch (stepIndex) {
54 case 0:
55 digitalWrite(LEFT_RPWM, HIGH);
56 digitalWrite(LEFT_LPWM, LOW);
57 digitalWrite(RIGHT_RPWM, LOW);
58 digitalWrite(RIGHT_LPWM, LOW);
59 break;
60 case 1:
61 digitalWrite(LEFT_RPWM, HIGH);
62 digitalWrite(LEFT_LPWM, LOW);
63 digitalWrite(RIGHT_RPWM, HIGH);
64 digitalWrite(RIGHT_LPWM, LOW);
65 break;
66 case 2:
67 digitalWrite(LEFT_RPWM, LOW);
68 digitalWrite(LEFT_LPWM, LOW);
69 digitalWrite(RIGHT_RPWM, HIGH);
70 digitalWrite(RIGHT_LPWM, LOW);
71 break;
72 case 3:
73 digitalWrite(LEFT_RPWM, LOW);
74 digitalWrite(LEFT_LPWM, HIGH);
75 digitalWrite(RIGHT_RPWM, LOW);
76 digitalWrite(RIGHT_LPWM, HIGH);
77 break;
78 }
79 delayMicroseconds(delayUs);
80 }
81 digitalWrite(LEFT_RPWM, LOW);
82 digitalWrite(LEFT_LPWM, LOW);
83 digitalWrite(RIGHT_RPWM, LOW);
84 digitalWrite(RIGHT_LPWM, LOW);
85}
86
Code Comments:
STM32 (3.3V logic) with dual BTS7960 modules. 3.3V signals are sufficient.
📄 File: bts7960_stepper_driver_-_stm32_stm32.inoSTM32
2234 characters
1/*
2 * ekostra.com
3 * ekostra electronics store in egypt
4 */
5// STM32 (Blue Pill / Generic) - Dual BTS7960 H-Bridge Stepper Motor Driver
6// STM32 is 3.3V logic. BTS7960 accepts 3.3V as HIGH, direct connection okay.
7// BTS7960 VCC powered from external 5V supply.
8
9#define LEFT_RPWM PA0
10#define LEFT_LPWM PA1
11#define LEFT_R_EN PA2
12#define LEFT_L_EN PA3
13#define RIGHT_RPWM PA4
14#define RIGHT_LPWM PA5
15#define RIGHT_R_EN PA6
16#define RIGHT_L_EN PA7
17
18#define STEPS_PER_REV 200
19#define STEP_DELAY 1000
20
21void setup() {
22 pinMode(LEFT_RPWM, OUTPUT);
23 pinMode(LEFT_LPWM, OUTPUT);
24 pinMode(LEFT_R_EN, OUTPUT);
25 pinMode(LEFT_L_EN, OUTPUT);
26 pinMode(RIGHT_RPWM, OUTPUT);
27 pinMode(RIGHT_LPWM, OUTPUT);
28 pinMode(RIGHT_R_EN, OUTPUT);
29 pinMode(RIGHT_L_EN, OUTPUT);
30
31 digitalWrite(LEFT_R_EN, HIGH);
32 digitalWrite(LEFT_L_EN, HIGH);
33 digitalWrite(RIGHT_R_EN, HIGH);
34 digitalWrite(RIGHT_L_EN, HIGH);
35
36 Serial.begin(115200);
37 Serial.println("BTS7960 Stepper Driver - STM32");
38}
39
40void loop() {
41 Serial.println("Forward revolution");
42 stepMotor(1, STEPS_PER_REV, STEP_DELAY);
43 delay(1000);
44 Serial.println("Backward revolution");
45 stepMotor(-1, STEPS_PER_REV, STEP_DELAY);
46 delay(1000);
47}
48
49void stepMotor(int dir, int steps, int delayUs) {
50 for (int i = 0; i < steps; i++) {
51 int stepIndex = i % 4;
52 switch (stepIndex) {
53 case 0:
54 digitalWrite(LEFT_RPWM, HIGH);
55 digitalWrite(LEFT_LPWM, LOW);
56 digitalWrite(RIGHT_RPWM, LOW);
57 digitalWrite(RIGHT_LPWM, LOW);
58 break;
59 case 1:
60 digitalWrite(LEFT_RPWM, HIGH);
61 digitalWrite(LEFT_LPWM, LOW);
62 digitalWrite(RIGHT_RPWM, HIGH);
63 digitalWrite(RIGHT_LPWM, LOW);
64 break;
65 case 2:
66 digitalWrite(LEFT_RPWM, LOW);
67 digitalWrite(LEFT_LPWM, LOW);
68 digitalWrite(RIGHT_RPWM, HIGH);
69 digitalWrite(RIGHT_LPWM, LOW);
70 break;
71 case 3:
72 digitalWrite(LEFT_RPWM, LOW);
73 digitalWrite(LEFT_LPWM, HIGH);
74 digitalWrite(RIGHT_RPWM, LOW);
75 digitalWrite(RIGHT_LPWM, HIGH);
76 break;
77 }
78 delayMicroseconds(delayUs);
79 }
80 digitalWrite(LEFT_RPWM, LOW);
81 digitalWrite(LEFT_LPWM, LOW);
82 digitalWrite(RIGHT_RPWM, LOW);
83 digitalWrite(RIGHT_LPWM, LOW);
84}
85
Code Comments:
Raspberry Pi Pico (3.3V logic) with dual BTS7960 modules using Arduino-Pico core.
📄 File: bts7960_stepper_driver_-_raspberry_pi_pico_raspberry_pi_pico.cRaspberry Pi Pico
2234 characters
1/*
2 * ekostra.com
3 * ekostra electronics store in egypt
4 */
5// Raspberry Pi Pico - Dual BTS7960 H-Bridge Stepper Motor Driver
6// Pico is 3.3V logic. BTS7960 accepts 3.3V as HIGH, direct connection safe.
7// BTS7960 VCC powered externally at 5V.
8
9#include <Arduino.h>
10
11#define LEFT_RPWM 0
12#define LEFT_LPWM 1
13#define LEFT_R_EN 2
14#define LEFT_L_EN 3
15#define RIGHT_RPWM 4
16#define RIGHT_LPWM 5
17#define RIGHT_R_EN 6
18#define RIGHT_L_EN 7
19
20#define STEPS_PER_REV 200
21#define STEP_DELAY 1000
22
23void setup() {
24 pinMode(LEFT_RPWM, OUTPUT);
25 pinMode(LEFT_LPWM, OUTPUT);
26 pinMode(LEFT_R_EN, OUTPUT);
27 pinMode(LEFT_L_EN, OUTPUT);
28 pinMode(RIGHT_RPWM, OUTPUT);
29 pinMode(RIGHT_LPWM, OUTPUT);
30 pinMode(RIGHT_R_EN, OUTPUT);
31 pinMode(RIGHT_L_EN, OUTPUT);
32
33 digitalWrite(LEFT_R_EN, HIGH);
34 digitalWrite(LEFT_L_EN, HIGH);
35 digitalWrite(RIGHT_R_EN, HIGH);
36 digitalWrite(RIGHT_L_EN, HIGH);
37
38 Serial.begin(115200);
39 Serial.println("BTS7960 Stepper Driver - Raspberry Pi Pico");
40}
41
42void loop() {
43 Serial.println("Forward revolution");
44 stepMotor(1, STEPS_PER_REV, STEP_DELAY);
45 delay(1000);
46 Serial.println("Backward revolution");
47 stepMotor(-1, STEPS_PER_REV, STEP_DELAY);
48 delay(1000);
49}
50
51void stepMotor(int dir, int steps, int delayUs) {
52 for (int i = 0; i < steps; i++) {
53 int stepIndex = i % 4;
54 switch (stepIndex) {
55 case 0:
56 digitalWrite(LEFT_RPWM, HIGH);
57 digitalWrite(LEFT_LPWM, LOW);
58 digitalWrite(RIGHT_RPWM, LOW);
59 digitalWrite(RIGHT_LPWM, LOW);
60 break;
61 case 1:
62 digitalWrite(LEFT_RPWM, HIGH);
63 digitalWrite(LEFT_LPWM, LOW);
64 digitalWrite(RIGHT_RPWM, HIGH);
65 digitalWrite(RIGHT_LPWM, LOW);
66 break;
67 case 2:
68 digitalWrite(LEFT_RPWM, LOW);
69 digitalWrite(LEFT_LPWM, LOW);
70 digitalWrite(RIGHT_RPWM, HIGH);
71 digitalWrite(RIGHT_LPWM, LOW);
72 break;
73 case 3:
74 digitalWrite(LEFT_RPWM, LOW);
75 digitalWrite(LEFT_LPWM, HIGH);
76 digitalWrite(RIGHT_RPWM, LOW);
77 digitalWrite(RIGHT_LPWM, HIGH);
78 break;
79 }
80 delayMicroseconds(delayUs);
81 }
82 digitalWrite(LEFT_RPWM, LOW);
83 digitalWrite(LEFT_LPWM, LOW);
84 digitalWrite(RIGHT_RPWM, LOW);
85 digitalWrite(RIGHT_LPWM, LOW);
86}
87
Control a high-power stepper motor using dual BTS7960 43A H-bridge modules. Each board uses PWM and direction pins with safe voltage interfacing.

نظرة عامة ومواصفات المنتج — بالعربية

Double BTS7960 43A H-Bridge High-Power Stepper Motor Driver Module متوفر الآن في متجر إكوسترا للإلكترونيات، ضمن قسم Motor Drivers وMotors | Drivers | Pumps | Actuators، بسعر 525,00 EGP. كود المنتج لدينا: EK385. المنتج غير متوفر حالياً — تواصل معنا عبر واتساب لمعرفة موعد توفره القادم.

أهم المواصفات الفنية:

  • Maximum Currenta: 43
  • Input Levelv: 3.3 – 5
  • Duty Cycle: 0 – 100%
  • Path Resistance: 16 mΩ at 25°C.
  • Operating Frequencykhz: 25
  • Low Quiescent Current: 7 µA at 25°C
  • الوزن: 4 g

هذا المنتج مناسب لمشاريع الأردوينو (Arduino) و ESP32 و Raspberry Pi، ومشاريع الروبوتات وإنترنت الأشياء والتعليم الهندسي. جميع القطع مفحوصة قبل الشحن.

تصفّح المزيد من Motor Drivers في إكوسترا.

Specification

Specification

WeightWeight40 g
Dimensions50 × 50 × 43 cm
maximum-currenta43
input-levelv3.3 – 5
duty-cycle0 – 100%
path-resistance16 mΩ at 25°C.
operating-frequencykhz25
low-quiescent-current7 µA at 25°C

Customer Reviews