Schrittmotor ansteuern mit Arduino + TB6600

Schrittmotor ansteuern mit Arduino + TB6600

In diesem Blogbeitrag möchte ich euch zeigen wir Ihr den Stepper Driver TB6600 an den Arduino Uno anschließt und betreiben könnt. Die kleinere Variante A4988 hatte ich auch schon mal in einem Beitrag gezeigt.

Beschaltung

In meinem Beispiel ist es wie folgt angeschlossen:
ENA – = GND (Masse)
ENA + = Pin 6 am Arduino
DIR – = GND
DIR + = Pin 4 am Arduino
PUL – = GND
PUL + = Pin 5 am Arduino
B – und B + Spule B vom Schrittmotor
A – und A + Spule A vom Schrittmotor
GND und VCC hier habe ich ein Netzteil mit 12 Volt angeschlossen. Hier sind Spannungen von 9 -42 Volt möglich.

 

Funktion

Über die roten Dipschalten wird der Steppertreiber so zu sagen Konfiguriert. Mit den Schaltern S1-S3 lassen sich die Mirosteps einstellen. Wenn die Schalter auf 1 stehen heißt das Vollschrittmodus und je höher man die Microsteps einstellt umso langsamer dreht sich der Motor. Hier hat der A4988 einen Vortteil, da diese Einstellungen über den Arduino gesteuert werden können. Man kann sich den TB6600 auch diesbezüglich umbauen, sprich Schalter aus und den Arduino angeschlossen grob gesagt.

Dann die Schalter S4-S6, hier wird die Stromstärke eingestellt für die der Schrittmotor ausgelegt ist. Achtung!!! nicht mehr einstellen was der Motor kann, sonst kann der Motor kaputt gehen.

Der Programmcode

Hier nur ein kleiner Beispielcode. Der Schrittmotor fährt 5000 Schritte in die eine Richtung und dann 5000 Schritte in die andere Richtung.

Der Code kann hier runtergeladen werden.

				
					int Index;

void setup()
{
pinMode(6, OUTPUT); //Enable
pinMode(5, OUTPUT); //Puls
pinMode(4, OUTPUT); //Direction

digitalWrite(6,LOW);
}

void loop()
{
digitalWrite(4,HIGH);

for(Index = 0; Index < 5000; Index++)
{
digitalWrite(5,HIGH);
delayMicroseconds(500);
digitalWrite(5,LOW);
delayMicroseconds(500);
}
delay(1000);

digitalWrite(4,LOW);

for(Index = 0; Index < 5000; Index++)
{
digitalWrite(5,HIGH);
delayMicroseconds(500);
digitalWrite(5,LOW);
delayMicroseconds(500);
}
delay(1000);
}
				
			
Folgende Bauteile wurden verwendet: