This “Product How-To” article focuses how to use a certain product in an embedded system and is written by a company representative.
Facing increased regulation and the need to reduce factory operating costs, machine builders are looking for solutions to boost product power efficiencies. Along with HVAC systems, the top consumers of electricity in a factory are water heating, lighting, office equipment and especially machinery.
More specifically, the motors within these factory machines are responsible for approximately two-thirds of the total electrical energy consumption in a typical industrial facility. Motors are everywhere— in blowers, pumps, compressors, conveyors, machine tools, mixers, shredders and more.
One way to get the maximum efficiency from the motors that control machinery is to employ more efficient and sophisticated field-oriented control to optimize their efficiency.
To this end, our team at National Instruments used Xilinx FPGAs as the basis for a common hardware architecture called reconfigurable I/O (RIO) to create a flexible embedded controller with high computing performance. Our machine-builder customers use RIO as a platform from which to draw field-oriented control (FOC) techniques that improve motor efficiency.
This RIO architecture is now deployed in many systems, such as those from EUROelectronics, Srl. The architecture helped EUROelectronics advance from the prototyping phase to the final machine setup in only three months (Figure 1 below ).
|Figure 1: Embedded-machine builder EUROelectronics reduced power use with FPGA-based field-oriented control.|
Reduced Machine Design Time
U.S. Department of Energy data informs machine builders that switching to a motor with a 4 to 6 percent higher efficiency rating can pay for itself in just two years if that motor is in operation for more than 4,000hrs a year. Unfortunately, many machines host motors that are very large and too costly to replace. So in these cases, the key to reaping savings lies in updated drive control algorithms and controller hardware.
A second challenge is the integrated control complexities required for brushless DC and permanent- magnet synchronous AC motors (PMSM), both commonly grouped together as brushless DC motors (BLDC).
Many machine builders lack the software or hardware design expertise required to build an embedded controller that can execute real-time closedloop control on a wide variety of analog and digital sensor types. backplanes, combined with PowerPC 603e-based processors in various performance frequencies (Figure 2, below ).
|Figure 2: Modular RIO architecture-based framework for NI's single-board RIO and CompactRIO configurations.|
We built into our RIO framework configuration software utilities and dynamic I/O reconfiguration capabilities that save time in setup and reuse for both the end-application programmer and the digital design engineer.
Our configuration software automatically detects custom hardware installed in the system. Integrated diagnostic tests of I/O peripherals ensure that I/O devices function properly. The designer connects the custom circuitry directly to the Xilinx FPGA and can design logic with the Xilinx tools or the NI LabVIEW FPGA Module.
Planning for dynamic configuration helps the machine builder design for hardware reuse. At the same time, it provides the ability to begin high-level application coding before the final new I/O circuitry design is complete.
It can be problematic if driver software and the associated APIs do not execute properly or return device-specific errors without the I/O circuitry installed. To get around this problem, software developers often create simulation subroutines that temporarily replace the I/O circuit code within the application.
This method makes it difficult to get a start on the application development and virtually impossible to debug the code. Our RIO middleware driver architecture includes functionality to integrate simulation code directly into the functional driver, thus simplifying code reuse and debugging. For example, Figure 3 below describes the embedded middleware software design hierarchy.
|Figure 3: With processor middleware drivers, machine builders can focus on custom circuitry design. They can link to the programmable Xilinx FPGAs through standard header connectors.|
These middleware drivers and system services have proven their mettle in thousands of deployed machine-builder applications. Parallel and multithread-safe embedded-middleware drivers are an integral part of RIO.
Multithreaded or Reentrant?
The machine builder can call both multithread-safe and reentrant functions from multiple threads at the same time, and still operate correctly without blocking—an important feature for writing parallel code and optimizing performance.
Drivers that lack reentrant execution can erode performance or worse, cause a crash. Your code has to wait until the other threads are done using each function before it can access them. Reentrancy is an important consideration to eliminate any unnecessary dependencies in your code.
Although brushless DC motors and permanent-magnet synchronous AC motors are both considered brushless DC motors, they differ in the way their stator is wound. When rotated, the stator of the BLDC is wound in such a way as to produce a trapezoidal shaped back-EMF voltage, while the PMSM's voltage is sinusoidal in shape.
Brushless DC motors are more costly than AC induction motors but provide better energy efficiency and performance when controlled using advanced algorithms. Moreover, they can scale up to serve very high-power and high-speed applications.
While AC induction motors still dominate the market, brushless DC motor sales have quadrupled over the last five years to more than $1.2 billion, according to the ARC Advisory Group. BLDC motors are a type of synchronous motor. This means the magnetic field the stator generates and the magnetic field off the rotor rotate at the same frequency.
Usually BLDCs are equipped with three phases. The stator of a BLDC motor consists of stacked steel laminations with windings placed in slots that are axially cut along the inner periphery. Most BLDC motors have three stator windings connected in a star fashion. The internal structure is like that of an induction motor containing pairs of permanent magnets on the rotor rather than windings.
As the name implies, the brushless DC motor is designed to operate without brushes. This means that the commutation the brushes provide must now be handled electronically. To rotate the BLDC motor, the stator windings are energized in a sequence.
To calculate which winding to energize at a time, it is necessary to know the rotor position, typically measured by three Hall-effect sensors embedded into the stator. Based on the triple combination of these sensor signals, the control electronics can determine the exact sequence of commutation.
Key to high efficiency
Because brushless motors use permanent magnets in their rotors rather than passive windings, they natively provide higher power than induction motors for their size and weight. The key to high-efficiency operation, however, lies in the FPGA-based controller.
FPGA-based algorithm control delivers better efficiency than microprocessors can achieve. A wide range of control-system algorithms are available, including trapezoidal, sinusoidal and field-oriented.
Trapezoidal, or six-step, control is the simplest but lowest-performance method. For each of the six commutation steps, the motor drive provides a current path between two windings while leaving the third motor phase disconnected. However, torque ripple causes vibration, noise, mechanical wear and greatly reduced servo performance.
Sinusoidal control , also known as voltage-over-frequency commutation, addresses many of these issues. A sinusoidal controller drives the three motor windings with currents that vary smoothly.
This eliminates torque ripple issues and offers smooth rotation. The fundamental weakness of sinusoidal commutation is that it attempts to control time-varying motor currents using a basic proportional-integral (PI) control algorithm, and doesn't account for interactions between the phases. As a result, performance suffers at high speeds.
Field-oriented control (FOC) , also known as vector control, improves upon sinusoidal control by providing high efficiency at faster motor speeds. It delivers the highest torque per watt of power input compared with the other control techniques, and allows precise and responsive speed control when the load changes. FOC also guarantees optimized efficiency, even during transient operation, by perfectly maintaining the stator and rotor fluxes.
A Deeper Look at FOC
One way to understand how FOC works is to form a mental image of the coordinate reference transformation process. If you picture an AC motor operation from the perspective of the stator, you see a sinusoidal input current applied to the stator.
This time-variant signal generates a rotating magnetic flux. The speed of the rotor is a function of the rotating flux vector. From a stationary perspective, the stator currents and the rotating flux vector look like AC quantities. Now, imagine being inside the motor and running alongside the spinning rotor at the same speed as the rotating flux vector that the stator currents generate. Observing the motor from this perspective during steady-state conditions, the stator currents look like constant values and the rotating flux vector is stationary.
Ultimately, you want to control the stator currents to obtain the desired rotor currents. With coordinate reference transformation, you can control stator currents such as DC values using simple PI-control loops. Under the hood, the FOC algorithm works by removing time and speed dependencies and enabling the direct and independent control of both magnetic flux and torque.
It accomplishes this by mathematically transforming the electrical state of the motor into a two-coordinate time-invariant rotating frame using mathematical formulas known as the Clarke and Park transformations.
An efficient method to control the power electronics, called space-vector pulse-width modulation (PWM), maximizes the usage of the motor supply voltage and minimizes harmonic losses. Harmonics can significantly erode motor efficiency by inducing energy-sucking eddy currents in the iron core of the motor.
Best of all, designers can use FOC for both AC induction and brushless DC machines to improve efficiency and performance. They can also apply FOC to existing motors by upgrading the control system. In fact, they can employ vector-control techniques like FOC with AC induction motors to enable servo-motor- like performance.
It takes powerful computation devices to implement FOC, and this requirement makes FPGAs a natural fit for motor control. An FOC system must continuously recompute the vector-control algorithm at a rate of 10kHz to 100kHz. In parallel to the control algorithm, additional intellectual property (IP) blocks such as the high-speed PWM outputs need to execute without affecting the timing of the control algorithm.
With their inherent parallel execution and hardware reliability, FPGAs are able to perform control algorithms with loop rates up to hundreds of kilohertz, with room left over to handle communication and provide the data for user-interface applications on the host microprocessor.
Moreover, the reconfigurability of FPGAs allows the customer to adjust the control algorithm whenever necessary. Figure 4 below illustrates a system for FOC implementation using a Xilinx FPGA on the National Instruments RIO platform.
|Figure 4: For communication to a host processor and a simple user interface, IP blocks execute in parallel.|
Besides the actual control algorithm, the FPGA executes IP blocks to read the three Hall-effect sensors, an encoder and three additional analog sensors as it generates PWM signals that drive external electronics to power the motor.
For communication to a host processor and a simple user interface, IP blocks execute in parallel. Figure 5 below shows the LabVIEW FPGA implementation of the FPGA-based FOC algorithm.
|Figure 5: Shown is the LabVIEW FPGA implementation of the FPGA-based FOC algorithm.|
The Clarke transformation converts the three-axis coordinates shifted by 120 degrees (Ia, Ib, Ic) into orthogonal two-axis ones (Ia, Ib). In a second step, the Park transformation converts the fixed (Ia, Ib) coordinates into decoupled two-axis rotating coordinates (Id and Iq), which a simple PI controller can then control. The FOC system uses inverse Park and Clarke transformation to bring them back into the fixed AC three-phase frame of the stator windings.
One of our customers, electronic- system designer and manufacturer BAE Systems Avionics, used our RIO platform with Xilinx FPGAs to squeeze 15 percent extra performance from its existing motors while saving weight in avionics products by reducing motor mass. Thanks to the efficiency and tight power control of FOC, the BAE Servo Systems Technology Group in Edinburgh, Scotland, now specifies smaller motors than previously possible.
Ultimately, machine-builder design requirements insist on improving motor operating efficiency to meet regulatory restrictions and to ensure a rapid ROI. When evaluating control system upgrades, machine designers often underestimate energy costs, calculating that they are typically orders of magnitude higher than hardware costs over the life cycle of the motor.
At NI, we focus our efforts on delivering flexible embedded controllers with high computing performance using commercial off-the-shelf hardware solutions based on FPGA technologies from Xilinx. With this combination, we can meet the most extreme customer challenge, specifically the performance requirements of FOC.
Greg Crouch is Embedded Systems Business Director at National Instruments. He can be contacted at firstname.lastname@example.org .