I find myself regularly designing motion control systems as part of the internal mechanisms of Medical Devices.
There are predominately two types of motors that I use nowadays: DC motors and stepper motors. I find that knowing a little bit about how each of these motors operate and how they are typically used makes it easier to decide which to choose for a particular application.
Depending on the situation, one may make more sense than another. This may depend on the actual device requirements, but it may also depend on the development budget & timeline as well as the skill-set of your development team.
A DC motor commonly has windings that move through a magnetic field that fluctuates from north to south and back again a number of times per revolution. When the wires of a winding in the field have a current flowing through them a force is developed according to the Lorentz Force equation. This force is proportional to the current and also to the magnetic field. The windings are arranged such that as some windings pass through regions of minimal or no field, other windings are still in regions of strong field.
To keep the direction and magnitude of the force on the windings consistent throughout a revolution, the current must be switched from winding to winding and from one direction to another. This is traditionally accomplished with conductive brushes rubbing on rotating contacts although often this task is accomplished by electronics, as with DC brushless motors.
The torque profile of a DC motor can be very smooth, resulting in quiet, vibration-free operation.
If an increasing mechanical load is applied to a turning motor energized with a constant current, the motor will slow down and eventually reverse direction as its generated torque is overcome. In a motion control application the control system monitors the positional error and adapts to the increasing load by increasing the applied current. The system operates with relatively high average efficiency under conditions of varying load.
As the windings move through the changing magnetic field, they generate a voltage. The voltage is proportional to motor speed. At a given system supply voltage, the available peak torque will diminish as the motor speeds up.
To make a motion control system with a DC motor, you’ll need a motor, a driver or amplifier, and a sensor to measure the position. A system like this operates through closed-loop feedback: the error between the desired position and the measured position is used to compute the direction and magnitude of drive applied to the motor. Such a system is best accomplished by applying control theory, otherwise the results can be poor, oscillatory or even catastrophic.
The advantages of such a system are: quiet, vibration-free operation; good efficiency and independent knowledge of the system position. If a system must be fast, accurate, quiet and efficient then a DC motor is a good choice, although be prepared to brush up on your control theory and spend some thought and time to tune the control loop carefully.
A traditional stepper motor is different from a DC motor. As a stepper motor turns, the inductance of each winding fluctuates through peaks and valleys a number of times per revolution. Torque is generated as an energized winding moves from peak to valley, causing a reduction of energy stored in its magnetic field. This reduction in field energy is directly translated to mechanical work.
Modern stepper motors commonly use a hybrid approach, developing torque by combining this principle with the addition of force generated with permanent magnets, but that doesn’t change the basic functional characteristics or how they’re used.
Making a stepper motor rotate also involves sequentially energizing windings. In any particular energized winding state, the motor experiences a torque towards a particular, stable location. As the rotor turns in that direction, the torque generated diminishes. If further motion is desired, the next, adjacent winding state must be energized, and so-on. Each advance in winding state is commonly called a “step”. The torque profile per step is quite irregular – moving from maximum to minimum during each step – and this results in substantial vibration and sound during operation.
If an increasing mechanical load is applied to a stepper motor, the rotor will rotate from its present step location and the torque will increase up to a limit, beyond which point the motor will slip backwards into the adjacent valley or even further. This is called losing steps.” Steppers are usually driven with a constant current. To increase the stepper’s ability to resist losing steps, this current must be increased, thereby reducing the system’s average efficiency.
Generating higher torques requires more energy be put into the winding’s magnetic field. “Charging” the inductance up with more energy takes more time at any given system voltage. Also, the energy that gets pushed into each winding must be dumped out as the motor moves to the next step. This imposes a real efficiency penalty. As with DC motors the maximum available torque is limited by the motor speed at any given time.
The primary use of stepper motors is in a feed-forward motion control application. Only a stepper, a driver and a home sensor is required. A system like this operates by sequentially advancing the motor backwards or forwards through a desired number of steps. Because the position control is relative, rather than absolute, the system must run to the home sensor at reset to establish its true position. From then on it operates by dead-reckoning. If the system loses steps due to a fluctuating mechanical load then the system’s understanding of its location will be erroneous and can only be corrected by homing. For systems with large swings in mechanical loading and an expectation of extended operation, losing steps can be a big problem.
The advantages of stepper systems is they are mechanically and conceptually simple to design and build. For systems with relatively consistent mechanical loads and without efficiency constraints, steppers can be a good solution.
To summarize, if your motion control application needs to be quiet, accommodate a high range of speeds and torques and maintain a reasonable efficiency then consider using a DC motor but be aware that it will probably be more complex both to build and commission.
If your motion control application needs to be quick to build, does not need to be efficient, and audible noise is acceptable, then consider using a stepper motor. But be aware that accommodating large fluctuations in mechanical load may cause problems.
I hope this has given some new insights into two common motor types used in modern motion control applications. I’d enjoy hearing from readers about their experiences working with either type of motor.
Kenneth MacCallum, PEng, is a Principal Engineering Physicist at Starfish Medical. He works on Medical Device Development and loves motors, engines and trains.