Stepper Motor Driver

Motor Motivation

A 3-axis stepper drive.
A 3-axis stepper drive. Source: Ali Express

Virtually all 3D printers use stepper motors for axis positioning. Their job is to accurately position the print head and build surface, plus meter the filament as it is extruded through the hot end.

How they accurately control axis feed and speed is much easier to grasp once you understand a simple fact: As their name suggests, stepper motors don’t rotate in the manner of a traditional motor. Instead, they step. Steppers make repeated movements of small, fixed increments, appearing to the naked eye as continuous motor rotation.

The size of each step is determined by the motor, and the power behind these steps comes from the stepper motor driver. In the text that follows, we’ll take a look into the operation of this amazing technology.

Back to Contents

Advertisement
Advertisement
Advertisement
Stepper Motor Driver

Closed and Open Loop Systems

A comparison of closed and open loop systems.
A comparison of closed and open loop systems. Source: Bill Porter / All3DP

Axis positioning systems allow intelligent controllers to position equipment with remarkable precision. A command is issued to move to a desired point in 3-dimensional space and a machine responds, quickly and accurately.

Positioning systems generally use one of two ways to accomplish this, those being closed and open loop systems. So what’s the difference between these two positioning approaches?

Closed loop systems typically employ servo motors to control the speed and position of the moving axis. Servo motors run much like any ordinary motor; when provided with power, they rotate. This rotation takes on a continuous, smooth motion. It’s the job of the servo motor drive to not only power the motor, but also to monitor the speed in order to closely control it. Along with speed, positional feedback is also required in a closed loop system. This is typically provided by an encoder or linear scale. Positional feedback to the machine controller allows it to quickly drive toward the target location, then smoothly decelerate to stop on target.

Open loop systems have no feedback device to monitor speed or position. Instead, the distance to be traveled from the current location is divided into a number of precise, incremental steps by the machine control. The control also determines the systems’s best speed curve based on predefined parameters. Step commands are then delivered to the stepper motor in the form of pulses. It is the job of the stepper motor driver to convert the command pulses into actual motor driving steps. Stepper motors then advance through these steps, arriving at the desired location.

To see how this is accomplished, let’s look into a stepper system’s operational design. 

Back to Contents

Advertisement
Advertisement
Advertisement
Stepper Motor Driver

Stepper Motor Operation

A diagram of a simplified stepper motor.
A diagram of a simplified stepper motor. Source: ella-dagan.com

Stepper motors work by executing individual, fixed steps to simulate continuous rotation. These steps are part of the stepper motor’s construction from the time of manufacture.

A Circle Divided

The step value built into the motor is known as the motor’s step angle. A motor’s step angle can be as much as 90 degrees, meaning the motor will rotate 360 degrees in four steps. However, a more typical step angle is 1.8 degrees, meaning 200 steps (360/1.8) are required to make a complete rotation.

The step angle is derived through the placement of the motor’s coils and the construction of the magnetic poles in the rotor. This is why a motor’s step angle doesn’t change after assembly is complete. An animated simulation of the stepper motor’s construction and operation can be seen in this YouTube video.

Realizing the Theory

A stepper motor is constructed with independent coils called phases. They generate an ever-changing electromagnetic field that is “chased” by a permanent magnet in the rotating motor shaft. As each phase is energized in sequence, the magnetic poles of the rotor jump, or step, to align with them. Thus, by energizing the phases in the proper sequence, the shaft appears to rotate as would a normal motor. Only, the motor is not rotating, it is stepping. Each step is a fixed number of degrees and, as mentioned earlier, is determined by the motor’s construction.

If it’s known that it takes 200 steps to rotate the motor 360 degrees, and the motor is connected to a  leadscrew with a 1-mm pitch (1 mm of traverse per each rotation), then each step of the motor advances the axis by .005 mm. Thus, the number of steps required to arrive at a precise location can be easily calculated without the need for feedback.

Calculating the number of steps required is managed by the controller. The job of driving through those steps is then left to the stepper driver.

Back to Contents

Advertisement
Advertisement
Advertisement
Stepper Motor Driver

The Stepper Motor Driver

A TB6600 stepper motor driver.
A TB6600 stepper motor driver. Source: core-electronics.com.au

Stepper motor drivers vary in complexity. Modern drivers may be combined with a host of different stepper motor types. Configuring for a specific motor is usually configurable by the user at the time of installation.  But by and large, stepper motor drivers are relatively simple devices.

Stepper motor drivers can be as “simple” as a dozen components. The illustration below depicts one such driver. Configured as they are, the components’ job is to react to the step command pulses coming from the machine controller and convert them into the proper on-off pattern required to drive the stepper motor. This pattern is what energizes the phases, in the proper order, to drive the motor one step at a time in one direction or the other.

A schematic of a simple stepper motor driver.
A schematic of a simple stepper motor driver. Source: electronics-diy.com

At this point, it is necessary to make an important point: There is very little intelligence in a stepper motor driver. That’s because the driver is not concerned with the axis’s position or the distance to be traveled. That function is left to the machine controller, typically a CNC. The driver, in fact, has only two primary functions: sequencing the phases and controlling the phase current.

Back to Contents

Advertisement
Advertisement
Stepper Motor Driver

A Cacophony of Diversity

The input and output of a stepper motor driver.
The input and output of a stepper motor driver. Source: Bill Porter / All3DP, omc-stepperonline.com

Stepper motors come in a seemingly unlimited range of types and sizes. To accommodate this, most modern stepper motor drivers can accommodate a variety of different motor types.

The primary considerations to take into account when choosing the stepper motor driver are the required torque and accuracy. Torque is a factor of the stepper motor size. Here, the driver must have the capacity to produce the step current required by the motor. Accuracy requires either small steps or a convoluted gear train. Choosing a compatible step angle motor and micro-step driver is a critical part of this equation. Instructables user Fernando Koyanagi provides a very interesting discussion of driver design.

The final takeaway is that all stepper motors run in STEPS. The steps must be generated on the proper order and magnitude in order for the axis to reach its target location. The motor will advance by the same step angle with each pulse.

The stepper motor driver must generate those pulses in the proper amplitude and phase order for the driven axis to perform as a finely tuned vehicle. And if we consider the machine controller to be the GPS of the vehicle, the driver is most certainly the engine.

Feature image source: circuitspecialists.com

Back to Contents

Advertisement
Advertisement

License: The text of "Stepper Motor Driver: All You Need to Know" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.

Stay informed with notifications from All3DP.

You get a notification when a new article is published.

You can’t subscribe to updates from All3DP. Learn more… Subscribe to updates

You can’t subscribe to updates from All3DP. Learn more…

Advertisement