TB6560 ebay 3-axis driver and LinuxCNC (emc)

TB6560 ebay 3-axis driver and LinuxCNC (emc)

I’ve read of so many failures with the ebay version of the TB6560 3-axis stepper motor driver that I thought I’d document my success with it and Enhanced Machine Controller EMC for Linux.

The motors I’m using are the Nema17s, unipolar, but being run in a bipolar configuration (since that is what the driver runs)

I’m feeding the board 13.8 volts at 5 amps constant, 7 amp surge, from a regulated power supply (shown below).

According to the power requirements formula from the driver manual, I’m actually supposed to have at least a 5.6 amp supply.

But onto the settings. The driver board has 3 options that can be set using 6 on/off switches per axis. They are as follows:

Current: 25%, 50%, 75%, and 100%
Decay: Slow, 25%, 50%, and  Fast
Step: 1, 1/2, 1/8, 1/16

I’m using 25% current, Fast decay, and 1/2 step. I haven’t tried any other configuration as of yet.

There is a 5 pin adapter on the board that you can use for your own functions. As shown above, the 4 uppermost pins are input 1-4 (top to bottom, respectively) and the lower pin is ground. You can connect limit switches from these inputs to ground to home your machine. I’ve included a schematic below if it’s not very straightforward.

Notice in the above schematic, some of the switches are hooked up normally open and some are normally closed. I drew it this way to show you different options of hooking these up. Some of the limit switches I had didn’t have a third pin for either normally open or normally closed, so the limit switches on my machine are hooked up differently.  This is no big deal because the function of the switch can be inverted when you run the stepconf for EMC.

Onto the configuration. The following screenshots are from LinuxCNC’s stepconf program. You can click on any image below for a larger version.

I honestly didn’t know what settings to put here, so I left the default. The machine I was using is an old slow Dell that was getting base period max jitter of 14,200. I simply left the number at 15,000 to be safe. Please note that a slower computer will result in a higher number, so when you get your final base period jitter, add 10% or so, but don’t subtract.

This is the pinout for this particular driver board. Yours may differ, but it’s probably the same if it was purchased off eBay.

I suggest not setting all your limit switches at once. It’s a lot easier to set 1 or 2 limit switches, then come back and set the 3rd after you confirm that the first 2 work correctly. I suggest this because once you have all 3 set, EMC will want to home all of them (and if they are not set correctly, be prepared for chaos – F1 stops the machine). If you set 2, say the x and y to start, then you can home just the x or just the y from EMC individually.

I’m not using the 4th input on this board, but I may put an E-stop on it. One of the nice parts about having an e-stop would be that you would not have to click the red ‘x’ in EMC everytime you open the program. The red ‘x’ button would always correspond to your e-stop button.

The only thing that differs from the axis configurations in my setup is the table travel numbers. I have the Zen Toolworks 12×7 table with the F8 leadscrew (3.175 revolutions per inch). The driver microstepping number should be how many microsteps are in a full step. I’m running 1/2 step, so my number would be 2. If you were running 1/16 steps, then you would put 16 here.

The velocity and acceleration numbers I’ve found to be safe, reliable numbers.

That’s about everything. If you have any questions, please feel free to leave a comment.