Stepper Motors vs. Servo Motors
Stepper motors move in predefined “steps.” By themselves, stepper motors don’t "know" what position they are starting from, nor where they are when they stop.
Servo motors, on the other hand, have elaborate control mechanisms that regulate the velocity and position of the motor based on a feedback signal. This usually involves both a velocity loop to define the speed at which the servo motor turns and a position loop to ascertain the correct position.
Diagram of different servo control types: as the author describes, "(a) an SCR control; (b) pulse width determines average voltage; and (c) pulse frequency modulation to determine average voltage." Image used courtesy of Peng Zhang
It is important to control speed for stability and to assure that servos don't rush past their designated position.
New Velocity and Torque Control ICs
Performance Motion Devices (PMD) has added three new members to its established Juno family of velocity and torque control ICs. The Juno MC71113 and MC73113 are designed for DC brush motor and brushless DC motors, respectively, while the MC78113 is user programmable to handle either.
Juno ICs. Image used courtesy of PMD
The units are designed for applications such as centrifuges, spindle control, peristaltic pumps, packaging automation, and laboratory automation. These come in 64-pin TQFP packages measuring 12 mm x 12 mm.
Block diagram for MC71113, MC73113, and the MC78113 servo motor controllers. Image used courtesy of PMD
At power-up or reset, the three new Juno chips check for stored configuration commands in its NVRAM. In the absence of information, default values are used and the chip receives its marching orders via SPI or from CANbus 2.0 from the controlling MCU.
The new Juno chips provide a PI loop for the velocity control function. The measured velocity may come from sources such as Hall sensors, a quadrature encoder, or tachometer feedback.
Current control is performed by first accessing the current flowing through the motor’s windings. This measurement, and the desired current needed for each phase, are used to generate the necessary PWM signals.
Other Ways to Control Motors: MCUs and Arduino
While Performance Motion Devices has introduced an IC to enhance control over servo motor velocity, several other companies use different methods to control motors—namely, MCUs.
For instance, Cypress Semiconductor employs a field-oriented control (FOC) algorithm to control servo motor speed. This method, based on Cypress’ Cortex-M4 MCU, enables both fast speed change responses and high-speed control precision.
Block diagram of Cypress’s FOC control method. Image source Cypress Semiconductor
The outer loop is for speed control and is compared to the unit’s input statement of the desired speed. The inner loop is for current control.
Texas Instruments also employs an MCU to affect servo control. Its MSP430 family, including the MSP430FR2000 and MSP430FR21xx, are ultra-low powered MCUs designed to save power in battery-operated portable devices. This control is aided by the family’s low-power FRAM nonvolatile, rewritable memory. These units are available in 3 mm × 3 mm VQFN packages.
And of course, for early prototyping or maker projects, one can always control servo motors with a joystick module connected to an Arduino, which is described in step-by-step detail on our sister site, Maker Pro.