Wiring and running TB6600 stepper driver with Arduino

A quick post about wiring TB6600 stepper driver which is based on TB6600HG chip. Here I use one without black plastic casing. It has model marking on the back that says “BL-TB6600-v1.2″. Stepper motor used in this demo is 23HS22-2804S (2.8A, NEMA23). Drive looks like this and it’s rated for 4.5A.

TB6600 v1.2 green PCB

TB6600 v1.2 green PCB

Looking for more info and photos? Check out my previous post about TB6600 drive where I removed heatsink covering the whole PCB.

Wiring TB6600 and Arduino

Terminals on the drive are clearly marked and there is nothing much you can go wrong with. Power supply should be between 8V to 42V (by chip’s datasheet). Low voltage cut-off was actually around 6.5V when I tested it. You have to find paired wires of your stepper motor and connect them to drive’s  A+ A- and B+ B- terminals. From Arduino, I had to connect only 3 wires.

  • Arduino +5V to +5V on the drive
  • Arduino Digital pin 9 to CW (direction) on the drive
  • Arduino Digital pin 8 to CLK (pulse, step) on the drive

I left enable pin disconnected for testing.

If you are a beginner and want more in-depth info – check out my other post on how to drive a stepper motor.

Wiring TB6600 (4.5A drive), input / output diagram

Wiring TB6600 (4.5A drive), input / output diagram

 

Programming Arduino

I used AccelStepper library to make the motor run smoothly for testing. The program I used was Bounce which is one of the example code snippets from that library. Here is the final Arduino sketch I used to make the demonstration video at the end.

#include <AccelStepper.h>


// Define a stepper motor 1 for arduino 
// direction Digital 9 (CW), pulses Digital 8 (CLK)
AccelStepper stepper(1, 8, 9);
void setup()
{  
  // Change these to suit your stepper if you want
  stepper.setMaxSpeed(1000);//1100
  stepper.setAcceleration(1100);
  stepper.moveTo(2000);
}

void loop()
{
    // If at the end of travel go to the other end
    if (stepper.distanceToGo() == 0){
      stepper.moveTo( -stepper.currentPosition() );
    }
    
    stepper.run();
}

TB6600 microstepping settings

Note about dip switches on board. When I hooked everything up for the first time- I didn’t get it working. I was bit confused. That happened because I had all dip switches in off state. I thought that if everything is off- there is no microstepping applied. But with TB6600 it means the drive is disabled. Here is a screenshot from the datasheet for quick reference. Grab the whole datasheet from here.

Screenshot from TB6600HG datasheet about microstepping and standby settings

Screenshot from TB6600HG datasheet about microstepping and standby settings

Find this drive on Amazon

Video

And here is the video of this combo running.

Comments

  1. By Jay Yemul

    Reply

  2. By Amirul

    Reply

    • By Janar

      Reply

  3. By Silent96

    Reply

    • By Raja

      Reply

      • By Janar

        Reply

  4. By Muz

    Reply

    • By Janar

      Reply

    • By Samarjit Roy

      Reply

  5. Reply

  6. Reply

    • By Janar

      Reply

  7. By Amat Riyanto

    Reply

    • By Janar

      Reply

  8. By Akshay Shelar

    Reply

    • By Janar

      Reply

  9. By Neosha

    Reply

    • By Janar

      Reply

  10. By Gopinath

    Reply

  11. By J Murphy

    Reply

    • By Janar

      Reply

      • By Geramy L Loveless

        Reply

  12. Reply

  13. By Andreas Rothe

    Reply

    • By Janar

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

ninety eight − eighty eight =

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close