Recently I bought a few of these (too) cheap TB6560 stepper drivers for evaluation

Recently I bought a few of these (too) cheap TB6560 stepper drivers for evaluation and testing of my g2 core shield prototype. And yes I know many people consider them crap that you need to stay away from. But considering price and specs there must be some use for them (maybe after some modifications):

From what I have read the main design flaw is that the logic voltage does not switch on before (as the datasheet suggests) but after the motor supply. Other problems mentioned are a much too high value of Cosc and slow optocouplers, which was all fine with my units.

Using g2core with transistor low side drivers and 5V supply to the optocouplers I managed to run a standalone NEMA23 motor at a speed of up to 20 rev/s (with 8x microstepping this equals 32000 pulses/s) before it stalls. This indicates that the optocouplers are more than fast enough for normal CNC operation.

So far, so good. The not so good part is when I mounted the NEMA23 motor to a real ballscrew driving a CNC x-axis. The motor was stalling at much lower speeds. To check whether the motor was able of providing the needed torque, I used a TinyG v8 board with exactly the same motion settings to drive it as well. Now, the TinyG v8 board uses DRV8818 drivers with 2.5A max and was smoothly driving the machine, the TB6560 with 3A max could not drive it.

Based on this I have several questions, hopefully the community can help:

  • Is there experience with TB6560 not reaching the set current?
  • What are useful modifications to improve this particular TB6560 behaviour?

Than a side question. As stepper drivers for my new machine, I consider DQ542MA and/or DM542A. What are the use experiences with those drivers, is one better than the other?

http://www.cnczone.com/forums/stepper-motors-drives/186930-tb6600-drive-ebay.html
Somewhere there’s a pdf which explains the mods needed to improve them.

Thanks @Paul_Shaw , but note I have TB6560, not TB6600

Btw, these links show possible modifications, but do not mention any current restrictions:


@Paul_Shaw cnczone? What, they don’t tell people to just buy Gecko motor drives? Color me surprised! I think Mariss and Art both run that echo chamber of a web site together. Gecko, Mach 3, Mach 3, and Gecko. That’s all I’ve ever heard there.

@Menno_de_Graaf yeah you should have gotten TB6600s. Toshiba never designed the TB6560 as a general purpose drive. The problem lies in how current sensing is done with that hardware. With the TB6600 they changed that, and a bunch of other TB6560 shortcomings too.

I made drives based on TB6560s before the imported boards were even available. So I know a bit about how they work. Then years later I wrote this article about them https://www.instructables.com/id/TB6560-Microstepping-Bipolar-Chopper-Stepper-Motor/

No matter the driver, motor will stall at a lower RPM loaded than when running without load. There seems to be a common agreement that these cheap drivers are not a good choice for any serious work. Please note that slow optos mean that you need to have step pulses long enough to be recognized every time and if not funny things will happen though now it seems to work fast enough. I learned that the hard way, one of the axis using a TB6560 would skip steps lasting 10 microseconds from time to time but it will honor them if pulse width was 30 microseconds long. For any serious work you will be much better off with the DM452A

@Miguel_Sanchez I’m doing OK with the drives I have now. My machine will go two hundred inches per minute. To do that the motors have to spin 2,000 RPM. I run in quarter step mode. So a step pulse of approximately 27kHz is used.

I do not have any problems even at slow speeds either. I used a very slow speed to check my phase current. Operation was flawless then too.

Realize that even drive ICs have a setup time. So it is not just your optocouplers that you have to work with. I think I’m using 3000ns right now with my TB6600 drives?

Which would give me a theoretical maximum frequency of 333kHz. Far beyond what I need. Far beyond what my PC can software step too. I believe the fastest pulse train it can generate is about 30kHz. So that is my limiting factor.

But being as I am already satisfied with the performance it is not an issue that concerns me.

@Paul_Frederick though similar in name TB6560 and TB6600 are not the same thing, the latter being an improved version of the former. But beyond the chip itself it appears there is a high variety of boards around these chips, some of them with poor component selection if not plain component error that makes some of them to work poorly.

I am sure there are happy owners of both type of boards yet the amount of unhappy ones and my own experience makes me avoid that sort of board. But if you have to use one and get in trouble, extending the step pulse width might help.

@Miguel_Sanchez I know TB6560s and TB6600s are different. I have both. I’m also a bit of an electronics wizard too. Which is why I get stuff to work for me.

There is another potential downside - the components used are often the cheapest, out-of-spec rejects that can be found. I’ve got a post on it with links to some supporting videos: https://hobbycnc.com/lowest-price-diy-cnc-electronics-isnt-always-best-value/

@HobbyCNC you can get sub par parts from any supplier. Dave Jones got fucked over by Digikey. So don’t think it can’t happen. Now what’s your point?

Probably the point of @HobbyCNC ​ is that he has his own board for sale. Complaining about cheap Chinese boards was not the point of this thread. Besides that, the design of the TB6560 board is simply not bad, seems to have the right optos, good connectors, heatsink, even an additional buffer for the inputs. Question was whether the current restriction can still be fixed by a modification. If not, there are still uses in driving a machine with limited load, like a laser plotter or a pick and place.

@Menno_de_Graaf I got a substantial amount of power out of my TB6560 drives. So the hardware is capable if used properly. Just an unrelated series of events got me to using TB6600 drives now. The boards I’ve seen seem to have through hole parts for the current sensing resistors. So easy enough to change.

Before I changed any parts myself though I’d see what is installed. And I’d determine if it would work for me too. Measure what current your motors are drawing. Don’t believe anything written on the drives. Believe what your meter tells you.

You do have to exercise some caution taking a current measurement with a stepper motor drive though. Because disconnecting a motor from a powered up motor drive is a big no no. So don’t do that. Put your meter in series first, then power up the drive.

Also you have to measure the peak step in a motor sequence too. Which in some step modes is somewhat tricky to do. Full step mode might be best then? I measured my drives in quarter step mode, and just jogged in short little taps at a super slow speed until I landed on the highest output of the sequence. Which really isn’t that terribly difficult to do.

Watching your meter while you’re at that should show you what is going on. the numbers will be higher, or lower, depending on where in the sequence you stop. You want the highest reading you can obtain. That is your drive current limit then.

One key to success is to have hard numbers to work with.

EDIT: I should clarify where you put the meter. Pick one of the motor coils. It doesn’t matter which. Well it shouldn’t matter, if both sense resistors are the same on the drive. We’ll assume they are. But you can check both, one at a time, if you really want to. Then just disconnect one motor wire and put a jumper wire or something in there that you can attach your meter to, and your motor wire on the other meter lead.