Closing the loop to keep your stepper in position

Closing the loop to keep your stepper in position

Posted Date: 20th Nov 2018

Stepper motors are a common solution for controlling the position of moving components, but in some cases can be inadequate since the motor position is not necessarily known. Gerard Bush of INMOCO and Peter Vandermeulen of PMD Corp. consider the use of stepper motors in closed loop architectures.

Stepper motors have proven themselves as capable performers in a vast range of applications, offering an inexpensive solution when compared to brushless motors. For good reason, the stepper motor is frequently the first choice in cost-sensitive applications that can tolerate less accurate positioning.

In the vast majority of cases, stepper motors are operated in open loop architectures, with engineers tending to look at alternative motor solutions in critical applications where care has to be taken to ensure that, when a command is given to the motor controller, the motor actually ends up where the engineer wants it to go.

But could the design engineer be missing a trick? A stepper motor operating in closed loop mode can offer some advantages over the use of a brushless motor even in critical applications. The servo stepper motor will almost always be lower in cost and offer a higher torque density than a brushless motor.

At the same time, even in more standard applications where one would typically use a stepper motor in an open loop mode, there can be advantages to closing the loop with an encoder, where the net cost savings from using a smaller motor could outweigh the cost of the encoder, and deliver performance advantages to boot.

So let us consider the various options for stepper motor architectures, which include the open loop stepper motor, the sensorless stepper motor, the stepper motor with encoder and the fully closed loop stepper motor.

The typical open loop stepper motor architecture drives the motor with a constant winding current without regard to loading or true motor position. With no true position feedback, the motor is generally over-sized to ensure that it will always overcome torque requirements, but still there is no guarantee that the motor’s end position will be close to the target position – which means a large potential position error has to be factored into the design.

Encoderless stall detection technologies exist that purport to overcome this lack of information. This architecture does not employ an encoder but instead attempts to derive the rotor location by others means. Various techniques exist such as detecting back EMF voltage on a passive phase or measuring current rise times.

However, there is still no guarantee that the motor is actually at the proper position. In the context of mission critical applications this may not provide adequate knowledge about the motor’s position. Further, encoderless stall detection techniques are notoriously difficult to implement since dependencies exist on both the minimum speed required for this technique to work and on the load on the motor (which can be dynamic).

In a typical stepper motor, the position error is proportional to the loading, which will be dominated by friction at steady state speeds and dominated by inertia during acceleration and deceleration. However, over time and with dynamic load conditions, this situation can change due to aging of belts, bearings and other secondary effects.

Closing the loop

Adding a position loop to the stepper motor architecture requires that position feedback – through some form of a position encoder at some minimal resolution – be added. In the simplest configuration, operating the stepper motor with an encoder, the feedback ensures that the controller can verify that the motor is in the desired position.

If not, the controller can adjust by providing additional steps, either in real-time during the move when position errors are detected, or post move. This allows the motor size to be reduced as the encoder gives a positive indication of the position problem.

But we can go a stage further with this encoder, by using the stepper motor in a fully closed loop configuration, which adjusts the torque requirements in real time, and is able to calculate the appropriate motor current and current phase angle.

The ability to calculate the appropriate motor current (torque) enables the system to compensate for position error resulting from frictional or inertial loads. Since the rotor angle is known, the controller can calculate a motor current phase angle which optimises the torque response and makes the delivered torque predictable.

This new closed loop stepper motor architecture - also referred to as the servo stepper – can decrease motor size and cost, improve motor efficiency and accuracy, and reduce noise, heat and maintenance.

Whey can motor size be reduced in close loop architectures? Open loop architectures cannot detect a lost step since it cannot be detected, so the motor will be oversized (often by a factor of 2 or more) in order to increase torque margin to ensure there are no lost steps. The existence of an encoder which can detect a lost step will reduce the torque margin and this allows for a much smaller motor.

There are efficiency benefits too, since the controller’s optimisation of the motor current phase means the greatest possible torque is being generated by the motor for a given current. Much less electrical power will be used to generate the same amount of mechanical power.

In terms of accuracy, the position error in a closed loop architecture will be smaller since the position loop will continuously command a torque in an attempt to compensate for any position error. This will have a positive effect on both positional and velocity accuracy.

Another disadvantage of open loop stepper systems is that the excess electrical power is dissipated as excess motor heat. The motor will run much cooler in a closed loop system since most of the electrical energy will be translated into kinetic energy instead of thermal energy. Closed loop operation reduces vibration and will result in quieter operation. Further, because the closed loop stepper motor runs at lower temperatures, it will have a longer service life, reducing maintenance implications.

This is not to say that that the closed loop architecture will be the best or the right solution in every application. The open loop architecture has its own set of advantages including set-up time, system start up, cost and space requirements. And if the loading on the motor is highly deterministic then the possibility of a ‘lost step’ is reduced anyway. In that case, the position error can be estimated as a function of the loading, making the position accuracy known and the use of an open loop architecture feasible.

However, in more critical applications such as medical devices, this may still not be an adequate guarantee of position. Hence the need to add an encoder to ensure that the position is known at all times.

Even if the accuracy of an open loop system is deemed to be acceptable, there might still be advantages in turning to a closed loop architecture if motor efficiency is a factor. For example, if the system uses a battery as a power supply, the improved efficiency from a closed loop solution will be beneficial even though the position accuracy of the open loop solution may be adequate. Another example would be if the motor is in an environment where the increased thermal energy or noise levels emitted from the open loop system are not tolerable or desirable.

We can see, then, that in a host of different applications with different operational requirements, there can be good reasons to explore the potential of operating a stepper motor in a closed loop architecture – even in applications where the standard open loop performance might be deemed acceptable