Luc's THB driver joins the other open source drivers supplied by the MassMind.org store, adding support for BiPolar (4, 6 or 8 wire) motors up to 4 amps/phase at 50 volts. It is based on the new THB6064AH ( Datasheet ) chip (also known as the Toshiba TB6564AHQ^) which is a design improvment over the TB6560, adding support for better microstepping, lower resonance, and protection for power on sequence^.
* These are electronics KITs, you need to solder them together.
The Honest Truth: It is a "chopper" type driver, so it doesn't require a terribly large heatsink, but you can expect to hear a little bit of motor "hiss" or "squeal" during operation (see the video below), and in high power systems, the motors may require more cooling than the driver. There are other drivers for different needs:
|Linistepper||1 or 2, 3 max||36||<75||5, 6 or 8 wire
|Ultra smooth, quiet, low noise, low mid band resonance, motor stays cool, cheap to repair||Limited power, driver heat|
|SLAm||2 to 3||36||108||5, 6 or 8 wire
|Stable, easy to build, small heatsink, tough||Resonance, motor heat/noise|
|THB6064||up to 4||50||200||4, 6 or 8 wire Bipolar||Powerful, most motors (4, 6 or 8 wires), small heatsink, very tough||Some resonance, motor heat/noise|
(listed for compairison only)
|3.5-7||50-80||175-560||Bipolar||Freaking magic||Cost $80-$166 per axis.|
Providing a range of drivers is in keeping with our "more is NOT necessarily better" approach. The same is true of motors: Unipolar motors cost less, provide less torque at low speeds, but maintain torque as speed increases. Bipolar motors, only when connected for parallel drive, provide better starting torque, but may not turn as fast and will generally be more costly. Pick the right motor for the job, based on your actual needs.
Check out working machines built by our customers.
Please do NOT use the schematic to assemble the kit. Please follow the written instructions below or watch the video.
|PCB||1||The printed circuit board only. Double sided, plated thru holes, professionally made.|
|U1||1||THB6460AH aka TB6564 Bipolar 4.5A, 48V Datasheet (pdf)|
Including the Chip and PCB listed above
|R27,34||2||0.2 Ohm SMD 2W WSR2 (critical)|
|VR1||1||Potentiometer 5K Trim|
|C9||1||Electrolytic 10µ 16V|
|C14||1||Electrolytic 470-560µ 63V Low ESR High ripple|
|CONN1||1||0.1" 2x5 Shrouded PMinMO w/Step, Dir, En and +5volt power|
|J1-5||1||Header 0.1" 2 x 5|
|J6||3||0.2" Terminal Block|
|J7||1||Header 0.1" 2x1 shorted to provide +5 volts from PMinMO connection.|
|10K Ohm ¼W. R1-3 and R5 are replaced with a single network resistor RN3 in Rev 1.1|
|R4||1||2K7 Ohm ¼W|
|R10||1||47K Ohm ¼W|
|R12||1||470 Ohm ¼W|
|R13||1||2K2 Ohm ¼W|
|1||330-2K2 Ohm ¼W Power LED current limit. On Rev 1.1, this resistor is labeled R1 vice R21|
|1||4K7 Ohm ¼W Error LED current limit, LED will be very dim, but a
lower resistor will blow the output.
On Rev 1.1, this resistor is labeled R7 vice R36
|LED1||1||Red LED 3mm|
|LED2||1||Green LED 3mm|
|R2||1||On Rev 1.1 PCB, the resistor labeled R2 is not needed for standard operation of the error LED. The ERR LED is installed at Q1, not below the 5V power LED.|
On the original and rev 1.1 of the PCB, you can provide the +5 logic power from the motor power supply by adding a voltage regulator. This will not fry the THB6064AH they way it will fry the TB6065, because it protects against latch up on start.
|R"240"||1||240 Ohm ¼W Used for LM317 type power regulator.|
|R"680"||1||680 Ohm ¼W Used for LM317 type power regulator.|
|U2||1||LM317 Voltage Regulator|
Amplified Error Reporting
For Rev 1.1 PCB's: Note that this option is not supplied with the kit, and is a non-standard , use of the PMinMO connector to feed back an error condition to the PC or other motion controller. The error pin from the THB6064AH has very limited drive strength. To safely drive an input back to a PC, it needs some amplification. For this option, R7 should be 10K, and a standard switching transistor (e.g. BC557) installed as Q1 to provide an amplified error signal. In this case, R2 can be a ~560 Ohm resistor which will not only drive an error LED installed on the side of R2 near the mounting bolt, but which can also be routed to pin 7 of the PMinMO header by cutting the trace which connects pin 7 to the ground pin 8, and then wiring pin 7 to R2.
|R7||1||10 K Ohm|
1. Long lead in the square hole. Pin one or the positive lead is always marked on our PCBs with a square hole. On components where pin one isn't marked on the component package, the longer lead is always positive, and we make that pad square on the PCB.
2. Don't solder the component in right next to the PCB; leave a little bit (1/4 inch, 1 mm) of lead.
a. This helps prevent the component from overheating when you solder, and during operation. It also gives you some lead to cut if you need to repair the board or if you get the component in the wrong hole. Trying to desolder the leads without cutting them is much more likely to damage the PCB.
b. To keep the components off the PCB, insert the leads so that the component is about a quarter inch up, then bend the leads together at that point, crossing them over each other at about 45 degrees. You could also bend them out, but then they would be in the way of the soldering iron, which is almost always coming in from the outer edge of the board. When you turn the PCB over to solder on the back side, the component will fall down to the point where the lead is bent, providing the correct spacing on the component side.
c. Solder one lead, stop and check the positioning and that it is the right component in the right place the right way around... then solder the other lead.
3. Work from the inside toward the edge, low components to high components. It's best to solder down any SMT components first, since they are certainly the lowest, then work up and out. Solder a few through hole components in a line if you can, then clip leads and do the next line.
4. It's important to clip all leads as short as possible to prevent shorts to the heatsink.
Keep the leads... they become the jumper for the power source and can be used for the test points.
1. [ ] Surface mount Resistors. There are only two surface mount devices on this board, unless you count the driver chip as SMT because of the way it's being mounted. The components are large compared to most SMD and they really are easy to solder. The only trick is that there are no holes to hold the components in place by the leads, so you need some way to keep them in place while you solder. Almost anything that has 3 or 4 corners and won't melt can be used. A metal box, a heat sink, an aluminum extrusion, anything. Probably the best is made from vice grips and a screw driver tip. If you don't have vice grips, wrap a rubber band around the far end of the handle of a pair of pliers. Or just tape one side of the part down with clear tape!
Once the part is held down in position, touch the pad, next to the end of the part, solder, flow, off. Solder one side of each part, check position, solder the other side.
2. [ ] Resistors: There are several different values of resistors and a lot of the values look alike. Take care and be sure you have it right before you proceed. For example, there are 47K, 4K7, and 470. And there is a mix of 4 and 5 band resistors (low and high precision). Getting them right is harder than you think, certainly harder that soldering surface mount components. An amazing percentage of people are, at least partially, color blind. Some don't know it until they start trying to sort out resistors. And even if you aren't, it takes a strong light and good luck to tell orange from gold or brown from purple on some of these packages.
We strongly recommend using a multimeter to check the values of the resistors rather than reading the color codes. When using a meter to read resistance, be sure not to let your fingers touch both leads. In other words, one test lead should be held to the resistor lead by a clip, or by pressing it against a surface and NOT by holding the two together with your fingers. Otherwise, the reading can be off due to the lower resistance path offered by your skin.
If you must read the bands, start by arranging them with the colorful bands to the left. In most cases, that will give you the correct order, with the tolerance band on the right and the actual value reading from left to right. There are exceptions. The 5 band 10K resistors currently supplied with the kit are brown, black, black, red, brown (1, 0, 0, two more zeros, and a 1% tolerance). Read it each way, figure out which one makes more sense given the resistors in the set... and then check it with your meter. Really... For less than $25 you can get a half way decent digital multimeter (watch out, it doesn't include the special battery) from your local Radio Shack right now or order one from eBay china and wait a month for it to show up. Believe it or not, WalMart (gag) sells a pretty good one in most of their stores: The "Equus 3320 Innova" for less than $20.
The PCB is marked with the values rather than the component name to eliminate another possible source of error in transcribing the part (R1) to the value (10K) to the actual physical component (brown, black, black, red, brown OR brown black orange gold). There wasn't room to put the colors on the PCB. Now you just go from value to component... Mostly; a couple of the resistors are marked Rsomething because the value supplied could change.
On the Rev 1.1, PCB the "ERROR LED" resistor (originally R36) is labeled R7 on the new board and is the 4K7 resistor. The red LED should be installed to the right of R2 above J7 with the long lead in the square hole marked Q1 and the short lead up and to the right in the round hole nearest the "E" in ERR. R2 is not used. This provides a simple error indicator via the LED and no amplification of the error signal. R1 is the power indicator LED current limit resistor. It can be anything from 330 to 2K2 so just do all the other resistors first, and whatever is left over, put it in R1.
On the first version of the PCB "Rev. 1.0" the resistor supplied for R21, to pin 1 of RN2, which is marked on the PCB as being 560, may actually be anything from 330 up to 1K. This is not a critical value component. Populate the other resistors first, and whatever is left over, should be a value in that range, and should be installed for the 560 or R1. On Rev 1.1 this same resistor is marked R1 next.
On the first version of the PCB "Rev. 1.0" the value for R36 (next
to the Err LED) is incorrectly printed as 560 when that resistor must be
a 4K7. Place the supplied 4K7 resistor in the position marked "560".
3. [ ] Variable Resistor: This is the drive current adjustment. It can be installed either way but being able to get in there to turn it is the trick. Make sure you will be able to get to it after installing the other components. On PCB Rev 1.1, it's probably best to install it facing the edge of the board. If you install it facing the capacitors, and you leave about ¼ of lead between each capacitor and the PCB, you can bend them over out of the way after they are soldered down and so clear a path to adjust the current. Take care not to melt the case by letting each lead cool a bit after soldering.
If you like, you can even bend the leads on the variable resistor and install it flat agasint the PCB, with the shaft up. It will just hang a bit over the edge that way
4. [ ] Network Resistors: It's all about the dot. Network resistors all have a (very tiny, dimly printed, very hard to see) dot at one end, usually down next to the pin. That pin is pin 1 and pin 1 goes in the square hole. Bend the outermost pins out so it won't fall down when you turn it over to solder it. Then push the pins back down so they are just through the hole so you leave a little lead on the component side. Solder one pin, check positioning, and solder the rest.
5. [ ] Capacitors: The little capacitors will be marked with a number: 101 or 104 which represents the first two digits and the number of zeros in pico Farads. 101 is 100pF. 104 is 100000pF or 100nF or 0.1uF. So the ones marked 100n on the PCB get the 104's and the 100p's get 101s. On the Rev 1.1 PCB, all the caps are clearly labeled and do not get in the way of the current adjust pot.
Errata: On the "Rev 1.0" PCB only: Watch out for the block of caps between VR1 (the current adjust potentiometer) and the top of the board; the top cap is 100p, not 100n. The 100n is the second one down. The next two are 100p. Note: Be sure to install those caps next to the current adjust potentiometer in such a way that you can bend them down clear of the screwdriver so you can make that adjustment.
The bigger electrolytic caps go in with the long lead in the square hole, and the stripe side towards the round hole. It's probably best to set those aside and come back to them after you have done all the other components. And the really big one is an exception to the "leave some leads" rule. It can be installed all the way down on the PCB for physical stability.
6. [ ] LEDs: The long lead goes in the square hole, leave a little lead so the LEDs are up off the PCB and where you can see them. On the Rev 1.1 PCB, with a standard build, the Red "ERR" LED should be installed above J7 and right of R2 (long pin in the square hole as always) and NOT under the 5V indicator LED. If you want to feed back the error signal to your controller see the "Rev 1.1 Option 2 "AMPLIFIED ERROR FEEDBACK" text above. This is not recommended.
7. [ ] Terminal Blocks: Slide the two sets of terminal blocks together so that the rail and groove interlock.
8. [ ] Jumpers: When you solder on the 2x5 header for the options jumpers and the shrouded 2x5 PMinMO header, it's a good idea to bounce around in the pin order rather than just going down the line. It keeps the plastic from getting soft and perhaps not holding the pins straight.
Note the notch in the shrouded header is towards the resistors. On the Rev 1.1 board, the order of the option jumpers has been re-arranged in numerical order.
9. [ ] Use one of the clipped resistor or other component leads to short J7 so you can get logic power via the PMinMO header. The PMinMO header can be connected to the 4Axis board, or directly to a PC parallel port cable. You can provide power on that PMinMO header, pin 9 from the 4 Axis board, a USB port, or your own 5+ regulated power source. If you keep that J7 jumper wire up off the board a little, it makes a great test point for logic power.
10. [ ] Test Points: Form loops from a couple clipped leads and push both ends into the hole for the VREF test point and the GND test point.
11. [ ] At this point, without the chip installed, do a visual inspection,
preferably with a magnifying glass. If you want to be extra careful, you
can check the resistances to ground at the pads where the main chip will
be soldered on:
TOP: Pin Signal Pad* Normal 1square ALERT 1 OO 3 DCY1 2 12K 5 VREF 3 2K(ish) 7 M1 4 12K 9 M3 5 12K 11 NFB 6 <0.2 13 PGNDB 7 <0.2 15 NFA 8 <0.2 17 PGNDA 9 <0.2 19 RESET 10 12K 21 STEP 11 12K 23 OSC2 12 47K 25 DOWN 13 4K8(ish)
BOTTOM: Pin Signal Pad* Normal 2GND SGND 1 <0.2 4 DCY2 2 <0.2 6 VMB 3 3M5 8 M2 4 12K 10 Out2B 5 10K 12 Out1B 6 10K 14 Out2A 7 10K 16 Out1A 8 10K 18 EN 9 12K 20 VMA 10 3M5 22 DIR 11 12K
Normal readings are not exact.
Then apply 5V logic power at pin 9 of the PMinMO header. Now the 5V logic power system can be checked, the +5v led should be on and the Vref can be measured and adjusted to a low value: 0.4-0.5V. Power off and prepare for finally assembly.
12. [ ] The big THB6064AH chip: Since this product has a MOS structure, it is sensitive to electrostatic discharge. These ICs are highly sensitive to electrostatic discharge. When handling them, please be careful of electrostatic discharge, temperature and humidity conditions. Wear a grounding strap when touching the chip and work on an anti-static surface.
The IC fin is electrically connected to the rear of the chip. If current flows to the fin, the IC will malfunction. If there is any possibility of a voltage being generated between the IC GND and the fin, either ground the fin or insulate it. We recommend that you directly connect the IC to the heatsink, and ground the heatsink.
If consistent mounting hole locations are important to you, use a drilled heatsink or template plate for this last step. Drill and tap for M3 or #4-40
Mount the chip and PCB using 3 #4-40 or M3 screws. Temporarily mount the chip to the heatsink first. Mount the PCB with a spacer to raise it up a bit so it won't short out underneath. Spacer height can be about 0.1 inch or 3mm. You can use an M3 or #4-40 nut. A stack of washers should work also. Or cut off a bit of tubing. We used part of an old bic pen barrel.
Slide the PCB between the chip's pins, align it carefully, and screw it down. The wide point on the outer pins should be just at the edge of the PCB. Any farther in, and the pins will start to spread apart and not lie flat on the pads. Make sure all the pins are flat on the pads so the solder will flow nicely over the length of the pin and form a strong connection. Bend them carefully if needed. Solder one pin by placing the tip of the iron on the pad near the pin and let the solder flow around and under the pad. Check placement, alignment, and orientation and then solder down the rest of the pins. It's a good idea to bounce around and pause once in awhile to keep the heat from building up in the chip.
Now take the chip and the PCB off the heatsink, turn them over and solder the pins on the back side. Check the following resistances from the actual pin of the chip (not the PCB pad) and these test points:
Finally, reassemble with a bit of heatsink paste under the chip. That paste makes a huge difference in high temperature operation.
13. [ ] Apply only the +5 volt power again, verify the power LED lights and nothing gets hot.
14. [ ] Power off, connect motor power (but don't turn it on!) and the motor. For help with sorting out the motor leads, see: Stepper Motor wiring
DECAY 1 2 20% 1 60% 2 40% 80%
MODE 3 4 5 half 3 4 8th 3 5 10th 3 16th 4 5 20th 4 32nd 5 40th 64th
15. [ ] Set decay and mode by adding or removing jumpers. You might start with only 2 and 3 jumpered: 40% decay and 16th microstepping.
16. [ ] Verify the current control potentiometer is set all the way to the lowest setting. Apply logic power first, then motor power. The motor should lock, but not turn. Make sure the drive chip and motor are not heating. Carefully adjust the current setting to 30% of the motors rated capacity. Why only 30%? Because when the motor is not turning, the driver is in idle and as soon as it gets a step pulse, it's going to increase the drive power automatically. Please do NOT measure the current via the +VM or positive motor supply lead: Because this is a chopper driver, the current measured at the +VM line is much lower than the actual motor; as much as a quarter to a fifth the actual current. Please set the current by measuring the VRef voltage.
To calculate the correct VRef voltage (at speed): Io = Vref * 1/3 *
Since Rs = 0.20 Ohms then Io = Vref * 1.667 (at speed)
For example, when Vref = 2.4 volts, Io = 4 amps (max) and when Vref = 0.5 volts, Io = < 1 amp (minimum).
When at rest, the actual Vref for Io = 4 amps (max) will be 30% of 2.4 volts or 0.72 volts. So to set for maximum amperage, while the motors are at rest, adjust Vref to 0.72 volts. For Io = 1 amps (min), when at rest, Vref should be adjusted to 30% of 0.5 volts or 0.15 volts.
NORMAL VOLTAGES WITH MOTOR AND LOGIC / MOTOR POWER
Pin Signal Normal 24 VDD 5V 5 VREF 0.2V to 2.4V 23 OSC 1.2V 19 RESET 4.6V
17. [ ] Now connect the step and direction signals and spin the motor. Let it work for at least 10 minutes to verify that nothing is overheating.
Note: If you are building the RAMPs adapter cable, please do NOT bridge the two pads on the bottom of the adapter PCB. Bridging these pads with solder will cause the enable signal from the RAMPs board to be fed into the driver. However, the polarity of that signal for our driver is the opposite of that for the standard Pololu boards. As a result, the motors will lock when not moving, and release, failing to move, when the RAMPs system tries to move them. The enable signal is not required on the THB6064AH driver because it is enabled by default, and automatically goes into a low power hold when not in motion. If you do wish to make use of the enable line, you will need to change the polarity in the firmware.
James, i was looking at the BoB and I see you do not use optocoupler input/outputs which seems normal on others I have looked at, is there a reason for this?
James Newton of MassMind replies: It's a risk / cost assesment. In all the years I've been doing this, I've seen exactly ONE case of a driver apparently taking out it's controller. And that was on Andreys massive cement 3D house printer when he was pushing the drivers past spec. On the other hand, search CNCZone for problems caused by optocouplers. IMHO, it just isn't worth it. Especially since older PC's with parallel ports are now so inexpensive. If you want a version with opto's contact the mfgr Luc.+
I am waiting on receiving your 3 axis kit,
I will be using it with Linuxcnc, do you have recommendations for step & hold timings etc.
Reading the datasheet is not very clear on what to set them to
James Newton of MassMind replies: Minimum 2.3uS step and your guess is as good as mine on the direction line; it's not specified in the datasheet at all. I haven't seen any issues with reasonable times of a few uS.+
Why is that 4 10k resistor pulling the motors output to ground, not better a diode or nothing connected? Why those 10k and 100nf parts in the reset pin, why not link to +5V if the device claims to be safer than TB6065? Thank you!
James Newton of MassMind replies: The diodes are built in, the resistors reduce the size of the diodes required. The parts on the reset pin keep the driver from running until after the supply voltages have stabilized (some spikes on power up are pretty common in high power supplies).+
good day, your 6064 Stepper Motor Driver / breakout / cables 3 AXIS FULL KIT! $ 120.90 is already assembled and welded? already has the sink as in the picture?
there is already an adapter cable for ramps 1.4?
jtrantow says (speaking about his experience with a cheap THB6064AH knock off from China that would only turn one direction if at all) "Notice massmind design uses a 10k pullup in conjunction with the TB6564AH internal pulldown so it won't have this problem. This is an easy fix if you don't mind working with the three surface mount resistors, but I wish I had been aware of the massmind kit. It would have been quicker to build up the kit than debug and repair this board." +
|file: /Techref/io/stepper/THB6064/index.htm, 41KB, , updated: 2015/1/24 18:03, local time: 2015/1/26 14:23,
|©2015 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?|
<A HREF="http://www.massmind.org/Techref/io/stepper/THB6064/index.htm"> THB6064 MassMind Stepper Motor Driver Kit</A>
|Did you find what you needed?|
Welcome to www.massmind.org!