Control of ac servomotors can now take place on a single IC.
Director of Engineering
Digital Control IC Design Center
El Segundo, Calif.
There is an incentive to control motor speed in a widening array of applications. Technological advances have now made it possible to devise a single integrated circuit that can handle the details of ac servocontrol, including manipulation of feedback from position encoders. These chips provide closed-loop current and velocity control in highperformance servodrives and sensorless systems. Such chips, designated IRMCK201 and IRMCK203, are implemented in 100 and 80-pin QFP packages, respectively, and require only an inexpensive crystal resonator to feed a 33-MHz clock.
These integrated circuits not only reduce component count but also eliminate complex software programming associated with precision motion control and automation. They also improve the performance of sinusoidal sensorless control by means of a built-in motion-control engine, or MCE.
The functions of such motor controllers can best be understood in the context of the control hardware normally needed to vary the torque and speed of ac servomotors. Thus it can be helpful to first review the component parts of a typical ac servocontroller.
Any servomotor-control system has two cascaded control loops. The outer motion loop controls the motor shaft position and velocity based on signals fed back from a position or velocity sensor. The output of this loop is a command for an increase or decrease in motor torque. This command signal feeds to the inner current loop of the system. The current loop generates signals for the power converter which supplies currents to the motor that produce the desired output torque.
Power from the supply to the motor is controlled by rapidly varying the on/off conduction time of power semiconductor switches such as IGBTs or power MOSFETs. These control signals are typically fixed-frequency, variable duty-cycle waveforms.
One tricky thing about controlling torque in ac motors is that each of the three-phase currents powering the motor must synchronize to the position of the rotating rotor field. A way to accomplish this is to first measure the three stator currents and the motor shaft position, and then use this information to transform the measured stator currents to a reference frame synchronized to the rotor field. The term applied to this transformation is field-oriented control (FOC).
This process results in two equivalent dc-motor current quantities: a torque-producing component and a field-control component. The ac-motor control system calculates the two quadrature voltages that force the current to both directly follow the torque command and maintain a constant rotor field. An inverse transformation is then used to transform the dc-motor voltages back to the stator reference frame to give the required winding voltages.
In practical implementations of ac servos, a resolverto-digital converter is often used to derive a digital version of the motor-shaft position fed back from a shaft-mounted resolver. Motor velocity is calculated from the position of the motor shaft using an estimation algorithm.
An a/d converter digitizes the measured motor stator currents and the resulting signals get passed on as an input to a vector transformation algorithm. Transformation algorithms convert motor currents and voltages between stator and rotor reference frames. The first transformation takes three stator current signals and the rotor electrical angle and calculates the torque and field current components. (In actuality, the calculation uses only two stator currents. It infers the third stator current signal because all three stator currents sum to zero.)
The current loop can be thought of as consisting of two component loops, a torque loop and a field loop. A controller generates the outputs of these loops, often after applying proportional and integral compensation. This is done because response of these loops can be improved by feeding forward the estimated winding backemf and winding impedance drops.
The outputs of the current loop calculations then get transformed in the vector transformation block to digital equivalents of the threephase stator voltages for driving the motor. Specifically, measured stator currents get converted to torque-producing and field-control components through what's called a reverse Park rotation. Similarly, a forward Park rotation followed by an inverse Clark transformation converts the corresponding rotor-referenced voltage to three-phase stator voltages. The voltage values are used to control the timing of digital circuits that set the duty cycle of the pulse-width modulation. The PWM module, in turn, drives the three-phase inverters actually powering the ac servomotor.
Prior to the advent of single-chip ac servocontrollers, the computation-intensive portions of ac servocontrol were handled either by digital signal processors (DSPs) or by dedicated parallel processors. One such processor in particular is the Motion Control Engine (MCE) which has been built into the IRMCK201 chip.
The MCE consists of configurable control blocks specific to ac servocontrol (i.e., proportional plus integral compensation, vector rotation, Clark transformation, and so forth). Included also are motion hardware-peripheral circuits (such as Space Vector PWM, a motor-current-feedback interface, encoder or resolver feedback, and so forth).
An MCE uses special flow-control logic to structure the control blocks into a configurable control loop that enables parallel execution and multiloop control. The point of this feature is that there is no need for a multitasking operating system. The control structure can synchronously handle closedloop velocity control and closed-loop current. Parameters for the control blocks and peripherals are configurable. The parameters are accessedthrough a real-time host register interface that can be read or written by a host controller or companion MCU.
One significant advantage of the MCE is the short computation time needed to complete closed-loop control with deterministic timing. Fast computation directly influences the dynamic performance of servo torque and speed. The faster the update rate of closed-loop current control, the higher the bandwidth of torque control. Unlike traditional microcontrollers and DSPs, the IRMCK201 IC needs no programming to provide complex ac servo algorithms. Because its hardware handles all functions, motors it controls can be tuned without-programming. Operation without programming also lets it easily be converted to a fixedfunction and hardwired IC for stand-alone servocontrol without the need for a PC interface. This makes it simple to configure a system to adapt for a new motor and tuning.
The chip provides host registers that can be read or written to by either a PC or a mating microprocessor through an RS-232C serial interface or an SPI serial or parallel interface. For example, a command to enable or disable the induction motor control can come from a simple closing or opening of a switch, or more precisely, by having a PC write a "1" or "0" value to the associated write register. Other functions that take place in a similar way include the enabling or disabling of feed-forward gain path in the current control, the enabling or disabling of velocity closed-loop control, or changing the source of velocity commands.
The new IC can operate in a stand-alone mode without a host controller by means of a serial EEPROM which sends it motor-specific parameters. The IC also provides a direct interface to an inexpensive serial 12-bit a/d converter so a system employing the IRMCK201 can accept industry-standard 10-V input for speed or torque reference.
A companion integrated circuit to the IRMCK201 is the IRMCK203. It is also a one-chip solution for complex sensorless control of light industrial applications including pumps, fans, spindle, and dental drills, where the requirement is for energy efficiency and highly dynamic torque control. It comes as an 80-pin QFP package and also needs only a crystal resonator to feed a 33-MHz clock.
The MCE structure is also implemented in the IRMCK203 to handle permanent-magnet motors. Permanent-magnet motors have recently become more widely used in the appliance industry because of their high efficiency and small size. Conventional PM-motor control still employs position feedback as from Hall-effect sensors with trapezoidal-commutation.
However, more advanced sensorless control improves efficiency while eliminating as many sensors as possible, thereby reducing costs and boosting reliability. The more sophisticated control takes place without position sensors but requires sinusoidal commutation as opposed to trapezoidal commutation. The computational power necessary to perform sinusoidal sensorless control pushes the envelope of traditional DSPs or microcontrollers. A rotor-angle estimation algorithm needs to be added in addition to the field-orientationcontrol algorithm.
For example, the new trend for air conditioners is to provide sinusoidal sensorless control via a 32-bit Risc machine. In these applications, computation time for field-orientation control (FOC) reaches 60 sec, with typical memory requirements hitting 128 kbytes of ROM and 6 kbytes of RAM.
The IRMCK203 eliminates the bottleneck for computation power. It runs a complete sinusoidal sensorless control algorithm in 10 sec. The chip employs a special starting and ramping algorithm along with energy-efficient space-vector PWM control.
What it takes to design a servocontrol
The design of a high-performance servocontrol is complicated because it entails a deep understanding of such factors as control algorithms, power electronics, hardware integration, user interfaces, and network communication.
All control elements are typically implemented by software code in a motion-control DSP or microcontroller. In a real-time control environment with a DSP and a microcontroller, current-control loops are implemented as high-priority software tasks. Intensive knowledge of real-time control is required if sequential execution of each control element is to be computed within the allowable specified time. The execution of these control elements, often driven by hardware events and interrupts, requires precise sequencing of instruction coding to manipulate hardware at specific times for the motor to be controlled properly.
The FOC for servo applications and sensorless control is written in assembly language rather than a highlevel language because these applications often demand fast computation and update rates to satisfy the growing demand for high dynamic performance. Moreover, special coding techniques are sometimes required for fast computation to overcome classic computation sluggishness. Programming is, therefore, both a highly complex and time-consuming task. The bottom line is that the rapid development of motioncontrol algorithms yielding high performance is still a challenging job for high-performance servosystems and sensorless ac motor-drive systems.
Breaking a bottleneck
Digital servodrives, although flexible, have not yet come close to analog servodrives with respect to highbandwidth performance, especially high-bandwidth torque control. This situationstems mainly from the DSP and microcontroller throughput limits caused by the need for sequential computations of large numbers of instructions. The IRMCK201 removes this limitation. The IC can run at a 40-kHz PWM-update rate or at an even greater frequency update similar to an analog servodrive.
Therefore, a significant advantage of the motioncontrol engine is its short computation time to complete closed-loop control algorithms with deterministic timing. Fast computation improves the dynamic performance with regard to the torque and speed of a servosystem. The faster the update rate for closed-loop current control, the higher the bandwidth of torque control. This, in turn, affects system turnaround time or cycle time of the machine. For example, a surface-mount component-insertion machine requires a fast pick-andplace time to shorten the total cycle time of component assembly.
(310) 322-3331, irf.com