Powerful Design Tools for Motion Control ApplicationsFinbarr Moynihan, Paul Kettle, Aengus Murray, and Tom Howe
The key to the real-time implementation of sophisticated control algorithms for these motion control systems has been the advent of powerful digital signal processors (DSPs).* Even in less-demanding— but cost-sensitive—applications, such as domestic refrigerator compressor drives, the power of the DSP can be harnessed to implement sensorless control algorithms that reduce the system cost and increase the overall robustness of the drive. In high-performance servo drives, the powerful computational ability of the DSP permits more precise control through vector control, ripple torque reduction, predictive control structures, and compensation for non-ideal system behavior.
Besides the powerful DSP core, all motor control systems require a significant array of additional circuits for correct operation, including such functions as:
Analog Devices now offers a range of single-chip DSP-based motor control solutions that integrate these peripheral functions with a high performance DSP core and the required memory. Two devices are described here: the ADMC330†, designed for low-to-medium performance dynamic requirements, and the ADMC300†, which extends the single-chip capability to control of high-performance servo drives.
ADMC330 Single Chip DSP-Based Motor Controller (see Figure 1): The ADMC330 integrates a 20 MIPS DSP core, 2Kword program memory RAM, 2Kword program memory ROM, 1Kword data memory RAM, 2 serial ports and a variety of motor-control peripherals onto a single chip. The DSP core is similar to that used in the 16-bit fixed-point ADSP-2171. The motor control peripherals include 7 analog inputs with a comparator based ADC subsystem that permits 4 conversions per PWM period. In addition, a sophisticated 3-phase, 12-bit, PWM system enables all necessary inverter switching signals to be generated, timed to within 100 ns, with minimal processor overhead. Dead-time of these PWM signals may be adjusted in the processor so that no external logic is required. The PWM unit includes special modes for brushless dc motors or electronically commutated motors, where only two of the three motor phases conduct at the same time. In addition, the ADMC330 includes 8 digital I/O lines, a watchdog timer, a general purpose 16-bit timer and two auxiliary PWM outputs.
ADMC300 Single Chip DSP-Based Servo Motor Controller (Figure 2): High-performance servo drives, for robotics and machine tools, require high resolution ADCs and a position sensor interface to meet the demanding performance requirements. The ADMC300 addresses these needs in a single-chip DSP-based solution for these applications. The ADMC300’s additional functionality for more-demanding applications includes a DSP core enhanced for 25-MIPS performance. In addition, the program memory RAM has been doubled to 4K words. The need for multichannel, high-resolution ADCs is met by including five independent sigma-delta ADCs that provide 12 bits of resolution. Analog signal expansion is made possible by the provision of three external multiplexer control lines. In addition, the ADMC300 facilitates position sensing via an encoder interface that allows easy connection to an incremental encoder.
Development Tools: Since software is the key to the use of digital equipment, powerful processing capability requires an equally powerful development system in order to use these sophisticated motor controllers in real applications. Both processors come with a full range of hardware and software development tools that allow rapid prototype development and real system evaluation. In both the ADMC300 and the ADMC330, the program-memory ROM block is preprogrammed with a monitor/debugger function that enables access to the internal registers and memory of the processors. In order to speed program development, the ROM code also contains a library of useful mathematical and motor-control utilities that may be called from the user code.
A separate evaluation board for code development is available for
each type. These evaluation boards contain easy interfaces to the
many peripheral functions of the processors, so that the board can
be easily integrated into a final target development system. Each
evaluation board contains a UART interface that may be used to
connect the DSP controller to a Windows-based Motion Control
Debugger program. The debugger program allows the developer
to download code to the DSP and monitor or modify the contents
of program memory, data memory, DSP registers, and the
peripheral registers. In addition, a selection of debugging tools—
including breakpoints, single-step, and continuous-run operation—
may be selected from the Windows menu. The sample screen from
the ADMC330 debugger shown in Figure 3 illustrates many of
the features of the debugger. Additional software tools—such as
the assembler, linker, and PROM programmer—are also included.
For stand-alone operation, the evaluation boards may also use
external memory for boot program loading.
Figure 3. Sample Output Screen of Motion Control Debugger for ADMC330.
ADvanced PowIRtrain: In order to develop real motor-control solutions, the computing power of the DSP must be combined with a suitable power-electronic converter that produces the required voltages to drive the motor in response to the control commands (and can furnish the necessary currents). The ADvanced PowIRtrain board represents a new departure in development systems for real world motor control systems. The board integrates Analog Devices’s high-performance DSP-based motor controllers with an appropriate International Rectifier [www.irf.com] PowIRtrain* integrated power module; it provides all of the necessary circuitry to permit development of motor control algorithms for a variety of applications. Using plug-in interchangeable processor modules, the user can choose the level of control appropriate for the application.
With the ADMC330 processor module, the board may be used to develop sensorless control algorithms for brushless dc motors for applications such as compressors and washing machines. In addition, simple vector-control strategies for an ac induction motor may be programmed for pump or fan applications. If higher performance levels are required, the ADMC300 processor module may be mounted instead, to implement open-loop and closed-loop vector control of induction motors, for applications such as general-purpose variable speed drives, paper and textile machines, and conveyors. With the ADMC300 processor module, the ADvanced PowIRtrain is suitable for developing high-performance servo controllers using an induction motor, a brushless dc motor, or a permanent-magnet synchronous motor.
The ADvanced PowIRtrain board integrates the following features: