TB6600 to sterownik silnika krokowego, który przekształca sygnały wejściowe STEP (PUL) i DIR (kierunek) w kontrolowany prąd dla cewek silnika oznaczonych A+ i B+. Wejście enable (ENA) zwykle włącza lub wyłącza wyjścia sterownika, a GND zapewnia odniesienie dla wejść logicznych. Wymaga zasilania silnika na wejściach DC/V+/- oraz zasilania logiki przez VCC.
| Pin | Sygnał | Opis |
|---|---|---|
DIR+ |
digital | Direction opto-input positive; logic level selects motor rotation direction |
DIR+ |
digital | Direction opto-input positive; logic level selects motor rotation direction |
PUL+ |
digital | Step pulse opto-input positive; each pulse advances the motor one microstep |
PUL+ |
digital | Step pulse opto-input positive; each pulse advances the motor one microstep |
GND |
ground | Motor supply negative/ground return for the 9–42 VDC power input |
ENA+ |
enable | Enable opto-input positive; used by controller to enable or disable the driver |
ENA+ |
enable | Enable opto-input positive; used by controller to enable or disable the driver |
A+ |
power | Stepper motor phase A positive output winding connection |
A+ |
power | Stepper motor phase A positive output winding connection |
B+ |
power | Stepper motor phase B positive output winding connection |
B+ |
power | Stepper motor phase B positive output winding connection |
VCC |
power-high | Motor supply positive input, typically 9–42 VDC for the driver power stage |
DIR+ |
digital | Direction opto-input positive; logic level selects motor rotation direction |
ENA- |
enable | Enable opto-input negative; used by controller to enable or disable the driver |
PUL+ |
digital | Step pulse opto-input positive; each pulse advances the motor one microstep |
A- |
power | Stepper motor phase A negetaive output winding connection |
B- |
power | Stepper motor phase B negative output winding connection |
PUL- |
digital | Step pulse opto-input negative; each pulse advances the motor one microstep |
DIR- |
digital | Direction opto-input negative; logic level selects motor rotation direction |
| Z | Do | Przewód |
|---|---|---|
board:D2 |
x1:PUL+ |
green |
board:D3 |
x1:DIR+ |
blue |
board:D4 |
x1:ENA+ |
yellow |
board:GND |
x1:GND |
black |
x3:OUT+ |
x1:VCC |
red |
x3:OUT- |
x1:GND |
black |
x1:A+ |
x2:1A |
purple |
x1:A+ |
x2:1B |
purple |
x1:B+ |
x2:2A |
cyan |
x1:B+ |
x2:2B |
cyan |
Ten przykład został napisany i sprawdzony kompilacją dla arduino-uno. Codey Online dostosuje go do każdej innej obsługiwanej płytki.
// Canonical beginner example for the TB6600 stepper driver
// Arduino Uno + TB6600 + NEMA17 stepper motor
const int PUL_PIN = 2; // TB6600 PUL+
const int DIR_PIN = 3; // TB6600 DIR+
const int ENA_PIN = 4; // TB6600 ENA+
const int STEPS_PER_DIRECTION = 200;
const int STEP_DELAY_US = 800;
void stepMotor(int steps) {
for (int i = 0; i < steps; i++) {
digitalWrite(PUL_PIN, HIGH);
delayMicroseconds(STEP_DELAY_US);
digitalWrite(PUL_PIN, LOW);
delayMicroseconds(STEP_DELAY_US);
}
}
void setup() {
pinMode(PUL_PIN, OUTPUT);
pinMode(DIR_PIN, OUTPUT);
pinMode(ENA_PIN, OUTPUT);
digitalWrite(PUL_PIN, LOW);
digitalWrite(DIR_PIN, LOW);
digitalWrite(ENA_PIN, LOW);
Serial.begin(9600);
while (!Serial) {
;
}
Serial.println("TB6600 stepper driver demo starting...");
}
void loop() {
Serial.println("Rotate clockwise");
digitalWrite(DIR_PIN, HIGH);
stepMotor(STEPS_PER_DIRECTION);
delay(1000);
Serial.println("Rotate counter-clockwise");
digitalWrite(DIR_PIN, LOW);
stepMotor(STEPS_PER_DIRECTION);
delay(1000);
}
Opisz, co chcesz zbudować. Codey Online napisze kod, narysuje schemat połączeń, skompiluje projekt i wgra go na płytkę bezpośrednio z przeglądarki.
Zacznij za darmo