What I have is a TB6600 Stepper driver, an Arduino uno, and a nema 17. The TB6600 is set as (ON/ON/OFF/OFF/ON/ON) and I’m using a 24v 2.5a power supply. All the grounds for the arduino, power, and the grounds on the TB6600 are connected together The stepper is also wired “correctly” through the A+,A-,B+,B-, on the TB6600 to their respective colors on the four stepper wires (black, green, blue, red). What I’m having an issue with, is that the stepper is either not working, just humming, or vibrating aggressively.
I have tried:
-different power supply
-replacing wires
-trying different combinations (like 10) of the stepper motor wires to the TB6600
-using a multimeter to find the coils
-different codes
-different set ups for the TB6600 (ex: OFF/OFF/OFF/ON/ON/OFF, or some different configurations)
I think the solution might be a configuration of the A+,A-,B+,B-, wires to the nema 17 that I have not tried yet, but even with the proven correct coils with the multimeter and flipping the polarity on the coils, it still was just vibrating and making angry noises. The end goal for this project is to have two nema 17’s connected to two TB6600s, respectively, and have them wired to one Arduino.
Additional note - I connected the nema 17 to an L298N and gave the arduino sample code and it worked. The nema 17 went perfectly one rotation without any issues. The issue with the L298N came up when I tried having two nema 17s and two L298Ns. The nema 17s would just vibrate and try to move, but ultimately, would not. My suspicion for why it didn’t work is because the L298N’s were blanking out on the power as they can’t handle more than 2amps. That’s why I decided to order two TB6600s, as they can handle the power better.
Code that I’m using to test stepper with TB6600
#define directionpin 2
#define steppin 3
#define stepsperrevolution 200
void setup() {
pinMode(directionpin, OUTPUT);
pinMode(steppin, OUTPUT);
}
void loop() {
for (int i = 0; i < stepsperrevolution; i++) {
digitalWrite (directionpin, HIGH);
digitalWrite (steppin, HIGH);
delayMicroseconds(100);
digitalWrite (steppin, LOW);
delayMicroseconds(100);
}
}
also tried this code:
#define directionpin 2
#define steppin 3
#define stepsperrevolution 200
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
digitalWrite(2, HIGH);
}
void loop() {
digitalWrite(3, LOW);
digitalWrite(3, HIGH);
delayMicroseconds(60);
}
Diagram:
Pictures:


