New Part Day: ST’s New 3D Printer Motor Driver

ST has released a new evaluation board for a stepper motor driver. It’ll plug right into your 3D printer, and if you’re looking for a chip to build a cheap 3D printer controller board around, this might be the one.

We’ve come a long way in the field of stepper motor drivers in just a few short years. The first popular driver for RepRap electronics was ‘the Pololu’, a stepper motor carrier board using Allegro’s A4988 driver. If you had a big heat sink, this driver could deliver 2 A per coil, operated between 8 and 35 V, and had microstep resolution down to 1/16th. Was it the best stepper driver around? No, but it was cheap, it was everywhere, and RAMPS, the popular RepRap control electronics picked up on its pinout and accidentally created a standard. The DRV8825 motor driver from TI followed next, with microstepping down to 1/32nd, a little more current per coil, and arguably a better thermal design.

Then the wave of Trinamic drivers happened. The Trinamic TMC2100 was a silent stepper motor driver when running a motor at medium or low speeds. With this driver, you could run a motor more efficiently, which means the motor doesn’t get as hot. There are diagnostics via SPI. Tom liked it, and now in every Prusa i3, you’ll find a bunch of Trinamic drivers.

ST’s new offering, the STSPIN820, doesn’t have the fancy-schmancy features the Trinamic driver does, but the chip itself is fantastically cheap, at about 1/5th the price of a Trinamic driver. As far as feature set, you should probably look at this new chip as an upgrade to the A4988, with much higher microstepping and slightly higher current handling.

If you’d like to experiment with the evaluation module, you can grab one from an ST distributor; at the time of this writing, there were seventeen of these modules available worldwide. If you’d just like to play with the STSPIN820 motor driver chip, ten thousand are available between Mouser and Digikey, starting at $2.97 in quantity one. If someone could tell electronics manufacturers to build more than a dozen evaluation boards at a time, that would be great.

3D Printering: Trinamic TMC2130 Stepper Motor Drivers

Adjust the phase current, crank up the microstepping, and forget about it — that’s what most people want out of a stepper motor driver IC. Although they power most of our CNC machines and 3D printers, as monolithic solutions to “make it spin”, we don’t often pay much attention to them.

In this article, I’ll be looking at the Trinamic TMC2130 stepper motor driver, one that comes with more bells and whistles than you might ever need. On the one hand, this driver can be configured through its SPI interface to suit virtually any application that employs a stepper motor. On the other hand, you can also write directly to the coil current registers and expand the scope of applicability far beyond motors.

Continue reading “3D Printering: Trinamic TMC2130 Stepper Motor Drivers”

How Accurate Is Microstepping Really?

Stepper motors divide a full rotation into hundreds of discrete steps, which makes them ideal to precisely control movements, be it in cars, robots, 3D printers or CNC machines. Most stepper motors you’ll encounter in DIY projects, 3D printers, and small CNC machines are bi-polar, 2-phase hybrid stepper motors, either with 200 or — in the high-res variant — with 400 steps per revolution. This results in a step angle of 1.8 °, respectively 0.9 °.

Can you increase the resolution of this stepper motor?

In a way, steps are the pixels of motion, and oftentimes, the given, physical resolution isn’t enough. Hard-switching a stepper motor’s coils in full-step mode (wave-drive) causes the motor to jump from one step position to the next, resulting in overshoot, torque ripple, and vibrations. Also, we want to increase the resolution of a stepper motor for more accurate positioning. Modern stepper motor drivers feature microstepping, a driving technique that squeezes arbitrary numbers of microsteps into every single full-step of a stepper motor, which noticeably reduces vibrations and (supposedly) increases the stepper motor’s resolution and accuracy.

On the one hand, microsteps are really steps that a stepper motor can physically execute, even under load. On the other hand, they usually don’t add to the stepper motor’s positioning accuracy. Microstepping is bound to cause confusion. This article is dedicated to clearing that up a bit and — since it’s a very driver dependent matter — I’ll also compare the microstepping capabilities of the commonly used A4988, DRV8825 and TB6560AHQ motor drivers.

Continue reading “How Accurate Is Microstepping Really?”

New Part Day: Silent Stepper Motors

Some of the first popular printers that made it into homes and schools were Apple Imagewriters and other deafeningly slow dot matrix printers. Now there’s a laser printer in every office that’s whisper quiet, fast, and produces high-quality output that can’t be matched with dot matrix technology.

In case you haven’t noticed, 3D printers are very slow, very loud, and everyone is looking forward to the day when high-quality 3D objects can be printed in just a few minutes. We’re not at the point where truly silent stepper motors are possible just yet, but with the Trinamic TMC2100, we’re getting there.

Most of the stepper motors you’ll find in RepRaps and other 3D printers are based on the Allegro A498X series of stepper motor drivers, whether they’re on breakout boards like ‘The Pololu‘ or integrated on the control board like the RAMBO. The Trinamic TMC2100 is logic compatible with the A498X, but not pin compatible. For 99% of people, this isn’t an issue: the drivers usually come soldered to a breakout board.

There are a few features that make the Trinamic an interesting chip. The feature that’s getting the most publicity is a mode called stealthChop. When running a motor at medium or low speeds, the motor will be absolutely silent. Yes, this means stepper motor music will soon be a thing of the past.

However, this stealthChop mode drastically reduces the torque a motor can provide. 3D printers throw around relatively heavy axes fairly fast when printing, and this motor driver is only supposed to be used at low or medium velocities.

The spreadCycle feature of the TMC2100 is what you’ll want to use for 3D printers. This mode uses two ‘decay phases’ on each step of a motor to make a more efficient driver. Motors in 3D printers get hot sometimes, especially if they’re running fast. A more efficient driver reduces heat and hopefully leads to more reliable motor control.

In addition to a few new modes of operation, the TMC2100 has an extremely interesting feature: diagnostics. There are pins specifically dedicated as notification of shorted outputs, high temperatures, and undervolt conditions. This is something that can’t be found with the usual stepper drivers, and it would be great if a feature like this were to ever make its way into a 3D printer controller board. I’m sure I’m not alone in having a collection of fried Pololu drivers, and properly implementing these diagnostic pins in a controller board would have saved those drivers.

These drivers are a little hard to find right now, but Watterott has a few of them already assembled into a Pololu-compatible package. [Thomas Sanladerer] did a great teardown of these drivers, too. You can check out that video below.

Continue reading “New Part Day: Silent Stepper Motors”