Advances in FPGA technology with both integrated processing cores and better real-time performance have compelled designers to revisit tasks for motion control. Functions once completed in software can now be placed in an FPGA for enhanced performance and increased features.
The demands on the motion control industry for new systems that can deliver the speeds and tolerances required to make smaller and smarter products at ever-decreasing prices are escalating dramatically. As a consequence, the motion control industry has to focus on improving not just the raw speed or power of its products, but more importantly, on coupling the motion control operating software to the final motor driver and feedback circuitry. Reducing the latency (time) between when a command is issued and when it is actually executed is fundamental to both the accuracy and speed of any manufacturing system’s operation.
Still not enough
Fortunately, the integration of high-speed processor cores into large-scale FPGAs in the past 2-3 years has the potential to keep the motion control industry apace with the increasing demands for greater performance at lower costs and smaller sizes. Choosing when and how to convert software into FPGA-based firmware to minimize latency and memory space is producing positive results. From the other direction, more and more pre-driver stage circuitry is being moved from discrete components into firmware inside FPGAs, further enhancing overall system performance.
The results in motion control products using FPGAs have been remarkable. For example, one recent application required a much faster rate for the software PID loop routine, calling for an increase in loop execution time by a factor of 20. The processor speed could be increased, but not nearly enough to deliver a 20x increase. The solution was to convert the PID loop routine into an FPGA, leading to a 30x increase in speed. This is just one of the many advantages to viewing software and firmware as interchangeable, depending upon the specific application.
Taking features to the next level
Using a cheaper and smaller master controller to handle all of the usual functions such as PID control and motor drive signal generation enabled designers to add some advanced features that were never before possible in such a small form factor and at such low cost. Because an FPGA has all of the refresh and memory addressing functions built in, it was a simple matter to add enough external SRAM to handle any type of table or array and flash memory to store complete end-user software. This FPGA memory capacity also allows designers to offer in-the-field software upgrades via a standard USB port and programming cable.
Another important advantage is the ability to make custom coprocessors. In one application example, designers faced the challenge of adding graphics capability to laser marking and cutting processes. The design team needed to not only perform all of the usual math and PID functions for the motion control, but also visually inspect the material being processed to ensure that it was in the correct location, and if not, move the laser beam to the actual location of the piece on the production line.
Designers in this situation typically use an external visual inspection system purchased from a third-party vendor. But the budget for this project was tight, so the designers decided to create their own simplified inspection system. The team achieved this by making a graphics coprocessor out of an FPGA with a processor core and connecting it to the main motion control processor via a 16-bit data bus, plus control signals. This coprocessor has now become an optional memory/graphics card that simply piggybacks onto the controller, shown in Figure 1.
Not only can the graphics FPGA option manage inspection applications, it can also provide many other new functions such as a color touch screen; CCD, CMOS, or video camera input for guidance systems; and external controls like joysticks and infrared remote controls. All of these new features operate without inhibiting the FPGA system handling the primary motion control work.
A complete system in hand
Miniaturizing the control and graphics systems and integrating most of the external control circuitry for motor drivers into firmware freed the team to redesign the motor drive boards into smaller, less expensive form factors. The designers then modularized all of the different motor driver boards that enabled the controller (and memory/graphics board) to plug together to create whatever type of motion control system was needed for a particular application.
For example, one small package measuring 4" (W) x 2.125" (H) x 6.5" (L) contains a controller, memory/graphics card, and any of several motor driver boards (including two-axis microstepper, two-axis DC brushless, and single-axis linear) to create a complete handheld motion control system, shown in Figure 2.
Options like the color QVGA touch screen, 8-channel A/D converter inputs, two-axis joystick controller, infrared remote control input, and CMOS or video camera input provide ample possibilities for creating a motion control system that fits almost any application. Furthermore, the unit does not compromise PID loop control performance or connections to buffered I/O lines and different types of position feedback.
Finally, the new level of integration offered by FPGAs with processor cores allows the system control software to be either PC-based and/or permanently stored onboard the controller. Aim Controls has written many different types of end-user application software packages that can be loaded right onto the controller and operated from any of the aforementioned inputs. If PC operator control is needed, the application can be written and stored on a PC and communicated to the G5 controller over a simple USB 2.0 cable. A complete motion control software package is already preloaded into the controller and can be accessed by anyone who wants to perform detailed programming for a specific application. For those who don’t want to get into the details, Aim Controls can assist with interfacing the G5 controller to a large, graphics/menu-driven operator software on a PC.
This level of integration was only possible with FPGAs and a deep understanding of the trade-offs in real-time performance. The approach represents a breakthrough for motion controllers and the applications requiring them.
Patrick H. Dwyer is CEO of Aim Controls, Inc., based in Grass Valley, California. Patrick previously worked as a product designer and senior engineer at Quadrant Engineering, and holds a bachelor’s degree from UC Berkeley.
Aim Controls
530-272-4907
www.aimcontrols.com



