How to Implement Precision Motion Control in Industrial Drives


When taking an elevator, you want to get from one floor to another smoothly and safely. In elevator drives, sophisticated motion control enables the elevator to stop at a specified position and decelerate smoothly until it comes to a complete stop. A lack of fine-grained motion control can cause an elevator to stop between floors, which can make elevator occupants feel dizzy, uncomfortable, or unsafe.

Robots, computer numerical control machines, and factory automation equipment all require precise position control and, in many cases, speed control via servo drives in order to properly manufacture products and maintain workflow.

Many aspects of Industrial drives are important to achieving precise motion control, which involves the three fundamental subsystems in real-time control design, sensing, processing, and actuation. This article discusses examples of supporting technologies for each subsystem.

  induction

Sophisticated motion control cannot be achieved without precise position and velocity sensing. Sensing can include motor shaft angular position and speed sensing or conveyor belt linear position and speed sensing. Designers often use incremental optical encoders, with a few hundred to a thousand slots per revolution, to sense position and velocity. These encoders are typically interfaced to microcontrollers (MCUs) via quadrature encode pulses (QEP), thus requiring a QEP interface capability.

Absolute encoders, by contrast, are significantly more accurate, typically have a higher number of slots per revolution, and are precision mounted to provide absolute angular position. The sensed position is converted into a digital representation and encoded according to standard protocols. Examples of such protocols are Tamagawa’s T-Format and iC-Haus GmbH’s Bidirectional Serial Synchronous (BiSS) C. Previously, you also needed a field-programmable gate array (FPGA) to interface with such encoders, but more and more MCUs now have this capability as well (as shown in Figure 1 below). Since the T-Format and BiSS C protocols are generally compatible with popular communication ports or interfaces such as the Serial Peripheral Interface (SPI), Universal Asynchronous Receiver Transmitter (UART), or Controller Area Network (CAN) common on most MCUs, the Protocols are different, so they often require customizable logic blocks or proprietary processing units.

  How to Implement Precision Motion Control in Industrial Drives

Absolute encoder connected to Texas Instruments controlling MCU

Absolute encoders can also be based on electromagnetic or resolver-like circuits, which require precise measurement of sinusoidal electrical signals. Therefore, precision op amps and voltage references are also important. Motor and motion control always require accurate motor current and voltage sensing, especially when sensorless control is employed. A common solution is inline and inverter leg low-side sensing using isolated/non-isolated amplifiers and drivers with integrated low-side current sensing.

  deal with

Executing motion control profiles and algorithms in a precision motion control system requires an MCU with high computing power. To provide the necessary precision and accuracy, such MCUs typically have a word size of 32 bits and have native 64-bit floating point support. Because algorithms rely heavily on trigonometric, logarithmic, and exponential math, many MCUs have hardware accelerators.

Given the number of axes of motion to be controlled or the number of control loops, designers often employ multiple central processing unit (CPU) architectures or CPU-like parallel accelerators. Multiple CPUs can also be considered for additional supervisory and communication tasks.

As a real-time control application, the total latency of the entire signal chain (i.e., the time from collecting current, voltage, position, and speed measurements to updating the control output) directly affects control performance and thus accuracy. Some MCUs have on-chip analog comparators that can directly generate control actions, significantly reducing latency and CPU load. Fast interrupt response and context save and restore are also important.

Just having high processing power is not enough. Motion-control MCUs must also have general-purpose control peripherals such as 12- and 16-bit analog-to-digital converters, QEP interfaces, high-resolution edge and pulse capture, and pulse-width modulation (PWM) outputs. Additionally, the ability to implement custom logic and timing is required.

To help designers get started and tune their designs faster, MCU and motor driver suppliers provide motor and motion control algorithms, including core algorithms such as sensorless observers and software libraries, and complete control code with GUI configurability.

How to Implement Precision Motion Control in Industrial Drives

MCU for industrial drives

  drive

Providing the desired control action requires power devices and drivers, usually in the form of PWM, with the duty cycle representing the action. Precise control of the PWM pulses is important, which means that the driver must provide the necessary drive strength with as little timing skew as possible; the power devices must turn on and off at the exact predetermined times. Such drivers are ubiquitous today and come with additional features such as overcurrent and overtemperature protection. New wide bandgap power devices ensure fast and precise turn-on and turn-off timing. The fast switching speed and low switching losses of the wide bandgap devices also enable fast control loops for improved stability and performance.

In addition to accuracy, many applications require motor control designs to be compact enough to require drivers with integrated current sensing and power modules.

  epilogue

Precision motion control is critical for industrial drives. Technology solutions involve all three fundamental subsystems of real-time control design, sensing, processing, and actuation, for precise motion control.

The Links:   ELECTRONIC SGM7J-04AFC6S


Pre:    Next: