Posted on Leave a comment

How to Improve Step Motor Performance with Encoder

Step motors are widely used in automation due to their high resolution, precision positioning, minimal control electronics, and low cost. As an open loop system, traditional step motors are driven without the need for sensors to feed information back to a controller; however, the open loop configuration of step motors has challenges.

Figure 1.< By adding an inexpensive encoder to a step motor system, the drive/controller can monitor the motor’s actual position, closing the feedback loop and avoiding many of the limitations traditionally associated with stepper systems.

How to Improve Step Motor Performance with Encoder

The addition of an stepper motor encoder to the step motor system (Figure 1) adds functionality to detect and even prevent stalls by providing feedback to the drive. Depending upon how an operator programs the controller, encoder feedback can verify motor position, immediately detect motor stall, prevent motor stall, and create a closed loop servo system.

Position Verification — When pushed beyond its limits, a step motor will stall before reaching the endpoint. This event typically occurs when motors are not adequately specified for high-cycle applications. An encoder can provide position feedback at the end of the motion profile, indicating if the step motor stopped before reaching the end position

Stall Detection — Stall detection notifies the user/system/machine as soon as a motor stall occurs, eliminating the uncertainty of whether or not the motor reached its target position. A more advanced function than position verification, stall detection (Figure 2) enables the controller to compare the registers of the encoder counts and target motor position on a continuous basis instead of just at the end of the move.

Stall Prevention— While greatly increasing system functionality, stall detection does not inherently improve step motor performance; it still requires the operator to perform a corrective move and re-reference the axis to the home position. Stall prevention, on the other hand, dynamically and automatically adjusts the move profile to prevent a stall, enabling the motor to operate with constant torque to get into an accurate end position without stalling.

Servo Control and Increased Motor Torque — Using encoder feedback to servo-control, a step motor increases motor torque for greater dynamic performance. With peak torques up to 50% higher than the rated holding torque of the motor, the servo-controlled step motor system can operate at higher acceleration rates and with higher throughput for faster machine cycles.

How to Improve Step Motor Performance with Encoder

When working as part of a fully closed loop stepper motor system, step motors run cooler, more efficiently, quieter, and with faster settling times than their open loop counterparts. Unlike the other encoder applications described here, servo control applies a peak torque that enables the motor to get past stall conditions without sacrificing speed. Some manufacturers offer motors (Figure 3) already preconfigured with a high-resolution incremental encoder and closed-loop servo control firmware.
Posted on Leave a comment

How to Use BLDC Hall Sensors as Position Encoders

Some (Brushless DC) BLDC motors for sale are equipped with three internal hall-effect sensors that provide feedback to external circuits that facilitate precise control of the magnetic coils in the stator. Some types of BLDC controllers use the motor’s intrinsic Back EMF leaving the hall-effect sensors unused. In either case, the hall sensors can also be used for accurate position sensing.

BLDC Anatomy
The BLDC hub motor used in this experiment utilizes 27 electro-magnetic stator coils and 30 permanent magnets (also referred to as 15 pole pairs) (Figure 2). Many diagrams show the Hall effect sensors labeled as U, V, and W spaced equidistant (120 degrees) around the stator coils. Sensors are located equidistant from each other, but most are located on one side of the stator (Figure 3).

How to Use BLDC Hall Sensors as Position Encoders

How to Use BLDC Hall Sensors as Position Encoders

Note: The sensor labels (U, V, W) are assigned based on internal wire color code. For this experiment, sensor labeling is arbitrary.

The magic of 3 in BLDCs

As seen in Figure 3, the Hall sensors are centered in the coil faces. The center-to-center span between any two sensors is three coils, which results in 40 degrees of separation.

2 full coils + 2 half coils = 3 coil span

360 degrees / 27 coils * 3 coil span = 40 degrees

This configuration yields the same output values as if the sensors were physically 120 degrees apart. One third of the magnets will pass by each of the sensors resulting in 10 pulses from each sensor. Together, the sensors will deliver 30 pulses per 120 degrees or 90 pulses in one complete revolution.

9/27 (Coils) = 10/30 (Magnets) = 120/360 (degrees) = 30/90 (pulses) = 1/3 (of one rotation). Neat!


No matter which single sensor output square wave is examined following a transition, one of the remaining sensors is trailing while the other is leading (one is high while the other is low). It is for this reason that it does not matter which arrangement of sensor outputs you use when reading values. The only effected calculation is direction of rotation.

The animated illustration shows the sensor output at each transition and the relationship between the ten permanent magnets and the three sensored coils. Non-sensored, intermediate coils are omitted for visual clarity.

How to Use Hall Effect To Drive Brushless DC Motor

How Do Brushless BLDC Motors Work?